*/
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php";
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/support/include.php";
$bDemo = CTicket::IsDemo() ? "Y" : "N";
$bAdmin = CTicket::IsAdmin() ? "Y" : "N";
$bSupportTeam = CTicket::IsSupportTeam() ? "Y" : "N";
if ($bAdmin != "Y" && $bSupportTeam != "Y" && $bDemo != "Y") {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
include $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/support/colors.php";
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/img.php";
$diameter = intval($diameter) > 0 ? intval($diameter) : 180;
InitBVar($find_responsible_exact_match);
$arFilter = array("SITE" => $find_site, "DATE_CREATE_1" => $find_date1, "DATE_CREATE_2" => $find_date2, "RESPONSIBLE_ID" => $find_responsible_id, "RESPONSIBLE" => $find_responsible, "RESPONSIBLE_EXACT_MATCH" => $find_responsible_exact_match, "SLA" => $find_sla_id, "CATEGORY" => $find_category_id, "CRITICALITY" => $find_criticality_id, "STATUS" => $find_status_id, "MARK" => $find_mark_id, "SOURCE" => $find_source_id);
$CHECK_RIGHTS = $bDemo == "Y" ? "N" : "Y";
$rsTickets = CTicket::GetList($by, $order, $arFilter, $is_filtered, $CHECK_RIGHTS, "N", "N");
$arrMess = array();
$arrMess["2_m"] = 0;
$arrMess["3_m"] = 0;
$arrMess["4_m"] = 0;
$arrMess["5_m"] = 0;
$arrMess["6_m"] = 0;
$arrMess["7_m"] = 0;
$arrMess["8_m"] = 0;
$arrMess["9_m"] = 0;
$arrMess["10_m"] = 0;
while ($arTicket = $rsTickets->Fetch()) {
    if (strlen($arTicket["DATE_CLOSE"]) > 0) {
        $MC = $arTicket["MESSAGES"];
        if ($MC <= 2) {
            $arrMess["2_m"] += 1;
Esempio n. 2
0
//Get Tickets
CPageOption::SetOptionString("main", "nav_page_in_session", "N");
$UFA = array();
$UFAT = array();
global $USER_FIELD_MANAGER;
$arrUF = $USER_FIELD_MANAGER->GetUserFields("SUPPORT", 0, LANGUAGE_ID);
if (isset($arParams["SET_SHOW_USER_FIELD"])) {
    foreach ($arParams["SET_SHOW_USER_FIELD"] as $k => $v) {
        if (strlen(trim($v)) > 0) {
            $UFAT[$v] = array("NAME_C" => $arrUF[$v]["LIST_COLUMN_LABEL"], "NAME_F" => $arrUF[$v]["EDIT_FORM_LABEL"], "ALL" => $arrUF[$v]);
            $UFA[] = $v;
        }
    }
}
$arParams["SET_SHOW_USER_FIELD_T"] = $UFAT;
$rsTickets = CTicket::GetList($GLOBALS["by"], $GLOBALS["order"], $arFilter, $is_filtered, $check_rights = "Y", $get_user_name = "N", $get_dictionary_name = "N", false, array("SELECT" => $UFA));
$rsTickets->NavStart($arParams["TICKETS_PER_PAGE"]);
//Result array
$arResult = array("TICKETS" => array(), "TICKETS_COUNT" => $rsTickets->SelectedRowsCount(), "NAV_STRING" => $rsTickets->GetPageNavString(GetMessage("SUP_PAGES")), "CURRENT_PAGE" => htmlspecialcharsbx($APPLICATION->GetCurPage()), "NEW_TICKET_PAGE" => htmlspecialcharsbx(CComponentEngine::MakePathFromTemplate($arParams["TICKET_EDIT_TEMPLATE"], array("ID" => "0"))));
//Get Dictionary Array
$arTicketDictionary = CTicketDictionary::GetDropDownArray();
//Dictionary table
$arDictType = array("C" => "CATEGORY", "K" => "CRITICALITY", "S" => "STATUS", "M" => "MARK", "SR" => "SOURCE");
while ($arTicket = $rsTickets->GetNext()) {
    $arUsersName = _GetUserInfo($arTicket["RESPONSIBLE_USER_ID"], "RESPONSIBLE") + _GetUserInfo($arTicket["OWNER_USER_ID"], "OWNER") + _GetUserInfo($arTicket["MODIFIED_USER_ID"], "MODIFIED");
    $arDict = array();
    foreach ($arDictType as $TYPE => $CODE) {
        $arDict += _GetDictionaryInfo($arTicket[$CODE . "_ID"], $TYPE, $CODE, $arTicketDictionary);
    }
    $url = CComponentEngine::MakePathFromTemplate($arParams["TICKET_EDIT_TEMPLATE"], array("ID" => $arTicket["ID"]));
    $arResult["TICKETS"][] = $arTicket + $arDict + $arUsersName + array("TICKET_EDIT_URL" => $url);
Esempio n. 3
0
 function GetByID($id, $lang = LANG, $checkRights = "Y", $get_user_name = "Y", $get_extra_names = "Y", $arParams = array())
 {
     $by = $order = $is_filtered = null;
     return CTicket::GetList($by, $order, array("ID" => $id, "ID_EXACT_MATCH" => "Y"), $is_filtered, $checkRights, $get_user_name, $get_extra_names, $lang, $arParams);
 }
$arFilterFields = array_merge($FilterArr1, $FilterArr2);
$lAdmin->InitFilter($arFilterFields);
//инициализаци¤ фильтра
if ($bAdmin != "Y" && $bDemo != "Y") {
    $find_responsible_id = $USER->GetID();
}
InitBVar($find_responsible_exact_match);
if (CheckFilter()) {
    $arFilter = array("SITE" => $find_site, "DATE_CREATE_1" => $find_date1, "DATE_CREATE_2" => $find_date2, "RESPONSIBLE_ID" => $find_responsible_id, "RESPONSIBLE" => $find_responsible, "RESPONSIBLE_EXACT_MATCH" => $find_responsible_exact_match, "SLA" => $find_sla_id, "CATEGORY" => $find_category_id, "CRITICALITY" => $find_criticality_id, "STATUS" => $find_status_id, "MARK" => $find_mark_id, "SOURCE" => $find_source_id);
} else {
    if ($e = $APPLICATION->GetException()) {
        $message = new CAdminMessage(GetMessage("SUP_FILTER_ERROR"), $e);
        //$message = new CAdminMessage(GetMessage("SUP_FILTER_ERROR"), $e);
    }
}
$rsTickets = CTicket::GetList($by, $order, $arFilter, $is_filtered, "Y", "N", "N");
$OPEN_TICKETS = $CLOSE_TICKETS = 0;
$arrTickets = array();
$arrTime = array();
$arrTime["1"] = 0;
$arrTime["1_2"] = 0;
$arrTime["2_3"] = 0;
$arrTime["3_4"] = 0;
$arrTime["4_5"] = 0;
$arrTime["5_6"] = 0;
$arrTime["6_7"] = 0;
$arrTime["7"] = 0;
$arrMess = array();
$arrMess["2_m"] = 0;
$arrMess["3_m"] = 0;
$arrMess["4_m"] = 0;
Esempio n. 5
0
	$arHeaders[] = array("id"=>"SUPPORT_DEADLINE", "content"=>GetMessage("SUP_DEADLINE"), "default"=>true, "sort" => "s_deadline");
}

$USER_FIELD_MANAGER->AdminListAddHeaders( $entity_id, $arHeaders );

// заголовок списка
$lAdmin->AddHeaders($arHeaders);

$get_user_name = "N";
//$rsData = CTicket::GetList($by, $order, $arFilter, $is_filtered, "Y", $get_user_name, $get_extra_names);
$rsData = CTicket::GetList(
	$by,
	$order,
	$arFilter,
	$is_filtered,
	"Y",
	$get_user_name,
	$get_extra_names,
	false,
	array( "SELECT" => $lAdmin->GetVisibleHeaderColumns(), 'NAV_PARAMS' => array('nPageSize' => COption::GetOptionString("support", "TICKETS_PER_PAGE")) )
);

$rsData = new CAdminResult($rsData, $sTableID);

// установка строки навигации
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("SUP_PAGES")));

// построение списка
$arRows = array();

$aUserIDs = array();
Esempio n. 6
0
    $sec = 7;
} else {
    switch ($_POST["group_by"]) {
        case 'day':
            $sec = 1;
            break;
        case 'week':
            $sec = 7;
            break;
        case 'month':
            $sec = 30;
            break;
    }
}
$ttt = strtotime($date_from);
while ($ttt <= strtotime($date_to)) {
    //   $cnt++;
    $dt = date("Y-m-d", $ttt);
    //   $total+=$tasks[$dt];
    ?>
    <tr>
        <td><?php 
    echo date("d.m.Y", $ttt);
    ?>
</td>
        <?php 
    foreach ($gm_employes as $k => $v) {
        $total_resp[$k] += $resp_tasks[$k][$dt];
        ?>
            <td><?php 
        echo round($resp_tasks[$k][$dt] / 60, 2);
Esempio n. 7
0
$aFilter = $grid_options->GetFilter($arResult["FILTER"]);

$aSortVal = $aSort['sort'];
$sort_order = current($aSortVal);
$sort_by = key($aSortVal);


if (strlen($arParams["SITE_ID"]) > 0)
	$aFilter["LID"] = $arParams["SITE_ID"];

$rsTickets = CTicket::GetList(
	$sort_by,
	$sort_order,
	$aFilter,
	$is_filtered,
	$check_rights = "Y",
	$get_user_name = "N",
	$get_dictionary_name = "N",
	false,
	array( "SELECT" => $UFA, 'NAV_PARAMS' => array('nPageSize' => $arParams["TICKETS_PER_PAGE"], 'bShowAll' => false) )
);

$arTickets = array();
$arRespUserIDs = array();
$arGuestIDs = array();
$arUsersPref = array("RESPONSIBLE", "OWNER", "MODIFIED", "CREATED");
$arGuestsPref = array("OWNER", "CREATED");

while ($arTicket = $rsTickets->GetNext())
{
	$arTickets[] = $arTicket;
Esempio n. 8
0
$arHeaders[] = array("id" => "MARK_ID", "content" => GetMessage("SUP_MARK"), "default" => false, "sort" => "s_mark");
if ($bADS) {
    $arHeaders[] = array("id" => "PROBLEM_TIME", "content" => GetMessage("SUP_PROBLEM_TIME"), "default" => false, "sort" => "s_problem_time");
}
if ($bADS) {
    $arHeaders[] = array("id" => "COUPON", "content" => GetMessage("SUP_COUPON"), "default" => false, "sort" => "s_coupon");
}
if ($bADS) {
    $arHeaders[] = array("id" => "SUPPORT_DEADLINE", "content" => GetMessage("SUP_DEADLINE"), "default" => true, "sort" => "s_deadline");
}
$USER_FIELD_MANAGER->AdminListAddHeaders($entity_id, $arHeaders);
// заголовок списка
$lAdmin->AddHeaders($arHeaders);
$get_user_name = "N";
//$rsData = CTicket::GetList($by, $order, $arFilter, $is_filtered, "Y", $get_user_name, $get_extra_names);
$rsData = CTicket::GetList($by, $order, $arFilter, $is_filtered, "Y", $get_user_name, $get_extra_names, false, array("SELECT" => $lAdmin->GetVisibleHeaderColumns(), 'NAV_PARAMS' => array('nPageSize' => CAdminResult::GetNavSize($sTableID), 'bShowAll' => false)));
$rsData = new CAdminResult($rsData, $sTableID);
// установка строки навигации
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("SUP_PAGES")));
// построение списка
$arRows = array();
$aUserIDs = array();
$arGuestIDs = array();
$arUsersPref = array("RESPONSIBLE", "OWNER", "CREATED", "MODIFIED");
$arGuestsPref = array("OWNER", "CREATED", "MODIFIED");
while ($arRes = $rsData->NavNext(true, "f_")) {
    $lamp = "/bitrix/images/support/{$f_LAMP}.gif";
    $lamp_alt = GetMessage("SUP_" . strtoupper($f_LAMP) . "_ALT");
    /*if ($get_user_name=="N")
    	{
    		Support_GetUserInfo($f_RESPONSIBLE_USER_ID, $f_RESPONSIBLE_LOGIN, $f_RESPONSIBLE_NAME);
Esempio n. 9
0
}
$arHeaders[] = array("id" => "MARK_ID", "content" => GetMessage("SUP_MARK"), "default" => false, "sort" => "s_mark");
if ($bADS) {
    $arHeaders[] = array("id" => "PROBLEM_TIME", "content" => GetMessage("SUP_PROBLEM_TIME"), "default" => false, "sort" => "s_problem_time");
}
if ($bADS) {
    $arHeaders[] = array("id" => "COUPON", "content" => GetMessage("SUP_COUPON"), "default" => false, "sort" => "s_coupon");
}
if ($bADS) {
    $arHeaders[] = array("id" => "SUPPORT_DEADLINE", "content" => GetMessage("SUP_DEADLINE"), "default" => true, "sort" => "s_deadline");
}
$USER_FIELD_MANAGER->AdminListAddHeaders($entity_id, $arHeaders);
// заголовок списка
$lAdmin->AddHeaders($arHeaders);
//$rsData = CTicket::GetList($by, $order, $arFilter, $is_filtered, "Y", $get_user_name, $get_extra_names);
$rsData = CTicket::GetList($by, $order, $arFilter, $is_filtered, "Y", $get_user_name, $get_extra_names, false, array("SELECT" => $lAdmin->GetVisibleHeaderColumns()));
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart(COption::GetOptionString("support", "TICKETS_PER_PAGE"));
// установка строки навигации
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("SUP_PAGES")));
// построение списка
while ($arRes = $rsData->NavNext(true, "f_")) {
    $lamp = "/bitrix/images/support/{$f_LAMP}.gif";
    $lamp_alt = GetMessage("SUP_" . strtoupper($f_LAMP) . "_ALT");
    if ($get_user_name == "N") {
        Support_GetUserInfo($f_RESPONSIBLE_USER_ID, $f_RESPONSIBLE_LOGIN, $f_RESPONSIBLE_NAME);
        Support_GetUserInfo($f_OWNER_USER_ID, $f_OWNER_LOGIN, $f_OWNER_NAME);
        Support_GetUserInfo($f_MODIFIED_USER_ID, $f_MODIFIED_LOGIN, $f_MODIFIED_NAME);
    }
    if ($get_extra_names == "N") {
        Support_GetDictionaryInfo($f_CATEGORY_ID, "C", $TICKET_DICTIONARY, $f_CATEGORY_NAME, $f_CATEGORY_DESC, $f_CATEGORY_SID);
Esempio n. 10
0
InitSorting();
//Filter
$FilterArr = array("find_id", "find_id_exact_match", "find_site", "find_lamp", "find_close", "find_title", "find_title_exact_match", "find_message", "find_message_exact_match");
_InitFilter($FilterArr);
InitBVar($_REQUEST["find_id_exact_match"]);
InitBVar($_REQUEST["find_title_exact_match"]);
InitBVar($_REQUEST["find_message_exact_match"]);
$arFilter = array("ID" => $_REQUEST["find_id"], "ID_EXACT_MATCH" => $_REQUEST["find_id_exact_match"], "LAMP" => $_REQUEST["find_lamp"], "CLOSE" => $_REQUEST["find_close"], "TITLE" => $_REQUEST["find_title"], "TITLE_EXACT_MATCH" => $_REQUEST["find_title_exact_match"], "MESSAGE" => $_REQUEST["find_message"], "MESSAGE_EXACT_MATCH" => $_REQUEST["find_message_exact_match"]);
//TICKET_EDIT_TEMPLATE
$arParams["TICKET_EDIT_TEMPLATE"] = trim($arParams["TICKET_EDIT_TEMPLATE"]);
$arParams["TICKET_EDIT_TEMPLATE"] = strlen($arParams["TICKET_EDIT_TEMPLATE"]) > 0 ? htmlspecialchars($arParams["TICKET_EDIT_TEMPLATE"]) : "ticket_edit.php?ID=#ID#";
//TICKETS_PER_PAGE
$arParams["TICKETS_PER_PAGE"] = intval($arParams["TICKETS_PER_PAGE"]) <= 0 ? 50 : intval($arParams["TICKETS_PER_PAGE"]);
//Get Tickets
CPageOption::SetOptionString("main", "nav_page_in_session", "N");
$rsTickets = CTicket::GetList($_REQUEST["by"], $_REQUEST["order"], $arFilter, $is_filtered, $check_rights = "Y", $get_user_name = "N", $get_dictionary_name = "N");
$rsTickets->NavStart($arParams["TICKETS_PER_PAGE"]);
//Result array
$arResult = array("TICKETS" => array(), "TICKETS_COUNT" => $rsTickets->SelectedRowsCount(), "NAV_STRING" => $rsTickets->GetPageNavString(GetMessage("SUP_PAGES")), "CURRENT_PAGE" => htmlspecialchars($APPLICATION->GetCurPage()), "NEW_TICKET_PAGE" => htmlspecialchars(CComponentEngine::MakePathFromTemplate($arParams["TICKET_EDIT_TEMPLATE"], array("ID" => "0"))));
//Get Dictionary Array
$arTicketDictionary = CTicketDictionary::GetDropDownArray();
//Dictionary table
$arDictType = array("C" => "CATEGORY", "K" => "CRITICALITY", "S" => "STATUS", "M" => "MARK", "SR" => "SOURCE");
while ($arTicket = $rsTickets->GetNext()) {
    $arUsersName = _GetUserInfo($arTicket["RESPONSIBLE_USER_ID"], "RESPONSIBLE") + _GetUserInfo($arTicket["OWNER_USER_ID"], "OWNER") + _GetUserInfo($arTicket["MODIFIED_USER_ID"], "MODIFIED");
    $arDict = array();
    foreach ($arDictType as $TYPE => $CODE) {
        $arDict += _GetDictionaryInfo($arTicket[$CODE . "_ID"], $TYPE, $CODE, $arTicketDictionary);
    }
    $url = CComponentEngine::MakePathFromTemplate($arParams["TICKET_EDIT_TEMPLATE"], array("ID" => $arTicket["ID"]));
    $arResult["TICKETS"][] = $arTicket + $arDict + $arUsersName + array("TICKET_EDIT_URL" => $url);