diff --git a/contrib/event_log/main.php b/contrib/event_log/main.php index f9b79cd8..67380e20 100644 --- a/contrib/event_log/main.php +++ b/contrib/event_log/main.php @@ -74,7 +74,7 @@ class EventLog extends Extension { $this->add_to_log($event->user, 'Comment Posting', "Posted a comment on image #{$event->image_id}"); } if(is_a($event, 'WikiUpdateEvent')) { - $this->add_to_log($event->user, 'Wiki Update', "Edited '{$event->page->title}'"); + $this->add_to_log($event->user, 'Wiki Update', "Edited '{$event->wikipage->title}'"); } if(is_a($event, 'ConfigSaveEvent')) { $this->add_to_log($user, 'Config Save', "Updated the board config"); diff --git a/contrib/wiki/main.php b/contrib/wiki/main.php index b1e062c9..1139c8f7 100644 --- a/contrib/wiki/main.php +++ b/contrib/wiki/main.php @@ -81,13 +81,12 @@ class Wiki extends Extension { global $user; if($this->can_edit($user, $this->get_page($title))) { - // send_event(new WikiUpdateEvent($event->user, new WikiPage(...)) - if($user->is_admin()) { - $this->set_page($title, $rev, $body, $lock); - } - else { - $this->set_page($title, $rev, $body, false); - } + $wikipage = new WikiPage(); + $wikipage->title = $title; + $wikipage->rev = $rev; + $wikipage->body = $body; + $wikipage->lock = $user->is_admin() ? $lock : false; + send_event(new WikiUpdateEvent($user, $wikipage)); $u_title = url_escape($title); @@ -122,7 +121,7 @@ class Wiki extends Extension { } if(is_a($event, 'WikiUpdateEvent')) { - $this->set_page($event->wikipage); + $this->set_page($event->user, $event->wikipage); } if(is_a($event, 'SetupBuildingEvent')) { @@ -180,13 +179,13 @@ class Wiki extends Extension { } // TODO: accept a WikiPage object - private function set_page($title, $rev, $body, $locked) { + private function set_page($user, $wpage) { global $database; - global $user; // FIXME: deal with collisions $row = $database->Execute(" INSERT INTO wiki_pages(owner_id, owner_ip, date, title, revision, locked, body) - VALUES (?, ?, now(), ?, ?, ?, ?)", array($user->id, $_SERVER['REMOTE_ADDR'], $title, $rev, $locked?'Y':'N', $body)); + VALUES (?, ?, now(), ?, ?, ?, ?)", array($user->id, $_SERVER['REMOTE_ADDR'], + $wpage->title, $wpage->rev, $wpage->locked?'Y':'N', $wpage->body)); } // }}} }