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

View File

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