コード例 #1
0
ファイル: vCal.php プロジェクト: auf/crm_auf_org
        static function cache_sugar_vcal_freebusy(&$user_focus)
        {
            $focus = new vCal();
            // set freebusy members and save
            $arr = array('user_id'=>$user_focus->id,'type'=>'vfb','source'=>'sugar');
            $focus->retrieve_by_string_fields($arr);


            $focus->content = $focus->get_vcal_freebusy($user_focus,false);
            $focus->type = 'vfb';
            $focus->date_modified = null;
            $focus->source = 'sugar';
            $focus->user_id = $user_focus->id;
            $focus->save();
        }
コード例 #2
0
ファイル: Calendar.php プロジェクト: aldridged/gtg-sugar
 function get_freebusy_activities(&$user_focus, &$start_date_time, &$end_date_time)
 {
     $act_list = array();
     $vcal_focus = new vCal();
     $vcal_str = $vcal_focus->get_vcal_freebusy($user_focus);
     $lines = explode("\n", $vcal_str);
     foreach ($lines as $line) {
         $dates_arr = array();
         if (preg_match('/^FREEBUSY.*?:([^\\/]+)\\/([^\\/]+)/i', $line, $matches)) {
             $dates_arr[] = DateTimeUtil::parse_utc_date_time($matches[1]);
             $dates_arr[] = DateTimeUtil::parse_utc_date_time($matches[2]);
             $act_list[] = new CalendarActivity($dates_arr);
         }
     }
     usort($act_list, 'sort_func_by_act_date');
     return $act_list;
 }
コード例 #3
0
ファイル: CalendarActivity.php プロジェクト: NALSS/SuiteCRM
 function get_freebusy_activities($user_focus, $start_date_time, $end_date_time)
 {
     $act_list = array();
     $vcal_focus = new vCal();
     $vcal_str = $vcal_focus->get_vcal_freebusy($user_focus);
     $lines = explode("\n", $vcal_str);
     $utc = new DateTimeZone("UTC");
     foreach ($lines as $line) {
         if (preg_match('/^FREEBUSY.*?:([^\\/]+)\\/([^\\/]+)/i', $line, $matches)) {
             $dates_arr = array(SugarDateTime::createFromFormat(vCal::UTC_FORMAT, $matches[1], $utc), SugarDateTime::createFromFormat(vCal::UTC_FORMAT, $matches[2], $utc));
             $act_list[] = new CalendarActivity($dates_arr);
         }
     }
     return $act_list;
 }
コード例 #4
0
ファイル: vCalTest.php プロジェクト: sacredwebsite/SuiteCRM
 public function testget_vcal_freebusy()
 {
     $vcal = new vCal();
     $user_focus = new User('1');
     $expectedStart = "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//SugarCRM//SugarCRM Calendar//EN\r\nBEGIN:VFREEBUSY\r\nORGANIZER;CN= :VFREEBUSY\r\n";
     $expectedEnd = "END:VFREEBUSY\r\nEND:VCALENDAR\r\n";
     $result = $vcal->get_vcal_freebusy($user_focus);
     $this->assertStringStartsWith($expectedStart, $result);
     $this->assertStringEndsWith($expectedEnd, $result);
 }