diff --git a/mod/wiki/classes/event/page_created.php b/mod/wiki/classes/event/page_created.php new file mode 100644 index 00000000000..268a8caee98 --- /dev/null +++ b/mod/wiki/classes/event/page_created.php @@ -0,0 +1,83 @@ +. + +/** + * mod_wiki page created event. + * + * @package mod_wiki + * @copyright 2013 Rajesh Taneja + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace mod_wiki\event; +defined('MOODLE_INTERNAL') || die(); + +/** + * mod_wiki page created event class. + * + * @package mod_wiki + * @copyright 2013 Rajesh Taneja + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class page_created extends \core\event\base { + /** + * Init method. + * + * @return void + */ + protected function init() { + $this->data['crud'] = 'c'; + $this->data['level'] = self::LEVEL_PARTICIPATING; + $this->data['objecttable'] = 'wiki_pages'; + } + + /** + * Return localised event name. + * + * @return string + */ + public static function get_name() { + return get_string('eventpagecreated', 'mod_wiki'); + } + + /** + * Returns description of what happened. + * + * @return string + */ + public function get_description() { + return 'User with id ' . $this->userid . ' created wiki page id ' . $this->objectid; + } + + /** + * Return the legacy event log data. + * + * @return array + */ + protected function get_legacy_logdata() { + return(array($this->courseid, 'wiki', 'add page', + 'view.php?pageid=' . $this->objectid, $this->objectid, $this->context->instanceid)); + } + + /** + * Get URL related to the action. + * + * @return \moodle_url + */ + public function get_url() { + return new \moodle_url('/mod/wiki/view.php', array('pageid' => $this->objectid)); + } +} diff --git a/mod/wiki/create.php b/mod/wiki/create.php index 971c26a70fe..cbd4a1cddec 100644 --- a/mod/wiki/create.php +++ b/mod/wiki/create.php @@ -107,14 +107,12 @@ $wikipage->set_action($action); switch ($action) { case 'create': $newpageid = $wikipage->create_page($title); - add_to_log($course->id, 'wiki', 'add page', "view.php?pageid=".$newpageid, $newpageid, $cm->id); redirect($CFG->wwwroot . '/mod/wiki/edit.php?pageid='.$newpageid); break; case 'new': // Go straight to editing if we know the page title and we're in force format mode. if ((int)$wiki->forceformat == 1 && $title != get_string('newpage', 'wiki')) { $newpageid = $wikipage->create_page($title); - add_to_log($course->id, 'wiki', 'add page', "view.php?pageid=".$newpageid, $newpageid, $cm->id); redirect($CFG->wwwroot . '/mod/wiki/edit.php?pageid='.$newpageid); } else { $wikipage->print_header(); diff --git a/mod/wiki/lang/en/wiki.php b/mod/wiki/lang/en/wiki.php index d619e1ed249..2cdfb2812e9 100644 --- a/mod/wiki/lang/en/wiki.php +++ b/mod/wiki/lang/en/wiki.php @@ -66,6 +66,7 @@ $string['eventdiffviewed'] = 'Wiki diff viewed'; $string['eventhistoryviewed'] = 'Wiki history viewed'; $string['eventmapviewed'] = 'Wiki page map viewed'; $string['eventpagedeleted'] = 'Wiki page deleted'; +$string['eventpagecreated'] = 'Wiki page created'; $string['eventpagelocksdeleted'] = 'Wiki page locks deleted'; $string['eventpageviewed'] = 'Wiki page viewed'; $string['eventpageupdated'] = 'Wiki page updated'; diff --git a/mod/wiki/locallib.php b/mod/wiki/locallib.php index 35115b17fc5..695006e1676 100644 --- a/mod/wiki/locallib.php +++ b/mod/wiki/locallib.php @@ -373,6 +373,14 @@ function wiki_create_page($swid, $title, $format, $userid) { $version->pageid = $pageid; $DB->update_record('wiki_versions', $version); + $event = \mod_wiki\event\page_created::create( + array( + 'context' => $context, + 'objectid' => $pageid + ) + ); + $event->trigger(); + wiki_make_cache_expire($page->title); return $pageid; }