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); }