Хак DLE Forum 2.3 вывод модераторов

Тема в разделе "DLE", создана пользователем gta, 23 мар 2009.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. gta

    gta if (!$gta) echo "banned";

    Регистр.:
    8 дек 2008
    Сообщения:
    379
    Симпатии:
    146
    Здравствуйте. Я увидел один недостаток в DLE Forum это то что модераторы не выводятся под разделом. То есть не видно кто модерирует разделы. Т.к. в админке есть возможность в управление вывода тех кто модерирует разделы, попробуем вывести это и на форуме:

    1)Открываем engine/forum/sources/category.php

    Найти:

    Код:
    $tpl->set('{description}', $row['description']);
    Заменям на:

    Код:
    $member_name ="";
    foreach ($forum_moderators as $mod){
    if ($row['id'] == $mod['forum_id']){
    $member_name .= $mod['member_name']." ";
    }
    }
    if($member_name !=""){
    $tpl->set('{description}', $row['description']."<BR> Модераторы:".$member_name);
    }else{
    $tpl->set('{description}', $row['description']);
    }
    
    2) Теперь открываем engine/forum/main.php и проделываем шаг 1 заново
    Радуемся хаку.

    Всегда ваш gta, надеюсь на спасибо. :ah:
     
    rider1203 и Cepera51 нравится это.
  2. gta

    gta if (!$gta) echo "banned";

    Регистр.:
    8 дек 2008
    Сообщения:
    379
    Симпатии:
    146
    Тэг HIDE за сообщения

    Уважаемые модери прошу переименовать тему в модули и хаки для DLE Forum.

    И так на днях захотелось иметь на форуме кнопочку HIDE и выставлять количество сообщения за текст. Долго блудил по интернету но всётаки нашел то что хотел.

    Инструкция по установке:

    Открываем engine/forum/sources/components/functions.php
    Ищем:
    Код:
    return ($select_list);
    }
    Ниже добавляем:
    Код:
    function comm_protect($comms,$block,$postnum) {
      global $member_id;
      $targ = $postnum;
      $group = $member_id['user_group'];
      $uname = $member_id['name'];
      $allow_groups = array(1,2); // Группы которым скрытый текст доступен напостой!
      if (in_array($group,$allow_groups)) return $block;
      if ($targ < $comms) {
       $summ = (int)($comms-$targ);
       return "<div class=\"quote\">Для просмотра скрытого текста надо <b>".$comms."</b> сообщений. У вас <b>".$targ."</b> еще надо <b>".$summ."</b> сообщений</div>";
      }
      $block = str_replace('\"', '"', str_replace("&", "&", $block));
      return $block;
    }
    Открываем engine/forum/sources/components/bbcode.php
    Ищем:
    Код:
    <div id="b_hide" class="editor_button" onclick="simpletag('hide')"><img title="$lang[bb_t_hide]" src="/templates/Default/bbcodes/hide.gif" width="23" height="25" border="0"></div>
    Ниже добавляем:
    Код:
    <div class="editor_button"  onclick="tag_comm()"><img title="Вставить скрытый текст" src="/templates/Default/bbcodes/hide.gif" width="23" height="25" border="0"></div>
    Открываем engine/forum/ajax/dle_forum.js

    В самый конец добавляем:

    Код:
    function tag_comm()
    {
        var FoundErrors = '';
        var thesel ='';
        if ( (ua_vers >= 4) && is_ie && is_win)
        {
        thesel = document.selection.createRange().text;
        } else thesel ='текст доступный для просмотра';
    
        if (!thesel) {
            thesel ='текст доступный для просмотра';
        }
    
        var comm_num   = prompt("Введите кол-во сообщений которое должен набрать пользователь для просмотра скрытого текста", "10");
        var enterTEXT = prompt("Введите текст:", thesel);
    
        if (!comm_num) {
            FoundErrors += " " + "Вы не ввели число сообщений";
        }
        if (!enterTEXT) {
            FoundErrors += " " + "Не ввели текст!";
        }
    
        if (FoundErrors) {
            alert("Обнаружены ошибки:"+FoundErrors);
            return;
        }
    
        doInsert("[mhide="+comm_num+"]"+enterTEXT+"[/mhide]", "", false);
    }
    Открываем engine/forum/source/showposts.php

    Ищем:
    Код:
    // ********************************************************************************
    // HIDE
    // *******************************************************************************
    Ниже вставляем:
    Код:
    if (!$member_id['forum_post']) $member_id['forum_post'] = 0;
    $tpl->set_block("#\\[mhide=(.+?)\\](.*?)\\[/mhide\\]#ies","comm_protect('\\1','\\2',".$member_id['forum_post'].")");
    На BBпанели добавится ещё один значок hide! им и нужно пользоваться.

    Если ваш форум также стоит на поддомене:

    редактируй также файл dle_forum.js
    что находится в \папка с субдомёном\ajax\
    вписывая тоже самое что и сверху.

    Открываем engine/forum/ajax/dle_forum.js
    В самый конец добавляем:..........
     
    Горбушка нравится это.
Статус темы:
Закрыта.