1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Связка permissions и групп пользователей dle

Тема в разделе "[Архив] Помощь", создана пользователем Spals, 19 окт 2013.

Статус темы:
Закрыта.
  1. animnex

    animnex Активный участник Пользователь

    Баллы:
    78
    Ты этим скриптом подключаешь на прямую к базе данных permissions, а как себя ведут настройки тех групп которые в ДЛЕ?
    Цвета ни как дописать нельзя?
    Может можно реализовать цвета с ЛК? Или где нить прописать отдельно в БД?
    Огромное спасибо, эта кажется единственная тема в инете.
    Очень благодарен, буду сегодня пробовать)
     
    Сникерсни нравится это.
  2. log_inil

    log_inil Активный участник Пользователь

    Баллы:
    88
    те группы которые в дле они тебе присваиваются и работают но не показываются только в том месте , а я просто заменил вставку в шаблон
    Щя надо ещё чуть чуть добавить кое-чего(цвет префикса из базы дле и ииии вывод группы "пользователь" если его нет в бд)
     
    Последнее редактирование: 11 дек 2013
    animnex нравится это.
  3. animnex

    animnex Активный участник Пользователь

    Баллы:
    78
    А не проще сделать в таблице пермисшион столбец с номером присваиемой группы, и что бы при выборе в ЛК статуса в таблице ДЛЕ_Юсер менялась цифра соответствующая номеру в таблице пермисшион. А группы уже будут барать с сотолбца групп в ДЛЕ Юсер и менять
     
  4. log_inil

    log_inil Активный участник Пользователь

    Баллы:
    88
    у меня вынесен мозг , это идея у меня была , но легче из прермишенов брать
    зачем в пермишеонс делать столбец когда и так указывается группа?
    ну хоть работает?
     
    animnex нравится это.
  5. animnex

    animnex Активный участник Пользователь

    Баллы:
    78
    Еще не поставил, времени нету, на выходных. Обязательно отпишусь. Есть возможность цветность акаунтов востановить?
     
    slavik123123123 нравится это.
  6. log_inil

    log_inil Активный участник Пользователь

    Баллы:
    88
    да большая вероятность что да, стоп у дле есть цветные префиксы и у пермишенов цветные группы есть так откуда цвет мне брать от дле или от пермишенов?
     
    animnex нравится это.
  7. animnex

    animnex Активный участник Пользователь

    Баллы:
    78
    Лучше брать с DLE. Меньше мороки с этими &
    Просто легче потом цвета одинаковые выставить...
     
  8. log_inil

    log_inil Активный участник Пользователь

    Баллы:
    88
    ....
    Код:
    $db_name_aa= ''; // Название
    $db_user_aa= ''; // Пользователь
    $db_pass_aa= ''; // Пароль
    $db_host_aa= ''; // Хост
    $db_table_aa= 'permissions_inheritance'; // Таблица  купленных групп пользователей
    $arrays=array(
    "VIP"=>"red",//тут группы и цвет можно rgb rgba HEX или просто словом
    "group"=>"color",
    "modeer"=>"blue",
    "Premium"=>"green",
    "Player"=>"gray"
    );
    
    $connect_db_aa= mysql_connect($db_host_aa, $db_user_aa, $db_pass_aa)or die('Ошибка, невозможно соединиться с базой данных: ' . mysql_error());
    mysql_select_db($db_name_aa) or die("Не могу подключиться к базе.");
    $query_aa= "SELECT * FROM `{$db_table_aa}` WHERE `child`='{$user}'";//user берётся от дле
    $res_aa= mysql_query($query_aa);
    while($row_aa = mysql_fetch_array($res_aa))
    {
    $statuse1=$row_aa['parent'];
    }
    mysqli_close($connect_db);
    if($statuse1==''){
    $statuse1="Player";//то что выводится если игрока нет в пермишионах
    }
    
    $c_status="<span style='color:".$arrays["{$statuse1}"]."'>{$statuse1}</span>";
    
    
        $tpl->set( '{editmail}', stripslashes( $row['email'] ) );
        $tpl->set( '{status}', $c_status);
    вообщем
    "group"=>"color",
    группа полное название группы придаваемое юзеру
    цвет любой цвет
    не забывать ставить запятые
    пример
    "Cern"=>"rgb(150'10'1499);",
    "Clogu"=>"red",
    "Gold"=>"#FDF5E6"
    результат
    ..
    всё?
    блин он только в профиле выводит пермишен статус а вот если из новости кликнуть по нику то там будет отображаться статус в дле
    вообщем в диалоговых окнах я не смог изминить группы т.к незнаю где эта штука находится
    в одном окне всётаки заменил окно показывается в сообщениях при клике пкм на ник
     

    Вложения:

    Последнее редактирование: 13 дек 2013
  9. animnex

    animnex Активный участник Пользователь

    Баллы:
    78
    Сегодня буду пробывать!
    Почему ты не решил пойти путем изменения номера группы в таблице DLE_user -столбец group? Наверно можно было прям в ЛК внести скрипт который менял бы группу номером ID присвоенного к пермисшиону. И получилось что создав одинаковые группы в DLE и личном кобинете он их просто сопрягал.
    Но твой вариант обязательно попробую!
     
    ВремяПриключений нравится это.
  10. log_inil

    log_inil Активный участник Пользователь

    Баллы:
    88
    ты не понял в DLE_user -столбец group это именно столбец для дле там если сменить значения то пропадут привилегий администратора а вот если кто-то купил вип то он станет админом
    А мой вариант основан чисто на пермишенах
    Update:
    в engine/ajax/profile.php найти на 152 строке :
    Код:
    $tpl->set( '{status}',  $user_group[$row['user_group']]['group_prefix'].$user_group[$row['user_group']]['group_name'].$user_group[$row['user_group']]['group_suffix'] );
    заменить на:
    Код:
    include '../modules/status_perm.php';
    в engine/modules/profile.php найти похожую строку с
    Код:
    $tpl->set( '{status}',(тут идёт дальше строка) 
    (где-то на 430-440 строке)
    и её полностью заменить на :
    Код:
    include '../modules/status_perm.php';
    создать в папке engine/modules/ файл status_perm.php с таким содержанием:

    Код:
    <?php
    
    $db_name_aa= ''; // Название
    $db_user_aa= ''; // Пользователь
    $db_pass_aa= ''; // Пароль
    $db_host_aa= ''; // Хост
    $db_table_aa= 'permissions_inheritance'; // Таблица  купленных групп пользователей
    $arrays=array(
    "VIP"=>"red",//тут группы и цвет можно rgb rgba HEX или просто словом
    "group"=>"color",
    "modeer"=>"blue",
    "Premium"=>"green",
    "Player"=>"gray"
    );
    
    $connect_db_aa= mysql_connect($db_host_aa, $db_user_aa, $db_pass_aa)or die('Ошибка, невозможно соединиться с базой данных: ' . mysql_error());
    mysql_select_db($db_name_aa) or die("Не могу подключиться к базе.");
    $query_aa= "SELECT * FROM `{$db_table_aa}` WHERE `child`='{$user}'";//user берётся от дле
    $res_aa= mysql_query($query_aa);
    while($row_aa = mysql_fetch_array($res_aa))
    {
    $statuse1=$row_aa['parent'];
    }
    
    mysqli_close($connect_db);
    
    if($statuse1==''){
    $statuse1="Игрок";
    }
    
    $c_status="<span style='color:".$arrays["{$statuse1}"]."'>{$statuse1}</span>";
    
    
        $tpl->set( '{status}', $c_status);
        ?>
     
    GJEvolution нравится это.
Статус темы:
Закрыта.

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