У меня есть билетный модуль Joomla, который отображает на определенной части страницы текущие билеты текущего пользователя. Я хочу создать группы пользователей, в которых члены группы могут просматривать все билеты, принадлежащие этой группе. Я думал, что самый простой способ - создать группы Joomla, назначить пользователей тем, и когда пользователь войдет в систему, он сможет увидеть все билеты в своей группе. Я добавил код в начало функции, но что-то не так ... Для каждого пользователя (в настоящее время «Зарегистрированные») отображается тот же результат, что и у последних пользователей, и я не знаю почему: здесь это код:Управление пользователями Joomla
function gTickets()
{
$user =& JFactory::getUser();
$user_id = (int) $user->get('id');
//get user_group_id from db based on current users id
{...}
//get all users with that user_group_id
$db1->setQuery($db1->getQuery(true)
->select('*')
->from("#__user_usergroup_map")
->where("group_id = '$groupss'")
);
$groupss1=$db1->loadRowList();
$return1=array();
// for every user_id
foreach ($groupss1 as $keya)
{
$user_id = $keya[0]; // the id of users
$where = "";
if ($this->is_staff)
$where .= " AND t.`staff_id`='".$user_id."'";
else
$where .= " AND t.`customer_id`='".$user_id."'";
$tickets = $this->_getList(
"SELECT t.id, t.subject, t.last_reply_customer, s.name AS status_name FROM
#__rsticketspro_tickets t LEFT JOIN #__rsticketspro_statuses s ON
(t.status_id=s.id) WHERE 1 $where ORDER BY `last_reply` DESC", 0,
$this->params->get('tickets_limit', 3));
print_r($tickets);
return $tickets;
}
у меня несколько вопросов, которые я не знаю, как Seach для ...
- , что это письмо точка имя_поля в запросе SQL? например: SELECT m.ticket_id, m.message FROM #__ticket_messages m WHERE m.user_id! = '". $ user_id."
- Что означает «m» перед ГДЕ?
- , что делает «1» здесь делать: WHERE 1 $, где
Кроме того, я посмотрел в менеджерах ACL, но не мог заставить его работать с этим кодом.
Редактировать: Спасибо за быстрые ответы! У меня есть еще 1, и я думаю, что это просто, но я не могу заставить его работать ...
Если я печатаю содержимое массива $ ticket в другой массив, я получаю массив с несколькими массивами , Вот почему мой код не работает ... Массив я получаю это:
Array (
[0] => stdClass Object (
[id] => 1
[subject] => use1
[last_reply_customer] => 1
[status_name] => open
)
)
Array (
[0] => stdClass Object (
[id] => 3
[subject] => use2
[last_reply_customer] => 1
[status_name] => open
)
[1] => stdClass Object (
[id] => 2
[subject] => use2
[last_reply_customer] => 1
[status_name] => open
)
)
Я хотел бы, чтобы массив выглядеть следующим образом:
Array (
[0] => stdClass Object (
[id] => 1
[subject] => use1
[last_reply_customer] => 1
[status_name] => open
)
[1] => stdClass Object (
[id] => 3
[subject] => use2
[last_reply_customer] => 1
[status_name] => open
)
[2] => stdClass Object (
[id] => 2
[subject] => use2
[last_reply_customer] => 1
[status_name] => open
)
)
Спасибо!
Редактировать: все это сложно достичь?
Считаете ли вы использование ACL? –