Cleaned up a number of warnings exposed by recent migration to PHP 5.2
[eq/.git] / inc / class.eq.inc.php
index 84f234f96c6068f71635bf79e25d48d62e218d66..05547b1393767651a89a5570cf64419b91fd40a9 100644 (file)
@@ -68,8 +68,8 @@ class eq
   function eq()
     {
       // LOCAL CONFIGURATION. PLEASE UPDATE AS APPROPRIATE.
-      $this->upload_target_path = "/home/users/eqpres/eq_data/";
-      $this->script_path = "/usr/share/phpgroupware/eq/bin/";
+      $this->upload_target_path = "/home/users/eqpres/eq_data";
+      $this->script_path = "/usr/share/phpgroupware/eq/bin";
       $this->default_ht_num_months = 3;
       $this->default_ppi_num_months = 3;
       $this->default_ppi_num_years = 0;
@@ -91,7 +91,7 @@ class eq
       $this->grants     = $GLOBALS['phpgw']->acl->get_grants('eq');
       $this->grants[$this->account] = PHPGW_ACL_READ + PHPGW_ACL_ADD + PHPGW_ACL_EDIT + PHPGW_ACL_DELETE;
        
-      $this->jscal = CreateObject('phpgwapi.jscalendar');   // before phpgw_header() !!!
+      $this->jscal = CreateObject('eq.jscalendar');   // before phpgw_header() !!!
       $this->cal_options = 'daFormat    : "%Y-%m-%d",
                                 ifFormat    : "%Y-%m-%d",
                                 mondayFirst : false,
@@ -1389,26 +1389,28 @@ class eq
        {
          // Save any changes made to the appointment table
          $new_data = get_var('appt_notes',array('POST'));
-         foreach ($new_data as $entry)
-          {
-            $elder = $entry['elder'];
-            $appointment = $entry['appointment'];
-
-            //print "elder: $elder appointment: $appointment <br>";
-            
-            //Only perform a database update if we have made a change to this appointment
-            $sql = "SELECT * FROM eq_appointment where appointment='$appointment' and elder='$elder'";
-            $this->db->query($sql,__LINE__,__FILE__);
-            if(!$this->db->next_record()) {
-              // Perform database save actions here
-              $this->db->query("UPDATE eq_appointment set " .
-                               " elder='" . $elder . "'" .
-                               " WHERE appointment=" . $appointment,__LINE__,__FILE__);
-              // Email the appointment
-              $this->email_appt($appointment);
-            }
-
-          }
+         if($new_data != "") { 
+           foreach ($new_data as $entry)
+             {
+               $elder = $entry['elder'];
+               $appointment = $entry['appointment'];
+               
+               //print "elder: $elder appointment: $appointment <br>";
+               
+               //Only perform a database update if we have made a change to this appointment
+               $sql = "SELECT * FROM eq_appointment where appointment='$appointment' and elder='$elder'";
+               $this->db->query($sql,__LINE__,__FILE__);
+               if(!$this->db->next_record()) {
+                 // Perform database save actions here
+                 $this->db->query("UPDATE eq_appointment set " .
+                                  " elder='" . $elder . "'" .
+                                  " WHERE appointment=" . $appointment,__LINE__,__FILE__);
+                 // Email the appointment
+                 $this->email_appt($appointment);
+               }
+               
+             }
+         }
          
          // Save any changes made to the ppi notes table
          $new_data = get_var('ppi_notes',array('POST'));
@@ -1427,7 +1429,7 @@ class eq
           }
 
          $take_me_to_url = $GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.ppi_sched');
-         Header('Location: ' . $take_me_to_url);
+         //Header('Location: ' . $take_me_to_url);
        }
 
       // Get the EQ President
@@ -1684,25 +1686,27 @@ class eq
        {
          // Save any changes made to the appointment table
          $new_data = get_var('appt_notes',array('POST'));
-         foreach ($new_data as $entry)
-          {
-            $elder = $entry['elder'];
-            $appointment = $entry['appointment'];
-
-            //print "elder: $elder appointment: $appointment <br>";
-            //Only perform a database update if we have made a change to this appointment
-            $sql = "SELECT * FROM eq_appointment where appointment='$appointment' and elder='$elder'";
-            $this->db->query($sql,__LINE__,__FILE__);
-            if(!$this->db->next_record()) {
-              // Perform database save actions here
-              $this->db->query("UPDATE eq_appointment set " .
-                               " elder='" . $elder . "'" .
-                               " WHERE appointment=" . $appointment,__LINE__,__FILE__);
-              
-              // Email the appointment
-              $this->email_appt($appointment);
-            }
-          }
+         if($new_data != "") { 
+           foreach ($new_data as $entry)
+             {
+               $elder = $entry['elder'];
+               $appointment = $entry['appointment'];
+               
+               //print "elder: $elder appointment: $appointment <br>";
+               //Only perform a database update if we have made a change to this appointment
+               $sql = "SELECT * FROM eq_appointment where appointment='$appointment' and elder='$elder'";
+               $this->db->query($sql,__LINE__,__FILE__);
+               if(!$this->db->next_record()) {
+                 // Perform database save actions here
+                 $this->db->query("UPDATE eq_appointment set " .
+                                  " elder='" . $elder . "'" .
+                                  " WHERE appointment=" . $appointment,__LINE__,__FILE__);
+                 
+                 // Email the appointment
+                 $this->email_appt($appointment);
+               }
+             }
+         }
          
          // Save any changes made to the int notes table
          $new_data = get_var('int_notes',array('POST'));
@@ -1725,7 +1729,7 @@ class eq
           }
 
          $take_me_to_url = $GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.int_sched');
-         Header('Location: ' . $take_me_to_url);
+         //Header('Location: ' . $take_me_to_url);
        }
 
       // Get the Districts
@@ -2036,25 +2040,27 @@ class eq
        {
          // Save any changes made to the appointment table
          $new_data = get_var('appt_notes',array('POST'));
-         foreach ($new_data as $entry)
-          {
-            $family = $entry['family'];
-            $appointment = $entry['appointment'];
-
-            //Only perform a database update if we have made a change to this appointment
-            $sql = "SELECT * FROM eq_appointment where appointment='$appointment' and family='$family'";
-            $this->db->query($sql,__LINE__,__FILE__);
-            if(!$this->db->next_record()) {
-
-              // Perform database save actions here
-              $this->db->query("UPDATE eq_appointment set " .
-                               " family='" . $family . "'" .
-                               " WHERE appointment=" . $appointment,__LINE__,__FILE__);
-              
-              // Email the appointment
-              $this->email_appt($appointment);
-            }
-          }
+         if($new_data != "") { 
+           foreach ($new_data as $entry)
+             {
+               $family = $entry['family'];
+               $appointment = $entry['appointment'];
+               
+               //Only perform a database update if we have made a change to this appointment
+               $sql = "SELECT * FROM eq_appointment where appointment='$appointment' and family='$family'";
+               $this->db->query($sql,__LINE__,__FILE__);
+               if(!$this->db->next_record()) {
+                 
+                 // Perform database save actions here
+                 $this->db->query("UPDATE eq_appointment set " .
+                                  " family='" . $family . "'" .
+                                  " WHERE appointment=" . $appointment,__LINE__,__FILE__);
+                 
+                 // Email the appointment
+                 $this->email_appt($appointment);
+               }
+             }
+         }
          
          // Save any changes made to the visit notes table
          $new_data = get_var('vis_notes',array('POST'));
@@ -2073,7 +2079,7 @@ class eq
           }
 
          $take_me_to_url = $GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.vis_sched');
-         Header('Location: ' . $take_me_to_url);
+         //Header('Location: ' . $take_me_to_url);
        }
 
       // APPOINTMENT TABLE
@@ -3607,7 +3613,7 @@ class eq
           }
          
          $take_me_to_url = $GLOBALS['phpgw']->link('/eq/index.php','menuaction=eq.eq.schedule');
-         Header('Location: ' . $take_me_to_url);
+         //Header('Location: ' . $take_me_to_url);
        }
 
       $sql = "SELECT * FROM eq_presidency where valid=1";
@@ -3834,13 +3840,21 @@ class eq
 
       if($action == 'upload')
        {        
-         $target_path = $this->upload_target_path . basename( $_FILES['uploadedfile']['name']);
+         $target_path = $this->upload_target_path . '/' . basename( $_FILES['uploadedfile']['name']);
          
-         if((($_FILES['uploadedfile']['type'] == "application/zip") ||
-             ($_FILES['uploadedfile']['type'] == "application/x-zip-compressed") ||
-             ($_FILES['uploadedfile']['type'] == "application/x-zip") ||
-             ($_FILES['uploadedfile']['type'] == "application/octet-stream")) &&
-            (move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path))) {
+         if(($_FILES['uploadedfile']['type'] == "application/zip") ||
+            ($_FILES['uploadedfile']['type'] == "application/x-zip-compressed") ||
+            ($_FILES['uploadedfile']['type'] == "application/x-zip") ||
+            ($_FILES['uploadedfile']['type'] == "application/octet-stream")) {
+
+           if(!move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
+             $uploadstatus = "<b><font color=red> -E- Unable to move the uploaded file to ";
+             $uploadstatus.= "the target path (check the path and permissions) of: $target_path</font></b>";
+             $this->t->set_var('uploadstatus',$uploadstatus);
+             $this->t->pfp('uploadhandle','upload',True);
+             return 0;
+           }
+           
            $uploadstatus = "<b>The following file was uploaded successfully: </b><br><br>";
            $uploadstatus.= "Filename : " . $_FILES['uploadedfile']['name'] . "<br>";
            $uploadstatus.= "Type     : " . $_FILES['uploadedfile']['type'] . "<br>";
@@ -3852,9 +3866,9 @@ class eq
            
            # make a directory for this data to be stored in
            $date="data_" . date("Y_m_d");
-           $data_dir = $this->upload_target_path . $date;
+           $data_dir = $this->upload_target_path . '/' . $date;
            print "-> Making the data directory: $date<br>\n";
-           exec('mkdir ' . $data_dir . ' 2>&1', $result, $return_code);
+           exec('mkdir -p ' . $data_dir . ' 2>&1', $result, $return_code);
            if($return_code != 0) {
              print implode('\n',$result) . "<br>";
              print "<b><font color=red>";
@@ -3889,7 +3903,7 @@ class eq
 
            # update the data_latest link to point to this new directory
            print "-> Updating the latest data dir link<br>\n";
-           $data_latest = $this->upload_target_path . 'data_latest';
+           $data_latest = $this->upload_target_path . '/data_latest';
            exec('rm ' . $data_latest. '; ln -s ' . $data_dir .' '. $data_latest .' 2>&1', $result, $return_code);
            if($return_code != 0) {
              print implode('\n',$result) . "<br>";
@@ -3905,8 +3919,8 @@ class eq
            ob_flush(); flush(); sleep(1);
            $import_log = $this->upload_target_path . '/import.log';
            $data_log = $this->upload_target_path . '/data.log';
-           $import_cmd = $this->script_path . 'import_ward_data ' . $data_latest . ' | tee ' . $import_log;
-           $parse_cmd = $this->script_path . 'parse_ward_data -v ' . $data_latest . ' > ' . $data_log;
+           $import_cmd = $this->script_path . '/import_ward_data ' . $data_latest . ' 2>&1 | tee ' . $import_log;
+           $parse_cmd = $this->script_path . '/parse_ward_data -v ' . $data_latest . ' > ' . $data_log . '2>&1';
            #print "import_cmd: $import_cmd<br>";
            #print "parse_cmd: $parse_cmd<br>";
            ob_start('ob_logstdout', 2);