From e90876cd86895a64c8a0d8fec2e2caddc3ac5613 Mon Sep 17 00:00:00 2001 From: Philipp Holzer <admin@philipp.info> Date: Sun, 5 May 2019 19:39:02 +0200 Subject: [PATCH] Move mod/smilies to src/Module/Smilies --- mod/smilies.php | 32 ------------------------------- src/App/Router.php | 1 + src/Module/Smilies.php | 39 ++++++++++++++++++++++++++++++++++++++ view/templates/smilies.tpl | 10 ++++++++++ 4 files changed, 50 insertions(+), 32 deletions(-) delete mode 100644 mod/smilies.php create mode 100644 src/Module/Smilies.php create mode 100644 view/templates/smilies.tpl diff --git a/mod/smilies.php b/mod/smilies.php deleted file mode 100644 index bbb7de2e2e..0000000000 --- a/mod/smilies.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php -/** - * @file mod/smilies.php - */ -use Friendica\App; -use Friendica\Content\Smilies; -use Friendica\Core\System; - -/** - * @param App $a App - * @return string - * @throws \Friendica\Network\HTTPException\InternalServerErrorException - */ -function smilies_content(App $a) -{ - $smilies = Smilies::getList(); - if (!empty($a->argv[1]) && ($a->argv[1] === "json")) { - $results = []; - for ($i = 0; $i < count($smilies['texts']); $i++) { - $results[] = ['text' => $smilies['texts'][$i], 'icon' => $smilies['icons'][$i]]; - } - System::jsonExit($results); - } else { - $s = '<div class="smiley-sample">'; - for ($x = 0; $x < count($smilies['texts']); $x ++) { - $s .= '<dl><dt>' . $smilies['texts'][$x] . '</dt><dd>' . $smilies['icons'][$x] . '</dd></dl>'; - } - $s .= '</div>'; - - return $s; - } -} diff --git a/src/App/Router.php b/src/App/Router.php index 1dffb6b406..30375667a3 100644 --- a/src/App/Router.php +++ b/src/App/Router.php @@ -165,6 +165,7 @@ class Router }); $this->routeCollector->addRoute(['GET', 'POST'], '/register', Module\Register::class); $this->routeCollector->addRoute(['GET'], '/rsd.xml', Module\ReallySimpleDiscovery::class); + $this->routeCollector->addRoute(['GET'], '/smilies[/json]', Module\Smilies::class); $this->routeCollector->addRoute(['GET'], '/statistics.json', Module\Statistics::class); $this->routeCollector->addRoute(['GET'], '/tos', Module\Tos::class); $this->routeCollector->addRoute(['GET'], '/webfinger', Module\WebFinger::class); diff --git a/src/Module/Smilies.php b/src/Module/Smilies.php new file mode 100644 index 0000000000..df4b4e1cd0 --- /dev/null +++ b/src/Module/Smilies.php @@ -0,0 +1,39 @@ +<?php + +namespace Friendica\Module; + +use Friendica\BaseModule; +use Friendica\Core\Renderer; +use Friendica\Core\System; + +/** + * Prints the possible Smilies of this node + */ +class Smilies extends BaseModule +{ + public static function content() + { + $smilies = \Friendica\Content\Smilies::getList(); + $count = count(defaults($smilies, 'texts', [])); + + $tpl = Renderer::getMarkupTemplate('smilies.tpl'); + return Renderer::replaceMacros($tpl, [ + '$count' => $count, + '$smilies' => $smilies, + ]); + } + + public static function rawContent() + { + $app = self::getApp(); + $smilies = \Friendica\Content\Smilies::getList(); + + if (!empty($app->argv[1]) && ($app->argv[1] === "json")) { + $results = []; + for ($i = 0; $i < count($smilies['texts']); $i++) { + $results[] = ['text' => $smilies['texts'][$i], 'icon' => $smilies['icons'][$i]]; + } + System::jsonExit($results); + } + } +} diff --git a/view/templates/smilies.tpl b/view/templates/smilies.tpl new file mode 100644 index 0000000000..6f9fda83b4 --- /dev/null +++ b/view/templates/smilies.tpl @@ -0,0 +1,10 @@ +<div id="smilies" class="generic-page-wrapper"> + <div class="smiley-sample"> + {{for $i=0 to $count}} + <dl> + <dt>{{$smilies.texts[$i] nofilter}}</dt> + <dd>{{$smilies.icons[$i] nofilter}}</dd> + </dl> + {{/for}} + </div> +</div>