Beispiel #1
0
 public function test_calendar_update_subscription()
 {
     $this->resetAfterTest(true);
     $subscription = new stdClass();
     $subscription->eventtype = 'site';
     $subscription->name = 'test';
     $id = calendar_add_subscription($subscription);
     $subscription = new stdClass();
     $subscription->id = $id;
     $subscription->name = 'awesome';
     calendar_update_subscription($subscription);
     $sub = calendar_get_subscription($id);
     $this->assertEquals($subscription->name, $sub->name);
     $subscription = new stdClass();
     $subscription->id = $id;
     $subscription->name = 'awesome2';
     $subscription->pollinterval = 604800;
     calendar_update_subscription($subscription);
     $sub = calendar_get_subscription($id);
     $this->assertEquals($subscription->name, $sub->name);
     $this->assertEquals($subscription->pollinterval, $sub->pollinterval);
     $subscription = new stdClass();
     $subscription->name = 'awesome4';
     $this->setExpectedException('coding_exception');
     calendar_update_subscription($subscription);
 }
Beispiel #2
0
 /**
  * Instantiates a new event and optionally populates its properties with the
  * data provided
  *
  * @param stdClass $data Optional. An object containing the properties to for
  *                  an event
  */
 public function __construct($data = null)
 {
     global $CFG, $USER;
     // First convert to object if it is not already (should either be object or assoc array)
     if (!is_object($data)) {
         $data = (object) $data;
     }
     $this->editoroptions['maxbytes'] = $CFG->maxbytes;
     $data->eventrepeats = 0;
     if (empty($data->id)) {
         $data->id = null;
     }
     if (!empty($data->subscriptionid)) {
         $data->subscription = calendar_get_subscription($data->subscriptionid);
     }
     // Default to a user event
     if (empty($data->eventtype)) {
         $data->eventtype = 'user';
     }
     // Default to the current user
     if (empty($data->userid)) {
         $data->userid = $USER->id;
     }
     if (!empty($data->timeduration) && is_array($data->timeduration)) {
         $data->timeduration = make_timestamp($data->timeduration['year'], $data->timeduration['month'], $data->timeduration['day'], $data->timeduration['hour'], $data->timeduration['minute']) - $data->timestart;
     }
     if (!empty($data->description) && is_array($data->description)) {
         $data->format = $data->description['format'];
         $data->description = $data->description['text'];
     } else {
         if (empty($data->description)) {
             $data->description = '';
             $data->format = editors_get_preferred_format();
         }
     }
     // Ensure form is defaulted correctly
     if (empty($data->format)) {
         $data->format = editors_get_preferred_format();
     }
     if (empty($data->context)) {
         $data->context = $this->calculate_context($data);
     }
     $this->properties = $data;
 }
Beispiel #3
0
 public function test_calendar_add_subscription()
 {
     global $DB, $CFG;
     require_once $CFG->dirroot . '/lib/bennu/bennu.inc.php';
     $this->resetAfterTest(true);
     // Test for Microsoft Outlook 2010.
     $subscription = new stdClass();
     $subscription->name = 'Microsoft Outlook 2010';
     $subscription->importfrom = CALENDAR_IMPORT_FROM_FILE;
     $subscription->eventtype = 'site';
     $id = calendar_add_subscription($subscription);
     $calendar = file_get_contents($CFG->dirroot . '/lib/tests/fixtures/ms_outlook_2010.ics');
     $ical = new iCalendar();
     $ical->unserialize($calendar);
     $this->assertEquals($ical->parser_errors, array());
     $sub = calendar_get_subscription($id);
     $result = calendar_import_icalendar_events($ical, $sub->courseid, $sub->id);
     $count = $DB->count_records('event', array('subscriptionid' => $sub->id));
     $this->assertEquals($count, 1);
     // Test for OSX Yosemite.
     $subscription = new stdClass();
     $subscription->name = 'OSX Yosemite';
     $subscription->importfrom = CALENDAR_IMPORT_FROM_FILE;
     $subscription->eventtype = 'site';
     $id = calendar_add_subscription($subscription);
     $calendar = file_get_contents($CFG->dirroot . '/lib/tests/fixtures/osx_yosemite.ics');
     $ical = new iCalendar();
     $ical->unserialize($calendar);
     $this->assertEquals($ical->parser_errors, array());
     $sub = calendar_get_subscription($id);
     $result = calendar_import_icalendar_events($ical, $sub->courseid, $sub->id);
     $count = $DB->count_records('event', array('subscriptionid' => $sub->id));
     $this->assertEquals($count, 1);
     // Test for Google Gmail.
     $subscription = new stdClass();
     $subscription->name = 'Google Gmail';
     $subscription->importfrom = CALENDAR_IMPORT_FROM_FILE;
     $subscription->eventtype = 'site';
     $id = calendar_add_subscription($subscription);
     $calendar = file_get_contents($CFG->dirroot . '/lib/tests/fixtures/google_gmail.ics');
     $ical = new iCalendar();
     $ical->unserialize($calendar);
     $this->assertEquals($ical->parser_errors, array());
     $sub = calendar_get_subscription($id);
     $result = calendar_import_icalendar_events($ical, $sub->courseid, $sub->id);
     $count = $DB->count_records('event', array('subscriptionid' => $sub->id));
     $this->assertEquals($count, 1);
 }