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/*"));
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |