function getItemPerms() { global $HELPDESK_CONFIG, $AppUI; $permarr = array(); //pull in permitted companies $allowedCompanies = getAllowedCompanies(); $allowedProjects = getAllowedProjects(); //if there are none listed, make sure that sql returns nothing if (!$allowedCompanies) { return "0=1"; } foreach ($allowedCompanies as $k => $v) { $companyIds[] = $k; } $companyIds = implode(",", $companyIds); $permarr[] = "(item_company_id in (" . $companyIds . ") OR item_created_by=" . $AppUI->user_id . ") "; //it's assigned to the current user $permarr[] = "item_assigned_to=" . $AppUI->user_id; //it's requested by a user and that user is you $permarr[] = " (item_requestor_type=1 AND item_requestor_id=" . $AppUI->user_id . ') '; if ($HELPDESK_CONFIG['use_project_perms']) { $projectIds = array_keys($allowedProjects); } else { foreach ($allowedProjects as $p) { $projectIds[] = $p['project_id']; } } if (count($projectIds)) { $projarr[] = " AND item_project_id in (0," . implode(", ", $projectIds) . ")"; } else { $projarr[] = " AND item_project_id in (0)"; } $sql = '(' . implode("\n OR ", $permarr) . ')' . implode('', $projarr); return $sql; }
function getAllowedProjectsForJavascript() { global $AppUI; $allowedProjects = getAllowedProjects(); //if there are none listed, make sure that sql returns nothing if (!$allowedProjects) { return ""; } foreach ($allowedProjects as $p) { $whereclause[] = $p['project_id']; } $whereclause = "project_id in (" . implode(", ", $whereclause) . ")"; $sql = "SELECT project_id, project_name, company_name, company_id\n FROM projects\n LEFT JOIN companies ON company_id = projects.project_company\n WHERE (" . $whereclause . ") ORDER BY project_name"; $allowedCompanyProjectList = db_loadList($sql); /* Build array of company/projects for output to javascript Adding slashes in case special characters exist */ foreach ($allowedCompanyProjectList as $row) { $projects[] = "[{$row['company_id']},{$row['project_id']},'" . addslashes($row['project_name']) . "']"; $reverse[$row['project_id']] = $row['company_id']; } return $projects; }
if ($HELPDESK_CONFIG['search_criteria_project']) { if (isset($_GET['project'])) { $AppUI->setState('HelpDeskProject', $_GET['project']); } if (empty($_REQUEST['project_id'])) { $project = $AppUI->getState('HelpDeskProject') !== null ? $AppUI->getState('HelpDeskProject') : -1; } else { $project = $_REQUEST['project_id']; } if ($project >= 0) { $tarr[] = "hi.item_project_id={$project}"; } // retrieve project list $sql = "SELECT project_id, project_name\n\t\t FROM projects\n WHERE " . getCompanyPerms("project_company", NULL, PERM_READ) . "ORDER BY project_name"; $project_list = db_loadHashList($sql); $arrayProjects = getAllowedProjects(1); if (!$_REQUEST['project_id']) { $selectors[] = "<td align=\"right\"><label for=\"project\">" . $AppUI->_('Project') . ":</label></td><td>" . arraySelect(arrayMerge(array('-1' => '(' . $AppUI->_('All') . ')', '0' => '(' . $AppUI->_('Without Project') . ')'), $arrayProjects), 'project', 'size="1" id="project" class="text" onchange="changeList()"', $project) . "</td>"; } } // check for assigned_to filter if ($HELPDESK_CONFIG['search_criteria_assigned_to']) { if (isset($_GET['assigned_to'])) { $AppUI->setState('HelpDeskAssignedTo', $_GET['assigned_to']); } $assigned_to = $AppUI->getState('HelpDeskAssignedTo') !== null ? $AppUI->getState('HelpDeskAssignedTo') : -1; if ($assigned_to >= 0) { $tarr[] = "hi.item_assigned_to={$assigned_to}"; } // retrieve assigned to user list $sql = "SELECT user_id, CONCAT(contact_first_name, ' ', contact_last_name)\n FROM users\n INNER JOIN contacts ON contact_id = user_contact\n INNER JOIN helpdesk_items ON item_assigned_to = user_id\n WHERE " . getCompanyPerms("contact_company", NULL, PERM_READ, $HELPDESK_CONFIG['the_company']) . "\n ORDER BY contact_first_name";
<?php /* HELPDESK $Id: list.php,v 1.68 2005/03/21 18:14:58 zibas Exp $ */ $allowedCompanies = getAllowedCompanies(); $allowedProjects = getAllowedProjects(); $AppUI->savePlace(); $df = $AppUI->getPref('SHDATEFORMAT'); $tf = $AppUI->getPref('TIMEFORMAT'); $format = $df . " " . $tf; // check sort order if (isset($_GET['orderby'])) { $AppUI->setState('HelpDeskIdxOrderBy', $_GET['orderby']); } $orderby = $AppUI->getState('HelpDeskIdxOrderBy') ? $AppUI->getState('HelpDeskIdxOrderBy') : 'item_id'; // check sort order way (asc/desc) if (isset($_GET['orderdesc'])) { $AppUI->setState('HelpDeskIdxOrderDesc', $_GET['orderdesc']); } $orderdesc = $AppUI->getState('HelpDeskIdxOrderDesc') ? $AppUI->getState('HelpDeskIdxOrderDesc') : 0; if (isset($_GET['page'])) { $AppUI->setState('HelpDeskListPage', $_GET['page']); } else { // If page isn't mentioned, we need to reset $AppUI->setState('HelpDeskListPage', 0); } $page = $AppUI->getState('HelpDeskListPage') ? $AppUI->getState('HelpDeskListPage') : 0; $tarr = array(); $selectors = array(); // check for search text if ($HELPDESK_CONFIG['search_criteria_search']) { $search = '';