Skip to content

Commit 5ec962b

Browse files
committed
Smilies cache
1 parent c707ce6 commit 5ec962b

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed

featherbb/Controller/Admin/Parser.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use FeatherBB\Core\Error;
1414
use FeatherBB\Core\Url;
1515
use FeatherBB\Core\Utils;
16+
use FeatherBB\Model\Cache;
1617

1718
class Parser
1819
{
@@ -23,6 +24,10 @@ public function __construct()
2324
if (!User::isAdmin()) {
2425
throw new Error(__('No permission'), '403');
2526
}
27+
28+
if (!Container::get('cache')->isCached('smilies')) {
29+
Container::get('cache')->store('smilies', Cache::getSmilies());
30+
}
2631
}
2732

2833
public function display($req, $res, $args)

featherbb/Core/Parser.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ class Parser
2121
public function __construct()
2222
{
2323
$this->cacheDir = ForumEnv::get('FORUM_CACHE_DIR').'/parser';
24+
25+
// Load smilies
26+
if (!Container::get('cache')->isCached('smilies')) {
27+
Container::get('smilies')->store('smilies', Cache::getSmilies());
28+
}
2429
$this->smilies = Container::get('cache')->retrieve('smilies');
2530

2631
if (Container::get('cache')->isCached('s9eparser') && Container::get('cache')->isCached('s9erenderer')) {

featherbb/Model/Cache.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,4 +192,19 @@ public static function getGroupPreferences()
192192

193193
return (array) $groupsPreferences;
194194
}
195+
196+
public static function getSmilies()
197+
{
198+
$result = [];
199+
200+
$smilies = DB::table('smilies')
201+
->selectMany('text', 'image')
202+
->findArray();
203+
204+
foreach ($smilies as $smiley) {
205+
$result[$smiley['text']] = $smiley['image'];
206+
}
207+
208+
return $result;
209+
}
195210
}

0 commit comments

Comments
 (0)