Esempio n. 1
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'));
}
Esempio n. 2
0
                ErrorHandler::setNotice('language', DATA_NEEDED_TO_LANGUAGE, 'error');
            } else {
                if (!F1DeskUtils::createLanguage($_POST['StTitle'], $_POST['StPath'])) {
                    ErrorHandler::setNotice('language', ERROR_CREATE_LANGUAGE, 'error');
                } else {
                    ErrorHandler::setNotice('language', SUCESS_CREATE_LANGUAGE, 'ok');
                }
            }
            break;
    }
}
$ArMenus = F1DeskUtils::getMenuTab('admin');
$ArDepartments = F1DeskUtils::getPublicDepartments(false);
$ArGeneralOptions = F1DeskUtils::listGeneralOptions();
$ArTemplates = F1DeskUtils::getTemplates();
$ArLanguages = F1DeskUtils::getLanguages();
$ArSupporters = array();
foreach ($ArDepartments as $ArDepartment) {
    $ArSupporters[$ArDepartment['IDDepartment']] = F1DeskUtils::getDepartmentSupporters($ArDepartment['IDDepartment']);
}
$ArUnits = F1DeskUtils::listUnits();
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();
}
Esempio n. 3
0
<?php

/*default*/
handleLanguage(__FILE__);
$currentPage = F1DeskUtils::$CurrentPage;
if (file_exists(ABSTEMPLATEDIR . $currentPage . '.php') && Validate::Session(true) === true) {
    $ArMenu = F1DeskUtils::getMenuTab($currentPage);
} else {
    $ArMenu = array();
}
?>
<? print('<?xml version="1.0" encoding="UTF-8"?>' . "\n"); ?>
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt">
    <head>
      <title><?php 
echo getOption('title');
?>
</title>
      <style type="text/css" media="screen">
         @import url('<?php 
echo TEMPLATEDIR;
?>
css/style.css');
         @import url('<?php 
echo TEMPLATEDIR;
?>
css/fonts.css');
      </style>
      <?php 
echo defaultCSS();
Esempio n. 4
0
 public static function setDepartment($IDDepartment = NULL)
 {
     $IDDepartment = self::NumberValidate($IDDepartment, EXC_INVALID_IDDEPARTMENT);
     if (!empty($IDDepartment)) {
         $StWhere = " TD.IDDepartment = {$IDDepartment} ";
     } else {
         if (empty(self::$IDSupporterLogged)) {
             throw new errorHandler(EXC_BAD_ARGUMENT . ' "IDSupporterLogged" ');
         }
         //	    die('aqui >> '. self::$IDSupporterLogged);
         $ArDepartment = F1DeskUtils::getDepartments(self::$IDSupporterLogged);
         $ArDepartment = array_keys($ArDepartment);
         //      print_R($ArDepartment);
         foreach ((array) $ArDepartment as $StDepartment) {
             if (is_numeric($StDepartment)) {
                 $ArIDDepartment[] = $StDepartment;
             }
         }
         unset($ArDepartment);
         $StInDepartment = implode(',', $ArIDDepartment);
         $StWhere = " TD.IDDepartment IN ( {$StInDepartment} ) ";
     }
     self::$BoSetDepartment = TRUE;
     self::ArWhereAdd($StWhere);
 }
Esempio n. 5
0
<?php

require_once 'main.php';
$ObjTicket = new TicketHandler();
if (F1DeskUtils::IsSupporter()) {
    $IDSupporter = getSessionProp('IDSupporter');
    $ArDepartments = F1DeskUtils::getDepartments($IDSupporter);
    $ArIDDepartments = array_keys($ArDepartments);
    $ArTickets = $ObjTicket->getTickets($ArIDDepartments, $IDSupporter);
} else {
    $IDUser = getSessionProp('IDUser');
    $ArDepartments = F1DeskUtils::getUserDepartments();
    $ArIDDepartments = array_keys($ArDepartments);
    $ArTickets = $ObjTicket->getUserTickets($IDUser);
}
Esempio n. 6
0
if (F1DeskUtils::isSupporter()) {
    $ArResult['BoPermission'] = 'true';
}
if (isset($ArResult['BoPermission']) && $ArResult['BoPermission'] == 'true') {
    if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
        $StFileName = preg_replace('/\\./', '%2e', $ArResult['StFile'], substr_count($ArResult['StFile'], '.') - 1);
    } else {
        $StFileName = $ArResult['StFile'];
    }
    $StFileName = strtr($StFileName, ' ', '_');
    if (isset($ArResult['StLink']) && !is_dir($ArResult['StLink'])) {
        $ItFileSize = filesize($ArResult['StLink']);
        $tmpFile = F1DeskUtils::toTMP($ArResult['StLink'], 'path');
    } else {
        $ItFileSize = mb_strlen($ArResult['ByFile'], 'latin1');
        $tmpFile = F1DeskUtils::toTMP($ArResult['ByFile'], 'file');
    }
    #
    # Verificar este header pois o mesmo não exibe corretamente o tamanho do arquivo, quando disponiblizado para download
    #
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    header("Content-Disposition: attachment; filename=" . $StFileName . ";");
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: " . $ItFileSize);
    rewind($tmpFile);
    fpassthru($tmpFile);
Esempio n. 7
0
 /**
  * Create the combobox with the Canned Answers
  *
  * @param unknown_type $ArResponses
  * @return unknown
  */
 public static function createCannedCombo($ArResponses)
 {
     $StHtml = '';
     if (F1DeskUtils::IsSupporter()) {
         $StHtml = "<select class='inputCombo' id='cannedAnswers'>";
         if ($ArResponses[0]['IDCannedResponse'] != '') {
             foreach ($ArResponses as $Response) {
                 $StHtml .= "<option value='" . f1desk_escape_string($Response['TxMessage'], true, true) . "' >" . $Response['StTitle'] . "</option>";
             }
         } else {
             $StHtml .= "<option value='null'>" . NO_ANSWER . "</option>";
         }
         $StHtml .= '</select>';
         $StHtml .= "<button class='button' onclick='Ticket.addCannedResponse(); return false;'>" . ADD . "</button>";
     }
     return $StHtml;
 }
Esempio n. 8
0
<?php

require_once dirname(__FILE__) . '/main.php';
Validate::Session();
$StPage = array_key_exists('page', $_GET) ? $_GET['page'] : '';
F1DeskUtils::showPage($StPage);
Esempio n. 9
0
    /**
     * Send an email to all users related to the ticket given for each new message.
     *
     * @param int $IDTicket
     * @return Boolean
     */
    public function _sendNotifyMessage($IDTicket)
    {
        $ArUsersDepartment = array();
        $ArUsersDepartmentReader = array();
        #
        # Preparing mail header
        #
        $ArEmails = $ArUsersDepartment = $ArUsersDepartmentReader = array();
        $MailHandler = new MailHandler();
        $MailHandler->setHTMLBody(true);
        $StHeaders = "MIME-Version: 1.0\r\n";
        $StHeaders .= "Content-type: text/html; charset=utf-8\r\n";
        #
        # Get the users related with the ticket
        #
        $ArRecipients = $this->getTicketDestination($IDTicket);
        $ArReaders = $this->getTicketReaders($IDTicket);
        $StSQL = '
SELECT
  StEmail, BoNotify
FROM
  ' . DBPREFIX . 'User U
LEFT JOIN ' . DBPREFIX . "Ticket T ON (T.IDUser = U.IDUser)\nWHERE\n  T.IDTicket = {$IDTicket}";
        $this->execSQL($StSQL);
        $ArResult = $this->getResult('string');
        #
        # Get the department related with the ticket and his supporters
        #
        $ArDepartment = array_shift($this->getTicketDepartments($IDTicket));
        $ArDepartmentReaders = array_shift($this->getTicketDepartmentsReader($IDTicket));
        if (isset($ArDepartment['IDDepartment']) && isset($ArDepartmentReaders['IDDepartment'])) {
            $ArUsersDepartment = F1DeskUtils::getDepartmentSupporters($ArDepartment['IDDepartment']);
            $ArUsersDepartmentReader = F1DeskUtils::getDepartmentSupporters($ArDepartmentReaders['IDDepartment']);
        }
        #
        # Merging all users in one array
        #
        $ArUsers = array_merge($ArRecipients, $ArReaders);
        $ArUsersDepart = array_merge($ArUsersDepartment, $ArUsersDepartmentReader);
        $ArFinal = array_merge($ArUsers, $ArUsersDepart);
        $ArFinal = array_merge($ArFinal, $ArResult);
        #
        # Insert Message and Subject and strip the emails that already are in array
        #
        foreach ($ArFinal as $User) {
            if ($User['BoNotify']) {
                if (array_search($User['StEmail'], $ArEmails) === false) {
                    $ArEmails[] = $User['StEmail'];
                }
            }
        }
        $StSubject = str_replace('###TKTNUM###', $IDTicket, NOTIFY_SUBJ);
        $StMessage = str_replace('###TKTNUM###', $IDTicket, NOTIFY_MESSAGE);
        $BoResult = $MailHandler->sendMail($ArEmails, $StSubject, $StMessage, $StHeaders);
        return $BoResult;
    }
Esempio n. 10
0
 /**
  * validate users session
  *
  * @param bool $Return
  *
  * @return bool
  *
  * @author Dimitri Lameri <*****@*****.**>
  */
 public static function Session($Return = false)
 {
     $Valid = true;
     if (!(array_key_exists('StHash', $_SESSION) && array_key_exists('IDUser', $_SESSION) && array_key_exists('StName', $_SESSION))) {
         $Valid = false;
     }
     if ($Valid === true) {
         $StHash = $_SESSION['StHash'];
         $StComparison = md5($_SESSION['IDUser'] . $_SESSION['StName']);
         if ($StHash !== $StComparison) {
             $Valid = false;
         }
     }
     if ($Return == true || $Valid === true) {
         return $Valid;
     } else {
         if ($Valid === false) {
             $_SESSION = array();
             if (array_key_exists('page', $_GET)) {
                 setSessionProp('lastPage', $_GET['page']);
             }
             F1DeskUtils::showPage('login');
             die;
         }
     }
 }
Esempio n. 11
0
 public static function getDepartmentsFormatted($IDSupporter)
 {
     $ArFormatted = array();
     $ArDepartments = F1DeskUtils::getDepartments($IDSupporter);
     $ArSubDepartments = F1DeskUtils::getSubDepartments($IDSupporter);
     foreach ($ArDepartments as $IDDepartment => $StDepartment) {
         if (array_key_exists($IDDepartment, $ArSubDepartments) === true) {
             $ArSubs = $ArSubDepartments[$IDDepartment];
         } else {
             $ArSubs = array();
         }
         $ArFormatted[$IDDepartment] = array('ID' => $IDDepartment, 'StDepartment' => $StDepartment, 'ArSubDepartments' => $ArSubs);
     }
     foreach ($ArSubDepartments as $IDDepartment => $ArSubDepartments) {
         foreach ($ArSubDepartments as $IDSubDepartments) {
             if (array_key_exists($IDSubDepartments, $ArDepartments) === true) {
                 $ArFormatted[$IDSubDepartments] = array('ID' => $IDSubDepartments, 'StDepartment' => $ArDepartments[$IDDepartment] . '::' . $ArDepartments[$IDSubDepartments]);
             }
         }
     }
     return $ArFormatted;
 }
Esempio n. 12
0
    echo ADD_SUPPORTER;
    ?>
</p>
      <div id='addedRecipients' class='NoDisplay'>
        <h4><?php 
    echo ADDED_SUP;
    ?>
</h4>
      </div>
      <?php 
}
?>
    </div>

    <?php 
if (F1DeskUtils::IsSupporter()) {
    ?>
    <div id='respondTo'>
      <h3><?php 
    echo REPLY_TO;
    ?>
</h3>
      <?php 
    echo TemplateHandler::createFormattedCombo($ArDepartments, 'IDReader', 'IDReader', 'inputCombo');
    ?>
      <p><?php 
    echo CLICK;
    ?>
<a href='javascript:void(0);' class='Link' onclick='Writing.listSupporters("Readers")'><?php 
    echo HERE;
    ?>
Esempio n. 13
0
                ErrorHandler::setNotice('bookmark', BOOKMARK_OK, 'ok');
            }
            break;
        default:
            ErrorHandler::setNotice('user', NO_ACTION, 'error');
            break;
    }
}
/***************************************
 *           Home data                 *
****************************************/
#
# User's data
#
if ($isSupporter) {
    $ArUser = F1DeskUtils::getUserData(getSessionProp('IDSupporter'), 0);
    #
    # Canned response's data
    #
    $ArCannedResponses = F1DeskUtils::listCannedResponses(getSessionProp('IDSupporter'));
    #
    # Note's Data
    #
    $ArNotes = F1DeskUtils::listNotes(getSessionProp('IDSupporter'));
    #
    # Bookmarked Ticket's data
    #
    $ArBookmark = F1DeskUtils::listSupporterBookmark(getSessionProp('IDSupporter'));
} else {
    $ArUser = F1DeskUtils::getUserData(getSessionProp('IDClient'), 1);
}
Esempio n. 14
0
    } else {
        $IDDepartment = 'single';
    }
    $StSupporter = !empty($ArHeaders['StName']) ? $ArHeaders['StName'] : '';
    $StSituation = $ArHeaders['StSituation'];
    if ($isSupporter) {
        $BoIgnored = isset($BoIgnored) ? $BoIgnored : F1DeskUtils::isIgnored($IDSupporter, $IDTicket);
        $BoBookMark = isset($BoBookMark) ? $BoBookMark : F1DeskUtils::isBookmarked($IDSupporter, $IDTicket);
    }
    #
    # Ticket Info
    #
    if ($isSupporter) {
        $ArAttachedTickets = $ObjTicket->getAttachedTickets($IDTicket);
        $ArTicketsAttached = $ObjTicket->getTicketsAttached($IDTicket);
        $ArTicketDepartments = $ObjTicket->getTicketDepartments($IDTicket);
        $ArTicketDepartmentsReader = $ObjTicket->getTicketDepartmentsReader($IDTicket);
        $ArTicketDestinations = $ObjTicket->getTicketDestination($IDTicket);
        $ArTicketReaders = $ObjTicket->getTicketReaders($IDTicket);
    }
    $ArMessages = $ObjTicket->listTicketMessages($IDTicket);
    $DtOpened = F1DeskUtils::formatDate('datetime_format', $ArHeaders['DtOpened']);
    $StTicketCategory = $ObjTicket->getTicketCategory($IDTicket);
    $StTicketPriority = $ObjTicket->getTicketPriority($IDTicket);
    $StTicketType = $ObjTicket->getTicketType($IDTicket);
    $ArRates = F1DeskUtils::listRate();
    if ($isSupporter) {
        $ArResponses = F1DeskUtils::listCannedResponses($IDSupporter, $IDDepartment);
    }
}
/************************** ### End - Loading Data ### ***************************/