use WikiUpdateEvent
git-svn-id: file:///home/shish/svn/shimmie2/trunk@591 7f39781d-f577-437e-ae19-be835c7a54ca
This commit is contained in:
		
							parent
							
								
									b48cd81da5
								
							
						
					
					
						commit
						1e76d9de9d
					
				| @ -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"); | ||||
|  | ||||
| @ -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)); | ||||
| 	} | ||||
| // }}}
 | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user