use WikiUpdateEvent

git-svn-id: file:///home/shish/svn/shimmie2/trunk@591 7f39781d-f577-437e-ae19-be835c7a54ca
This commit is contained in:
shish 2007-10-28 17:20:25 +00:00
parent b48cd81da5
commit 1e76d9de9d
2 changed files with 11 additions and 12 deletions

View File

@ -74,7 +74,7 @@ class EventLog extends Extension {
$this->add_to_log($event->user, 'Comment Posting', "Posted a comment on image #{$event->image_id}"); $this->add_to_log($event->user, 'Comment Posting', "Posted a comment on image #{$event->image_id}");
} }
if(is_a($event, 'WikiUpdateEvent')) { 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')) { if(is_a($event, 'ConfigSaveEvent')) {
$this->add_to_log($user, 'Config Save', "Updated the board config"); $this->add_to_log($user, 'Config Save', "Updated the board config");

View File

@ -81,13 +81,12 @@ class Wiki extends Extension {
global $user; global $user;
if($this->can_edit($user, $this->get_page($title))) { if($this->can_edit($user, $this->get_page($title))) {
// send_event(new WikiUpdateEvent($event->user, new WikiPage(...)) $wikipage = new WikiPage();
if($user->is_admin()) { $wikipage->title = $title;
$this->set_page($title, $rev, $body, $lock); $wikipage->rev = $rev;
} $wikipage->body = $body;
else { $wikipage->lock = $user->is_admin() ? $lock : false;
$this->set_page($title, $rev, $body, false); send_event(new WikiUpdateEvent($user, $wikipage));
}
$u_title = url_escape($title); $u_title = url_escape($title);
@ -122,7 +121,7 @@ class Wiki extends Extension {
} }
if(is_a($event, 'WikiUpdateEvent')) { if(is_a($event, 'WikiUpdateEvent')) {
$this->set_page($event->wikipage); $this->set_page($event->user, $event->wikipage);
} }
if(is_a($event, 'SetupBuildingEvent')) { if(is_a($event, 'SetupBuildingEvent')) {
@ -180,13 +179,13 @@ class Wiki extends Extension {
} }
// TODO: accept a WikiPage object // TODO: accept a WikiPage object
private function set_page($title, $rev, $body, $locked) { private function set_page($user, $wpage) {
global $database; global $database;
global $user;
// FIXME: deal with collisions // FIXME: deal with collisions
$row = $database->Execute(" $row = $database->Execute("
INSERT INTO wiki_pages(owner_id, owner_ip, date, title, revision, locked, body) 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));
} }
// }}} // }}}
} }