Добро пожаловать на сайт SEDBY

Cotonti Siena 0.9.25

Популярные запросы: тема Omnis, плагин Pagelist, Cotonti 0.9.24.2, ЧПУ, Font Face

  • 46 просмотров
  • 5 сентября, 2024
  • Обновлено: 5 сентября, 2024
  • admin
  • Время чтения: 3 минуты

0.9.25 это очеердной номерной релиз Cotonti Siena на пути к версии 1.0. Исправлено несколько мелких недочетов и продолжена унификация TPL-тегов.

Список обновлений

  1. Прекращена поддержка PHP 5.x Минимальное требование, начиная с релиза 0.9.25, это PHP 7.3
  2. Поддержка БД-транзакций с вложенным управлением.
  3. Мелкие улучшения и исправления

Режим legacyMode

В массиве $cfg появилась настройка legacyMode, которая позволяет задействовать устаревающий код. Для этого в файле config.php необходимо указать

$cfg['legacyMode'] = true;

При его включении вы сможете использовать функционал, который планируется к удалению, но оставлен в течение определенного времени для обеспечения совместимости. В случае если вы привыкли актуализировать свои темы и плагины под новый релизы, данный режим вам скорее всего не понадобится.

Функция cot_user_sqlExcludeBanned()

Данная функция принадлежит модулю Users и позволяет сформировать SQL-запрос, в котором из списка пользователей будут исключены аккаунты из группы banned и с неистекшим сроком бана.

/**
 * @param string $usersTableAlias
 * return string
 */
function cot_user_sqlExcludeBanned($usersTableAlias = null)
{
    if ($usersTableAlias === null) {
        $usersTableAlias = Cot::$db->users;
    }
    $usersTablePrefix = '';
    if (!empty($usersTableAlias)) {
        $usersTablePrefix = Cot::$db->quoteTableName($usersTableAlias) . '.';
    }

    $groupUsersTable = Cot::$db->quoteTableName(Cot::$db->groups_users);

    $condition = '('
        . "({$usersTablePrefix}user_maingrp <> " . COT_GROUP_BANNED
        . " AND {$usersTablePrefix}user_id NOT IN (SELECT gru_userid FROM {$groupUsersTable} WHERE gru_groupid = " . COT_GROUP_BANNED . '))'
        . " OR ({$usersTablePrefix}user_banexpire > 0 OR {$usersTablePrefix}user_banexpire < " . Cot::$sys['now'] . ')'
        . ')';

    /* === Hook === */
    foreach (cot_getextplugins('users.sqlExcludeBanned') as $pl) {
        include $pl;
    }
    /* ===== */
    
    return $condition;
}

Функция cot_generateCaptchaTags()

Данная функция размещается в общем файле functions.php и служит для вывода унифицированных TPL-тегов, имеющих отношение к CAPTCHA:

/**
 * Generate captcha XTemplate tags
 * @param string $captcha Captcha type
 * @param string $inputName
 * @param string $prefix
 * @return array
 */
function cot_generateCaptchaTags($captcha = null, $inputName = 'rverify', $prefix = '')
{
    return [
        $prefix . 'VERIFY_IMG' => cot_captcha_generate($captcha),
        $prefix . 'VERIFY_INPUT' => !empty($inputName)
            ? cot_inputbox('text', $inputName, '', 'id="' . $inputName . '" maxlength="20"')
            : '',
    ];
}

Таким образом, в шаблонах плагинов TPL-теги капчи и поля для ее ввода будут выглядеть примерно так:

{PREFIX_VERIFY_IMG}: {PREFIX_VERIFY_INPUT}

Унификация тегов паджинатора

В шаблонах админ-частей плагинов PFS, опросов, комментариев, рейтингов, рефералов и корзины TPL-теги паджинации унифицированы и приведены к единому пэттерну:

{XXX_PAGINATION} -> {PAGINATION}
{XXX_PAGEPREV} -> {PREVIOUS_PAGE}
{XXX_PAGENEXT} -> {NEXT_PAGE}
{XXX_TOTALITEMS} -> {TOTAL_ENTRIES}
{XXX_ON_PAGE} -> {ENTRIES_ON_CURRENT_PAGE}

Данная нотация сейчас уже применяется и к остальным плагинам и их частям, за исключением ситуаций, когда блоков паджинаций на странице несколько и имеет смысл использовать префиксы.

Новый комментарий

Имя:
Для редактирования комментария осталось 10 минут
Блок пользователя
Регистрация на нашем сайте позволит вам общаться на форумах и получить доступ к другому полезному функционалу
Вы вошли как Гость