Иконка ресурса

[MMO] Hide Bb-Code Content System 2.2.8

Нет прав для скачивания
По ID не работает. XF 2.0.10.
UPD.
Не определяет ID из модального окна. Если в ручную в теге поставить ID - работает.
 

Вложения

  • Screenshot.png
    Screenshot.png
    122.3 KB · Просмотры: 123
  • Безымянный.png
    Безымянный.png
    124.1 KB · Просмотры: 121
  • Screenshot (1).png
    Screenshot (1).png
    119.6 KB · Просмотры: 104
Последнее редактирование:
Предложения и пожелания.
Ограничить выбор группы пользователя для хайда :)
А то,пользователи видят все группы пользователей,что не очень красиво...
 
На форуме одном так скрываем информацию для модераторов.
Есть хайд для клуба: переименуй bb-код на "скрыть для команды", ну или как вы там хотите, а в настройках поставьте группы-участники клуба администраторов и модераторов
 
Captain обновил(а) ресурс [MMO] Hide новой записью:

2.0.1

А мы продолжаем серию работы над хайдом и представляем следующий релиз:
  • Добавлен бб код скрывающий содержимое только для посетителей пользователей тег [HIDE]
  • Исправлена ошибка в модальном окне, когда пользователь вводил id пользователя, а ему выдавало undefined в редакторе
  • Обновление кода, спасибо за ревью братишкам BINGO_SHARK и CrazyHackGUT
  • Ну и какие то ещё пустяки =)
Следующий релиз будет уже конкретно под 2.1 и не будет...

Узнать больше об этом обновлении...
 
Captain, Генерируются ошибки связанные с like_count. ?
Но содержимое никто не видит ?
XF 2.1
 
25517, ну естественно, потому что реакции.
В зависимости от того что, но там ввели, что и писали в нововведениях. Так что большинство аддонов встанут без проблем. По реакциям там не большие замены like_count -> reactions_score
 
25517, собственно. Для тех кто поспешил перейти на 2.1.
Идём по пути /src/addons/MMO/Hide/BbCode
И открываем файлик Hide.php

В файле ищем
PHP:
case 'likes':
                $likes_count = $visitor->likes_count;

                $title = \XF::phrase('mh_tag_likes_x_y', [
                    'need_likes' => $tagOption,
                    'now_likes' => $likes_count
                ]);

                if($tagOption <= $likes_count || self::isCreator($options) || self::canBypass($options) || $visitor->hasPermission('forum', 'mh_bypass_likes'))
                {
                    $canView = true;
                }
                break;
И заменяем на
PHP:
case 'likes':
                $reaction_score = $visitor->reaction_score;

                $title = \XF::phrase('mh_tag_likes_x_y', [
                    'need_likes' => $tagOption,
                    'now_likes' => $reaction_score
                ]);

                if($tagOption <= $reaction_score || self::isCreator($options) || self::canBypass($options) || $visitor->hasPermission('forum', 'mh_bypass_likes'))
                {
                    $canView = true;
                }
                break;
После этого ,должно нормально работать с реакциями.
 

Вложения

  • Screenshot (1).png
    Screenshot (1).png
    183.3 KB · Просмотры: 98
  • Screenshot.png
    Screenshot.png
    165.8 KB · Просмотры: 98
25517, я бы ещё тогда hashes.json удалил, чтобы форум не ругался на невалидный файл :)
 
Об этом и писалось вообще то. Там не только это, а ещё с обработкой кнопки мне нравится. На данный момент просто решить проблему обновления поста и сделать sql в редактор дабы сгруппировать кнопки в 1 и то даже по сути этого не надо. Пользователь сам может создать и настроить и порядок какой кнопок. Ну и будет обновление под 2.1
 
Я буду ждать обнову от Captain (=
Надо было пофиксить, а то в админке ошибки генерировались
 
Это просто предупреждение, можно не обновляться
 
Captain, не отображается в редакторе.
Конфликтует с тегом [CODE][/CODE] (
 
25517, отображается, как воспроизвести конфликт с тегом CODE?
 

Вложения

  • Безымянный.png
    Безымянный.png
    188 KB · Просмотры: 98
  • Screenshot.png
    Screenshot.png
    194.6 KB · Просмотры: 97
Не мог не пройти мимо описания. И пускай Колю с его аддонами не защищаю ни разу, но все же не смог не скачать и не посмотреть что у нас тут.
  1. Или у меня MacOS тупит, или архив распаковывается как-то криво из-за обратных слешей
  2. public static function getHideTags() - не было смысла внутри заводить переменную, лучше сразу в return массив скинуть
  3. Как реализован запрет на добавление одноименных бб-кодов перечисленных в названном выше массиве? Судя по отсутствию расширений админки - никак.
  4. Долго думал как можно более ресурсоемко написать перебор с подстановкой, не придумал. Медаль за нерациональное использование ресурсов. Интересно посмотреть прогон бенчмарков на больших сообщениях с большим числом бб-кодов.
    PHP:
            while ($string != ($newString = preg_replace('#\[(' . $orig_hidetags . ')(=[^\]]*)?\](.*)\[/\1\]#siU', $replacetext, $string)))        {
    $string = $newString;
            }
  5. Видимо мне не хватает контекста чтобы понять задумку автора. Пока что выглядит как простой костыль.
    PHP:
            $string = str_replace ('[*]', '', $string);
  6. Открыл следующий файл и голова заболела.
    PHP:
        /**     * @param $tagChildren
    * @param $tagOption
    * @param $tag
    * @param array $options
    * @param \XF\BbCode\Renderer\AbstractRenderer $renderer
    * @return \XF\Phrase
    */
    public static function renderUsers($tagChildren, $tagOption, $tag, array $options, \XF\BbCode\Renderer\AbstractRenderer $renderer)
    {
    return self::renderHideBbCode('users', [
    'tagChildren' => $tagChildren,
    'tagOptions' => $tagOption,
    'tag' => $tag,
    'options' => $options,
    'renderer' => $renderer
    ]);
        }
    Куча однотипных функций отличающихся только параметром того, что рендерим. Может тогда попробовать параметр прокинуть и обойтись получится одной функцией?
  7. Зачем этот кусок кода в самый конец почти, если можно проверить сразу после вызова?
    PHP:
            if ($renderer instanceof EmailHtml)        {
    $content = false;
            }
  8. self::isCreator($options) || self::canBypass($options)Ну так может сразу после получения параметров посчитать и вынести в одну переменную статичную, а не копипастить каждый раз в десятке мест, да еще повторно и проверки гонять.
  9. intval при том что (int) работает в разы быстрее.
  10. Автор гарантирует обновления не реже чем обновления у авторов движка?
    PHP:
                            $user_links[] = sprintf(
    '<a class="username" href="%s" data-xf-init="member-tooltip" data-user-id="%d" data-username="%s">%s</a>',
                                \XF::app()->router()->buildLink('members', $user), $user['user_id'], $user['username'], $user['username']);
На 10 пункте захотелось остановиться. Я молчу про соблюдение PSR, про огромное количество копипаста и заведение бесполезных переменных, которые будут использованы только один раз, но останутся в памяти, про страшные регулярки, которые не пройдут адекватной проверки на мало-мальскую нагрузку с большим числом вложенных тэгов адекватно. Но вообще есть одно замечание, которое вероятно стоит рассмотреть.

Captain, BINGO_SHARK, перед тем как тыкать Коле про несоблюдение стандартов разработки дополнений - начните с приведения своих дополнений к ним. Если у Бинго все еще более-менее нормально и если начинать придираться то только по не расчету на большие нагрузки и ряд косяков, которые он в принципе поправит если сказать, то вот тут все совсем грустно и печально. Большой текст в описании аддона, описывающий про стандарты написания ровно то, что было сказано про Колю. Берем аддон от первой ветки, меняем вызовы системных функций движка, остальное говно оставляем на месте - вы восхитительны, продажи Коле перекрыты.

Но вот беда - под громкими словами получили такой же шмат ?

Пользуйтесь - благо что бесплатно.

Всем мир ☀
 
Exile, по факту дополнение бесплатное и люди могут его себе поставить, альтернативы другой (бесплатной) нет. В основном, все претензии это придирки, особенно, что (int) быстрее intval(). Все мы начали кодить, у всех код был отвратный, всё приходит с опытом, главное, чтобы автор плагина усвоил критику и не принял ее близко к сердцу. Пользователю наплевать, что скрывается внутри. Работает и отлично. Если беситесь, что у кого-то упали продажи - это жизнь и с этим придется смирится и придумывать новые идеи для плагина, чтобы набрать клиентов.
 
Exile, ахах только вот давай такие же придирки мы откроем и код коли и там в 10 раз больше и что? Получается тогда же нарушение правила о продажи Правила нашего форума. В случае продажи дополнений, авторы оных должны проходить проверку на качество кода у администрации перед тем, как они будут допущены к продаже в нашем менеджере ресурсов. Администрация гарантирует, что дополнение будет использовано исключительно для проверки и не может быть использовано даже для внутренних нужд ресурса. Но вы как любите поддерживать говнокод, сами или своих дружков типа akinak которые не заходят по пол года и более, а потом он даже в оффлайне ну чудесным образом, он допущен к продажи.

А ну и да, тогда к разработчикам то же претензия ведь они используют intval везде в рендеринге бб кодов, ну нормально что.
94501
Ну да давайте остановимся так же на 10 пункте, ок да :/. Но на 1 строчку которая приводит опции к intval горе проблема. Да выделили память на переменную которую сразу же и возвращаем + 7+ пхп уже не такой тупой). То что z выделил, и вернул, то пыха просто работает с ссылкой в памяти, и это только тут выглядит как костыль полный, под капотом чуть умнее работает, я не говорюсь утверждать, что вы не работали с памятью и как всё это происходит, но это похоже на то и учитывая реалии пхп 7. А и это мне рассказывает тот человек который оверрайдил функцию для закрытия хайда по меткам браво.
Или как вы сами же продавали клиентом отвязку от естетика, но при этом неиспользованные переменные присутствовали.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу