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;
}
Exemple #3
0
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";
Exemple #4
0
<?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 = '';