Не нравятся результаты поиска? Попробуйте другой поиск!

Как используя хак dle-users-list реализовать вывод пользователей определенной группы?


     01.11.2014    Хаки, Ламерские вопросы    1571

вопрос
Приветствую уважаемые знатоки! Помогите новичку разобраться в коде.

В общем нужно подправить скрипт таким образом, что бы сразу выводился список пользователей из определенной группы, допустим из ID=4.

Цель - человек попадает на страницу и ему выводится полный список пользователей из группы Журналисты, а журналистам в свою очередь выводится список пользователей.

На самом деле для знающих людей это не составит труда, а я мучаюсь уже вторые сутки методом проб и ошибок.. не получается...

Пожалуйста, помогите разобраться, буду вам очень признателен за помощь.


З.Ы. Скрипт можно скачать по ссылке а его работу вы можете посмотреть тут - http://techno-co.ru/index.php?do=users

Ответа пока нет


Комментарии пользователей (9)

Kane
12

96 | 32

Kane - 1 ноября 2014 11:23 - Юзер

Если я вас правильно понял, то:
Найти
if ($_GET['usergroups'] != ""){
    $where_w .= "user_group=".$_GET['usergroups'];
    $postfix .= "&usergroups=".$_GET['usergroups'];
}

Заменить на
if ($_GET['usergroups'] != ""){
    $where_w .= "user_group=".$_GET['usergroups'];
    $postfix .= "&usergroups=".$_GET['usergroups'];
} else {
    $where_w .= "user_group='4'";
    $postfix .= "&usergroups='4'";
}

Где 4 это id группы которая выведется по умолчанию

eksell-rv
26

eksell-rv - 1 ноября 2014 16:16 - Юзер

Благодарю за ответ! Но по какой то причине мне выдает ошибку:

Error Number: 1064
The Error returned was:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '='4'' at line 1
SQL query:

SELECT COUNT(*) as count FROM dle_users user_group='4'



Что бы это могло быть?

Kane
12

96 | 32

Kane - 1 ноября 2014 20:00 - Юзер

Да косяк, вот так должно работать
Найти
if ($_GET['usergroups'] != ""){
    $where_w .= "user_group=".$_GET['usergroups'];
    $postfix .= "&usergroups=".$_GET['usergroups'];
}


Заменить на
if ($_GET['usergroups'] != ""){
    $where_w .= "user_group=".$_GET['usergroups'];
    $postfix .= "&usergroups=".$_GET['usergroups'];
} else {
    $where_w = "WHERE user_group='4'";
    $postfix .= "&usergroups='4'";
}

eksell-rv
26

eksell-rv - 1 ноября 2014 20:50 - Юзер

Спасибо большое Kane за помощь, теперь все работает должным образом.

А со вторым вопросом не поможете мне?

Можно как то сделать, что бы для пользователей из группы "Журналисты" скрипт выдавал весь список аккаунтов из группы "Пользователи" а "Пользователи" в свою очередь видели список "Журналистов"

или хотя бы намекните, как это можно реализовать.

Заранее спасибо!

Kane
12

96 | 32

Kane - 2 ноября 2014 00:34 - Юзер

eksell-rv Пожалуйста.
Можно как то сделать, что бы для пользователей из группы "Журналисты" скрипт выдавал весь список аккаунтов из группы "Пользователи" а "Пользователи" в свою очередь видели список "Журналистов"

Можно, вот так
Найти
if ($_GET['usergroups'] != ""){
    $where_w .= "user_group=".$_GET['usergroups'];
    $postfix .= "&usergroups=".$_GET['usergroups'];
}



Заменить на
if ($_GET['usergroups'] != ""){
    $where_w .= "user_group=".$_GET['usergroups'];
    $postfix .= "&usergroups=".$_GET['usergroups'];
} else {
    if($member_id['user_group'] == 3) {
        $where_w = "WHERE user_group='4'";
        $postfix .= "&usergroups='4'";
    } elseif($member_id['user_group'] == 4) {
        $where_w = "WHERE user_group='3'";
        $postfix .= "&usergroups='3'";
    }
}
Проверял, работает как надо.

FastFud
50

1599 | 588

FastFud - 1 ноября 2014 21:40 - Юзер

В шаблоне использовать
{include file="engine/modules/gusers.php?userId=4"}
userId=4 - id группы
gusers.php
<?php
if (!defined('DATALIFEENGINE')) die("lol");
$gConfig  = array(
    'userId' => !empty($userId) ? $userId : '1',
    'cachePrefix' => !empty($cachePrefix) ? $cachePrefix : 'archives'
);
$gModule  = dle_cache($gConfig['cachePrefix'], $cacheName . $config['skin']);
if (!$gModule) {
    $users = $db->query("SELECT name FROM " . PREFIX . "_users WHERE user_group = '" . $gConfig['userId'] . "'");
    while($row = $db->get_row($users)){
        $gModule .=<<<HTML
        <div class="user-name">{$row['name']}</div>
HTML;
    }
    create_cache($gConfig['cachePrefix'], $gModule, $cacheName . $config['skin']);
}
echo $gModule;
?>
Должен работать

FastFud
50

1599 | 588

FastFud - 2 ноября 2014 01:40 - Юзер

Я не в тему написал )) извиняюсь.

eksell-rv
26

eksell-rv - 2 ноября 2014 01:49 - Юзер

FastFud, Kane благодарю за помощь, сейчас проверю и отпишусь

eksell-rv
26

eksell-rv - 2 ноября 2014 04:36 - Юзер

Все работает, спасибо большое ребята за помощь, избавили меня от мучений

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы