'activeHelper_liveHelp_offlineMessagesList' ); if (!empty($_REQUEST['action']) && isset($actions[$_REQUEST['action']])) return $actions[$_REQUEST['action']](); return $actions['list'](); } function activeHelper_liveHelp_offlineMessagesPost() { $actions = array( 'export' => 'activeHelper_liveHelp_offlineMessagesExportPost', 'list' => 'activeHelper_liveHelp_offlineMessagesListPost', 'status' => 'activeHelper_liveHelp_offlineMessagesStatusPost', 'delete' => 'activeHelper_liveHelp_offlineMessagesDeletePost' ); if (!empty($_REQUEST['action']) && isset($actions[$_REQUEST['action']])) return $actions[$_REQUEST['action']](); if (empty($_REQUEST['action'])) return $actions['list'](); } function activeHelper_liveHelp_offlineMessagesExportPost() { global $wpdb, $activeHelper_liveHelp; $timeEnd = !empty($_REQUEST['export_end_date']) ? strtotime((string) $_REQUEST['export_end_date']) : time(); $timeStart = !empty($_REQUEST['export_start_date']) ? strtotime((string) $_REQUEST['export_start_date']) : mktime(0, 0, 0, date("n", $timeEnd) - 1, date("j", $timeEnd), date("Y", $timeEnd)); $offlineMessagesList = $wpdb->get_results(" SELECT jlom.id, jlom.name, jlom.email, jld.name AS domain, jlom.datetime, jlom.message, jlom.answered FROM {$wpdb->prefix}livehelp_offline_messages AS jlom, {$wpdb->prefix}livehelp_domains AS jld WHERE DATE_FORMAT(jlom.datetime,'%Y%m%d') >= DATE_FORMAT('" . date("Y-m-d", $timeStart) . "', '%Y%m%d') AND DATE_FORMAT(jlom.datetime, '%Y%m%d') <= DATE_FORMAT('" . date("Y-m-d", $timeEnd) . "', '%Y%m%d') AND jlom.id_domain = jld.id_domain ORDER BY jlom.id desc, jld.name ", ARRAY_A); $export = '"Answered","Name","Email","Domain name","Date","Message"'; if (!empty($offlineMessagesList)) foreach ($offlineMessagesList as $offlineMessages) { $export .= "\n" . '"' . ($offlineMessages['answered'] == 1 ? 'Yes' : 'No') . '","' . $offlineMessages['name'] . '","' . $offlineMessages['email'] . '","' . $offlineMessages['domain'] . '","' . $offlineMessages['datetime'] . '","' . $offlineMessages['message'] . '"'; } header("Cache-Control: public"); header("Content-Description: File Transfer"); header("Content-Disposition: attachment; filename=LiveHelp_OfflineMessages_" . date("Y-m-d", $timeStart) . "~" . date("Y-m-d", $timeEnd) . ".csv"); header("Content-Type: text/csv; text/comma-separated-values"); header("Content-Transfer-Encoding: binary"); echo $export; exit(); } function activeHelper_liveHelp_offlineMessagesListPost() { global $wpdb, $activeHelper_liveHelp; wp_enqueue_script('jquery'); wp_enqueue_script('jquery-ui-core'); wp_enqueue_script('jquery-ui-datepicker', $activeHelper_liveHelp['baseUrl'] . '/scripts/jquery.ui.datepicker.min.js', array('jquery', 'jquery-ui-core') ); wp_enqueue_style('jquery.ui.theme', $activeHelper_liveHelp['baseUrl'] . '/scripts/smoothness/jquery-ui-1.8.16.custom.css'); } function activeHelper_liveHelp_offlineMessagesStatusPost() { global $wpdb, $activeHelper_liveHelp; $timeEnd = !empty($_REQUEST['export_end_date']) ? strtotime((string) $_REQUEST['export_end_date']) : time(); $timeStart = !empty($_REQUEST['export_start_date']) ? strtotime((string) $_REQUEST['export_start_date']) : mktime(0, 0, 0, date("n", $timeEnd) - 1, date("j", $timeEnd), date("Y", $timeEnd)); $_REQUEST['id'] = !empty($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0; if (empty($_REQUEST['id'])) { wp_redirect('admin.php?page=' . strtolower('activeHelper_liveHelp_offlineMessages') . '&miss&export_start_date=' . date("Y-m-d", $timeStart) . '&export_end_date=' . date("Y-m-d", $timeEnd)); exit; } $wpdb->query(" UPDATE {$wpdb->prefix}livehelp_offline_messages SET answered = IF(answered <> 1, 1, 0) WHERE id = '{$_REQUEST['id']}' "); wp_redirect('admin.php?page=' . strtolower('activeHelper_liveHelp_offlineMessages') . '&status&export_start_date=' . date("Y-m-d", $timeStart) . '&export_end_date=' . date("Y-m-d", $timeEnd)); exit; } function activeHelper_liveHelp_offlineMessagesDeletePost() { global $wpdb, $activeHelper_liveHelp; $timeEnd = !empty($_REQUEST['export_end_date']) ? strtotime((string) $_REQUEST['export_end_date']) : time(); $timeStart = !empty($_REQUEST['export_start_date']) ? strtotime((string) $_REQUEST['export_start_date']) : mktime(0, 0, 0, date("n", $timeEnd) - 1, date("j", $timeEnd), date("Y", $timeEnd)); $_REQUEST['id'] = !empty($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0; if (empty($_REQUEST['id'])) { wp_redirect('admin.php?page=' . strtolower('activeHelper_liveHelp_offlineMessages') . '&miss&export_start_date=' . date("Y-m-d", $timeStart) . '&export_end_date=' . date("Y-m-d", $timeEnd)); exit; } $wpdb->query(" DELETE FROM {$wpdb->prefix}livehelp_offline_messages WHERE id = '{$_REQUEST['id']}' "); wp_redirect('admin.php?page=' . strtolower('activeHelper_liveHelp_offlineMessages') . '&delete&export_start_date=' . date("Y-m-d", $timeStart) . '&export_end_date=' . date("Y-m-d", $timeEnd)); exit; } function activeHelper_liveHelp_offlineMessagesList() { global $wpdb, $activeHelper_liveHelp; $timeEnd = !empty($_REQUEST['export_end_date']) ? strtotime((string) $_REQUEST['export_end_date']) : time(); $timeStart = !empty($_REQUEST['export_start_date']) ? strtotime((string) $_REQUEST['export_start_date']) : mktime(0, 0, 0, date("n", $timeEnd) - 1, date("j", $timeEnd), date("Y", $timeEnd)); $offlineMessagesList = $wpdb->get_results(" SELECT jlom.id, jlom.name, jlom.email, jld.name AS domain, jlom.datetime, jlom.message, jlom.answered FROM {$wpdb->prefix}livehelp_offline_messages AS jlom, {$wpdb->prefix}livehelp_domains AS jld WHERE DATE_FORMAT(jlom.datetime,'%Y%m%d') >= DATE_FORMAT('" . date("Y-m-d", $timeStart) . "', '%Y%m%d') AND DATE_FORMAT(jlom.datetime, '%Y%m%d') <= DATE_FORMAT('" . date("Y-m-d", $timeEnd) . "', '%Y%m%d') AND jlom.id_domain = jld.id_domain ORDER BY jlom.id desc, jld.name ", ARRAY_A); echo '
'; }