[ Index ] |
|
Code source de vtiger CRM 5.0.2 |
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 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 10:22:19 2007 | par Balluche grâce à PHPXref 0.7 |