Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

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

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

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

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

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

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

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

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

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

    Баллы:
    88
    у меня вынесен мозг , это идея у меня была , но легче из прермишенов брать[DOUBLEPOST=1386847660,1386847611][/DOUBLEPOST]
    зачем в пермишеонс делать столбец когда и так указывается группа?[DOUBLEPOST=1386847691][/DOUBLEPOST]
    ну хоть работает?
     
    animnex нравится это.
  6. animnex

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

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

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

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

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

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

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

    Баллы:
    88
    ....[DOUBLEPOST=1386878100,1386875530][/DOUBLEPOST]
    Код:
    $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"[DOUBLEPOST=1386878582][/DOUBLEPOST]результат[DOUBLEPOST=1386878617][/DOUBLEPOST]..[DOUBLEPOST=1386878666][/DOUBLEPOST]всё?[DOUBLEPOST=1386880495][/DOUBLEPOST]блин он только в профиле выводит пермишен статус а вот если из новости кликнуть по нику то там будет отображаться статус в дле[DOUBLEPOST=1386883831][/DOUBLEPOST]вообщем в диалоговых окнах я не смог изминить группы т.к незнаю где эта штука находится[DOUBLEPOST=1386885311][/DOUBLEPOST]в одном окне всётаки заменил окно показывается в сообщениях при клике пкм на ник
     

    Вложения:

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

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

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

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

    Баллы:
    88
    ты не понял в DLE_user -столбец group это именно столбец для дле там если сменить значения то пропадут привилегий администратора а вот если кто-то купил вип то он станет админом[DOUBLEPOST=1386942760,1386942719][/DOUBLEPOST]
    А мой вариант основан чисто на пермишенах[DOUBLEPOST=1388856654][/DOUBLEPOST]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 нравится это.
Статус темы:
Закрыта.

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