<?php
/**
* mobiCMS (https://mobicms.org/)
* This file is part of mobiCMS Content Management System.
*
* @license https://opensource.org/licenses/GPL-3.0 GPL-3.0 (see the LICENSE.md file)
* @link http://mobicms.org mobiCMS Project
* @copyright Copyright (C) mobiCMS Community
*/
defined('MOBICMS') or die('Error: restricted access');
/** @var Psr\Container\ContainerInterface $container */
$container = App::getContainer();
/** @var Mobicms\Api\UserInterface $systemUser */
$systemUser = $container->get(Mobicms\Api\UserInterface::class);
/** @var Mobicms\Checkpoint\UserConfig $userConfig */
$userConfig = $systemUser->getConfig();
/** @var Mobicms\Api\ToolsInterface $tools */
$tools = $container->get(Mobicms\Api\ToolsInterface::class);
$start = $tools->getPgStart();
// Каталог пользовательских Смайлов
$dir = glob(ROOT_PATH . 'assets/smilies/user/*', GLOB_ONLYDIR);
foreach ($dir as $val) {
$val = explode('/', $val);
$cat_list[] = array_pop($val);
}
$cat = isset($_GET['cat']) && in_array(trim($_GET['cat']), $cat_list) ? trim($_GET['cat']) : $cat_list[0];
$smileys = glob(ROOT_PATH . 'assets/smilies/user/' . $cat . '/*.{gif,jpg,png}', GLOB_BRACE);
$total = count($smileys);
$end = $start + $userConfig->kmess;
if ($end > $total) {
$end = $total;
}
echo '<div class="phdr"><a href="?act=smilies"><b>' . _t('Smilies') . '</b></a> | ' .
(array_key_exists($cat, smiliesCat()) ? smiliesCat()[$cat] : ucfirst(htmlspecialchars($cat))) .
'</div>';
if ($total) {
if ($systemUser->isValid()) {
$user_sm = isset($systemUser->smileys) ? unserialize($systemUser->smileys) : '';
if (!is_array($user_sm)) {
$user_sm = [];
}
echo '<div class="topmenu">' .
'<a href="?act=my_smilies">' . _t('My smilies') . '</a> (' . count($user_sm) . ' / ' . $user_smileys . ')</div>' .
'<form action="?act=set_my_sm&cat=' . $cat . '&start=' . $start . '" method="post">';
}
if ($total > $userConfig->kmess) {
echo '<div class="topmenu">' . $tools->displayPagination('?act=usersmilies&cat=' . urlencode($cat) . '&', $total) . '</div>';
}
for ($i = $start; $i < $end; $i++) {
$smile = preg_replace('#^(.*?).(gif|jpg|png)$#isU', '$1', basename($smileys[$i], 1));
echo $i % 2 ? '<div class="list2">' : '<div class="list1">';
if ($systemUser->isValid()) {
echo(in_array($smile, $user_sm) ? '' : '<input type="checkbox" name="add_sm[]" value="' . $smile . '" /> ');
}
echo '<img src="../assets/smilies/user/' . $cat . '/' . basename($smileys[$i]) . '" alt="" /> :' . $smile . ': ' . _t('or') . ' :' . $tools->trans($smile) . ':';
echo '</div>';
}
if ($systemUser->isValid()) {
echo '<div class="gmenu"><input type="submit" name="add" value=" ' . _t('Add') . ' "/></div></form>';
}
} else {
echo '<div class="menu"><p>' . _t('The list is empty') . '</p></div>';
}
echo '<div class="phdr">' . _t('Total') . ': ' . $total . '</div>';
if ($total > $userConfig->kmess) {
echo '<div class="topmenu">' . $tools->displayPagination('?act=usersmilies&cat=' . urlencode($cat) . '&', $total) . '</div>';
echo '<p><form action="?act=usersmilies&cat=' . urlencode($cat) . '" method="post">' .
'<input type="text" name="page" size="2"/>' .
'<input type="submit" value="' . _t('To Page') . ' >>"/></form></p>';
}
echo '<p><a href="' . $_SESSION['ref'] . '">' . _t('Back') . '</a></p>';