示例#1
0
if (!empty($CFG->usetags) && !empty($entry->id)) {
    include_once $CFG->dirroot . '/tag/lib.php';
    $entry->tags = tag_get_tags_array('post', $entry->id);
}
$entry->action = $action;
// set defaults
$blogeditform->set_data($entry);
if ($blogeditform->is_cancelled()) {
    redirect($returnurl);
} else {
    if ($data = $blogeditform->get_data()) {
        switch ($action) {
            case 'add':
                $blogentry = new blog_entry(null, $data, $blogeditform);
                $blogentry->add();
                $blogentry->edit($data, $blogeditform, $summaryoptions, $attachmentoptions);
                break;
            case 'edit':
                if (empty($entry->id)) {
                    print_error('wrongentryid', 'blog');
                }
                $entry->edit($data, $blogeditform, $summaryoptions, $attachmentoptions);
                break;
            default:
                print_error('invalidaction');
        }
        redirect($returnurl);
    }
}
// gui setup
switch ($action) {
 /**
  * Tests for event blog_entry_updated.
  */
 public function test_blog_entry_updated_event()
 {
     global $USER;
     $this->setAdminUser();
     $this->resetAfterTest();
     $sitecontext = context_system::instance();
     // Edit a blog entry as Admin.
     $blog = new blog_entry($this->postid);
     $sink = $this->redirectEvents();
     $blog->summary_editor = array('text' => 'Something', 'format' => FORMAT_MOODLE);
     $blog->edit(array(), null, array(), array());
     $events = $sink->get_events();
     $event = array_pop($events);
     $sink->close();
     // Validate event data.
     $this->assertInstanceOf('\\core\\event\\blog_entry_updated', $event);
     $url = new moodle_url('/blog/index.php', array('entryid' => $event->objectid));
     $this->assertEquals($url, $event->get_url());
     $this->assertEquals($sitecontext->id, $event->contextid);
     $this->assertEquals($blog->id, $event->objectid);
     $this->assertEquals($USER->id, $event->userid);
     $this->assertEquals($this->userid, $event->relateduserid);
     $this->assertEquals("post", $event->objecttable);
     $this->assertEquals("blog_entry_edited", $event->get_legacy_eventname());
     $this->assertEventLegacyData($blog, $event);
     $arr = array(SITEID, 'blog', 'update', 'index.php?userid=' . $this->userid . '&entryid=' . $blog->id, $blog->subject);
     $this->assertEventLegacyLogData($arr, $event);
     $this->assertEventContextNotUsed($event);
 }