36 lines
		
	
	
		
			980 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			980 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /*
 | |
|  * Name: Emoticon Filter
 | |
|  * Author: Shish <webmaster@shishnet.org>
 | |
|  * License: GPLv2
 | |
|  * Description: Lets users use graphical smilies
 | |
|  * Documentation:
 | |
|  *  This extension will turn colon-something-colon into a link
 | |
|  *  to an image with that something as the name, eg :smile:
 | |
|  *  becomes a link to smile.gif
 | |
|  *  <p>Images are stored in /ext/emoticons/default/, and you can
 | |
|  *  add more emoticons by uploading images into that folder.
 | |
|  */
 | |
| 
 | |
| class Emoticons extends FormatterExtension {
 | |
| 	public function format($text) {
 | |
| 		$data_href = get_base_href();
 | |
| 		$text = preg_replace("/:([a-z]*?):/s", "<img src='$data_href/ext/emoticons/default/\\1.gif'>", $text);
 | |
| 		return $text;
 | |
| 	}
 | |
| 
 | |
| 	public function strip($text) {
 | |
| 		return $text;
 | |
| 	}
 | |
| }
 | |
| add_event_listener(new Emoticons());
 | |
| 
 | |
| class EmoticonList extends SimpleExtension {
 | |
| 	public function onPageRequest($event) {
 | |
| 		if($event->page_matches("emote/list")) {
 | |
| 			$this->theme->display_emotes(glob("ext/emoticons/default/*"));
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| ?>
 |