42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /*
 | |
|  * Name: Emoticon Filter
 | |
|  * Author: Shish <webmaster@shishnet.org>
 | |
|  * Link: http://code.shishnet.org/shimmie2/
 | |
|  * 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
 | |
|  */
 | |
| class Emoticons extends FormatterExtension {
 | |
| 	public function format(string $text): string {
 | |
| 		$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(string $text): string {
 | |
| 		return $text;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Class EmoticonList
 | |
|  */
 | |
| class EmoticonList extends Extension {
 | |
| 	public function onPageRequest(PageRequestEvent $event) {
 | |
| 		if($event->page_matches("emote/list")) {
 | |
| 			$this->theme->display_emotes(glob("ext/emoticons/default/*"));
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 |