diff --git a/app/voicemails/voicemail_imports.php b/app/voicemails/voicemail_imports.php index 8ebba13f21..34ba9011e9 100644 --- a/app/voicemails/voicemail_imports.php +++ b/app/voicemails/voicemail_imports.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) 2019 + Portions created by the Initial Developer are Copyright (C) 2019-2020 the Initial Developer. All Rights Reserved. Contributor(s): @@ -25,7 +25,7 @@ */ //includes - include "root.php"; + require_once "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; @@ -43,7 +43,7 @@ $text = $language->get(); //built in str_getcsv requires PHP 5.3 or higher, this function can be used to reproduct the functionality but requirs PHP 5.1.0 or higher - if(!function_exists('str_getcsv')) { + if (!function_exists('str_getcsv')) { function str_getcsv($input, $delimiter = ",", $enclosure = '"', $escape = "\\") { $fp = fopen("php://memory", 'r+'); fputs($fp, $input); @@ -72,7 +72,7 @@ //copy the csv file //$_POST['submit'] == "Upload" && - if ( is_uploaded_file($_FILES['ulfile']['tmp_name']) && permission_exists('voicemail_import')) { + if (is_uploaded_file($_FILES['ulfile']['tmp_name']) && permission_exists('voicemail_import')) { if ($_POST['type'] == 'csv') { move_uploaded_file($_FILES['ulfile']['tmp_name'], $_SESSION['server']['temp']['dir'].'/'.$_FILES['ulfile']['name']); $save_msg = "Uploaded file to ".$_SESSION['server']['temp']['dir']."/". htmlentities($_FILES['ulfile']['name']); @@ -93,9 +93,14 @@ $x = 0; include ("app/voicemails/app_config.php"); $i = 0; - foreach($apps[0]['db'] as $table) { + foreach ($apps[0]['db'] as $table) { //get the table name and parent name - $table_name = $table["table"]['name']; + if (is_array($table["table"]['name'])) { + $table_name = $table["table"]['name']['text']; + } + else { + $table_name = $table["table"]['name']; + } $parent_name = $table["table"]['parent']; //remove the v_ table prefix @@ -129,47 +134,43 @@ //match the column names to the field names if (strlen($delimiter) > 0 && file_exists($_SESSION['file']) && $action != 'import') { - //form to match the fields to the column names + //create token + $object = new token; + $token = $object->create($_SERVER['PHP_SELF']); + + //include header $document['title'] = $text['title-voicemail_import']; require_once "resources/header.php"; - echo "
\n"; + //form to match the fields to the column names + echo "\n"; + + echo "
\n"; + echo "
".$text['header-voicemail_import']."
\n"; + echo "
\n"; + echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'style'=>'margin-right: 15px;','link'=>'voicemails.php']); + echo button::create(['type'=>'submit','label'=>$text['button-import'],'icon'=>$_SESSION['theme']['button_icon_import']]); + echo "
\n"; + echo "
\n"; + echo "
\n"; + + echo $text['description-import']."\n"; + echo "

\n"; + echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - - //echo "\n"; - //echo "\n"; - //echo "\n"; - //echo "\n"; - //loop through user columns $x = 0; foreach ($line_fields as $line_field) { $line_field = trim(trim($line_field), $enclosure); echo "\n"; - echo "\n"; - echo "\n"; + echo " \n"; - echo " \n"; + echo " \n"; + echo "\n"; $x++; } - echo " \n"; - echo " \n"; - echo " \n"; + echo "
\n"; - echo " ".$text['header-import']."
\n"; - echo "
\n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " ".$text['description-import']."\n"; - echo "
".$text['header-import']."\n"; - //echo " \n"; - //echo "
\n"; + echo " \n"; //echo " ".$text['label-zzz']."\n"; echo $line_field; - echo "\n"; - echo " \n"; + echo " \n"; + echo " \n"; //echo "
\n"; //echo $text['description-zzz']."\n"; - echo "
\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
\n"; + echo "

\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; - echo " \n"; echo "
\n"; + require_once "resources/footer.php"; //normalize the column names @@ -230,8 +230,13 @@ //upload the csv if (file_exists($_SESSION['file']) && $action == 'import') { - //form to match the fields to the column names - //require_once "resources/header.php"; + //validate the token + $token = new token; + if (!$token->validate($_SERVER['PHP_SELF'])) { + message::add($text['message-invalid_token'],'negative'); + header('Location: extension_imports.php'); + exit; + } //user selected fields $fields = $_POST['fields']; @@ -292,7 +297,6 @@ $database->app_name = 'voicemails'; $database->app_uuid = 'b523c2d2-64cd-46f1-9520-ca4b4098e044'; $database->save($array); - //$message = $database->message; //clear the array unset($array); @@ -301,56 +305,58 @@ $row_id = 0; } - } //if ($from_row <= $row_id) + } //if ($from_row <= $row_number) $row_number++; $row_id++; } //end while fclose($handle); - //save to the data + //save to the data if (is_array($array)) { $database = new database; $database->app_name = 'voicemails'; $database->app_uuid = 'b523c2d2-64cd-46f1-9520-ca4b4098e044'; $database->save($array); - //$message = $database->message; + unset($array); } //send the redirect header header("Location: voicemails.php"); - return; + exit; } } +//create token + $object = new token; + $token = $object->create($_SERVER['PHP_SELF']); + //include the header $document['title'] = $text['title-voicemail_import']; require_once "resources/header.php"; -//begin the content - echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " ".$text['header-voicemail_import']."
\n"; - echo " ".$text['description-import']."\n"; - echo "
\n"; - echo " \n"; - //echo " \n"; - echo "
"; +//show content + echo "
\n"; - echo "
\n"; + echo "
\n"; + echo "
".$text['header-voicemail_import']."
\n"; + echo "
\n"; + echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'style'=>'margin-right: 15px;','link'=>'voicemails.php']); + echo button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>$_SESSION['theme']['button_icon_upload']]); + echo "
\n"; + echo "
\n"; + echo "
\n"; - echo "\n"; - echo " \n"; + echo $text['description-import']."\n"; + echo "

\n"; + + echo "
\n"; echo "\n"; - echo "\n"; - echo "\n"; @@ -412,21 +418,15 @@ echo "\n"; echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
\n"; + echo "\n"; echo " ".$text['label-import_data']."\n"; echo "\n"; - echo " \n"; + echo "\n"; + echo " \n"; echo "
\n"; echo $text['description-import_data']."\n"; echo "
\n"; - echo "  \n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " \n"; - echo "
\n"; + echo "\n"; echo "

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