[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 <?php 2 3 define('_BENNU_VERSION', '0.1'); 4 5 require_once ('include/utils/utils.php'); 6 require_once ('modules/Calendar/CalendarCommon.php'); 7 include ('modules/Calendar/iCal/iCalendar_rfc2445.php'); 8 include ('modules/Calendar/iCal/iCalendar_components.php'); 9 include ('modules/Calendar/iCal/iCalendar_properties.php'); 10 include ('modules/Calendar/iCal/iCalendar_parameters.php'); 11 12 //$ical_query = "SELECT * FROM vtiger_activity WHERE (( STATUS != 'Completed' AND STATUS != 'Deferred' ) OR STATUS IS NULL) 13 // AND (( eventstatus != 'Held' AND eventstatus != 'Not Held' ) OR eventstatus IS NULL )"; 14 15 global $current_user,$adb,$default_timezone; 16 $filename = $_REQUEST['filename']; 17 $ical_query = "select vtiger_activity.*,vtiger_crmentity.description,vtiger_activity_reminder.reminder_time from vtiger_activity inner join vtiger_crmentity on vtiger_activity.activityid = vtiger_crmentity.crmid " . 18 " LEFT JOIN vtiger_activity_reminder ON vtiger_activity_reminder.activity_id=vtiger_activity.activityid AND vtiger_activity_reminder.recurringid=0" . 19 " where vtiger_crmentity.deleted = 0 and vtiger_crmentity.smownerid = " . $current_user->id . 20 " and vtiger_activity.activitytype NOT IN ('Emails')"; 21 22 $calendar_results = $adb->query($ical_query); 23 24 // Send the right content type and filename 25 header ("Content-type: text/calendar"); 26 header('Content-Disposition: attachment; '."filename={$filename}.ics"); 27 28 $todo_fields = getColumnFields('Calendar'); 29 $event_fields = getColumnFields('Events'); 30 $event = $todo = array(); 31 $keys_to_replace = array( 32 'events'=>array('taskpriority'), 33 'todo'=>array('taskpriority','taskstatus') 34 ); 35 $keyvals_to_replace = array( 36 'events'=>array('taskpriority'=>'priority'), 37 'todo'=>array('taskpriority'=>'priority','taskstatus'=>'status') 38 ); 39 foreach($todo_fields as $key=>$val){ 40 if(getFieldVisibilityPermission('Calendar',$current_user->id,$key)==0){ 41 if(!in_array($key,$keys_to_replace['todo'])){ 42 $todo[$key] = 'yes'; 43 } else { 44 $todo[$keyvals_to_replace['todo'][$key]] = 'yes'; 45 } 46 } 47 } 48 foreach($event_fields as $key=>$val){ 49 if(getFieldVisibilityPermission('Events',$current_user->id,$key)==0){ 50 if(!in_array($key,$keys_to_replace['events'])){ 51 $event[$key] = 'yes'; 52 } else { 53 $event[$keyvals_to_replace['events'][$key]] = 'yes'; 54 } 55 } 56 } 57 58 $tz = new iCalendar_timezone; 59 if(!empty($default_timezone)){ 60 $tzid = split('/',$default_timezone); 61 } else { 62 $default_timezone = date_default_timezone_get(); 63 $tzid = split('/',$default_timezone); 64 } 65 66 if(!empty($tzid[1])){ 67 $tz->add_property('TZID', $tzid[1]); 68 } else { 69 $tz->add_property('TZID', $tzid[0]); 70 } 71 $tz->add_property('TZOFFSETTO', date('O')); 72 if(date('I')==1){ 73 $tz->add_property('DAYLIGHTC', date('I')); 74 } else { 75 $tz->add_property('STANDARDC', date('I')); 76 } 77 78 $myical = new iCalendar; 79 80 $myical->add_component($tz); 81 82 while (!$calendar_results->EOF) { 83 $this_event = $calendar_results->fields; 84 $id = $this_event['activityid']; 85 $type = $this_event['activitytype']; 86 if($type!='Task'){ 87 $temp = $event; 88 foreach($temp as $key=>$val){ 89 $temp[$key] = $this_event[$key]; 90 } 91 $temp['id'] = $id; 92 $ev = new iCalendar_event; 93 $ev->assign_values($temp); 94 95 $al = new iCalendar_alarm; 96 $al->assign_values($temp); 97 $ev->add_component($al); 98 } else { 99 $temp = $todo; 100 foreach($temp as $key=>$val){ 101 $temp[$key] = $this_event[$key]; 102 } 103 $ev = new iCalendar_todo; 104 $ev->assign_values($temp); 105 } 106 107 $myical->add_component($ev); 108 $calendar_results->MoveNext(); 109 } 110 // Print the actual calendar 111 echo $myical->serialize(); 112 113 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |