1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

1.1.0 XenForo 1.1.0 Beta 2

Тема в разделе "Новости XenForo", создана пользователем Romchik®, 07.10.2011.

Загрузка
Статус темы:
Закрыта.
  1. Buch

    Buch Местный

    Регистрация:
    05.12.10
    Сообщения:
    99
    Симпатии:
    7
    Версия XF:
    1.1.3
    Я почему-то думал что во второй бете это пофиксено. Обычно удаляю, модерации сообщений нет, поэтому не замечал.
    О чудо! :)
     
  2. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    по поводу лайтбокса начинают тихонько гнать что это баг хрома (в новой бете хрома все в порядке)
     
  3. Buch

    Buch Местный

    Регистрация:
    05.12.10
    Сообщения:
    99
    Симпатии:
    7
    Версия XF:
    1.1.3
    Беспокоит, что нет функции правки заголовка темы для пользователей (с огр. по времени ессно), жалуются. Сам извращаюсь "перемещением сообщением" при котором заголовок становится доступен для редактирования.
    Всё облазил, но данную функцию не нашел, может не там искал?
     
  4. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    а там все просто:
    находим файл
    PHP:
    library/XenForo/Model/Thread.php
    и там исчем
    PHP:
    public function canEditThread
    и приводим к виду
    PHP:
    public function canEditThread(array $thread, array $forum, &$errorPhraseKey '', array $nodePermissions null, array $viewingUser null)
        {
            
    $this->standardizeViewingUserReferenceForNode($thread['node_id'], $viewingUser$nodePermissions);
            if (
    $thread['user_id'] != $viewingUser['user_id'] | !$thread['discussion_open'])
            {
            return (
    $viewingUser['user_id'] && XenForo_Permission::hasContentPermission($nodePermissions'manageAnyThread'));
            }else{
            return (
    $viewingUser['user_id']);
            }
            }
    т.е. получается проверка "если создатель темы=текущему пользователю и тема открыта, то выдать ему права на редактирование, а если он не создатель то проверить стандартные права форума для пользователя"

    ну и еще можно дать пользователям возможность закрывать свои темы:
    ищем там же
    PHP:
    public function canLockUnlockThread
    и приводим к виду
    PHP:
    public function canLockUnlockThread(array $thread, array $forum, &$errorPhraseKey '', array $nodePermissions null, array $viewingUser null)
        {
            
    $this->standardizeViewingUserReferenceForNode($thread['node_id'], $viewingUser$nodePermissions);
            if (
    $thread['user_id'] != $viewingUser['user_id'] | !$thread['discussion_open'])
            {
            return (
    $viewingUser['user_id'] && XenForo_Permission::hasContentPermission($nodePermissions'lockUnlockThread'));
            }else{
            return (
    $viewingUser['user_id']);
            }
        }
    в итоге пользователь может закрыть свою тему (но открыть закрытую уже не может).

    в общем то можно было пойти дальше и добавить кнопку в админку (в раздел прав), но мне лень =)

    p.s. вроде где то был мод на эту тему, но там была возможность только закрывать свою тему (или только редактировать... точно не помню, и мод найти не могу).
     
    Desperado и Buch нравится это.
  5. resonansER

    resonansER Местный

    Регистрация:
    19.08.11
    Сообщения:
    461
    Симпатии:
    290
    Версия XF:
    1.5.6
    Изврат и ненужная функция.

    Полный изврат. Я против и первого и второго.
    Это моё мнение
     
  6. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    На вашем форуме это может быть и не нужно, а на моем и у Buch нужно.
    простейшие примеры:
    • пользователь ошибся в названии темы
    • необходимость закрытия темы есть когда топик потерял актуальность (прошло время события, товар продан, потерян интерес)
    зачем это вешать на модераторов/администраторов если это прекрасно может сделать сам создатель топика?
    p.s. будьте против, мы не против этого :D
     
    Buch нравится это.
  7. Buch

    Buch Местный

    Регистрация:
    05.12.10
    Сообщения:
    99
    Симпатии:
    7
    Версия XF:
    1.1.3
    Пользователи бывают опечатываются. Дать минут 10 для редактирования заголовка - не зло, а дополнительная ВОСТРЕБОВАННАЯ функция. Они ведь переживают, начинают дергаться, писать ....... зачем лишний головняк?
    Огромное спасибо! В избранное! :thumbsup:
     
  8. resonansER

    resonansER Местный

    Регистрация:
    19.08.11
    Сообщения:
    461
    Симпатии:
    290
    Версия XF:
    1.5.6
    Ок. Вы оба по-своему правы. Но я бы не лез в двигло по-живому. ДАЖЕ если вы знаете хорошо PHP.
     
  9. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    но там нет ограничения по времени, т.е. пользователь в любой момент может отредактировать название темы.
    А как сделать ограничение по времени это задание на дом =)
    p.s. смотрим внимательно на
    PHP:
    $thread['post_date']
    php я не знаю, но знаю другие скриптовые языки, принцип то везде один и тот же. В этой модификации я уверен.

    если бы не лень то сделал бы отдельным модом.
     
    Buch нравится это.
  10. Buch

    Buch Местный

    Регистрация:
    05.12.10
    Сообщения:
    99
    Симпатии:
    7
    Версия XF:
    1.1.3
    Понятно.
    Это надо в дефолт, кому надо вкл или откл.
     
  11. Desperado

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
    Kn1ght, что бы было совсем красиво и правильно (хз как на счёт форума, я на счёт PHP):
    PHP:
    public function canEditThread(array $thread, array $forum, &$errorPhraseKey '', array $nodePermissions null, array $viewingUser null)
    {
        
    $this->standardizeViewingUserReferenceForNode($thread['node_id'], $viewingUser$nodePermissions);
        if ( 
    $thread['user_id'] != $viewingUser['user_id'] || !$thread['discussion_open'] )
        {
              return (
    $viewingUser['user_id'] && XenForo_Permission::hasContentPermission($nodePermissions'manageAnyThread'));
        }
        else
        {
            return 
    $viewingUser['user_id'];
        }
    }
    Во втором случае на теже грабли наступили.

    Или в PHP обозначается как ||

    +
    PHP:
    return $viewingUser['user_id'];
    Тут скобки не нужны.

    ну а чтобы добавить сюда ещё редактирование по времени (выполним домашнее задание за некоторых), допишем
    PHP:
    public function canEditThread(array $thread, array $forum, &$errorPhraseKey '', array $nodePermissions null, array $viewingUser null)
    {
        
    $this->standardizeViewingUserReferenceForNode($thread['node_id'], $viewingUser$nodePermissions);
        if ( 
    $thread['user_id'] != $viewingUser['user_id'] || !$thread['discussion_open'] || (time() - $thread['post_date']) >= 'X' )
        {
              return (
    $viewingUser['user_id'] && XenForo_Permission::hasContentPermission($nodePermissions'manageAnyThread'));
        }
        else
        {
            return 
    $viewingUser['user_id'];
        }
    }
    Где Х - время в секундах

    Но, хочу напомнить, что я хз правильно ли так поступать с точки зрения форума.
    так что какашками в случае чего не кидать) Придёт FractalizeR, поправит в случае чего)
     
    Kn1ght и Buch нравится это.
  12. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    Единственная неправильность это что идет ковыряние самого движка, а не Вынос изменений в мод.
    Интересно по какой причине | тоже работает. =)
     
  13. Desperado

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
  14. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Desperado нравится это.
  15. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Что-то в этом есть. Кроме Хрома багов больше нигде, как я понимаю, не наблюдается.
    Это очень большая "неправильность" :cautious:
     
  16. Buch

    Buch Местный

    Регистрация:
    05.12.10
    Сообщения:
    99
    Симпатии:
    7
    Версия XF:
    1.1.3
    Romchik®, отпиши англичанам пжл, пусть рассмотрят включение данного функционала в дефолт.
     
  17. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    в середине лета разработчики писали что им это не интересно
     
  18. Buch

    Buch Местный

    Регистрация:
    05.12.10
    Сообщения:
    99
    Симпатии:
    7
    Версия XF:
    1.1.3
    :eek:
    меня достали уже этими заголовками
    видимо надо думать насчет мода, хотя я их не люблю
     
  19. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Надо
     
  20. Kn1ght

    Kn1ght Местный

    Регистрация:
    16.02.11
    Сообщения:
    180
    Симпатии:
    47
    Версия XF:
    1.2.4
    ну кто осилит завернуть в пакетик выше указанные изменения?
     
Статус темы:
Закрыта.

Поделиться этой страницей