git-svn-id: file:///home/shish/svn/shimmie2/trunk@312 7f39781d-f577-437e-ae19-be835c7a54ca
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Name: Image Notes
 | |
|  * Author: Shish <webmaster@shishnet.org>
 | |
|  * Link: http://trac.shishnet.org/shimmie2/
 | |
|  * License: GPLv2
 | |
|  * Description: Adds notes overlaid on the images
 | |
|  */
 | |
| 
 | |
| class Notes extends Extension {
 | |
| 	var $theme;
 | |
| 
 | |
| 	public function receive_event($event) {
 | |
| 		if(is_null($this->theme)) $this->theme = get_theme_object("notes", "NotesTheme");
 | |
| 
 | |
| 		if(is_a($event, 'InitExtEvent')) {
 | |
| 			global $config;
 | |
| 			if($config->get_int("ext_notes_version") < 1) {
 | |
| 				$this->install();
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		if(is_a($event, 'DisplayingImageEvent')) {
 | |
| 			global $database;
 | |
| 			$notes = $database->db->GetAll("SELECT * FROM image_notes WHERE image_id = ?", array($event->image->id));
 | |
| 			$this->theme->display_notes($event->page, $notes);
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	protected function install() {
 | |
| 		global $database;
 | |
| 		global $config;
 | |
| 		$database->Execute("CREATE TABLE image_notes (
 | |
| 			id int(11) NOT NULL auto_increment PRIMARY KEY,
 | |
| 			image_id int(11) NOT NULL,
 | |
| 			user_id int(11) NOT NULL,
 | |
| 			owner_ip char(15) NOT NULL,
 | |
| 			created_at datetime NOT NULL,
 | |
| 			updated_at datetime NOT NULL,
 | |
| 			version int(11) DEFAULT 1 NOT NULL,
 | |
| 			is_active enum('Y', 'N') DEFAULT 'Y' NOT NULL,
 | |
| 			x int(11) NOT NULL,
 | |
| 			y int(11) NOT NULL,
 | |
| 			w int(11) NOT NULL,
 | |
| 			h int(11) NOT NULL,
 | |
| 			body text NOT NULL
 | |
| 		)");
 | |
| 		$config->set_int("ext_notes_version", 1);
 | |
| 	}
 | |
| }
 | |
| add_event_listener(new Notes());
 | |
| ?>
 |