diff --git a/app/number_translations/number_translation_edit.php b/app/number_translations/number_translation_edit.php index 4cda3e1c0f..98f93a94fd 100644 --- a/app/number_translations/number_translation_edit.php +++ b/app/number_translations/number_translation_edit.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2017-2019 + Portions created by the Initial Developer are Copyright (C) 2018 - 2020 the Initial Developer. All Rights Reserved. */ @@ -50,42 +50,16 @@ } //get http post variables and set them to php variables - if (is_array($_POST)) { - $number_translation_uuid = $_POST["number_translation_uuid"]; + if (is_array($_POST) && is_uuid($number_translation_uuid)) { $number_translation_name = $_POST["number_translation_name"]; $number_translation_details = $_POST["number_translation_details"]; $number_translation_enabled = $_POST["number_translation_enabled"]; $number_translation_description = $_POST["number_translation_description"]; - $number_translation_details_delete = $_POST["number_translation_details_delete"]; } //process the user data and save it to the database if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { - //process the http post data by submitted action - if ($_POST['action'] != '' && is_uuid($number_translation_uuid)) { - $array[0]['checked'] = 'true'; - $array[0]['uuid'] = $number_translation_uuid; - - switch ($_POST['action']) { - case 'copy': - if (permission_exists('number_translation_add')) { - $obj = new number_translations; - $obj->copy($array); - } - break; - case 'delete': - if (permission_exists('number_translation_delete')) { - $obj = new number_translations; - $obj->delete($array); - } - break; - } - - header('Location: number_translations.php'); - exit; - } - //validate the token $token = new token; if (!$token->validate($_SERVER['PHP_SELF'])) { @@ -94,6 +68,48 @@ exit; } + //process the http post data by submitted action + if ($_POST['action'] != '' && strlen($_POST['action']) > 0) { + + //prepare the array(s) + $x = 0; + foreach ($_POST['number_translation_details'] as $row) { + if (is_uuid($row['number_translation_uuid']) && $row['checked'] === 'true') { + $array['number_translations'][$x]['checked'] = $row['checked']; + $array['number_translations'][$x]['number_translation_details'][]['number_translation_detail_uuid'] = $row['number_translation_detail_uuid']; + $x++; + } + } + + //send the array to the database class + switch ($_POST['action']) { + case 'copy': + if (permission_exists('number_translation_add')) { + $obj = new database; + $obj->copy($array); + } + break; + case 'delete': + if (permission_exists('number_translation_delete')) { + $obj = new database; + $obj->delete($array); + } + break; + case 'toggle': + if (permission_exists('number_translation_update')) { + $obj = new database; + $obj->toggle($array); + } + break; + } + + //redirect the user + if (in_array($_POST['action'], array('copy', 'delete', 'toggle'))) { + header('Location: number_translation_edit.php?id='.$id); + exit; + } + } + //check for all required data $msg = ''; if (strlen($number_translation_name) == 0) { $msg .= $text['message-required']." ".$text['label-number_translation_name']."
\n"; } @@ -119,39 +135,32 @@ } //prepare the array - $array['number_translations'][0]["number_translation_uuid"] = $number_translation_uuid; - $array['number_translations'][0]["number_translation_name"] = $number_translation_name; - $array['number_translations'][0]["number_translation_enabled"] = $number_translation_enabled; - $array['number_translations'][0]["number_translation_description"] = $number_translation_description; + $array['number_translations'][0]['number_translation_uuid'] = $number_translation_uuid; + $array['number_translations'][0]['number_translation_name'] = $number_translation_name; + $array['number_translations'][0]['number_translation_enabled'] = $number_translation_enabled; + $array['number_translations'][0]['number_translation_description'] = $number_translation_description; $y = 0; - foreach ($number_translation_details as $row) { - if (strlen($row['number_translation_detail_regex']) > 0) { - $array['number_translations'][0]['number_translation_details'][$y]["number_translation_detail_uuid"] = $row["number_translation_detail_uuid"]; - $array['number_translations'][0]['number_translation_details'][$y]["number_translation_detail_regex"] = $row["number_translation_detail_regex"]; - $array['number_translations'][0]['number_translation_details'][$y]["number_translation_detail_replace"] = $row["number_translation_detail_replace"]; - $array['number_translations'][0]['number_translation_details'][$y]["number_translation_detail_order"] = $row["number_translation_detail_order"]; - $y++; + if (is_array($number_translation_details)) { + foreach ($number_translation_details as $row) { + if (strlen($row['number_translation_detail_regex']) > 0) { + $array['number_translations'][0]['number_translation_details'][$y]['number_translation_detail_uuid'] = $row["number_translation_detail_uuid"]; + $array['number_translations'][0]['number_translation_details'][$y]['number_translation_detail_regex'] = $row["number_translation_detail_regex"]; + $array['number_translations'][0]['number_translation_details'][$y]['number_translation_detail_replace'] = $row["number_translation_detail_replace"]; + $array['number_translations'][0]['number_translation_details'][$y]['number_translation_detail_order'] = $row["number_translation_detail_order"]; + if (isset($row["checked"])) { + $array['number_translations'][0]['number_translation_details'][$y]['checked'] = $row["checked"]; + } + $y++; + } } } - //save to the data + //save the data $database = new database; - $database->app_name = 'Number Translations'; + $database->app_name = 'number translations'; $database->app_uuid = '6ad54de6-4909-11e7-a919-92ebcb67fe33'; $database->save($array); - //remove checked details - if ( - $action == 'update' - && permission_exists('number_translation_detail_delete') - && is_array($number_translation_details_delete) - && @sizeof($number_translation_details_delete) != 0 - ) { - $obj = new number_translations; - $obj->number_translation_uuid = $number_translation_uuid; - $obj->delete_details($number_translation_details_delete); - } - //redirect the user if (isset($action)) { if ($action == "add") { @@ -160,14 +169,14 @@ if ($action == "update") { $_SESSION["message"] = $text['message-update']; } + //header('Location: number_translations.php'); header('Location: number_translation_edit.php?id='.urlencode($number_translation_uuid)); return; } - } //(is_array($_POST) && strlen($_POST["persistformvar"]) == 0) + } //pre-populate the form if (is_array($_GET) && $_POST["persistformvar"] != "true") { - $number_translation_uuid = $_GET["id"]; $sql = "select * from v_number_translations "; $sql .= "where number_translation_uuid = :number_translation_uuid "; $parameters['number_translation_uuid'] = $number_translation_uuid; @@ -179,14 +188,14 @@ $number_translation_enabled = $row["number_translation_enabled"]; $number_translation_description = $row["number_translation_description"]; } - unset ($sql, $parameters, $row); + unset($sql, $parameters, $row); } //get the child data if (is_uuid($number_translation_uuid)) { $sql = "select * from v_number_translation_details "; $sql .= "where number_translation_uuid = :number_translation_uuid "; - $sql .= "order by cast(number_translation_detail_order as integer) asc"; + $sql .= "order by number_translation_detail_order asc"; $parameters['number_translation_uuid'] = $number_translation_uuid; $database = new database; $number_translation_details = $database->select($sql, $parameters, 'all'); @@ -201,7 +210,7 @@ //add an empty row $x = is_array($number_translation_details) ? count($number_translation_details) : 0; $number_translation_details[$x]['number_translation_uuid'] = $number_translation_uuid; - $number_translation_details[$x]['number_translation_detail_uuid'] = ''; + $number_translation_details[$x]['number_translation_detail_uuid'] = uuid(); $number_translation_details[$x]['number_translation_detail_regex'] = ''; $number_translation_details[$x]['number_translation_detail_replace'] = ''; $number_translation_details[$x]['number_translation_detail_order'] = ''; @@ -216,40 +225,56 @@ //show the content echo "
\n"; + echo "\n"; echo "
\n"; echo "
".$text['title-number_translation']."
\n"; echo "
\n"; - echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','collapse'=>'hide-xs','style'=>'margin-right: 15px;','link'=>'number_translations.php']); - if ($action == "update") { - if (permission_exists('number_translation_add')) { - 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 " \n"; + if ($action == 'update') { + if (permission_exists('number_translation_detail_add')) { + echo " \n"; } - if (permission_exists('number_translation_delete') || permission_exists('number_translation_detail_delete')) { - echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'name'=>'btn_delete','style'=>'margin-right: 15px;','onclick'=>"modal_open('modal-delete','btn_delete');"]); + if (permission_exists('number_translation_detail_delete')) { + echo " \n"; } } - echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save','collapse'=>'hide-xs']); + echo " \n"; echo "
\n"; echo "
\n"; echo "
\n"; - if ($action == "update") { + echo $text['title_description-number_translations']."\n"; + echo "

\n"; + + if ($action == 'update') { if (permission_exists('number_translation_add')) { echo modal::create(['id'=>'modal-copy','type'=>'copy','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_copy','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'copy','onclick'=>"modal_close();"])]); } - if (permission_exists('number_translation_delete') || permission_exists('number_translation_detail_delete')) { + if (permission_exists('number_translation_delete')) { echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'delete','onclick'=>"modal_close();"])]); } } - echo "\n"; + echo "
\n"; echo "\n"; - echo "\n"; - echo "\n"; if (is_array($number_translation_details) && @sizeof($number_translation_details) > 1 && permission_exists('number_translation_detail_delete')) { echo " \n"; } echo " \n"; @@ -277,9 +302,13 @@ foreach($number_translation_details as $row) { echo " \n"; echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; echo " \n"; if (is_array($number_translation_details) && @sizeof($number_translation_details) > 1 && permission_exists('number_translation_detail_delete')) { if (is_uuid($row['number_translation_detail_uuid'])) { - echo " \n"; } else { - echo " \n"; } - echo " \n"; } echo " \n"; $x++; @@ -356,7 +384,6 @@ echo "
\n"; + echo "\n"; echo " ".$text['label-number_translation_name']."\n"; echo "\n"; + echo "\n"; echo " \n"; echo "
\n"; echo $text['description-number_translation_name']."\n"; @@ -268,8 +293,8 @@ echo "
".$text['label-number_translation_detail_order']."\n"; - echo " ".$text['label-delete']."\n"; - echo " \n"; + echo " ".$text['label-action']."\n"; + echo " \n"; echo "
\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; echo " "; - echo " \n"; - echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "
"; echo "

"; - echo "\n"; echo "\n"; echo "
"; @@ -364,4 +391,4 @@ //include the footer require_once "resources/footer.php"; -?> \ No newline at end of file +?>