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; }
public function exportLogFile($dl) { global $msg_log15, $msg_log14; if (!is_writeable(PATH . 'export')) { die('<b>export</b> directory must be writeable for this operation. Check and try again..'); } $file = PATH . 'export/' . str_replace('{date}', date('dmY-his'), systemSettings::ENTRY_LOG_FILENAME); $data = ''; $sepr = ','; $from = isset($_GET['from']) && $this->datetime->mswDatePickerFormat($_GET['from']) != '0000-00-00' ? $_GET['from'] : ''; $to = isset($_GET['to']) && $this->datetime->mswDatePickerFormat($_GET['to']) != '0000-00-00' ? $_GET['to'] : ''; $type = isset($_GET['type']) && in_array($_GET['type'], array('user', 'acc')) ? $_GET['type'] : ''; $keys = ''; $where = array(); if (isset($_GET['q'])) { $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 \'' . $this->datetime->mswDatePickerFormat($from) . '\' AND \'' . $this->datetime->mswDatePickerFormat($to) . '\''; } $q_log = mysql_query("SELECT *,\n `" . DB_PREFIX . "log`.`ts` AS `lts`,\n\t\t `" . DB_PREFIX . "log`.`userID` AS `personID`,\n\t\t `" . DB_PREFIX . "portal`.`name` AS `portalName`,\n\t\t `" . DB_PREFIX . "log`.`ip` AS `entryLogIP`,\n\t\t `" . DB_PREFIX . "users`.`name` AS `userName`\n\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 LEFT JOIN `" . DB_PREFIX . "portal`\n ON `" . DB_PREFIX . "log`.`userID` = `" . DB_PREFIX . "portal`.`id` \n\t\t " . (!empty($where) ? implode(mswDefineNewline(), $where) : '') . "\n ORDER BY `" . DB_PREFIX . "log`.`id` DESC\n ") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__)); while ($LOG = mysql_fetch_object($q_log)) { $data .= mswCleanCSV($LOG->type == 'acc' ? $LOG->portalName : $LOG->userName, $sepr) . $sepr . ($LOG->type == 'user' ? $msg_log15 : $msg_log14) . $sepr . mswCleanCSV($LOG->entryLogIP, $sepr) . $sepr . mswCleanCSV($this->datetime->mswDateTimeDisplay($LOG->lts, $this->settings->dateformat), $sepr) . $sepr . mswCleanCSV($this->datetime->mswDateTimeDisplay($LOG->lts, $this->settings->timeformat), $sepr) . mswDefineNewline(); } // Save file to server and download.. $dl->write($file, rtrim($data)); if (file_exists($file)) { $dl->dl($file, 'text/csv'); } exit; }
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'); } } }