diff --git a/app/email_logs/app_languages.php b/app/email_logs/app_languages.php index 33a76a64de..94f85c0804 100644 --- a/app/email_logs/app_languages.php +++ b/app/email_logs/app_languages.php @@ -61,7 +61,7 @@ $text['message-resend_failed']['ru-ru'] = "Повторная отправка $text['message-resend_failed']['sv-se'] = "Skicka Misslyckade Igen"; $text['message-resend_failed']['uk-ua'] = ""; -$text['message-message_resent']['en-us'] = "Message Resent"; +$text['message-message_resent']['en-us'] = "Message(s) Resent"; $text['message-message_resent']['ar-eg'] = ""; $text['message-message_resent']['de-at'] = "Nachricht erneut gesendet"; //copied from de-de $text['message-message_resent']['de-ch'] = "Nachricht erneut gesendet"; //copied from de-de @@ -121,6 +121,26 @@ $text['message-decoding_error']['ru-ru'] = "Ошибка декодирован $text['message-decoding_error']['sv-se'] = "MIME Message Decoding Erro"; $text['message-decoding_error']['uk-ua'] = ""; +$text['message-download_failed']['en-us'] = "Download Failed"; +$text['message-download_failed']['ar-eg'] = "Download Failed"; +$text['message-download_failed']['de-at'] = "Download Failed"; +$text['message-download_failed']['de-ch'] = "Download Failed"; +$text['message-download_failed']['de-de'] = "Download Failed"; +$text['message-download_failed']['es-cl'] = "Download Failed"; +$text['message-download_failed']['es-mx'] = "Download Failed"; +$text['message-download_failed']['fr-ca'] = "Download Failed"; +$text['message-download_failed']['fr-fr'] = "Download Failed"; +$text['message-download_failed']['he-il'] = "Download Failed"; +$text['message-download_failed']['it-it'] = "Download Failed"; +$text['message-download_failed']['nl-nl'] = "Download Failed"; +$text['message-download_failed']['pl-pl'] = "Download Failed"; +$text['message-download_failed']['pt-br'] = "Download Failed"; +$text['message-download_failed']['pt-pt'] = "Download Failed"; +$text['message-download_failed']['ro-ro'] = "Download Failed"; +$text['message-download_failed']['ru-ru'] = "Download Failed"; +$text['message-download_failed']['sv-se'] = "Download Failed"; +$text['message-download_failed']['uk-ua'] = "Download Failed"; + $text['label-type_voicemail']['en-us'] = "Voicemail"; $text['label-type_voicemail']['ar-eg'] = ""; $text['label-type_voicemail']['de-at'] = "Mailbox"; //copied from de-de @@ -141,6 +161,26 @@ $text['label-type_voicemail']['ru-ru'] = "Голосовая Почта"; $text['label-type_voicemail']['sv-se'] = "Röstbrevlåda"; $text['label-type_voicemail']['uk-ua'] = ""; +$text['label-type_missed']['en-us'] = "Missed Call"; +$text['label-type_missed']['ar-eg'] = ""; +$text['label-type_missed']['de-at'] = "Verpasster Anruf"; //copied from de-de +$text['label-type_missed']['de-ch'] = "Verpasster Anruf"; //copied from de-de +$text['label-type_missed']['de-de'] = "Verpasster Anruf"; +$text['label-type_missed']['es-cl'] = "Llamada Perdida"; +$text['label-type_missed']['es-mx'] = "Llamada Perdida"; //copied from es-cl +$text['label-type_missed']['fr-ca'] = "Appel Manqué"; //copied from fr-fr +$text['label-type_missed']['fr-fr'] = "Appel Manqué"; +$text['label-type_missed']['he-il'] = "שיחה שלא נענתה"; +$text['label-type_missed']['it-it'] = "Chiamata Persa"; +$text['label-type_missed']['nl-nl'] = ""; +$text['label-type_missed']['pl-pl'] = "Nieodebrane Połączenie"; +$text['label-type_missed']['pt-br'] = "Chamada Perdida"; //copied from pt-pt +$text['label-type_missed']['pt-pt'] = "Chamada Perdida"; +$text['label-type_missed']['ro-ro'] = ""; +$text['label-type_missed']['ru-ru'] = "Пропущенный вызов"; +$text['label-type_missed']['sv-se'] = "Missat Samtal"; +$text['label-type_missed']['uk-ua'] = "пропущений Дзвінок"; + $text['label-type_email2fax']['en-us'] = "Email to fax report"; $text['label-type_email2fax']['ar-eg'] = ""; $text['label-type_email2fax']['de-at'] = "Email zu Fax Auswertung"; //copied from de-de @@ -641,4 +681,25 @@ $text['button-resend']['ru-ru'] = "Повторно Отправить"; $text['button-resend']['sv-se'] = "Skicka Igen"; $text['button-resend']['uk-ua'] = ""; -?> +$text['confirm-resend']['en-us'] = "Do you really want to resend this?"; +$text['confirm-resend']['ar-eg'] = "Do you really want to resend this?"; +$text['confirm-resend']['de-at'] = "Do you really want to resend this?"; +$text['confirm-resend']['de-ch'] = "Do you really want to resend this?"; +$text['confirm-resend']['de-de'] = "Do you really want to resend this?"; +$text['confirm-resend']['es-cl'] = "Do you really want to resend this?"; +$text['confirm-resend']['es-mx'] = "Do you really want to resend this?"; +$text['confirm-resend']['fr-ca'] = "Do you really want to resend this?"; +$text['confirm-resend']['fr-fr'] = "Do you really want to resend this?"; +$text['confirm-resend']['he-il'] = "Do you really want to resend this?"; +$text['confirm-resend']['it-it'] = "Do you really want to resend this?"; +$text['confirm-resend']['nl-nl'] = "Do you really want to resend this?"; +$text['confirm-resend']['pl-pl'] = "Do you really want to resend this?"; +$text['confirm-resend']['pt-br'] = "Do you really want to resend this?"; +$text['confirm-resend']['pt-pt'] = "Do you really want to resend this?"; +$text['confirm-resend']['ro-ro'] = "Do you really want to resend this?"; +$text['confirm-resend']['ru-ru'] = "Do you really want to resend this?"; +$text['confirm-resend']['sv-se'] = "Do you really want to resend this?"; +$text['confirm-resend']['uk-ua'] = "Do you really want to resend this?"; +$text['confirm-resend']['tr-tr'] = "Do you really want to resend this?"; + +?> \ No newline at end of file diff --git a/app/email_logs/email_logs.php b/app/email_logs/email_logs.php index 03b90b0642..c8d190cae3 100644 --- a/app/email_logs/email_logs.php +++ b/app/email_logs/email_logs.php @@ -19,6 +19,7 @@ require_once "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; + require_once "resources/paging.php"; //check permissions if (permission_exists('email_log_view')) { @@ -33,47 +34,54 @@ $language = new text; $text = $language->get(); -//get variables used to control the order - $order_by = ($_GET["order_by"] != '') ? $_GET["order_by"] : 'sent_date'; - $order = ($_GET["order"] != '') ? $_GET["order"] : 'desc'; +//get posted data + if (is_array($_POST['emails'])) { + $action = $_POST['action']; + $search = $_POST['search']; + $emails = $_POST['emails']; + } -//download email - if ($_REQUEST['a'] == 'download' && permission_exists('email_log_download')) { - $email_log_uuid = $_REQUEST["id"]; - - $msg_found = false; - - if (is_uuid($email_log_uuid)) { - $sql = "select "; - $sql .= "call_uuid, "; - $sql .= "email "; - $sql .= "from v_email_logs "; - $sql .= "where email_log_uuid = :email_log_uuid "; - $sql .= "and domain_uuid = :domain_uuid "; - $parameters['email_log_uuid'] = $email_log_uuid; - $parameters['domain_uuid'] = $domain_uuid; - $database = new database; - $row = $database->select($sql, $parameters, 'row'); - if (is_array($row) && @sizeof($row) != 0) { - $call_uuid = $row['call_uuid']; - $email = $row['email']; - $msg_found = true; - } - unset($sql, $parameters, $row); - } - - if ($msg_found) { - header("Content-Type: message/rfc822"); - header('Content-Disposition: attachment; filename="'.$call_uuid.'.eml"'); - header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 - header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past - header("Content-Length: ".strlen($email)); - echo $email; - exit; +//download the emails + if (permission_exists('email_log_download')) { + if ($action == 'download' && is_array($emails) && @sizeof($emails) != 0) { + //download + $obj = new email_logs; + $obj->download($emails); + //set message (download failed) + message::add($text['message-download_failed'],'negative',7000); + //redirect + header('Location: email_logs.php'.($search != '' ? '?search='.urlencode($search) : null)); + exit; } } -//resend email +//resend the emails + if (permission_exists('email_log_resend')) { + if ($action == 'resend' && is_array($emails) && @sizeof($emails) != 0) { + //resend + $obj = new email_logs; + $obj->resend($emails); + //exit + header('Location: email_logs.php'.($search != '' ? '?search='.urlencode($search) : null)); + exit; + } + } + +//delete the emails + if (permission_exists('email_log_delete')) { + if ($action == 'delete' && is_array($emails) && @sizeof($emails) != 0) { + //delete + $obj = new email_logs; + $obj->delete($emails); + //redirect + header('Location: email_logs.php'.($search != '' ? '?search='.urlencode($search) : null)); + exit; + } + } + + +//resend email (previous method) + /* if ($_REQUEST['a'] == 'resend' && permission_exists('email_log_resend')) { $email_log_uuid = $_REQUEST["id"]; $resend = true; @@ -112,62 +120,85 @@ exit; } + */ + +//get order and order by and sanatize the values + $order_by = $_GET["order_by"]; + $order = $_GET["order"]; + +//add the search term + $search = strtolower($_GET["search"]); + if (strlen($search) > 0) { + $sql_search = "and ("; + $sql_search .= "lower(type) like :search "; + $sql_search .= "or lower(email) like :search "; + $sql_search .= ") "; + $parameters['search'] = '%'.$search.'%'; + } //prepare to page the results - require_once "resources/paging.php"; $sql = "select count(*) from v_email_logs "; - if (permission_exists('email_log_all') && $_REQUEST['showall'] != 'true') { - $sql .= "where domain_uuid = :domain_uuid "; + $sql .= "where true "; + if (permission_exists('email_log_all') && $_REQUEST['show'] != 'all') { + $sql .= "and domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $domain_uuid; } + $sql .= $sql_search; $database = new database; $num_rows = $database->select($sql, $parameters, 'column'); - unset($sql, $parameters); //prepare to page the results $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; - if (permission_exists('email_log_all') && $_REQUEST['showall'] == 'true') { - $param .= "&showall=true"; - } - else { - $param = ""; + $param = "search=".$search; + if ($_GET['show'] == "all" && permission_exists('email_log_all')) { + $param .= "&show=all"; } $page = $_GET['page']; if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } - list($paging_controls, $rows_per_page, $var3) = paging($num_rows, $param, $rows_per_page); + list($paging_controls, $rows_per_page) = paging($num_rows, $param, $rows_per_page); + list($paging_controls_mini, $rows_per_page) = paging($num_rows, $param, $rows_per_page, true); $offset = $rows_per_page * $page; //get the list - $sql = "select * from v_email_logs "; - if (permission_exists('email_log_all') && $_REQUEST['showall'] == 'true') { - $sql .= "join v_domains on v_email_logs.domain_uuid = v_domains.domain_uuid "; - } - else { - $sql .= "where domain_uuid = :domain_uuid "; - $parameters['domain_uuid'] = $domain_uuid; - } + $sql = str_replace('count(*)', '*', $sql); $sql .= order_by($order_by, $order, 'sent_date', 'desc'); $sql .= limit_offset($rows_per_page, $offset); $database = new database; $result = $database->select($sql, $parameters, 'all'); unset($sql, $parameters); -//set the row style - $c = 0; - $row_style["0"] = "row_style0"; - $row_style["1"] = "row_style1"; +//get call details + if (is_array($result) && @sizeof($result) != 0) { + foreach ($result as $row) { + $sql = "select caller_id_name, caller_id_number, destination_number "; + $sql .= "from v_xml_cdr "; + $sql .= "where domain_uuid = :domain_uuid "; + $sql .= "and uuid = :uuid "; + $parameters['domain_uuid'] = $domain_uuid; + $parameters['uuid'] = $row['call_uuid']; + $database = new database; + $result2 = $database->select($sql, $parameters, 'all'); + if (is_array($result2) && @sizeof($result2) != 0) { + foreach($result2 as $row2) { + $call[$row['call_uuid']]['caller_id_name'] = $row2['caller_id_name']; + $call[$row['call_uuid']]['caller_id_number'] = $row2['caller_id_number']; + $call[$row['call_uuid']]['destination_number'] = $row2['destination_number']; + } + } + unset($sql, $parameters, $result2, $row2); + } + } //create token $object = new token; $token = $object->create('/app/email_logs/email_logs.php'); -//additional includes +//include the header $document['title'] = $text['title-emails']; require_once "resources/header.php"; -//styles +//test result layer echo "\n"; -//test result layer echo "