Example #1
0
 public function mswWordWrap($text)
 {
     if ($this->wordwrap[0] == 'on') {
         return wordwrap($text, $this->wordwrap[1], mswDefineNewline(), true);
     }
     return $text;
 }
Example #2
0
 public function attachments($s)
 {
     $html = '';
     $id = (int) $_GET['a'];
     $q = mysql_query("SELECT *,\n           `" . DB_PREFIX . "faqattach`.`id` AS `attachID`\n\t\t   FROM `" . DB_PREFIX . "faqassign`\n           LEFT JOIN `" . DB_PREFIX . "faqattach`\n           ON `" . DB_PREFIX . "faqassign`.`itemID`      = `" . DB_PREFIX . "faqattach`.`id`\n           WHERE `" . DB_PREFIX . "faqassign`.`question` = '{$id}'\n\t\t   AND `" . DB_PREFIX . "faqassign`.`desc`       = 'attachment'\n           GROUP BY `" . DB_PREFIX . "faqassign`.`itemID`\n           ORDER BY `" . DB_PREFIX . "faqattach`.`orderBy`\n           ") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__));
     while ($ATT = mysql_fetch_object($q)) {
         $ext = substr(strrchr($ATT->path ? $ATT->path : $ATT->remote, '.'), 1);
         $html .= str_replace(array('{url}', '{name}', '{name_alt}', '{size}', '{filetype}'), array($ATT->remote ? $ATT->remote : '?fattachment=' . $ATT->attachID, $ATT->name ? mswCleanData($ATT->name) : ($ATT->remote ? basename($ATT->remote) : $ATT->path), $ATT->name ? mswSpecialChars($ATT->name) : ($ATT->remote ? basename($ATT->remote) : $ATT->path), mswFileSizeConversion($ATT->size), strtoupper($ext)), file_get_contents(PATH . 'content/' . MS_TEMPLATE_SET . '/html/faq-attachment-link.htm')) . mswDefineNewline();
     }
     return $html ? $html : '';
 }
Example #3
0
 public function display()
 {
     global $page;
     $html = '';
     // How many pages?
     $this->num_pages = ceil($this->total / PER_PAGE);
     // If pages less than or equal to 1, display nothing..
     if ($this->num_pages <= 1) {
         return $html;
     }
     // Build pages..
     $current_page = $page;
     $begin = $current_page - $this->split;
     $end = $current_page + $this->split;
     if ($begin < 1) {
         $begin = 1;
         $end = $this->split * 2;
     }
     if ($end > $this->num_pages) {
         $end = $this->num_pages;
         $begin = $end - $this->split * 2;
         $begin++;
         if ($begin < 1) {
             $begin = 1;
         }
     }
     if ($current_page != 1) {
         $html .= '<li><a title="' . mswSpecialChars($this->text[0]) . '" href="' . $this->query . '1" rel="nofollow">' . $this->text[0] . '</a></li>' . mswDefineNewline();
         $html .= '<li><a title="' . mswSpecialChars($this->text[1]) . '" href="' . $this->query . ($current_page - 1) . '" rel="nofollow">' . $this->text[1] . '</a></li>' . mswDefineNewline();
     } else {
         $html .= '<li class="disabled"><a href="#" rel="nofollow">' . $this->text[0] . '</a></li>' . mswDefineNewline();
         $html .= '<li class="disabled"><a href="#" rel="nofollow">' . $this->text[1] . '</a></li>' . mswDefineNewline();
     }
     for ($i = $begin; $i <= $end; $i++) {
         if ($i != $current_page) {
             $html .= '<li><a title="' . $i . '" href="' . $this->query . $i . '" rel="nofollow">' . $i . '</a></li>' . mswDefineNewline();
         } else {
             $html .= '<li class="active"><a href="#" rel="nofollow">' . $i . '</a></li>' . mswDefineNewline();
         }
     }
     if ($current_page != $this->num_pages) {
         $html .= '<li><a title="' . mswSpecialChars($this->text[2]) . '" href="' . $this->query . ($current_page + 1) . '" rel="nofollow">' . $this->text[2] . '</a></li>' . mswDefineNewline();
         $html .= '<li><a title="' . mswSpecialChars($this->text[3]) . '" href="' . $this->query . $this->num_pages . '" rel="nofollow">' . $this->text[3] . '</a></li>' . mswDefineNewline();
     } else {
         $html .= '<li class="disabled"><a href="#" rel="nofollow">' . $this->text[2] . '</a></li>' . mswDefineNewline();
         $html .= '<li class="disabled"><a href="#" rel="nofollow">' . $this->text[3] . '</a></li>' . mswDefineNewline();
     }
     return '<ul>' . mswDefineNewline() . trim($html) . mswDefineNewline() . '</ul>';
 }
Example #4
0
 public function log($msg)
 {
     if ($this->settings->apiLog == 'yes') {
         $existing = file_exists(PATH . $this->log_folder . '/api-debug-log.txt') ? trim(file_get_contents(PATH . $this->log_folder . '/api-debug-log.txt')) : '';
         if ($existing == '') {
             $message = '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -' . mswDefineNewline();
             $message .= 'API DEBUG LOG: ' . date('d/F/Y @ H:iA', $this->datetime->mswTimeStamp()) . mswDefineNewline();
             $message .= '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -' . mswDefineNewline() . mswDefineNewline();
             $message .= 'Handlers Enabled: ' . ($this->settings->apiHandlers ? strtoupper($this->settings->apiHandlers) : 'None') . mswDefineNewline();
             $message .= mswDefineNewline() . '= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =' . mswDefineNewline() . mswDefineNewline();
         } else {
             $message = '';
         }
         $message .= '[' . date('d/F/Y @ H:i:s', $this->datetime->mswTimeStamp()) . '] Action/Info: ' . str_replace('{nl}', mswDefineNewline(), $msg) . mswDefineNewline();
         $message .= mswDefineNewline() . '= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =' . mswDefineNewline() . mswDefineNewline();
         @file_put_contents(PATH . $this->log_folder . '/api-debug-log.txt', $message, FILE_APPEND);
     }
 }
Example #5
0
 public function log($msg)
 {
     if ($this->settings->imap_debug == 'yes') {
         $id = $this->imapController->id;
         $existing = file_exists(PATH . $this->log_folder . '/imap-debug-log-' . $id . '.txt') ? trim(file_get_contents(PATH . $this->log_folder . '/imap-debug-log-' . $id . '.txt')) : '';
         if ($existing == '') {
             $message = '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -' . mswDefineNewline();
             $message .= 'IMAP DEBUG LOG: ' . date('d/F/Y @ H:iA', $this->datetime->mswTimeStamp()) . mswDefineNewline();
             $message .= '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -' . mswDefineNewline() . mswDefineNewline();
             $message .= 'Imap ID: ' . $id . mswDefineNewline();
             $message .= 'Imap Host: ' . $this->imapController->im_host . mswDefineNewline();
             $message .= 'Imap User: '******'Imap Port: ' . $this->imapController->im_port . mswDefineNewline();
             $message .= 'Imap SSL: ' . ucfirst($this->imapController->im_ssl) . mswDefineNewline();
             $message .= 'Imap Folder: ' . $this->imapController->im_name . mswDefineNewline();
             $message .= mswDefineNewline() . '= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =' . mswDefineNewline() . mswDefineNewline();
         } else {
             $message = '';
         }
         $message .= '[' . mswIPAddresses() . '-' . date('d/F/Y @ H:i:s', $this->datetime->mswTimeStamp()) . '] Action/Info: ' . str_replace('{nl}', mswDefineNewline(), $msg) . mswDefineNewline();
         $message .= mswDefineNewline() . '= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =' . mswDefineNewline() . mswDefineNewline();
         @file_put_contents(PATH . $this->log_folder . '/imap-debug-log-' . $id . '.txt', $message, FILE_APPEND);
     }
 }
Example #6
0
    $chop = explode(' ', $_GET['q']);
    $words = '';
    for ($i = 0; $i < count($chop); $i++) {
        $words .= ($i ? 'OR ' : 'WHERE (') . "`" . DB_PREFIX . "portal`.`name` LIKE '%" . mswSafeImportString($chop[$i]) . "%' OR `" . DB_PREFIX . "users`.`name` LIKE '%" . mswSafeImportString($chop[$i]) . "%' ";
    }
    if ($words) {
        $where[] = $words . ')';
    }
}
if ($type) {
    $where[] = (!empty($where) ? 'AND ' : 'WHERE ') . '`type` = \'' . $type . '\'';
}
if ($from && $to) {
    $where[] = (!empty($where) ? 'AND ' : 'WHERE ') . 'DATE(FROM_UNIXTIME(`' . DB_PREFIX . 'log`.`ts`)) BETWEEN \'' . $MSDT->mswDatePickerFormat($from) . '\' AND \'' . $MSDT->mswDatePickerFormat($to) . '\'';
}
$q = mysql_query("SELECT SQL_CALC_FOUND_ROWS *,\n               `" . DB_PREFIX . "log`.`ts` AS `lts`,\n\t\t\t   `" . DB_PREFIX . "log`.`id` AS `logID`,\n\t\t\t   `" . DB_PREFIX . "log`.`userID` AS `personID`,\n\t\t\t   `" . DB_PREFIX . "log`.`ip` AS `entryLogIP`,\n\t\t\t   `" . DB_PREFIX . "portal`.`name` AS `portalName`,\n\t\t\t   `" . DB_PREFIX . "users`.`name` AS `userName`\n\t\t\t   FROM `" . DB_PREFIX . "log`\n               LEFT JOIN `" . DB_PREFIX . "users`\n               ON `" . DB_PREFIX . "log`.`userID` = `" . DB_PREFIX . "users`.`id` \n\t\t\t   LEFT JOIN `" . DB_PREFIX . "portal`\n               ON `" . DB_PREFIX . "log`.`userID` = `" . DB_PREFIX . "portal`.`id` \n\t\t\t   " . (!empty($where) ? implode(mswDefineNewline(), $where) : '') . "\n               ORDER BY `" . DB_PREFIX . "log`.`id` DESC\n               LIMIT {$limitvalue},{$limit}\n               ") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__));
$c = mysql_fetch_object(mysql_query("SELECT FOUND_ROWS() AS `rows`"));
$countedRows = isset($c->rows) ? $c->rows : '0';
$actualRows = mswRowCount('log');
// Export url..
$url = 'index.php?p=log&amp;export=yes' . mswQueryParams(array('p', 'export'));
?>
<div class="content">
  <script type="text/javascript">
  //<![CDATA[
  <?php 
include PATH . 'templates/date-pickers.php';
?>
  function searchToggle() {
    jQuery('#b1').toggle();
	if (jQuery('#b1').css('display')!='none') {
Example #7
0
<?php

if (!defined('PARENT') || !isset($toLoad)) {
    exit;
}
$orderBy = 'ORDER BY `' . DB_PREFIX . 'mailbox`.`ts` DESC';
$keys = isset($_GET['keys']) ? $_GET['keys'] : '';
$searchSQL = '';
// Are we searching?
if ($keys) {
    $searchSQL = 'AND (`' . DB_PREFIX . 'mailbox`.`subject` LIKE \'%' . mswSafeImportString($keys) . '%\' OR `' . DB_PREFIX . 'mailbox`.`message` LIKE \'%' . mswSafeImportString($keys) . '%\')';
}
$q = mysql_query("SELECT SQL_CALC_FOUND_ROWS *,\n     `" . DB_PREFIX . "mailbox`.`staffID` AS `starter`,\n\t `" . DB_PREFIX . "mailbox`.`ts` AS `mailStamp`,\n\t `" . DB_PREFIX . "mailassoc`.`mailID` AS `messageID`\n\t FROM `" . DB_PREFIX . "mailassoc`\n\t LEFT JOIN `" . DB_PREFIX . "mailbox`\n\t ON `" . DB_PREFIX . "mailassoc`.`mailID`   = `" . DB_PREFIX . "mailbox`.`id`\n\t LEFT JOIN `" . DB_PREFIX . "users`\n\t ON `" . DB_PREFIX . "users`.`id`           = `" . DB_PREFIX . "mailbox`.`staffID`\n\t WHERE `folder`                         = '{$toLoad}' \n     AND `" . DB_PREFIX . "mailassoc`.`staffID` = '{$MSTEAM->id}'\n\t " . ($searchSQL ? $searchSQL . mswDefineNewline() . 'GROUP BY `' . DB_PREFIX . 'mailassoc`.`mailID`' : '') . "\n\t " . $orderBy . "\n     LIMIT {$limitvalue},{$limit}\n     ") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__));
$c = mysql_fetch_object(mysql_query("SELECT FOUND_ROWS() AS `rows`"));
$countedRows = isset($c->rows) ? $c->rows : '0';
?>
<div class="content">
        
  <div class="header">
    
	<button class="btn search-bar-button" type="button" onclick="mswToggle('b1','b2','keys','mailbox')"><i class="icon-search" id="search-icon-button"></i></button>
	<h1 class="page-title"><?php 
echo $msg_adheader61;
?>
 (<?php 
echo $boxName;
?>
)</h1>
	
	<span class="clearfix"></span>
	
             }
         }
         break;
     default:
         break;
 }
 // Mail tags..
 if (!defined('EMAILS_OFF')) {
     $MSMAIL->addTag('{ACC_NAME}', $LI_ACC->name);
     $MSMAIL->addTag('{TICKET}', mswTicketNumber($T->id));
     $MSMAIL->addTag('{SUBJECT}', $T->subject);
     $MSMAIL->addTag('{COMMENTS}', $MSBB->cleaner($_POST['comments']));
     $MSMAIL->addTag('{DEPT}', $MSYS->department($T->department, $msg_script30));
     $MSMAIL->addTag('{PRIORITY}', $MSYS->levels($T->priority));
     $MSMAIL->addTag('{STATUS}', isset($closeRrows) && $closeRrows > 0 ? $msg_showticket24 : $msg_showticket23);
     $MSMAIL->addTag('{ATTACHMENTS}', !empty($attString) ? implode(mswDefineNewline(), $attString) : 'N/A');
     $MSMAIL->addTag('{CUSTOM}', $MSFIELDS->email($T->id, $replyID));
     $MSMAIL->addTag('{ID}', $T->id);
     // Send message to support staff..
     if ($T->assignedto && $T->assignedto != 'waiting') {
         $sqlClause = 'WHERE `userID` IN(' . $T->assignedto . ') AND `notify` = \'yes\'';
     } else {
         $sqlClause = 'WHERE `deptID` = \'' . $T->department . '\' AND `userID` != \'1\' AND `notify` = \'yes\'';
     }
     $qU = mysql_query("SELECT `" . DB_PREFIX . "users`.`name` AS `teamName`,`email`,`email2` FROM `" . DB_PREFIX . "userdepts`\n              LEFT JOIN `" . DB_PREFIX . "departments`\n              ON `" . DB_PREFIX . "userdepts`.`deptID`  = `" . DB_PREFIX . "departments`.`id`\n              LEFT JOIN `" . DB_PREFIX . "users`\n              ON `" . DB_PREFIX . "userdepts`.`userID`  = `" . DB_PREFIX . "users`.`id`\n              {$sqlClause}\n              GROUP BY `email`\n\t\t\t  ORDER BY `" . DB_PREFIX . "users`.`name`\n              ") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__));
     while ($STAFF = mysql_fetch_object($qU)) {
         $MSMAIL->addTag('{NAME}', $STAFF->teamName);
         $MSMAIL->sendMSMail(array('from_email' => $SETTINGS->email, 'from_name' => $SETTINGS->website, 'to_email' => $STAFF->email, 'to_name' => $STAFF->teamName, 'subject' => str_replace(array('{website}', '{ticket}'), array($SETTINGS->website, mswTicketNumber($T->id)), $emailSubjects['reply-notify']), 'replyto' => array('name' => $SETTINGS->website, 'email' => $SETTINGS->replyto ? $SETTINGS->replyto : $SETTINGS->email), 'template' => PATH . 'content/language/' . $SETTINGS->language . '/mail-templates/ticket-reply.txt', 'language' => $SETTINGS->language, 'alive' => 'yes', 'add-emails' => $STAFF->email2));
     }
     // Now send to global user if ticket assign is off..
     if ($T->assignedto == '') {
Example #9
0
 public function jsCSSBlockLoader($ms_js_css_loader = array(), $folder)
 {
     $html = '';
     $base = $folder . '/content/' . MS_TEMPLATE_SET . '/';
     if (array_key_exists('bbcode', $ms_js_css_loader)) {
         $html .= '<link rel="stylesheet" href="' . $base . 'css/bbcode.css" type="text/css">' . mswDefineNewline();
     }
     if (array_key_exists('alertify', $ms_js_css_loader)) {
         $html .= '<script src="' . $base . 'js/plugins/jquery.alertify.js" type="text/javascript"></script>' . mswDefineNewline();
         $html .= '<link href="' . $base . 'css/alertify.core.css" rel="stylesheet" type="text/css">' . mswDefineNewline();
         $html .= '<link href="' . $base . 'css/alertify.theme.css" rel="stylesheet" type="text/css">' . mswDefineNewline();
     }
     if (array_key_exists('nyro', $ms_js_css_loader)) {
         $html .= '<script src="' . $base . 'js/plugins/jquery.nyroModal.js" type="text/javascript"></script>' . mswDefineNewline();
         $html .= '<link href="' . $base . 'css/nyroModal.css" rel="stylesheet" type="text/css">' . mswDefineNewline();
     }
     if (array_key_exists('jquery-ui', $ms_js_css_loader)) {
         $html .= '<script type="text/javascript" src="' . $base . 'js/jquery-ui.js"></script>' . mswDefineNewline();
         $html .= '<link href="' . $base . 'css/jquery-ui.css" rel="stylesheet" type="text/css">' . mswDefineNewline();
     }
     return trim($html);
 }
Example #10
0
                                        $pLang = $D_USR->language;
                                        $temp = PATH . 'content/language/' . $D_USR->language . '/mail-templates/auto-close-dispute.txt';
                                    }
                                    $MSMAIL->addTag('{NAME}', $D_USR->name);
                                    $MSMAIL->sendMSMail(array('from_email' => $SETTINGS->email, 'from_name' => $SETTINGS->website, 'to_email' => $D_USR->email, 'to_name' => $D_USR->name, 'subject' => str_replace(array('{website}'), array($SETTINGS->website), $emailSubjects['auto-close']), 'replyto' => array('name' => $SETTINGS->website, 'email' => $replyToAddr ? $replyToAddr : ($SETTINGS->replyto ? $SETTINGS->replyto : $SETTINGS->email)), 'template' => $temp, 'language' => $pLang ? $pLang : $SETTINGS->language, 'alive' => 'yes'));
                                }
                            }
                        }
                        // Build ticket data..
                        $ticketData[] = $data;
                    }
                    // Send notification to visitor about ticket closures..
                    // This is a single email..
                    if (!empty($ticketData)) {
                        $MSMAIL->addTag('{NAME}', $V->ticketName);
                        $MSMAIL->addTag('{TICKETS}', rtrim(implode(mswDefineNewline() . mswDefineNewline(), $ticketData)));
                        $pLang = '';
                        $temp = PATH . 'content/language/' . $SETTINGS->language . '/mail-templates/auto-close-tickets.txt';
                        // Get correct language file..
                        if (isset($V->ticketLang) && file_exists(PATH . 'content/language/' . $V->ticketLang . '/mail-templates/auto-close-tickets.txt')) {
                            $pLang = $V->ticketLang;
                            $temp = PATH . 'content/language/' . $V->ticketLang . '/mail-templates/auto-close-tickets.txt';
                        }
                        $MSMAIL->sendMSMail(array('from_email' => $SETTINGS->email, 'from_name' => $SETTINGS->website, 'to_email' => $V->ticketMail, 'to_name' => $V->ticketName, 'subject' => str_replace(array('{website}', '{count}'), array($SETTINGS->website, count($ticketData)), $emailSubjects['auto-close-vis']), 'replyto' => array('name' => $SETTINGS->website, 'email' => $replyToAddr ? $replyToAddr : ($SETTINGS->replyto ? $SETTINGS->replyto : $SETTINGS->email)), 'template' => $temp, 'language' => $pLang ? $pLang : $SETTINGS->language, 'alive' => 'yes'));
                    }
                }
            }
        }
    }
}
// Message, but only if the email digest hasn`t run as well..
Example #11
0
$msg_bbcode18 = 'Lists';
$msg_bbcode19 = 'Nesting Tags';
$msg_bbcode20 = 'Bullet List Item';
$msg_bbcode21 = 'Numbered List Item';
$msg_bbcode22 = 'Alpha List Item';
$msg_bbcode23 = 'Bold, Underlined Text';
$msg_bbcode24 = 'Bold, Underlined Blue Text';
$msg_bbcode25 = 'Return to Payment Method';
$msg_bbcode26 = 'Click to E-Mail Me';
$msg_bbcode28 = 'New tab/window';
$msg_edigest = 'N/A';
$msg_edigest2 = 'N/A';
$msg_edigest3 = '[#{ticket}-{priority}] {subject}';
$msg_edigest4 = 'E-Mail Digest Completed - Started: {started}, Finished: {finished}';
$msg_edigest5 = 'Started By: {name}' . mswDefineNewline() . 'Last Reply: {updated}';
$msg_edigest6 = 'Started By: {name}' . mswDefineNewline() . '{count} Users in Dispute' . mswDefineNewline() . 'Last Reply: {updated}';
/*------------------------------------------------------------------------------------------------------
  JAVASCRIPT CALENDAR LOCALE
  Javascript arrays. Square brackets are important, DO NOT remove these.
--------------------------------------------------------------------------------------------------------*/
$msg_cal = '["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]';
$msg_cal2 = '["Su","Mo","Tu","We","Th","Fr","Sa"]';
$msg_cal3 = 'false';
// Should calendar display right to left (RTL)?
// General..
$msg_script23 = 'Close &amp; Refresh';
$msg_script24 = 'Preview not available.';
$msg_script25 = 'Software Locked';
$msg_script26 = 'Previous';
$msg_script27 = 'Next';
$msg_script28 = array('Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun');
Example #12
0
 public function checkbox($text, $id, $options, $req)
 {
     global $msg_viewticket71;
     $wrapper = file_get_contents(PATH . 'content/' . MS_TEMPLATE_SET . '/html/custom-fields/checkbox-wrapper.htm');
     $html = '';
     $v = array();
     $boxes = explode(mswDefineNewline(), $options);
     if (isset($_POST['customField'][$id]) && !empty($_POST['customField'][$id])) {
         $v = $_POST['customField'][$id];
     }
     foreach ($boxes as $cb) {
         $html .= str_replace(array('{value}', '{checked}', '{id}'), array(mswCleanData($cb), in_array($cb, $v) ? ' checked="checked"' : '', $id), file_get_contents(PATH . 'content/' . MS_TEMPLATE_SET . '/html/custom-fields/checkbox.htm'));
     }
     return str_replace(array('{label}', '{text}', '{checkboxes}', '{id}'), array(mswCleanData($text), $msg_viewticket71, trim($html), $id), $wrapper);
 }
                }
            }
            // Add to ticket history log..
            if ($count > 0 && !empty($new)) {
                $MSTICKET->historyLog($tickID, str_replace(array('{users}', '{admin}'), array(implode(', ', $new), $MSTEAM->name), $msg_ticket_history['dis-user-add']));
            }
        }
        // If something happened, lets inform the original ticket creator..
        if ($count > 0 && !empty($new)) {
            $pLang = '';
            if ($USER->language && file_exists(LANG_BASE_PATH . $USER->language . '/mail-templates/html-wrapper.html')) {
                $pLang = $USER->language;
            }
            $MSMAIL->addTag('{NAME}', $USER->name);
            $MSMAIL->addTag('{TITLE}', $TICKET->subject);
            $MSMAIL->addTag('{PEOPLE}', implode(mswDefineNewline(), $new));
            $MSMAIL->addTag('{ID}', $tickID);
            $MSMAIL->sendMSMail(array('from_email' => $SETTINGS->email, 'from_name' => $SETTINGS->website, 'to_email' => $USER->email, 'to_name' => $USER->name, 'subject' => str_replace(array('{website}', '{ticket}'), array($SETTINGS->website, mswTicketNumber($tickID)), $emailSubjects['dispute-notify']), 'replyto' => array('name' => $SETTINGS->website, 'email' => $SETTINGS->replyto ? $SETTINGS->replyto : $SETTINGS->email), 'template' => LANG_PATH . 'admin-dispute-notification.txt', 'language' => $pLang ? $pLang : $SETTINGS->language, 'alive' => 'yes'));
        }
    }
    $OK1 = true;
}
// Remove users..
if (isset($_POST['removeusers']) && isset($_GET['disputeUsers']) && USER_DEL_PRIV == 'yes') {
    $MSTICKET->removeDisputeUsersFromTicket($msg_ticket_history['dis-user-rem']);
    $OK2 = true;
}
// Department check..
if (mswDeptPerms($MSTEAM->id, $SUPTICK->department, $userDeptAccess) == 'fail') {
    $HEADERS->err403(true);
}
Example #14
0
 public function export($head, $dl)
 {
     $file = PATH . 'export/' . str_replace('{date}', date('dmY-his'), accounts::ACC_EXP_FILENAME);
     $sep = ',';
     $csv = array();
     $searchParams = '';
     if (!isset($_GET['orderby'])) {
         $_GET['orderby'] = 'order_asc';
     }
     $orderBy = 'ORDER BY `name`';
     if (isset($_GET['orderby'])) {
         switch ($_GET['orderby']) {
             // Name (ascending)..
             case 'name_asc':
                 $orderBy = 'ORDER BY `name`';
                 break;
                 // Name (descending)..
             // Name (descending)..
             case 'name_desc':
                 $orderBy = 'ORDER BY `name` desc';
                 break;
                 // Email Address (ascending)..
             // Email Address (ascending)..
             case 'email_asc':
                 $orderBy = 'ORDER BY `email`';
                 break;
                 // Email Address (descending)..
             // Email Address (descending)..
             case 'email_desc':
                 $orderBy = 'ORDER BY `email` desc';
                 break;
                 // Most tickets..
             // Most tickets..
             case 'tickets_asc':
                 $orderBy = 'ORDER BY `tickCount` desc';
                 break;
                 // Least tickets..
             // Least tickets..
             case 'tickets_desc':
                 $orderBy = 'ORDER BY `tickCount`';
                 break;
         }
     }
     // Filters..
     if ($_GET['keys']) {
         $_GET['keys'] = mswSafeImportString(strtolower($_GET['keys']));
         $filters[] = "LOWER(`" . DB_PREFIX . "portal`.`name`) LIKE '%" . $_GET['keys'] . "%' OR LOWER(`" . DB_PREFIX . "portal`.`email`) LIKE '%" . $_GET['keys'] . "%' OR LOWER(`" . DB_PREFIX . "portal`.`notes`) LIKE '%" . $_GET['keys'] . "%'";
     }
     if (isset($_GET['ip']) && $_GET['ip']) {
         $filters[] = "`ip` = '" . mswSafeImportString($_GET['ip']) . "'";
     }
     if (isset($_GET['from'], $_GET['to']) && $_GET['from'] && $_GET['to']) {
         $from = $MSDT->mswDatePickerFormat($_GET['from']);
         $to = $MSDT->mswDatePickerFormat($_GET['to']);
         $filters[] = "DATE(FROM_UNIXTIME(`ts`)) BETWEEN '{$from}' AND '{$to}'";
     }
     if (isset($_GET['timezone']) && $_GET['timezone']) {
         $filters[] = "`timezone` = '" . mswSafeImportString($_GET['timezone']) . "'";
     }
     if (isset($_GET['status']) && in_array($_GET['status'], array('yes', 'no'))) {
         $filters[] = "`enabled` = '{$_GET['status']}'";
     }
     if (isset($_GET['c1'], $_GET['c2']) && $_GET['c2'] > 0) {
         $_GET['c1'] = (int) $_GET['c1'];
         $_GET['c2'] = (int) $_GET['c2'];
         $filters[] = "(SELECT count(*) FROM `" . DB_PREFIX . "tickets` WHERE `" . DB_PREFIX . "portal`.`email` = `" . DB_PREFIX . "tickets`.`email` AND `spamFlag` = 'no') BETWEEN '{$_GET['c1']}' AND '{$_GET['c2']}'";
     }
     // Build search string..
     if (!empty($filters)) {
         for ($i = 0; $i < count($filters); $i++) {
             $searchParams .= ($i ? ' AND (' : 'WHERE (') . $filters[$i] . ')';
         }
     }
     $q = mysql_query("SELECT `name`,`email`,`ip`,`timezone` FROM `" . DB_PREFIX . "portal`\n        {$searchParams}\n\t\t{$orderBy}\n\t\t") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__));
     if (mysql_num_rows($q) > 0) {
         while ($ACC = mysql_fetch_object($q)) {
             $csv[] = mswCleanCSV($ACC->name, $sep) . $sep . mswCleanCSV($ACC->email, $sep) . $sep . mswCleanCSV($ACC->ip, $sep) . $sep . mswCleanCSV($ACC->timezone, $sep);
         }
         // Download...
         if (!empty($csv)) {
             // Save file to server and download..
             $dl->write($file, $head . mswDefineNewline() . implode(mswDefineNewline(), $csv));
             if (file_exists($file)) {
                 $dl->dl($file, 'text/csv');
             }
         }
     }
     // If nothing found, just go back to search screen..
     header("Location: index.php?p=accountsearch");
     exit;
 }
Example #15
0
                    }
                }
            }
        } else {
            if (!empty($filters['matches'])) {
                $MSIMAP->log('Message will be deleted because skip filter matches were found. Admin > Imap Spam Filter > Skip Filters. Details to follow.');
                $MSIMAP->log(implode('{nl}', $filters['matches']));
                $MSIMAP->flagMessage($mailbox, $i);
            }
        }
    }
    // Close mailbox..closes mailbox and removes messages marked for deletion..
    $MSIMAP->closeMailbox($mailbox);
    if ($count > 0) {
        if ($IMDT->im_move) {
            $MSIMAP->log('Mailbox closed');
        } else {
            $MSIMAP->log('Mailbox closed and tickets purged');
        }
    }
    // Time calculations..
    $memory = function_exists('memory_get_usage') ? round(memory_get_usage() / 1048576, 2) . 'MB' : 'Unknown';
    $peak = function_exists('memory_get_peak_usage') ? round(memory_get_peak_usage() / 1048576, 2) . 'MB' : 'Unknown';
    $duration = round($MSDT->microtimeFloat() - $time_start, 2) . ' seconds';
    // Is cron output required..
    $done = str_replace(array('{datetime}', '{count}', '{count2}', '{count3}', '{count4}', '{count_msg}', '{memory}', '{peak}', '{duration}', '{count5}', '{count6}'), array($MSDT->mswDateTimeDisplay(0, $SETTINGS->dateformat) . ' @ ' . $MSDT->mswDateTimeDisplay(0, $SETTINGS->timeformat), @number_format($pipes[1]), @number_format($pipes[2]), @number_format($pipes[3]), @number_format($pipes[4]), @number_format($pipes[0]), $memory, $peak, $duration, @number_format($pipes[5]), @number_format($pipes[6])), $msg_piping8);
    echo $done;
    $MSIMAP->log('Operation completed. Information: {nl}{nl}' . str_replace('<br>', mswDefineNewline(), $done));
} else {
    $MSIMAP->log('Fatal error, could not connect to mailbox');
}
Example #16
0
 }
 //------------------------------------
 // Disputes awaiting visitor response
 //------------------------------------
 if ($SETTINGS->disputes == 'yes') {
     $q = mysql_query("SELECT `subject`,`priority`,`" . DB_PREFIX . "tickets`.`id` AS `ticketID`,\n\t     `" . DB_PREFIX . "portal`.`name` AS `ticketName`,\n\t     `" . DB_PREFIX . "tickets`.`ts` AS `ticketStamp`,\n\t     `" . DB_PREFIX . "departments`.`name` AS `deptName`,\n\t     `" . DB_PREFIX . "levels`.`name` AS `levelName`\n\t     FROM `" . DB_PREFIX . "tickets` \n         LEFT JOIN `" . DB_PREFIX . "departments`\n\t     ON `" . DB_PREFIX . "tickets`.`department` = `" . DB_PREFIX . "departments`.`id`\n\t     LEFT JOIN `" . DB_PREFIX . "portal`\n\t     ON `" . DB_PREFIX . "tickets`.`visitorID` = `" . DB_PREFIX . "portal`.`id`\n\t     LEFT JOIN `" . DB_PREFIX . "levels`\n\t     ON `" . DB_PREFIX . "tickets`.`priority`   = `" . DB_PREFIX . "levels`.`id`\n\t      OR `" . DB_PREFIX . "tickets`.`priority`  = `" . DB_PREFIX . "levels`.`marker`\n\t     WHERE `replyStatus` IN('visitor') \n         AND `ticketStatus`   = 'open' \n         AND `isDisputed`     = 'yes'\n         AND `assignedto`    != 'waiting'\n\t\t AND `spamFlag`       = 'no'\n         " . (!empty($dept) ? 'AND (`department` IN(' . implode(',', $dept) . ') OR FIND_IN_SET(\'' . $USERS->id . '\',`assignedto`)>0)' : '') . "\n\t     " . ($USERS->id != '1' && empty($dept) && $USERS->assigned == 'yes' ? 'AND FIND_IN_SET(\'' . $USERS->id . '\',`assignedto`)>0' : '') . "\n         ORDER BY FIELD(`" . DB_PREFIX . "tickets`.`priority`,'high','medium','low'),`levelName`\n         ");
     if ($q && mysql_num_rows($q) > 0) {
         while ($T = mysql_fetch_object($q)) {
             ++$counts[6];
             // Hyperlink..
             $link = mswDefineNewline();
             $link .= $SETTINGS->scriptpath . '/' . $SETTINGS->afolder . '/?ticket=' . $T->ticketID;
             // Get last reply..
             $last = $MSTICKET->getLastReply($T->ticketID);
             $emailDigest[6] .= str_replace(array('{priority}', '{subject}', '{ticket}'), array(strtoupper($MSYS->levels($T->priority)), mswCleanData($T->subject), mswTicketNumber($T->ticketID)), $msg_edigest3) . mswDefineNewline();
             $emailDigest[6] .= str_replace(array('{name}', '{updated}', '{count}'), array(mswCleanData($T->ticketName) . ' (' . $MSDT->mswDateTimeDisplay($T->ticketStamp, $SETTINGS->dateformat) . ' / ' . $MSDT->mswDateTimeDisplay($T->ticketStamp, $SETTINGS->timeformat) . ')', $last[0] != '0' ? mswCleanData($last[0]) . ' (' . $MSDT->mswDateTimeDisplay($last[1], $SETTINGS->dateformat) . ' / ' . $MSDT->mswDateTimeDisplay($last[1], $SETTINGS->timeformat) . ')' : 'N/A', 0), $msg_edigest6) . $link . mswDefineNewline() . mswDefineNewline();
         }
     } else {
         $emailDigest[6] = $msg_edigest2;
     }
 }
 //-------------------------------------------------------------
 // Send Mail, but only if there is something to report about
 //-------------------------------------------------------------
 if (array_sum($counts) > 0) {
     for ($i = 0; $i < count($counts); $i++) {
         $MSMAIL->addTag('{C' . ($i + 1) . '}', @number_format($counts[$i]));
         $MSMAIL->addTag('{DATA_' . ($i + 1) . '}', rtrim($emailDigest[$i]));
     }
     // Additional tags..
     if ($USERS->timezone != '0') {
Example #17
0
function mswNL2BR($text)
{
    // Second param added in 5.3.0, else its not available..
    if (version_compare(phpversion(), '5.3.0', '<')) {
        return str_replace(mswDefineNewline(), '<br>', $text);
    }
    return nl2br($text, false);
}
Example #18
0
 public function exportTicketHistory($dl, $dt)
 {
     global $msg_viewticket113;
     $id = (int) $_GET['exportHistory'];
     $sepr = ',';
     $file = PATH . 'export/' . str_replace(array('{ticket}', '{date}'), array(mswTicketNumber($id), $dt->mswDateTimeDisplay(strtotime(date('Ymd H:i:s')), 'dmY-his')), supportTickets::TICKET_HISTORY_FILENAME);
     $data = $msg_viewticket113 . mswDefineNewline();
     $qTH = mysql_query("SELECT * FROM `" . DB_PREFIX . "tickethistory`\n           WHERE `ticketID` = '{$id}'\n           ORDER BY `ts` DESC\n           ") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__));
     while ($HIS = mysql_fetch_object($qTH)) {
         $data .= mswCleanCSV($dt->mswDateTimeDisplay($HIS->ts, $this->settings->dateformat), $sepr) . $sepr . mswCleanCSV($dt->mswDateTimeDisplay($HIS->ts, $this->settings->timeformat), $sepr) . $sepr . mswCleanCSV($HIS->action, $sepr) . mswDefineNewline();
     }
     if (mysql_num_rows($qTH) > 0) {
         // Save file to server and download..
         $dl->write($file, rtrim($data));
         if (file_exists($file)) {
             $dl->dl($file, 'text/csv');
         }
     }
 }
Example #19
0
                // Ticket information..
                $SUPTICK = mswGetTableData('tickets', 'id', $ID);
                // Array of ticket subjects assigned to users..
                foreach ($_POST['users'][$ID] as $userID) {
                    $tickets[$userID][] = str_replace(array('{id}', '{subject}'), array(mswTicketNumber($ID), $SUPTICK->subject), $msg_assign7);
                    $userNotify[] = $userID;
                }
                // Update ticket..
                $MSTICKET->ticketUserAssign($ID, implode(',', $_POST['users'][$ID]), $msg_ticket_history['assign']);
            }
        }
    }
    // Email users..
    if (!empty($userNotify) && !empty($tickets) && isset($_POST['mail'])) {
        $q = mysql_query("SELECT `id`,`name`,`email`,`email2` FROM `" . DB_PREFIX . "users`\n               WHERE `id` IN(" . implode(',', $userNotify) . ")\n\t\t\t   GROUP BY `id`\n               ORDER BY `name`\n               ") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__));
        while ($USERS = mysql_fetch_object($q)) {
            $MSMAIL->addTag('{ASSIGNEE}', $MSTEAM->name);
            $MSMAIL->addTag('{NAME}', $USERS->name);
            $MSMAIL->addTag('{TICKETS}', trim(implode(mswDefineNewline(), $tickets[$USERS->id])));
            // Send mail..
            $MSMAIL->sendMSMail(array('from_email' => $MSTEAM->emailFrom ? $MSTEAM->emailFrom : $MSTEAM->email, 'from_name' => $MSTEAM->nameFrom ? $MSTEAM->nameFrom : $MSTEAM->name, 'to_email' => $USERS->email, 'to_name' => $USERS->name, 'subject' => str_replace(array('{website}', '{user}'), array($SETTINGS->website, $MSTEAM->name), $emailSubjects['ticket-assign']), 'replyto' => array('name' => $SETTINGS->website, 'email' => $SETTINGS->replyto ? $SETTINGS->replyto : $SETTINGS->email), 'template' => LANG_PATH . 'admin-ticket-assign.txt', 'language' => $SETTINGS->language, 'alive' => 'yes', 'add-emails' => $USERS->email2));
        }
    }
    $OK2 = true;
}
$title = $msg_adheader32;
$loadJQAlertify = true;
$loadJQNyroModal = true;
include PATH . 'templates/header.php';
include PATH . 'templates/system/tickets/tickets-assign.php';
include PATH . 'templates/footer.php';
Example #20
0
 public function getSqlKeysTable($table)
 {
     $primary = '';
     $sqlKeyStatement = '';
     $unique = array();
     $index = array();
     $fulltext = array();
     $results = mysql_query("SHOW KEYS FROM `{$table}`");
     if (mysql_num_rows($results) == 0) {
         return false;
     }
     while ($row = mysql_fetch_object($results)) {
         if ($row->Key_name == 'PRIMARY' and $row->Index_type == 'BTREE') {
             if ($primary == '') {
                 $primary = "  PRIMARY KEY  (`{$row->Column_name}`";
             } else {
                 $primary .= ", `{$row->Column_name}`";
             }
         }
         if ($row->Key_name != 'PRIMARY' and $row->Non_unique == '0' and $row->Index_type == 'BTREE') {
             if (!isset($unique[$row->Key_name])) {
                 $unique[$row->Key_name] = "  UNIQUE KEY `{$row->Key_name}` (`{$row->Column_name}`";
             } else {
                 $unique[$row->Key_name] .= ", `{$row->Column_name}`";
             }
         }
         if ($row->Key_name != 'PRIMARY' and $row->Non_unique == '1' and $row->Index_type == 'BTREE') {
             if (!isset($index[$row->Key_name])) {
                 $index[$row->Key_name] = "  KEY `{$row->Key_name}` (`{$row->Column_name}`";
             } else {
                 $index[$row->Key_name] .= ", `{$row->Column_name}`";
             }
         }
         if ($row->Key_name != 'PRIMARY' and $row->Non_unique == '1' and $row->Index_type == 'FULLTEXT') {
             if (!isset($fulltext[$row->Key_name])) {
                 $fulltext[$row->Key_name] = "  FULLTEXT `{$row->Key_name}` (`{$row->Column_name}`";
             } else {
                 $fulltext[$row->Key_name] .= ", `{$row->Column_name}`";
             }
         }
     }
     if ($primary != '') {
         $sqlKeyStatement .= "," . mswDefineNewline();
         $primary .= ")";
         $sqlKeyStatement .= $primary;
     }
     if (is_array($unique)) {
         foreach ($unique as $keyName => $keyDef) {
             $sqlKeyStatement .= "," . mswDefineNewline();
             $keyDef .= ")";
             $sqlKeyStatement .= $keyDef;
         }
     }
     if (is_array($index)) {
         foreach ($index as $keyName => $keyDef) {
             $sqlKeyStatement .= "," . mswDefineNewline();
             $keyDef .= ")";
             $sqlKeyStatement .= $keyDef;
         }
     }
     if (is_array($fulltext)) {
         foreach ($fulltext as $keyName => $keyDef) {
             $sqlKeyStatement .= "," . mswDefineNewline();
             $keyDef .= ")";
             $sqlKeyStatement .= $keyDef;
         }
     }
     return $sqlKeyStatement;
 }
Example #21
0
$msg_viewticket122 = 'Reloading ticket #{id}...please wait..';
$msg_script43 = 'Actions';
// DO NOT alter array keys (left values)..
$msg_script44 = array('name_asc' => 'Name (A-Z)', 'name_desc' => 'Name (Z-A)', 'subject_asc' => 'Subject (A-Z)', 'subject_desc' => 'Subject (Z-A)', 'id_asc' => 'Ticket ID (0-9)', 'id_desc' => 'Ticket ID (9-0)', 'pr_asc' => 'Priority (A-Z)', 'pr_desc' => 'Priority (Z-A)', 'dept_asc' => 'Department (A-Z)', 'dept_desc' => 'Department (Z-A)', 'rev_asc' => 'Date Updated (Newest)', 'rev_desc' => 'Date Updated (Oldest)', 'date_asc' => 'Date Added (Newest)', 'date_desc' => 'Date Added (Oldest)');
$msg_script45 = 'Order By';
$msg_script46 = 'Add';
$msg_script47 = 'Remove';
$msg_script48 = 'Enabled';
$msg_script49 = 'Disabled';
$msg_script50 = 'Per Page';
$msg_script51 = 'Show';
$msg_script52 = 'Oops';
$msg_script53 = 'Back to Admin';
$msg_script54 = 'Back to Main Page';
$msg_script55 = 'Please wait..';
$msg_script56 = 'Ticket: #{ticket}' . mswDefineNewline() . 'Subject: {subject}';
$msg_script57 = 'Powered by';
$msg_script58 = 'Thanks to';
// Error related or action confirmation..
$msg_script_action = 'Confirm Action..\\n\\nAre you sure?';
$msg_script_action2 = 'Error, cannot connect to mailbox. Check connection details or enter folder manually..';
$msg_script_action3 = 'Fatal Error: Imap functions NOT enabled on server.';
$msg_script_action4 = 'Users in Dispute';
$msg_script_action5 = 'Warning: If the assigned flag is removed and assigned tickets exist, they will revert to standard tickets viewable by department only.';
$msg_script_action6 = 'Invalid email address..';
$msg_script_action7 = 'No account found, please check email..';
$msg_script_action8 = 'Thank you, please check your inbox at "{email}"';
$msg_script_action9 = '{count} Email(s) Sent, please check inbox(es)..';
$msg_script_action10 = 'This is a test message, sent via the {website} support system.';
// API..
$msg_api = '{count} tickets added';
Example #22
0
 public function appendFooterToEmails()
 {
     if (LICENCE_VER == 'unlocked') {
         return '';
     }
     $string = mswDefineNewline() . mswDefineNewline();
     $string .= 'Free HelpDesk System Powered by ' . SCRIPT_NAME . mswDefineNewline();
     $string .= 'http://www.' . SCRIPT_URL;
     return $string;
 }
Example #23
0
 public function ticketList($email, $lv, $count = false, $queryAdd = '')
 {
     global $msg_portal8, $msg_public_history7, $msg_portal7, $msg_portal21, $msg_showticket23, $msg_showticket24, $msg_script30, $msg_public_dashboard6, $msg_public_dashboard7;
     $data = '';
     $sch = '';
     $qft = array();
     $oft = 'ORDER BY `' . DB_PREFIX . 'tickets`.`id` DESC';
     // Check for search mode..
     if (isset($_GET['qt'])) {
         // Load the skip words array..
         include PATH . 'control/skipwords.php';
         $chop = array_map('trim', explode(' ', urldecode($_GET['qt'])));
         if (!empty($chop)) {
             foreach ($chop as $word) {
                 if (!in_array($word, $searchSkipWords) && strlen($word) > 1) {
                     $word = strtolower($word);
                     $sch .= (!$sch ? '' : 'OR ') . "LOWER(`subject`) LIKE '%" . mswSafeImportString(mswCleanData($word)) . "%' OR LOWER(`comments`) LIKE '%" . mswSafeImportString(mswCleanData($word)) . "%'";
                 }
             }
             if ($sch) {
                 $qft[] = 'AND (' . $sch . ')';
             }
         }
     }
     // Order filters..
     if (isset($_GET['order'])) {
         switch ($_GET['order']) {
             // Subject (ascending)..
             case 'subject_asc':
                 $oft = 'ORDER BY `subject`';
                 break;
                 // Subject (descending)..
             // Subject (descending)..
             case 'subject_desc':
                 $oft = 'ORDER BY `subject` desc';
                 break;
                 // TicketID (ascending)..
             // TicketID (ascending)..
             case 'id_asc':
                 $oft = 'ORDER BY `ticketID`';
                 break;
                 // TicketID (descending)..
             // TicketID (descending)..
             case 'id_desc':
                 $oft = 'ORDER BY `ticketID` desc';
                 break;
                 // Priority (ascending)..
             // Priority (ascending)..
             case 'pr_asc':
                 $oft = 'ORDER BY `levelName`';
                 break;
                 // Priority (descending)..
             // Priority (descending)..
             case 'pr_desc':
                 $oft = 'ORDER BY `levelName` desc';
                 break;
                 // Department (ascending)..
             // Department (ascending)..
             case 'dept_asc':
                 $oft = 'ORDER BY `deptName`';
                 break;
                 // Department (descending)..
             // Department (descending)..
             case 'dept_desc':
                 $oft = 'ORDER BY `deptName` desc';
                 break;
                 // Date Updated (ascending)..
             // Date Updated (ascending)..
             case 'rev_asc':
                 $oft = 'ORDER BY `lastrevision`';
                 break;
                 // Date Updated (descending)..
             // Date Updated (descending)..
             case 'rev_desc':
                 $oft = 'ORDER BY `lastrevision` desc';
                 break;
                 // Date Added (ascending)..
             // Date Added (ascending)..
             case 'date_asc':
                 $oft = 'ORDER BY `' . DB_PREFIX . 'tickets`.`ts`';
                 break;
                 // Date Added (descending)..
             // Date Added (descending)..
             case 'date_desc':
                 $oft = 'ORDER BY `' . DB_PREFIX . 'tickets`.`ts` desc';
                 break;
         }
     }
     // Service level and department filters..
     if (isset($_GET['filter'])) {
         $qft[] = 'AND `priority` = \'' . mswSafeImportString($_GET['filter']) . '\'';
     }
     if (isset($_GET['dept'])) {
         $qft[] = 'AND `department` = \'' . mswSafeImportString($_GET['dept']) . '\'';
     }
     $lWrap = file_get_contents(PATH . 'content/' . MS_TEMPLATE_SET . '/html/tickets/tickets-last-reply-date.htm');
     $q = mysql_query("SELECT SQL_CALC_FOUND_ROWS *,\n           `" . DB_PREFIX . "tickets`.`id` AS `ticketID`,\n\t\t   `" . DB_PREFIX . "tickets`.`ts` AS `ticketStamp`,\n\t       `" . DB_PREFIX . "portal`.`name` AS `ticketName`,\n\t       `" . DB_PREFIX . "departments`.`name` AS `deptName`,\n\t       `" . DB_PREFIX . "levels`.`name` AS `levelName`\n\t\t   FROM `" . DB_PREFIX . "tickets`\n\t\t   LEFT JOIN `" . DB_PREFIX . "departments`\n\t       ON `" . DB_PREFIX . "tickets`.`department` = `" . DB_PREFIX . "departments`.`id`\n\t\t   LEFT JOIN `" . DB_PREFIX . "portal`\n\t       ON `" . DB_PREFIX . "tickets`.`visitorID`  = `" . DB_PREFIX . "portal`.`id`\n\t       LEFT JOIN `" . DB_PREFIX . "levels`\n\t       ON `" . DB_PREFIX . "tickets`.`priority`   = `" . DB_PREFIX . "levels`.`id`\n\t        OR `" . DB_PREFIX . "tickets`.`priority`  = `" . DB_PREFIX . "levels`.`marker`\n           WHERE `" . DB_PREFIX . "portal`.`email`    = '{$email}'\n\t\t   AND `isDisputed`                       = 'no'\n\t\t   AND `spamFlag`                         = 'no'\n\t\t   " . $queryAdd . "\n\t\t   " . (!empty($qft) ? implode(mswDefineNewline(), $qft) : '') . "\n           {$oft}\n\t\t   LIMIT " . $lv[0] . "," . $lv[1] . "\n           ") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__));
     if ($count) {
         $c = mysql_fetch_object(mysql_query("SELECT FOUND_ROWS() AS `rows`"));
         return isset($c->rows) ? $c->rows : '0';
     }
     while ($T = mysql_fetch_object($q)) {
         $last = tickets::getLastReply($T->ticketID);
         // Ticket starter..
         $starter = mswSpecialChars($T->ticketName);
         $lastRep = '';
         $replyBy = '- - - -';
         if ($last[0] != '0') {
             $lastRep = str_replace(array('{date}', '{time}'), array($this->datetime->mswDateTimeDisplay($last[1], $this->settings->dateformat), $this->datetime->mswDateTimeDisplay($last[1], $this->settings->timeformat)), $lWrap);
             $replyBy = $last[0];
         }
         $data .= str_replace(array('{ticket_id}', '{subject}', '{priority}', '{dept}', '{started_by}', '{url}', '{text_alt}', '{start_date}', '{start_time}', '{last_reply}', '{status}', '{icon}', '{users_in_dispute}', '{view}', '{last_reply_dashboard}'), array(mswTicketNumber($T->ticketID), mswSpecialChars($T->subject), tickets::levels($T->priority), $this->system->department($T->department, $msg_script30), $starter, '?t=' . $T->ticketID, mswCleanData($msg_portal8), $this->datetime->mswDateTimeDisplay($T->ticketStamp, $this->settings->dateformat), $this->datetime->mswDateTimeDisplay($T->ticketStamp, $this->settings->timeformat), $replyBy . $lastRep, $T->ticketStatus == 'open' ? $msg_showticket23 : $msg_showticket24, $T->ticketStatus == 'open' ? 'eye-open' : 'eye-close', '', $msg_public_dashboard6, tickets::dashboardStatus($T, 'no')), file_get_contents(PATH . 'content/' . MS_TEMPLATE_SET . '/html/tickets/' . ($queryAdd ? 'tickets-dashboard' : 'ticket-list-entry') . '.htm'));
     }
     return $data ? trim($data) : str_replace('{text}', $sch ? $msg_portal21 : ($queryAdd ? $msg_public_dashboard7 : $msg_portal7), file_get_contents(PATH . 'content/' . MS_TEMPLATE_SET . '/html/tickets/tickets-no-data.htm'));
 }
Example #24
0
 function mswSoftwareVersionCheck()
 {
     $url = 'http://www.maianscriptworld.co.uk/version-check.php?id=' . SCRIPT_ID;
     $str = '';
     if (function_exists('curl_init')) {
         $ch = @curl_init();
         @curl_setopt($ch, CURLOPT_URL, $url);
         @curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
         $result = @curl_exec($ch);
         @curl_close($ch);
         if ($result) {
             if ($result != $this->settings->softwareVersion) {
                 $str = 'Installed Version: ' . $this->settings->softwareVersion . mswDefineNewline();
                 $str .= 'Current Version: ' . $result . mswDefineNewline() . mswDefineNewline();
                 $str .= '<i class="icon-warning-sign"></i> Your version is out of date.' . mswDefineNewline() . mswDefineNewline();
                 $str .= 'Download new version at:' . mswDefineNewline();
                 $str .= '<a href="http://www.' . SCRIPT_URL . '/download.html" onclick="window.open(this);return false">www.' . SCRIPT_URL . '</a>';
             } else {
                 $str = 'Current Version: ' . $this->settings->softwareVersion . mswDefineNewline() . mswDefineNewline() . '<i class="icon-ok"></i> You are currently using the latest version';
             }
         }
     } else {
         if (@ini_get('allow_url_fopen') == '1') {
             $result = @file_get_contents($url);
             if ($result) {
                 if ($result != $this->settings->softwareVersion) {
                     $str = 'Installed Version: ' . $this->settings->softwareVersion . mswDefineNewline();
                     $str .= 'Current Version: ' . $result . mswDefineNewline() . mswDefineNewline();
                     $str .= '<i class="icon-warning-sign"></i> Your version is out of date.' . mswDefineNewline() . mswDefineNewline();
                     $str .= 'Download new version at:' . mswDefineNewline();
                     $str .= '<a href="http://www.' . SCRIPT_URL . '/download.html" onclick="window.open(this);return false">www.' . SCRIPT_URL . '</a>';
                 } else {
                     $str = 'Current Version: ' . $this->settings->softwareVersion . mswDefineNewline() . mswDefineNewline() . '<i class="icon-ok"></i> You are currently using the latest version';
                 }
             }
         }
     }
     // Nothing?
     if ($str == '') {
         $str = '<i class="icon-warning-sign"></i> Server check functions not available.' . mswDefineNewline() . mswDefineNewline();
         $str .= 'Please visit <a href="http://www.' . SCRIPT_URL . '/download.html" onclick="window.open(this);return false">www.' . SCRIPT_URL . '</a> to check for updates';
     }
     return $str;
 }
 public function buildTextArea($text, $id, $tabIndex, $value = '')
 {
     return mswDefineNewline() . '<label class="textHead">' . $text . '</label>' . mswDefineNewline() . '<div class="dataArea"><textarea tabindex="' . $tabIndex . '" rows="5" cols="40" name="customField[' . $id . ']">' . mswSpecialChars($value) . '</textarea></div>' . mswDefineNewline();
 }
Example #26
0
function mswlogDBError($table, $error, $code, $line, $file, $type = 'Create')
{
    $header = '';
    if (!file_exists(REL_PATH . 'logs/install-error-report.txt')) {
        $query = @mysql_query("SELECT VERSION() AS v");
        $VERSION = @mysql_fetch_object($query);
        $header = 'Script: ' . SCRIPT_NAME . mswDefineNewline();
        $header .= 'Script Version: ' . SCRIPT_VERSION . mswDefineNewline();
        $header .= 'PHP Version: ' . phpVersion() . mswDefineNewline();
        $header .= 'MySQL Version: ' . (isset($VERSION->v) ? $VERSION->v : 'Unknown') . mswDefineNewline();
        if (isset($_SERVER['SERVER_SOFTWARE'])) {
            $header .= 'Server Software: ' . $_SERVER['SERVER_SOFTWARE'] . mswDefineNewline();
        }
        if (isset($_SERVER["HTTP_USER_AGENT"])) {
            if (strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'win')) {
                $platform = 'Windows';
            } else {
                if (strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'mac')) {
                    $platform = 'Mac';
                } else {
                    $platform = 'Other';
                }
            }
            $header .= 'Platform: ' . $platform . mswDefineNewline();
        }
        $header .= '=================================================================================' . mswDefineNewline();
    }
    $string = 'Table: ' . $table . mswDefineNewline();
    $string .= 'Operation: ' . $type . mswDefineNewline();
    $string .= 'Error Code: ' . $code . mswDefineNewline();
    $string .= 'Error Msg: ' . $error . mswDefineNewline();
    $string .= 'On Line: ' . $line . mswDefineNewline();
    $string .= 'In File: ' . $file . mswDefineNewline();
    $string .= '- - - - - - - - - - - - - - - - - - - - - ' . mswDefineNewline();
    if (is_writeable(REL_PATH . 'logs')) {
        $fp = fopen(REL_PATH . 'logs/install-error-report.txt', 'ab');
        if ($fp) {
            fwrite($fp, $header . $string);
            fclose($fp);
        }
    }
}
Example #27
0
}
// Vars..
$from = isset($_GET['from']) && $MSDT->mswDatePickerFormat($_GET['from']) != '0000-00-00' ? $_GET['from'] : $MSDT->mswConvertMySQLDate(date('Y-m-d', strtotime('-6 months', $MSDT->mswTimeStamp())));
$to = isset($_GET['to']) && $MSDT->mswDatePickerFormat($_GET['to']) != '0000-00-00' ? $_GET['to'] : $MSDT->mswConvertMySQLDate(date('Y-m-d', $MSDT->mswTimeStamp()));
$view = isset($_GET['view']) && in_array($_GET['view'], array('month', 'day')) ? $_GET['view'] : 'month';
$dept = isset($_GET['dept']) ? $_GET['dept'] : '0';
$cns = array(0, 0, 0, 0);
$where = 'WHERE DATE(FROM_UNIXTIME(`ts`)) BETWEEN \'' . $MSDT->mswDatePickerFormat($from) . '\' AND \'' . $MSDT->mswDatePickerFormat($to) . '\'';
if (substr($dept, 0, 1) == 'u') {
    $where .= mswDefineNewline() . 'AND FIND_IN_SET(\'' . substr($dept, 1) . '\',`assignedto`) > 0';
} else {
    if ($dept > 0) {
        $where .= mswDefineNewline() . 'AND `department` = \'' . $dept . '\'';
    }
}
$where .= mswDefineNewline() . 'AND `assignedto` != \'waiting\'';
switch ($view) {
    case 'month':
        $q = mysql_query("SELECT *,MONTH(FROM_UNIXTIME(`ts`)) AS `m`,YEAR(FROM_UNIXTIME(`ts`)) AS `y` FROM `" . DB_PREFIX . "tickets` \n       {$where}\n\t   AND `spamFlag` = 'no'\n       GROUP BY MONTH(FROM_UNIXTIME(`ts`)),YEAR(FROM_UNIXTIME(`ts`))\n       ORDER BY 2\n       ") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__));
        $ticketNumRows = mysql_num_rows($q);
        break;
    case 'day':
        $q = mysql_query("SELECT *,DATE(FROM_UNIXTIME(`ts`)) AS `d` FROM `" . DB_PREFIX . "tickets` \n       {$where}\n\t   AND `spamFlag` = 'no'\n       GROUP BY DATE(FROM_UNIXTIME(`ts`))\n       ORDER BY 2\n       ") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__));
        $ticketNumRows = mysql_num_rows($q);
        break;
}
?>
<div class="content">
  <script type="text/javascript">
  //<![CDATA[
  <?php