public function mswWordWrap($text) { if ($this->wordwrap[0] == 'on') { return wordwrap($text, $this->wordwrap[1], mswDefineNewline(), true); } return $text; }
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 : ''; }
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>'; }
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); } }
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); } }
$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&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') {
<?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 == '') {
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); }
$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..
$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 & 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');
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); }
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; }
} } } } 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'); }
} //------------------------------------ // 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') {
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); }
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'); } } }
// 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';
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; }
$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';
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; }
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')); }
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(); }
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); } } }
} // 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