Exemple #1
0
 /**
  * Supporters Reply
  *
  * @param int $IDWriter
  * @param int $IDTicket
  * @param str $TxMessage
  * @param str $StMsgType
  * @param arr $ArFiles
  * @return boolean
  *
  * @author Matheus Ashton <*****@*****.**>
  */
 private function _supporterAnswer($IDWriter, $IDTicket, $TxMessage, $StMsgType, $ArFiles = array())
 {
     #check if message can be released
     $BoReleased = F1DeskUtils::getPermission('BoReleaseAnswer', $IDWriter);
     #Get table's User ID
     $IDUser = array_shift(F1DeskUtils::getUserData($IDWriter));
     #Add the reply
     $this->addMessage($IDUser, $IDTicket, $TxMessage, $BoReleased, $StMsgType);
     $IDMessage = $this->getID();
     if (!empty($ArFiles)) {
         $this->attachFile($ArFiles, $IDMessage);
     }
     if ($StMsgType == '0') {
         #Changing Tickets's situation
         $StTableName = DBPREFIX . 'Ticket';
         $ArFields = array('StSituation' => 'WAITING_USER', 'IDSupporter' => $IDWriter);
         $this->updateTable($StTableName, $ArFields, "IDTicket = {$IDTicket}");
     }
     return true;
 }
Exemple #2
0
        foreach ($ArAttached as $IDAttach) {
            if (!F1DeskUtils::isAttached($IDTicket, $IDAttach)) {
                $ObjTicket->attachTicket($IDTicket, $IDAttach);
            }
        }
    }
} elseif (!empty($_POST) && $_POST['StAction'] == 'addSupporters') {
    $ArSupporters = F1DeskUtils::getAllSupporters();
    if ($ArSupporters[0]['IDSupporter'] == 0) {
        array_shift($ArSupporters);
    }
}
/***************************************
 *           Create Data               *
****************************************/
if (F1DeskUtils::isSupporter()) {
    $BoCreate = F1DeskUtils::getPermission('BoCreateTicket', getSessionProp('IDSupporter'));
    if ($BoCreate) {
        $ArDepartments = F1DeskUtils::getPublicDepartments(false);
    } else {
        $ArDepartments = F1DeskUtils::getDepartmentsFormatted(getSessionProp('IDSupporter'));
    }
} else {
    $ArDepartments = F1DeskUtils::getPublicDepartments();
}
$ArTypes = F1DeskUtils::listTicketTypes();
$ArPriorities = F1DeskUtils::listPriorities();
$ArCategories = F1DeskUtils::listCategories();
if (F1DeskUtils::IsSupporter()) {
    $ArSub = F1DeskUtils::getSubDepartments(getSessionProp('IDSupporter'));
}
Exemple #3
0
$IDUser = getSessionProp('IDUser');
$preview = isset($_POST['preview']) ? true : false;
$isVisible = false;
$ObjTicket = new TicketHandler();
if ($ObjTicket->ticketExists($IDTicket)) {
    if ($isSupporter || $ObjTicket->isVisible($IDTicket, $IDUser)) {
        $isVisible = true;
    }
}
if ($isVisible) {
    $ObjTicket->setAsRead(getSessionProp('IDUser'), $IDTicket);
    $ArHeaders = $ObjTicket->getTicketHeaders($IDTicket);
    $ArAttachments = $ObjTicket->getAttachments($IDTicket);
    if ($isSupporter) {
        $ArSupporters = $ObjUser->listSupporters($IDTicket);
        $BoCreate = F1DeskUtils::getPermission('BoCreateTicket', $IDSupporter);
        if ($BoCreate) {
            $ArDepartments = F1DeskUtils::getPublicDepartments(false);
        } else {
            $ArDepartments = F1DeskUtils::getDepartmentsFormatted($IDSupporter);
        }
    } else {
        $ArDepartments = F1DeskUtils::getPublicDepartments();
    }
    #
    # Ticket Header
    #
    $StTitle = $ArHeaders['StTitle'];
    $IDTicket = $ArHeaders['IDTicket'];
    if (array_key_exists('IDDepartment', $ArHeaders)) {
        $IDDepartment = $ArHeaders['IDDepartment'];