Ejemplo n.º 1
0
 private function grabiCalField($iCal, $field)
 {
     $ical_arr = vCal::create_ical_array_from_string($iCal);
     foreach ($ical_arr as $ical_val) {
         if ($ical_val[0] == $field) {
             return $ical_val[1];
         }
     }
     return "";
 }
Ejemplo n.º 2
0
 /**
  * Generates the complete string for the calendar
  *
  * @param User $user_focus the user
  * @param integer $num_months the number of months to search before and after today
  * @return string the iCal calenar string
  */
 function getVcalIcal(&$user_focus, $num_months)
 {
     global $current_user, $timedate;
     $current_user = $user_focus;
     $cal_name = $user_focus->first_name . " " . $user_focus->last_name;
     $ical_array = array();
     $ical_array[] = array("BEGIN", "VCALENDAR");
     $ical_array[] = array("VERSION", "2.0");
     $ical_array[] = array("METHOD", "PUBLISH");
     $ical_array[] = array("X-WR-CALNAME", "{$cal_name} (SugarCRM)");
     $ical_array[] = array("PRODID", "-//SugarCRM//SugarCRM Calendar//EN");
     $ical_array = array_merge($ical_array, vCal::create_ical_array_from_string($this->getTimezoneString()));
     $ical_array[] = array("CALSCALE", "GREGORIAN");
     $now_date_time = $timedate->getNow(true);
     global $sugar_config;
     $timeOffset = 2;
     if (isset($sugar_config['vcal_time']) && $sugar_config['vcal_time'] != 0 && $sugar_config['vcal_time'] < 13) {
         $timeOffset = $sugar_config['vcal_time'];
     }
     if (!empty($num_months)) {
         $timeOffset = $num_months;
     }
     $start_date_time = $now_date_time->get("-{$timeOffset} months");
     $end_date_time = $now_date_time->get("+{$timeOffset} months");
     $utc_now_time = $this->getUtcDateTime($now_date_time);
     $str = vCal::create_ical_string_from_array($ical_array, true);
     $str .= $this->createSugarIcal($user_focus, $start_date_time, $end_date_time, $utc_now_time);
     $ical_array = array(array("DTSTAMP", $utc_now_time));
     $ical_array[] = array("END", "VCALENDAR");
     $str .= vCal::create_ical_string_from_array($ical_array, true);
     return $str;
 }
Ejemplo n.º 3
0
 public function testcreate_ical_array_from_string()
 {
     $iCalString = "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nPRODID:-//SugarCRM//SugarCRM Calendar//EN\r\nBEGIN:VFREEBUSY\r\nORGANIZER;CN= :VFREEBUSY\r\nDTSTART:2016-01-09 00:00:00\r\nDTEND:2016-03-09 00:00:00\r\nDTSTAMP:2016-01-10 11:07:15\r\nEND:VFREEBUSY\r\nEND:VCALENDAR\r\n";
     $expected = array(array('BEGIN', 'VCALENDAR'), array('VERSION', '2.0'), array('PRODID', '-//SugarCRM//SugarCRM Calendar//EN'), array('BEGIN', 'VFREEBUSY'), array('ORGANIZER;CN= ', 'VFREEBUSY'), array('DTSTART', '2016-01-09 00:00:00'), array('DTEND', '2016-03-09 00:00:00'), array('DTSTAMP', '2016-01-10 11:07:15'), array('END', 'VFREEBUSY'), array('END', 'VCALENDAR'));
     $actual = vCal::create_ical_array_from_string($iCalString);
     $this->assertSame($expected, $actual);
 }
Ejemplo n.º 4
0
 /**
  * Test the function create_ical_array_from_string()
  *
  * @dataProvider iCalProvider
  */
 public function testiCalArrayFromString($icalarray, $icalstring)
 {
     $res = vCal::create_ical_array_from_string($icalstring);
     $this->assertEquals($icalarray, $res);
 }