Как программно определить uid вошедшего пользователя, т.е. если админ, то одно, если юзер, то другое
Прислано: Defendson
ср, 07/12/2011 - 12:46
Доброго времени суток!
Приступил к написанию модуля, на подобие диалога с администратором.
Необходимо программно определить, какой пользователь находится на сайте, и если это админ, то делаю один код, если пользователь, то другой.
Собственно
если сессия пользователя -> достаю id пользователя и пишу код для юзера
иначе если сессия администратора -> достаю id (1) администратора и пишу код для администратора
Что заменяет в друпале $_SESSION['user'] == admin ну и тд.?
изменить uid
Прислано: xsandr.k
ср, 08/06/2011 - 06:30
Добрый день.
Мне необходимо при регистрации нового пользователя самостоятельно назначить ему uid. Как такое сделать?
Или как к объекту $user прикрутить ещё одно поле?
Пользователь написавший материал
Прислано: pashca
вт, 08/02/2011 - 14:33
Добрый вечер!
Возникла следующая проблема.
Есть Тип содержимого Машины. Через админку добавил пару машин. Настроил блок вывода Мои машины. Настроил его. Вывод показывается замечательно. Подскажите, как можно дать возможность зарегистрированным пользователям добавлять машины самим. И второй вопрос как затем можно настроить Вид Мои машины, так чтобы показывались не все Машины заведенные на сайте. А только те которые создал этот пользователь. Наверно это нужно делать через Фильтр, но там Материал: Пользователь создавший материал надо указывать имя пользователя, а как сделать чтобы в это поле подставлялось имя текущего пользователя. Или может каким-то другим способом надо делать такую выборку
- pashca's blog
- Для комментирования войдите или зарегистрируйтесь
Как думаете, можно ли переделать тип поля int(10) NID в UUID?
Прислано: chel
ср, 10/11/2010 - 06:20
Дано: много сайтов разных фирм, общая структура типа материала фирмы (node_firm) и сотрудники Node_profile (со своими связями друг с другом и таксономией)
Задача: объеденить все фирмы и сотрудников в один отдельный сайт (чтобы связи остались теже). По мере изменений добавлений на друхих сайтах, этот сайт должен тоже обновляться.
Вижу следующие решения:
1) Мультисайтинг (не подходит - каждая фирма не должна иметь доступ к чужому сайту, все хранятся на разных хостингах)
2) RSS-API feeв (минус в том что надо будет как-то обрабатывать учитывать связи на новом сайте)
3) использовать в MySQL базы Друпала - UUID вместо int (для nid - идентификатора нод)
нашел интересный модуль uuid http://drupal.org/project/uuid (версия beta/dev) - тоже не то, он создает таблицу uuid_node
там всего два значения nid и новое значение uuid - зачем, непонятно
как быть?
Узнать номер следующего пользователя
Прислано: GeneralLee
сб, 02/10/2010 - 15:39
При регистрации пользователя на сайте добавляется форма с предложением ввести id человека, который его пригласил на сайт.
В таблице MySQL есть столбцы
iid(serial) - invite id (номер приглашения)
sid(int) - source id (ригласивший пользователь)
did(int) - destination id(приглашённый пользователь)
Нужно заполнить sid и did. sid берём из формы. did я предполагал взять из global $user, но так, как регистрация не окончена во время отправки формы то $user->uid содержит 0.
Как узнать номер нового зарегистрированного пользователя во время отправки формы регистрации?
Верно ли взять самый большой uid в таблице users и прибавить единицу?
Вывод вместо логина полного имени пользователя на главной?
Прислано: Hitmrrr@drupal.org
чт, 12/08/2010 - 03:38
Всем привет, перечитал все возможные инструкции, рекомендации итд как вывести вместо логина имя из текстового поля profile_cn модуля Profile.. в основном пишут, что нужно вставить код который я привел ниже в template.php темы. Но вместо логина так и остался логин. Подскажите, что нужно подправить?
<?phpfunction phptemplate_username($object) {
if ($object->uid && $object->name) {
// Shorten the name when it is too long or it will break many tables.
if (drupal_strlen($object->name) > 40) {
$name = drupal_substr($object->name, 0, 15) .'...';
}
else {
$name = $object->name;
}
$profile = user_load(array('uid' => $object->uid));
if ($profile->profile_cn) {
if (drupal_strlen($profile->profile_cn) > 40) {
$name = drupal_substr($profile->profile_cn, 0, 15) .'...';
}
else {
$name = $profile->profile_cn;
}
}
if (user_access('access user profiles')) {
$output = l($name, 'user/'. $object->uid, array('title' => t('View user profile.')));
}
else {
$output = check_plain($name);
}
}
else if ($object->name) {
// Sometimes modules display content composed by people who are
// not registered members of the site (e.g. mailing list or news
// aggregator modules). This clause enables modules to display
// the true author of the content.
if ($object->homepage) {
$output = l($object->name, $object->homepage);
}
else {
$output = check_plain($object->name);
}
?>РЕШЕНО | Как изменить порядок нумерации UID пользователей?
Прислано: Modjahed
чт, 26/11/2009 - 08:32
Новые пользователи создаются с порядковым номером 341, 342, 343 и т.д. Когда я удаляю всех пользователей, то порядок Uid продолжается. То есть удалил всех, создаю нового пользователя и он уже идет с номером 344, 345, 346.
Что нужно сделать, чтобы порядок новых пользователей начинался с 2, 3, 4 и т.д Возможно в какой - то таблице нужно что - то удалить или в файле прописать?
На форуме нашел лишь описание для Drupal 5, в Drupal 6 в БД, такой таблицы нет вовсе.
Определение активного пользоваться в контенте страницы (page)
Прислано: Konstantin_M
ср, 19/08/2009 - 12:39
Подскажите, я хочу определить активного юзера внутри контента страницы, там переменных
<?php$user->name?> и т.д. нет.
Цели у меня простые, и я просто инклудом помещаю свой php скрипт непосредственно в контент -> page и делаю всё что мне нужно, но мне понадобился uid текущего (активного в данный момен) пользователя из таблицы users. И вообще как я могу юзать константы и глобальные переменные внутри контента, как системные, такие как из таблицы users, так и переменные шаблона page.tpl.php (там где можно использовать PHP в качестве контента)
Подскажите, пожалуйста, КАК определить id собственного меню?
Прислано: ValBangMan
ср, 24/12/2008 - 08:02
1. В переопределенных функциях function phptemplate_menu_tree($tree) и phptemplate_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) необходимо определить, что к ним обращается ИМЕННО мое меню с системным именем main-menu и ТОЛЬКО для него сделать вывод такой, как нужно, а для остальных оставить по-умолчанию, потому что если проверку не делать, то то, как я переопределяю вывод меню, применяется КО ВСЕМ МЕНЮ!
2. Как в файл block.tpl.php передать информацию, что ТОЛЬКО для региона с именем $main_menu должно применяться то переопределение, которое описано, потому что как и в случае с меню (описано выше) переопределение применяется к выводу ВСЕХ регионов.
Насколько я понимаю, у каждого элемента должен быть свой id, так вот как он обозначается и как им пользоваться? Заранее спасибо!
Как получить uid авторизованного пользователя?
Прислано: sergej-serov
пн, 02/06/2008 - 08:40
Доброго дня!
кто-нибудь может подсказать, как узнать ID пользователя?
во views добавил php код, в котором используется uid пользователя:
<?php
@ $db = mysql_pconnect("localhost:3306" , "****", "****");
if (!$db)
{
echo "Error: Could not connect to database. Please try again later.";
exit;
}
mysql_select_db("test5");
$query = "
SELECT SUM(c.field_balli_value)
FROM content_type_progect as c, node as n
WHERE
c.nid = n.nid AND
n.uid = УНИКАЛЬНОЕ_ИМЯ_ПОЛЬЗОВАТЕЛЯ
";
$result = mysql_query($query);
echo mysql_result($result,0);
?>собственно, вместо УНИКАЛЬНОЕ_ИМЯ_ПОЛЬЗОВАТЕЛЯ надо как-то добавить апишную функцию, что бы при выполнении кода подставлялся UID пользователя....
Отсутствует $user->uid!!!
Прислано: sashka
сб, 28/07/2007 - 20:30
Залогинился админом... а $user->uid отсутствует.
var_dump($user->uid);
Выводит NULL
Это нормально? :) и как лечить?
Как заменить /user/uid на /user/nick
Прислано: KCEOH
вт, 01/05/2007 - 19:40
Как сделано тут, на друпал.ру