Всем привет, подскажите пожалуйста как мне вывести в модуле ИД опредеоенных пользователей точнее 10-и пишу <?php echo $44; ?> не пашет, только не смейтесь, новичек в этом деле Пример: Сейчас в эфире $id Заранее ьольшое спасибо))!!!!!!!
писать для вывода id текщего пользователя (того, который смотрит эту страницу, если он залогинен) надо так: Код (PHP): <?php echo $id; ?> а чтобы выводить id пользователя который написал (материал,комментарий итд) либо смотреть в переменной $row, либо делать запрос в соответствующую таблицу.
Нет вы меня не поняли, Есть к примеру 5 ведущих на радио, садятся на свой пост заходит под своим лигином и __> В эфире: Бла бла бла, типо модуля mod_comprofileronline, но только для питерых _http://ekoradio.ru/
omfgpanda, задал конкретный вопрос, или мне показалось? Я бы посоветовал ответить ему, а не на странные речи mike84
если ничего не путаю, для джумлы 1.0.х Код (PHP): global $my; echo $my->id //получите ид текущего пользователя echo $my->username //имя и т.д. для джумлы 1.5.х Код (PHP): $user =& JFactory::getUser(); echo $user->username; фак по объекту JUser тут
Спасибо большое, очень!!!!!!! я так понял чтоб определенные пользователи показывались нужно в JFactory::getUser(60,62,63 и т.д); ,???
Добрый день, что нибудь слышали о сессиях? оО Код (PHP): $db =& JFactory::getDBO(); $result = null; $usr_id = 62; $query = "SELECT DISTINCT username FROM jos_session WHERE client_id = 0 AND guest = 0 and userid = {$usr_id}"; $db->setQuery($query); $result = $db->loadObjectList(); if(count($result) > 0) { $user =& JFactory::getUser($usr_id); echo "На проводе: {$user->name}"; } else echo "Achtung"; Данная конструкция позволит Вам узнать, находится ли пользователь с ИД = $usr_id в данный момент на сайте или нет. Для решения Вашей задачи Вам нужно создать отдельную группу пользователей, где будут находится только диджеи Ващей радиостанции и немного изменить запрос на Код (PHP): SELECT DISTINCT * FROM jos_session WHERE client_id = 0 AND guest = 0 and gid = {$group_id} где $group_id - ид группы с диджеями. Т.о. вы получите массив записей, из каждой записи Вам понадобиться только поле 'userid', с помощью которого Вы сможете получить все данные о пользователе через JFactory::getUser($usr_id). Надеюсь, что помог.
Итак, если вы решили добавить своих диджеев в стандартные группы джумлы, то не вижу никак проблемм: 1. Пользователи 2. Новый 3. Заполняете все поля и выбираете группу пользователей. ID пользователя можно посмотреть в таблице пользователей, самый последний столбец. ID групп : Код (CODE): 17 ROOT 28 USERS 29 Public Frontend 18 Registered 19 Author 20 Editor 21 Publisher 30 Public Backend 23 Manager 24 Administrator 25 Super Administrator Если вдруг Вам понадобилась собственная группа, т.е. не стандартная, то : 1. Топаем в phpMyAdmin (или ваша СУБД) 2. Ищем таблицу jos_core_acl_aro_groups 3. Вставляем новую запись: id - инкремент, его трогать не нужно parent_id - это id родительского элемента, фактически вы тут определяете уровень доступа группы (например для зарегистрированных пользователей = 18) name - Имя гурппы (например - Djs) lft,rgt - заполнять не нужно (с ними мы разберемся позднее) value - отображаемое имя (например - Djs) 4. Топаем в \administrator\components\com_users\views\user\view.html.php (Joomla 1.5.11++) 5. Находим 113 строку Код (PHP): $gtree = $acl->get_group_children_tree( null, 'USERS', false); и меняем ее на Код (PHP): $gtree = $acl->get_group_children_tree( null, 'USERS', true ); 6. Теперь Вам нужно настроить связи в таблице jos_core_acl_aro_groups, я говорю про поля lft И rgt. Код (PHP): $user="user" ; $password="pass" ; $db="database" ; $host="localhost" ; mysql_connect("$host", "$user", "$password") or die("Could not connect: " . mysql_error()); mysql_select_db("$db"); rebuild_tree ( 0 , 1); function rebuild_tree($parent_id, $left) { $right = $left+1; $result = mysql_query('SELECT id FROM jos_core_acl_aro_groups '.'WHERE parent_id="'.$parent_id.'";') or die(mysql_error()); while ($row = mysql_fetch_array($result)) { $right = rebuild_tree($row['id'], $right); } mysql_query('UPDATE jos_core_acl_aro_groups SET lft='.$left.', rgt='. $right.' WHERE id="'.$parent_id.'";'); return $right+1; } echo 'gg wp'; Код, приведенный выше, сохраняете на вашем веб-сервере с джумлой в файлик, скажем rebiuld.php и потом запускаете его (не забудьте настроить подключение). З.Ы,: если кому нужно - можете переписать ег ос использованием Joomla API. 7. После успешного выполнения загляните в таблицу jos_core_acl_aro_groups, поля lft и rgt должны быть заполнены целыми числами. 8. Далее топаем в таблицу jos_groups. Вы увидите там 3 записи: Код (CODE): 0 Общий 1 Участники 2 Специальный 9. Добавляем еще одну: id = 3, name = Djs (значение поля jos_groups.name должно совпадать с jos_core_acl_aro_groups.name вашей новой группы). После этого вы сможете в меню, статьях и т.д. выбирать уровень доступа - Общий, Участники, Специальный, Djs. После всего проделанного смело топаем в админку - пользователи - новый - и в списке групп выбираем нашу новую группу.
omfgpanda, ещо раз очень благодарен, здал всё по вашей интрукции (ОгРоМНыЙ +), но списки пользователей не выводятся Код (PHP): $db =& JFactory::getDBO(); $result = null; $group_id = 9; $query = "SELECT DISTINCT * FROM jos_session WHERE client_id = 0 AND guest = 0 and gid = 9 "; $db->setQuery($query); $result = $db->loadObjectList(); if(count($result) > 0) { $user =& JFactory::getUser($usr_id); echo "На проводе: {$user->name}"; } else echo "Achtung"; Или как мне можно зделать, просто по ИД, ну типо (не смейся) Код (PHP): $usr_id = 62, 66, 72, и т.д;
Если вы используете запрос для получения списка пользователей группы, то на выходе вы получаете массив : Код (PHP): $db =& JFactory::getDBO(); $result = null; $group_id = 32; //ид вашей группы $query = "SELECT DISTINCT * FROM jos_session WHERE client_id = 0 AND guest = 0 and gid = {$group_id} "; $db->setQuery($query); $result = $db->loadObjectList(); if(count($result) > 0) { foreach($result as $item) { echo "Dj: {$item['username']}<br>"; } } else echo "Achtung";