From 05867078067016b30b1ec75f626b37e88e5a8993 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Sat, 25 Jul 2020 13:16:55 -0600 Subject: [PATCH] Update number_translations.php --- .../number_translations.php | 123 ++++++++++++------ 1 file changed, 81 insertions(+), 42 deletions(-) diff --git a/app/number_translations/number_translations.php b/app/number_translations/number_translations.php index 062656ab8d..c25f7b6fc5 100644 --- a/app/number_translations/number_translations.php +++ b/app/number_translations/number_translations.php @@ -2,19 +2,26 @@ /* FusionPBX Version: MPL 1.1 + The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ + Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. + The Original Code is FusionPBX + The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2017-2018 + Portions created by the Initial Developer are Copyright (C) 2018 - 2020 the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane */ //includes @@ -36,7 +43,7 @@ $language = new text; $text = $language->get(); -//get posted data +//get the http post data if (is_array($_POST['number_translations'])) { $action = $_POST['action']; $search = $_POST['search']; @@ -45,27 +52,48 @@ //process the http post data by action if ($action != '' && is_array($number_translations) && @sizeof($number_translations) != 0) { + + //validate the token + $token = new token; + if (!$token->validate($_SERVER['PHP_SELF'])) { + message::add($text['message-invalid_token'],'negative'); + header('Location: number_translations.php'); + exit; + } + + //prepare the array + foreach($number_translations as $row) { + $array['number_translations'][$x]['checked'] = $row['checked']; + $array['number_translations'][$x]['number_translation_uuid'] = $row['number_translation_uuid']; + $array['number_translations'][$x]['number_translation_enabled'] = $row['number_translation_enabled']; + $x++; + } + + //prepare the database object + $database = new database; + $database->app_name = 'number_translations'; + $database->app_uuid = '6ad54de6-4909-11e7-a919-92ebcb67fe33'; + + //send the array to the database class switch ($action) { case 'copy': if (permission_exists('number_translation_add')) { - $obj = new number_translations; - $obj->copy($number_translations); + $database->copy($array); } break; case 'toggle': if (permission_exists('number_translation_edit')) { - $obj = new number_translations; - $obj->toggle($number_translations); + $database->toggle($array); } break; case 'delete': if (permission_exists('number_translation_delete')) { - $obj = new number_translations; - $obj->delete($number_translations); + $database->delete($array); } break; } + //redirect the user header('Location: number_translations.php'.($search != '' ? '?search='.urlencode($search) : null)); exit; } @@ -74,33 +102,45 @@ $order_by = $_GET["order_by"]; $order = $_GET["order"]; -//add the search term - $search = strtolower($_GET["search"]); - if (strlen($search) > 0) { - $sql_search = "where ("; - $sql_search .= "lower(number_translation_name) like :search "; - $sql_search .= "or lower(number_translation_enabled) like :search "; - $sql_search .= "or lower(number_translation_description) like :search "; - $sql_search .= ") "; +//add the search + if (isset($_GET["search"])) { + $search = strtolower($_GET["search"]); $parameters['search'] = '%'.$search.'%'; } -//prepare to page the results - $sql = "select count(*) from v_number_translations "; - $sql .= $sql_search; +//get the count + $sql = "select count(number_translation_uuid) "; + $sql .= "from v_number_translations "; + if (isset($_GET["search"])) { + $sql .= "where ("; + $sql .= " lower(number_translation_name) like :search "; + $sql .= " or lower(number_translation_description) like :search "; + $sql .= ") "; + } $database = new database; $num_rows = $database->select($sql, $parameters, 'column'); //prepare to page the results $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; - $param = "&search=".$search; + $param = $search ? "&search=".$search : null; $page = is_numeric($_GET['page']) ? $_GET['page'] : 0; 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 = str_replace('count(*)', '*', $sql); + $sql = "select "; + $sql .= "number_translation_uuid, "; + $sql .= "number_translation_name, "; + $sql .= "cast(number_translation_enabled as text), "; + $sql .= "number_translation_description "; + $sql .= "from v_number_translations "; + if (isset($_GET["search"])) { + $sql .= "where ("; + $sql .= " lower(number_translation_name) like :search "; + $sql .= " or lower(number_translation_description) like :search "; + $sql .= ") "; + } $sql .= order_by($order_by, $order, 'number_translation_name', 'asc'); $sql .= limit_offset($rows_per_page, $offset); $database = new database; @@ -120,23 +160,23 @@ echo "
".$text['title-number_translations']." (".$num_rows.")
\n"; echo "
\n"; if (permission_exists('number_translation_add')) { - echo button::create(['type'=>'button','label'=>$text['button-add'],'icon'=>$_SESSION['theme']['button_icon_add'],'id'=>'btn_add','link'=>'number_translation_edit.php']); + echo button::create(['type'=>'button','label'=>$text['button-add'],'icon'=>$_SESSION['theme']['button_icon_add'],'id'=>'btn_add','name'=>'btn_add','link'=>'number_translation_edit.php']); } if (permission_exists('number_translation_add') && $number_translations) { - echo button::create(['type'=>'button','label'=>$text['button-copy'],'icon'=>$_SESSION['theme']['button_icon_copy'],'name'=>'btn_copy','onclick'=>"modal_open('modal-copy','btn_copy');"]); + echo button::create(['type'=>'button','label'=>$text['button-copy'],'icon'=>$_SESSION['theme']['button_icon_copy'],'id'=>'btn_copy','name'=>'btn_copy','style'=>'display:none;','onclick'=>"modal_open('modal-copy','btn_copy');"]); } if (permission_exists('number_translation_edit') && $number_translations) { - echo button::create(['type'=>'button','label'=>$text['button-toggle'],'icon'=>$_SESSION['theme']['button_icon_toggle'],'name'=>'btn_toggle','onclick'=>"modal_open('modal-toggle','btn_toggle');"]); + echo button::create(['type'=>'button','label'=>$text['button-toggle'],'icon'=>$_SESSION['theme']['button_icon_toggle'],'id'=>'btn_toggle','name'=>'btn_toggle','style'=>'display:none;','onclick'=>"modal_open('modal-toggle','btn_toggle');"]); } if (permission_exists('number_translation_delete') && $number_translations) { - echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'name'=>'btn_delete','onclick'=>"modal_open('modal-delete','btn_delete');"]); + echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'id'=>'btn_delete','name'=>'btn_delete','style'=>'display:none;','onclick'=>"modal_open('modal-delete','btn_delete');"]); } echo "\n"; echo "
\n"; @@ -153,7 +193,7 @@ echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'button','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','onclick'=>"modal_close(); list_action_set('delete'); list_form_submit('form_list');"])]); } - echo $text['title_description-number_translation']."\n"; + echo $text['title_description-number_translations']."\n"; echo "

\n"; echo "
\n"; @@ -164,12 +204,12 @@ echo "\n"; if (permission_exists('number_translation_add') || permission_exists('number_translation_edit') || permission_exists('number_translation_delete')) { echo " \n"; - echo " \n"; + echo " \n"; echo " \n"; } echo th_order_by('number_translation_name', $text['label-number_translation_name'], $order_by, $order); echo th_order_by('number_translation_enabled', $text['label-number_translation_enabled'], $order_by, $order, null, "class='center'"); - echo th_order_by('number_translation_description', $text['label-number_translation_description'], $order_by, $order, null, "class='hide-sm-dn' style='min-width: 50%;'"); + echo " ".$text['label-number_translation_description']."\n"; if (permission_exists('number_translation_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { echo "  \n"; } @@ -184,48 +224,47 @@ echo "\n"; if (permission_exists('number_translation_add') || permission_exists('number_translation_edit') || permission_exists('number_translation_delete')) { echo " \n"; - echo " \n"; - echo " \n"; + echo " \n"; + echo " \n"; echo " \n"; } - echo " "; + echo " \n"; if (permission_exists('number_translation_edit')) { - echo "".escape($row['number_translation_name']).""; + echo " ".escape($row['number_translation_name'])."\n"; } else { - echo escape($row['number_translation_name']); + echo " ".escape($row['number_translation_name']); } echo " \n"; if (permission_exists('number_translation_edit')) { - echo " "; + echo " \n"; + echo " \n"; echo button::create(['type'=>'submit','class'=>'link','label'=>$text['label-'.$row['number_translation_enabled']],'title'=>$text['button-toggle'],'onclick'=>"list_self_check('checkbox_".$x."'); list_action_set('toggle'); list_form_submit('form_list')"]); } else { - echo " "; + echo " \n"; echo $text['label-'.$row['number_translation_enabled']]; } echo " \n"; - echo " ".escape($row['number_translation_description'])." \n"; + echo " ".escape($row['number_translation_description'])."\n"; if (permission_exists('number_translation_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { - echo " "; + echo " \n"; echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]); echo " \n"; } echo "\n"; $x++; } + unset($number_translations); } - unset($number_translations, $row); echo "\n"; echo "
\n"; echo "
".$paging_controls."
\n"; - echo "\n"; - echo "
\n"; //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?>