[ Index ]
 

Code source de vtiger CRM 5.0.2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/modules/Calendar/ -> RenderRelatedListUI.php (source)

   1  <?php
   2  /*********************************************************************************
   3  ** The contents of this file are subject to the vtiger CRM Public License Version 1.0
   4   * ("License"); You may not use this file except in compliance with the License
   5   * The Original Code is:  vtiger CRM Open Source
   6   * The Initial Developer of the Original Code is vtiger.
   7   * Portions created by vtiger are Copyright (C) vtiger.
   8   * All Rights Reserved.
   9  *
  10   ********************************************************************************/
  11  
  12  require_once ('include/RelatedListView.php');
  13  require_once ('modules/Contacts/Contacts.php');
  14  require_once ('modules/Products/Products.php');
  15  require_once ('include/utils/UserInfoUtil.php');
  16  
  17  // functions added for group calendar    -Jaguar
  18      /**
  19       * Function to get duration
  20       * @param string     $time_start            -   activity start time
  21       * @param string     $duration_hours        -   duration in hours
  22       * @param string     $duration_minutes      -   duration in minutes
  23       * return string     $end_time              -   time string
  24       */
  25  	function get_duration($time_start,$duration_hours,$duration_minutes)
  26      {
  27          global $log;
  28                  $log->debug("Entering get_duration(".$time_start.",".$duration_hours.",".$duration_minutes.") method ...");
  29          $time=explode(":",$time_start);
  30                  $time_mins = $time[1];
  31                  $time_hrs = $time[0];
  32                  $mins = ($time_mins + $duration_minutes) % 60;
  33                  $hrs_min = floor(($time_mins + $duration_minutes) / 60);
  34                  if(!isset($hrs))
  35                          $hrs=0;
  36          $hrs = $duration_hours + $hrs_min + $time_hrs;
  37          if($hrs<10)
  38              $hrs=$hrs;
  39          if($mins<10)
  40              $mins="0".$mins;    
  41  
  42          $end_time = $hrs .$mins;
  43          $log->debug("Exiting get_duration method ...");
  44          return $end_time;
  45      }    
  46  
  47      /**
  48       * Function to convert time to number 
  49       * @param string     $time_start            -   activity start time
  50       * return integer    $start_time            -   time
  51       */
  52  	function time_to_number($time_start)
  53      {
  54          global $log;
  55                  $log->debug("Entering time_to_number(".$time_start.") method ...");
  56          $start_time_array = explode(":",$time_start);
  57          if(ereg("^[0]",$start_time_array[0]))
  58          {
  59              $time_start_hrs=str_replace('0',"",$start_time_array[0]);
  60          }
  61          else
  62          {
  63              $time_start_hrs=$start_time_array[0];
  64          }
  65          $start_time= $time_start_hrs .$start_time_array[1];
  66          $log->debug("Exiting time_to_number method ...");
  67          return $start_time;
  68      }
  69  
  70      /**
  71        * Function to status availability of user
  72        * @param string     $owner                   -   ownername
  73        * @param integer    $userid                  -   userid
  74        * @param integer    $activity_id             -   activityid
  75        * @param string     $avail_date              -   date in string format
  76        * @param string     $activity_start_time     -   time string 
  77        * @param string     $activity_end_time       -   time string 
  78        * return string     $availability            -   html img tag in string
  79        */
  80  	function status_availability($owner,$userid,$activity_id,$avail_date,$activity_start_time,$activity_end_time)    
  81      {
  82          global $adb,$image_path,$log;
  83          $log->debug("Entering status_availability(".$owner,$userid.",".$activity_id.",".$avail_date.",".$activity_start_time.",".$activity_end_time.") method ...");
  84          $avail_flag="false";
  85          $avail_date=getDBInsertDateValue($avail_date);
  86          if( $owner != $userid)
  87          {
  88              
  89              $usr_query="select activityid,vtiger_activity.date_start,vtiger_activity.due_date, vtiger_activity.time_start,vtiger_activity.duration_hours,vtiger_activity.duration_minutes,vtiger_crmentity.smownerid from vtiger_activity,vtiger_crmentity where vtiger_crmentity.crmid=vtiger_activity.activityid and ('".$avail_date."' like date_start) and vtiger_crmentity.smownerid=".$userid." and vtiger_activity.activityid !=".$activity_id."  and vtiger_crmentity.deleted=0";
  90          }
  91          else
  92          {
  93              $usr_query="select activityid,vtiger_activity.date_start,vtiger_activity.due_date, vtiger_activity.time_start,vtiger_activity.duration_hours,vtiger_activity.duration_minutes,vtiger_crmentity.smownerid from vtiger_activity,vtiger_crmentity where vtiger_crmentity.crmid=vtiger_activity.activityid and ('".$avail_date."' like date_start) and vtiger_crmentity.smownerid=".$userid." and vtiger_activity.activityid !=".$activity_id." and vtiger_crmentity.deleted=0";
  94          }
  95          $result_cal=$adb->query($usr_query);   
  96          $noofrows_cal = $adb->num_rows($result_cal);
  97          $avail_flag="false";
  98  
  99          if($noofrows_cal!=0)
 100          {
 101              while($row_cal = $adb->fetch_array($result_cal)) 
 102              {
 103                  $usr_date_start=$row_cal['date_start'];
 104                  $usr_due_date=$row_cal['due_date'];
 105                  $usr_time_start=$row_cal['time_start'];
 106                  $usr_hour_dur=$row_cal['duration_hours'];
 107                  $usr_mins_dur=$row_cal['duration_minutes'];
 108                  $user_start_time=time_to_number($usr_time_start);    
 109                  $user_end_time=get_duration($usr_time_start,$usr_hour_dur,$usr_mins_dur);
 110  
 111                  if( ( ($user_start_time > $activity_start_time) && ( $user_start_time < $activity_end_time) ) || ( ( $user_end_time > $activity_start_time) && ( $user_end_time < $activity_end_time) ) || ( ( $activity_start_time == $user_start_time ) || ($activity_end_time == $user_end_time) ) )
 112                  {
 113                      $availability= 'busy';
 114                      $avail_flag="true";
 115                                      $log->info("user start time-- ".$user_start_time."user end time".$user_end_time);
 116                                          $log->info("Availability ".$availability);
 117  
 118                  }
 119              }
 120          }
 121          if($avail_flag!="true")
 122          {
 123              $recur_query="SELECT vtiger_activity.activityid, vtiger_activity.time_start, vtiger_activity.duration_hours, vtiger_activity.duration_minutes , vtiger_crmentity.smownerid, vtiger_recurringevents.recurringid, vtiger_recurringevents.recurringdate as date_start from vtiger_activity inner join vtiger_crmentity on vtiger_activity.activityid = vtiger_crmentity.crmid inner join vtiger_recurringevents on vtiger_activity.activityid=vtiger_recurringevents.activityid where ('".$avail_date."' like vtiger_recurringevents.recurringdate) and vtiger_crmentity.smownerid=".$userid." and vtiger_activity.activityid !=".$activity_id." and vtiger_crmentity.deleted=0";
 124              
 125              $result_cal=$adb->query($recur_query);   
 126              $noofrows_cal = $adb->num_rows($result_cal);
 127              $avail_flag="false";
 128  
 129              if($noofrows_cal!=0)
 130              {
 131                  while($row_cal = $adb->fetch_array($result_cal)) 
 132                  {
 133                      $usr_date_start=$row_cal['date_start'];
 134                      $usr_time_start=$row_cal['time_start'];
 135                      $usr_hour_dur=$row_cal['duration_hours'];
 136                      $usr_mins_dur=$row_cal['duration_minutes'];
 137                      $user_start_time=time_to_number($usr_time_start);    
 138                      $user_end_time=get_duration($usr_time_start,$usr_hour_dur,$usr_mins_dur);
 139  
 140                      if( ( ($user_start_time > $activity_start_time) && ( $user_start_time < $activity_end_time) ) || ( ( $user_end_time > $activity_start_time) && ( $user_end_time < $activity_end_time) ) || ( ( $activity_start_time == $user_start_time ) || ($activity_end_time == $user_end_time) ) )
 141                      {
 142                          $availability= 'busy';
 143                          $avail_flag="true";
 144                          $log->info("Recurring Events:: user start time-- ".$user_start_time."user end time".$user_end_time);
 145                                              $log->info("Recurring Events:: Availability ".$availability);
 146                      }
 147                  }
 148              }
 149  
 150              
 151          }    
 152           if($avail_flag == "true")
 153                  {
 154                          $availability=' <IMG SRC="'.$image_path.'/busy.gif">';
 155                  }
 156                  else
 157                  {
 158                          $availability=' <IMG SRC="'.$image_path.'/free.gif">';
 159                  }
 160          $log->debug("Exiting status_availability method ...");
 161          return $availability;
 162          
 163      }
 164  
 165  ?>


Généré le : Sun Feb 25 10:22:19 2007 par Balluche grâce à PHPXref 0.7