Блок пользователя
Регистрация на нашем сайте позволит вам общаться на форумах и получить доступ к другому полезному функционалу
Вы вошли как Гость
  • 319 просмотров
  • 25 сентября, 2023
  • Обновлено: 16 октября, 2023
  • admin
  • Время чтения: 4 минуты
  • 2 (Подробно)

В процессе реанимации плагина было выполнено следующее:

  1. Рефакторинг и структурирование кода
  2. Устранение ошибок и несовместимостей с текущей версией Cotonti
  3. Организация вывода через две основные функции – thanks_render_list() и thanks_render_user()
  4. Кэширование вывода (весь кэш очищается при добавлении, удалении и синхронизации благодарностей)
  5. Формат даты переведен в UNIX Timestamp
  6. Паджинация, включая режим AJAX
  7. Администрирование благодарностей в панели управления с возможностью удаления благодарностей по одной или всех для конкретного пользователя
  8. Функция синхронизации (пересчет количества лайков пользователям)
  9. Функция полной синхронизации (удаление лайков от и в адрес удаленных аккаунтов, а также лайки за удаленные объекты (страницы, посты, комментарии))
  10. Опциональное исключение из списков пользователей с нулевым количеством благодарностей
  11. Раздельное включение благодарностей для страниц, форумных постов и комментариев с возможностью раздельного назначения классов соответствующим ссылкам
  12. Вывод в отдельной локации всех лайков конкретной странице, посту или комментарию с разбивкой на страницы
  13. После отправки благодарности может быть произведена перезагрузка страницы с выводом соответствующего сообщения, либо перенаправление на отдельную страницу с кнопкой возврата
  14. Обновление с базовой версии (перевод поля th_date в формат INT(10) и конверсия его значений в UNIX Timestamp)

Структура MySQL-таблицы сохранена, за исключением перевода поля даты в формат Timestamp.

Зачем нужны функции вывода?

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

  1. thanks_render_list() – вывод списка пользователей с количеством благодарностей (для администраторов дополнительный функционал в виде удаления пользователя, т.е. всех благодарностей пользователю – при помощи одной “кнопки”);
  2. thanks_render_user() – вывод списка благодарностей конкретному пользователю  (для администраторов дополнительный функционал в виде удаления конкретной благодарности пользователю – при помощи одной “кнопки”).

Использование функций также позволило выводить благодарности в других локациях, например на главной странице “админки” (шаблон admin.home.tpl) или на странице пользователя (шаблон users.details.tpl).

Использование плагина Thanks

Установка стандартная, но для работы расширения необходимо наличие предустановленной библиотеки Cotlib.

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

Функция thanks_render_list()

Служит для вывода списка пользователей с количеством благодарностей. Синтаксис следующий:

thanks_render_list
(
   $tpl = 'thanks.list', // 01. имя шаблона
   $items = 0,           // 02. количество записей
   $order = '',          // 03. сортировка в формате MySQL
   $extra = '',          // 04. дополнительные MySQL-запросы
   $user = '',           // 05. id пользователя
   $pagination = '',     // 06. код паджинации для URL'ов
   $ajax_block = '',     // 07. ID блока для AJAX-паджинации
   $cache_name = '',     // 08. имя записи в таблице кэша
   $cache_ttl = 0        // 09. срок жизни кэша в секундах
)

Примеры использования функции в шаблонах:

// Вывести всех пользователей с количеством благодарностей 
// (настройка в свойствах плагина исключит записи с нулевым количеством)
{PHP|thanks_render_list('thanks.list', 0)}

// С паджинацией по 5 записей на страницу
{PHP|thanks_render_list('thanks.list', 5, '', '', '', 'th')}

// С AJAX-паджинацией по 5 записей на страницу
<div id="thanks2ajax">
{PHP|thanks_render_list('thanks.list', 5, '', '', '', 'th', 'thanks2ajax')}
</div>

// Вывести и закэшировать на 24 часа список из 5 пользователей
// с наибольшим количеством благодарностей
{PHP|thanks_render_list('thanks.list', 5, 'user_thanks DESC', '', '', '', '', 'thanks_sample', '86400')}

Функция thanks_render_user()

Служит для вывода списка благодарностей пользователя. Синтаксис адалогичен:

thanks_render_user
(
   $tpl = 'thanks.user', // 01. имя шаблона
   $items = 0,           // 02. количество записей
   $order = '',          // 03. сортировка в формате MySQL
   $extra = '',          // 04. дополнительные MySQL-запросы
   $user = '',           // 05. id пользователя
   $pagination = '',     // 06. код паджинации для URL'ов
   $ajax_block = '',     // 07. ID блока для AJAX-паджинации
   $cache_name = '',     // 08. имя записи в таблице кэша
   $cache_ttl = 0        // 09. срок жизни кэша в секундах
)

Примеры использования функции в шаблонах:

// Список благодарностей пользователя с ID 1
// Сортировка по убыванию даты
{PHP|thanks_render_user('thanks.user', '0', 'th_date DESC', '', '1')}

// Список всех благодарностей
// Сортировка по возрастанию даты
{PHP|thanks_render_user('thanks.user', '0', 'th_date ASC')}

// Использование в шаблоне users.details.tpl
// Все благодарности пользователя
{USERS_DETAILS_ID|thanks_render_user('thanks.user')}

Использование аргументов, включая паджинацию, аякс и кэширование, аналогично функции thanks_render_list().

Приятного использования. Свои отзывы, пожелания и багрепорты отставляйте в комментариях на нашем сайте (не требуют регистрации) или в Issues на Github.

Аватар

1. Kabak

  • 15.02.2024 11:38

Cotonti 0.9.24   14.02.2024

Warning: Trying to access array offset on value of type bool in /var/www/blog/plugins/thanks/thanks.php on line 136
Warning: Trying to access array offset on value of type bool in /var/www/blog/plugins/thanks/thanks.php on line 139
Warning: Trying to access array offset on value of type bool in /var/www/blog/plugins/thanks/thanks.php on line 144
Warning: Trying to access array offset on value of type bool in /var/www/blog/plugins/thanks/thanks.php on line 145
Warning: Trying to access array offset on value of type bool in /var/www/blog/plugins/thanks/thanks.php on line 145
Warning: Trying to access array offset on value of type bool in /var/www/blog/plugins/thanks/thanks.php on line 145

При попытке посмотреть в личных сообщениях за что поблагодарили

путь 

/index.php?e=thanks&a=viewdetails&ext=comments&item=3

 

Может за что поблагодарили удалено  уже ?

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

Имя:
Для редактирования комментария осталось 10 минут