예제 #1
0
<?php

/*
##############################################
# Bitrix: SiteManager                        #
# Copyright (c) 2002 - 2011 Bitrix           #
# http://www.bitrixsoft.com                  #
# mailto:admin@bitrixsoft.com                #
##############################################
*/
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php";
if (CModule::IncludeModule("support") && strlen($hash) > 0 && preg_match('/^[a-z0-9]{32}$/i', $hash)) {
    $rsFiles = CTicket::GetFileList($v1 = "s_id", $v2 = "asc", array("HASH" => $hash), 'Y');
    if ($rsFiles && ($arFile = $rsFiles->Fetch())) {
        set_time_limit(0);
        $options = array();
        if ($_REQUEST["action"] == "download") {
            $options["force_download"] = true;
        }
        CFile::ViewByUser($arFile, $options);
    }
}
require $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/prolog_after.php";
ShowError(GetMessage("SUP_ERROR_ATTACH_NOT_FOUND"));
require $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/epilog.php";
             }
         }
     } else {
         if ($e = $APPLICATION->GetException()) {
             $strError = new CAdminMessage(GetMessage("SUP_ERROR"), $e);
         }
     }
 }
 $message = CTicket::GetMessageByID($ID);
 if (!$message->ExtractFields()) {
     //$strError .= GetMessage("SUP_MESSAGE_NOT_FOUND")."<br>";
     $e = $APPLICATION->GetException();
     $strError = new CAdminMessage(GetMessage("SUP_MESSAGE_NOT_FOUND"), $e);
 } else {
     $arFiles = array();
     if ($rsFiles = CTicket::GetFileList($v1 = "s_id", $v2 = "asc", array("MESSAGE_ID" => $ID))) {
         while ($arFile = $rsFiles->Fetch()) {
             $name = $arFile["ORIGINAL_NAME"];
             if (strlen($arFile["EXTENSION_SUFFIX"]) > 0) {
                 $suffix_length = strlen($arFile["EXTENSION_SUFFIX"]);
                 $name = substr($name, 0, strlen($name) - $suffix_length);
             }
             $arFile["NAME"] = $name;
             $arFiles[] = $arFile;
         }
     }
 }
 if ($strError) {
     $DB->InitTableVarsForEdit("b_ticket_message", "", "str_");
 }
 $str_OWNER_USER_ID = intval($str_OWNER_USER_ID) > 0 ? intval($str_OWNER_USER_ID) : "";
예제 #3
0
 //+Ticket and user names
 $arResult["TICKET"] = $arTicket + _GetUserInfo($arTicket["RESPONSIBLE_USER_ID"], "RESPONSIBLE") + _GetUserInfo($arTicket["OWNER_USER_ID"], "OWNER") + _GetUserInfo($arTicket["CREATED_USER_ID"], "CREATED") + _GetUserInfo($arTicket["MODIFIED_USER_ID"], "MODIFIED_BY");
 //Dictionary table
 $arDictionary = array("C" => array("CATEGORY", intval($arTicket["CATEGORY_ID"])), "K" => array("CRITICALITY", intval($arTicket["CRITICALITY_ID"])), "S" => array("STATUS", intval($arTicket["STATUS_ID"])), "M" => array("MARK", intval($arTicket["MARK_ID"])), "SR" => array("SOURCE", intval($arTicket["SOURCE_ID"])));
 //+Ticket dictionary
 $arResult["TICKET"] += _GetDictionaryInfoEx($arDictionary);
 //+Sla
 $arResult["TICKET"]["SLA_NAME"] = $arResult["TICKET"]["SLA_DESCRIPTION"] = "";
 $rsSla = CTicketSLA::GetByID($arTicket["SLA_ID"]);
 if ($rsSla && ($arSla = $rsSla->Fetch())) {
     $arResult["TICKET"]["SLA_NAME"] = htmlspecialcharsbx($arSla["NAME"]);
     $arResult["TICKET"]["SLA_DESCRIPTION"] = htmlspecialcharsbx($arSla["DESCRIPTION"]);
 }
 //Messages files
 $arMessagesFiles = array();
 $rsFiles = CTicket::GetFileList($v1 = "s_id", $v2 = "asc", array("TICKET_ID" => $arParams["ID"]));
 while ($arFile = $rsFiles->Fetch()) {
     $name = strlen($arFile["ORIGINAL_NAME"]) > 0 ? $arFile["ORIGINAL_NAME"] : $arFile["FILE_NAME"];
     if (strlen($arFile["EXTENSION_SUFFIX"]) > 0) {
         $suffix_length = strlen($arFile["EXTENSION_SUFFIX"]);
         $name = substr($name, 0, strlen($name) - $suffix_length);
     }
     $arMessagesFiles[$arFile["MESSAGE_ID"]][] = array("HASH" => $arFile["HASH"], "NAME" => htmlspecialcharsbx($name), "FILE_SIZE" => $arFile["FILE_SIZE"]);
 }
 //+Messages
 $arParams["MESSAGES_PER_PAGE"] = intval($arParams["MESSAGES_PER_PAGE"]) <= 0 ? 20 : intval($arParams["MESSAGES_PER_PAGE"]);
 $arFilter = array("TICKET_ID" => $arParams["ID"], "TICKET_ID_EXACT_MATCH" => "Y", "IS_MESSAGE" => "Y");
 CPageOption::SetOptionString("main", "nav_page_in_session", "N");
 //sort config
 $order = $arParams["MESSAGE_SORT_ORDER"];
 $rsMessage = CTicket::GetMessageList($by, $order, $arFilter, $is_filtered, $check_rights = "Y", $get_user_name = "N");
예제 #4
0
        $str_OWNER_LOGIN = htmlspecialcharsbx($arUserTiket['LOGIN']);
        $str_OWNER_NAME = htmlspecialcharsbx($arUserTiket['NAME']) . ' ' . htmlspecialcharsbx($arUserTiket['LAST_NAME']);
        $str_lang = $TICKET_SITE = $str_SITE_ID;
        $TICKET_SLA = $str_SLA_ID = CTicketSLA::GetForUser($str_SITE_ID, $str_OWNER_USER_ID);
        $str_DIFFICULTY_ID = '';
        $str_CRITICALITY_ID = '';
        $obTicketMessage = CTicket::GetMessageByID($_SESSION['MESSAGE_ID']);
        $arTicketMessage = $obTicketMessage->Fetch();
        $MESSAGE = $arTicketMessage['MESSAGE'];
        $_SESSION['MESSAGE_NUM'] = IntVal($arTicketMessage['C_NUMBER']);
        $_SESSION['MESSAGE_DATE'] = $arTicketMessage['DATE_CREATE'];
        $_SESSION["TICKET_TITLE"] = $str_TITLE;
        $str_TITLE = '';
        $str_DATE_CLOSE = null;
        $arFiles = array();
        if ($rsFiles = CTicket::GetFileList($v1 = "s_id", $v2 = "asc", array("MESSAGE_ID" => $_SESSION['MESSAGE_ID']))) {
            while ($arFile = $rsFiles->Fetch()) {
                $name = $arFile["ORIGINAL_NAME"];
                if (strlen($arFile["EXTENSION_SUFFIX"]) > 0) {
                    $suffix_length = strlen($arFile["EXTENSION_SUFFIX"]);
                    $name = substr($name, 0, strlen($name) - $suffix_length);
                }
                $arFile["NAME"] = $name;
                $arFiles[] = $arFile;
            }
        }
    }
}
?>
<form name="form1" method="POST" action="<?php 
echo $APPLICATION->GetCurPage();