示例#1
0
 /**
  * Test external blog added event.
  *
  * There is no external API for this, so the unit test will simply
  * create and trigger the event and ensure data is returned as expected.
  */
 public function test_external_blog_added_event()
 {
     // Trigger an event: external blog added.
     $eventparams = array('context' => $context = context_system::instance(), 'objectid' => 1001, 'other' => array('url' => 'http://moodle.org'));
     $event = \core\event\blog_external_added::create($eventparams);
     // Trigger and capture the event.
     $sink = $this->redirectEvents();
     $event->trigger();
     $events = $sink->get_events();
     $event = reset($events);
     // Check that the event data is valid.
     $this->assertInstanceOf('\\core\\event\\blog_external_added', $event);
     $this->assertEquals(1001, $event->objectid);
     $this->assertEquals('http://moodle.org', $event->other['url']);
     $this->assertDebuggingNotCalled();
 }
示例#2
0
 switch ($action) {
     case 'add':
         $rss = new moodle_simplepie($data->url);
         $newexternal = new stdClass();
         $newexternal->name = empty($data->name) ? $rss->get_title() : $data->name;
         $newexternal->description = empty($data->description) ? $rss->get_description() : $data->description;
         $newexternal->userid = $USER->id;
         $newexternal->url = $data->url;
         $newexternal->filtertags = !empty($data->filtertags) ? $data->filtertags : null;
         $newexternal->timemodified = time();
         $newexternal->id = $DB->insert_record('blog_external', $newexternal);
         core_tag_tag::set_item_tags('core', 'blog_external', $newexternal->id, context_user::instance($newexternal->userid), $data->autotags);
         blog_sync_external_entries($newexternal);
         // Log this action.
         $eventparms = array('context' => $context, 'objectid' => $newexternal->id, 'other' => array('url' => $newexternal->url));
         $event = \core\event\blog_external_added::create($eventparms);
         $event->trigger();
         break;
     case 'edit':
         if ($data->id && $DB->record_exists('blog_external', array('id' => $data->id))) {
             $rss = new moodle_simplepie($data->url);
             $external->id = $data->id;
             $external->name = empty($data->name) ? $rss->get_title() : $data->name;
             $external->description = empty($data->description) ? $rss->get_description() : $data->description;
             $external->userid = $USER->id;
             $external->url = $data->url;
             $external->filtertags = !empty($data->filtertags) ? $data->filtertags : null;
             $external->timemodified = time();
             $DB->update_record('blog_external', $external);
             // Log this action.
             $eventparms = array('context' => $context, 'objectid' => $external->id, 'other' => array('url' => $external->url));