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