Новости Joomla

Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0

Метод registerListeners() в CMSPlugin в плагинах  планируется удалить в Joomla 7.0

👩‍💻 Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0.Этот метод регистрирует устаревшие слушатели событий в диспетчере, имитируя работу плагинов Joomla! 3.x и ниже для Joomla 4+. По умолчанию этот метод ищет все общедоступные методы, название которых начинается с on. Он регистрирует лямбда-функции (замыкания), которые пытаются преобразовать аргументы отправленного события в аргументы вызова метода и вызвать ваш метод on<Что-то>. Результат передаётся обратно событию в его аргумент result.Теперь этот слой совместимости с устаревшей Joomla 3 помечен к удалению в Joomla 7.0, которая должна выйти осенью 2027 года. Это означает, что те уникальные расширения от Joomla 2.5 / Joomla 3, которые ещё работали на Joomla 4-6 скорее всего окончательно перестанут работать на Joomla 7. Предполагается, что активные разработчики планомерно и постепенно избавляются от технического долга и обновляют свои расширения. @joomlafeed#joomla #разработка #php

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 2217 Просмотров
*

anatoly

  • Новичок
  • 6
  • 0 / 0
В настройках стоит  - Количество секунд перед разрешением добавления нового голоса: 86400. По идее в течение суток не дожно допускаться повторного голосования.
на самом деле фигня какая то. Обновляю страницу и снова могу голосовать... Хоть сколько. Помогите советом, если кто в курсе проблемы. )) Может я чего то недопонимаю в настройках?
*

anatoly

  • Новичок
  • 6
  • 0 / 0
Эх. Хоть бы кто нибудь сказал. Этот счетчик в принципе у кого нибудь работает?
Если да, буду думать. Если нет. Тоже буду думать, только в другом направлении. ^-^
*

anatoly

  • Новичок
  • 6
  • 0 / 0
Если кому интересно.
Я не силен в PHP, но тем не менее, в чем разобрался, поделюсь.
Похоже эта функция задумывалась, но реально не реализована. Во всяком случае я так и не нашел никакой программной связи этой настройки, кроме создания куки,с указанным временем действия. Назначение этой куки осталось загадкой.  Нигде в тексте я не нашел , как она используется.
Пошел по пути написания небольшого кусочка кода в файл -  Savant2_Plugin_ratableRating.php
между метками все выглядит так.   
# Allow rating?
................
// Print stars
( вместо многоточия вставить, заменив там все...)

$allowRating = false;
if(($voted && $mtconf->get('rate_once') == '1')
||
($mtconf->get('user_rating') == '-1')
||
($mtconf->get('user_rating') == '1' && $my->id < 1)
||
($mtconf->get('user_rating') == '2' && $my->id > 0 && $my->id == $link->user_id)
||
($mtconf->get('user_rating') == '2' && $my->id == 0)
||
($link->user_id == $my->id && !$mtconf->get('allow_owner_rate_own_listing'))) $html .= JText::_( 'Rating' );
                  
else {
$html .= JText::_( 'Rate this listing' );
$t = $database->loadResultArray();       
$t_rez = $t[sizeof($t)-1];      
if ((time() - strtotime($t_rez)) > $mtconf->get('hit_lag')) $allowRating = true; 
#echo (time() - strtotime($t_rez));                
 }
$html .= '</div>';

Если раскомментирвать строку с echo, то рядом со звездами можно увидеть счетчик времени в том же формате, что и в строке настройки мосета, который покажет время от последнего голосования этого пользователя за эту позицию. Типа отладки ))

В настройках отключил голосование вместе с отзывом, так что голосовать теперь можно только щелкая по звездам. Отзыв обычным способом. И выставил многократное голосование для пользователя.Mosets tree версии 2.1.3.
Теперь, пока не истечет необходимое время от последнего голосования, голосовать нельзя. Что и задумывалось.  ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться