46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			46 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/*"));
 | |
|         }
 | |
|     }
 | |
| }
 |