芝麻web文件管理V1.00
编辑当前文件:/home/digitalh/network.digitalhubbd.com/fns/add/languages.php
went_wrong; $result['error_key'] = 'something_went_wrong'; if (role(['permissions' => ['languages' => 'create']])) { $result['error_message'] = Registry::load('strings')->invalid_value; $result['error_key'] = 'invalid_value'; $result['error_variables'] = []; $max_input_vars = ini_get('max_input_vars'); include 'fns/filters/load.php'; include 'fns/files/load.php'; $noerror = true; $disabled = 0; $iso_code = 'en'; $iso_codes = [ 'ab', 'aa', 'af', 'ak', 'sq', 'am', 'ar', 'an', 'hy', 'as', 'av', 'ae', 'ay', 'az', 'bm', 'ba', 'eu', 'be', 'bn', 'bh', 'bi', 'bs', 'br', 'ceb', 'bg', 'my', 'ca', 'km', 'ch', 'ce', 'ny', 'zh', 'zh-TW', 'cu', 'cv', 'kw', 'co', 'cr', 'hr', 'cs', 'da', 'dv', 'nl', 'dz', 'en', 'eo', 'et', 'ee', 'fo', 'fj', 'fil', 'fi', 'fr', 'ff', 'gd', 'gl', 'lg', 'ka', 'haw', 'de', 'ki', 'el', 'kl', 'gn', 'gu', 'ht', 'ha', 'hmn', 'he', 'hz', 'hi', 'ho', 'hu', 'is', 'io', 'ig', 'id', 'ia', 'ie', 'iu', 'ik', 'ga', 'it', 'ja', 'jv', 'kn', 'kr', 'ks', 'kk', 'rw', 'kv', 'kg', 'ko', 'kj', 'ku', 'ky', 'lo', 'la', 'lv', 'lb', 'li', 'ln', 'lt', 'lu', 'mk', 'mg', 'ms', 'ml', 'mt', 'gv', 'mi', 'mr', 'mh', 'ro', 'mn', 'na', 'nv', 'nd', 'ng', 'ne', 'se', 'no', 'nb', 'nn', 'ii', 'oc', 'oj', 'or', 'om', 'os', 'pi', 'pa', 'ps', 'fa', 'pl', 'pt', 'qu', 'rm', 'rn', 'ru', 'sm', 'sg', 'sa', 'sc', 'sr', 'sn', 'sd', 'si', 'sk', 'sl', 'so', 'st', 'nr', 'es', 'su', 'sw', 'ss', 'sv', 'tl', 'ty', 'tg', 'ta', 'tt', 'te', 'th', 'bo', 'ti', 'to', 'ts', 'tn', 'tr', 'tk', 'tw', 'ug', 'uk', 'ur', 'uz', 've', 'vi', 'vo', 'wa', 'cy', 'fy', 'wo', 'xh', 'yi', 'yo', 'za', 'zu' ]; $text_direction = 'ltr'; if (!isset($data['name']) || empty($data['name'])) { $result['error_variables'][] = ['name']; $noerror = false; } if (!isset($data['create_method']) || empty($data['create_method'])) { $result['error_variables'][] = ['create_method']; $noerror = false; } else if ($data['create_method'] === 'import' && !isset($_FILES['import_file']['name']) || $data['create_method'] === 'import' && empty($_FILES['import_file']['name'])) { $result['error_variables'][] = ['import_file']; $noerror = false; } if ((int)$max_input_vars < 1999) { $result['error_message'] = 'Increase the max_input_vars limit in your server php.ini to 3000 or higher.'; $result['error_key'] = 'max_input_vars_exceeded'; $result['error_variables'] = []; $noerror = false; } if ($noerror) { $data['name'] = htmlspecialchars($data['name'], ENT_QUOTES, 'UTF-8'); if (isset($data['disabled']) && $data['disabled'] === 'yes') { $disabled = 1; } if ($data['create_method'] === 'import' && isset($_FILES['import_file']['name']) && !empty($_FILES['import_file']['name'])) { $jsonfilename = 'importlang_'.random_string(['length' => 6]).'.json'; $importjson = array(); $upload_json = [ 'upload' => 'import_file', 'folder' => 'assets/cache/languages/', 'saveas' => $jsonfilename, 'real_path' => true ]; if (files('upload', $upload_json)['result']) { $load_json = file_get_contents('assets/cache/languages/'.$jsonfilename); if (isJson($load_json)) { $importjson = json_decode($load_json); } } } if (isset($importjson->text_direction) && $importjson->text_direction === 'rtl' || isset($importjson->core_align) && $importjson->core_align === 'rtl') { $text_direction = 'rtl'; } if (isset($importjson->iso_code) && in_array($importjson->iso_code, $iso_codes)) { $iso_code = $importjson->iso_code; } if (isset($data['text_direction']) && $data['text_direction'] === 'rtl') { $text_direction = 'rtl'; } if (isset($data['iso_code']) && in_array($data['iso_code'], $iso_codes)) { $iso_code = $data['iso_code']; } DB::connect()->insert("languages", [ "name" => $data['name'], "iso_code" => $iso_code, "text_direction" => $text_direction, "disabled" => $disabled, "updated_on" => Registry::load('current_user')->time_stamp, ]); if (!DB::connect()->error) { $language_id = DB::connect()->id(); $insert_data = array(); $columns = [ 'language_strings.string_id', 'language_strings.string_constant', 'language_strings.string_value', 'language_strings.string_type', 'language_strings.skip_update', 'language_strings.skip_cache' ]; $where["language_strings.language_id"] = 1; $strings = DB::connect()->select('language_strings', $columns, $where); $i = 0; foreach ($strings as $string) { $string_field = 'string_'.$string['string_id']; $string_constant = $string['string_constant']; $insert_data[$i]['string_constant'] = $string['string_constant']; $insert_data[$i]['string_type'] = $string['string_type']; $insert_data[$i]['skip_update'] = $string['skip_update']; $insert_data[$i]['skip_cache'] = $string['skip_cache']; $insert_data[$i]['language_id'] = $language_id; if (isset($importjson->$string_constant) && !empty($importjson->$string_constant)) { $insert_data[$i]['string_value'] = $importjson->$string_constant; } else if (isset($data[$string_field]) && !empty($data[$string_field])) { $insert_data[$i]['string_value'] = htmlspecialchars($data[$string_field], ENT_QUOTES, 'UTF-8'); } else { $insert_data[$i]['string_value'] = $string['string_value']; } $i = $i+1; } if (!empty($insert_data)) { DB::connect()->insert('language_strings', $insert_data); } if (isset($_FILES['icon']['name']) && !empty($_FILES['icon']['name'])) { if (isImage($_FILES['icon']['tmp_name'])) { $extension = pathinfo($_FILES['icon']['name'])['extension']; $filename = $language_id.Registry::load('config')->file_seperator.random_string(['length' => 6]).'.'.$extension; if (files('upload', ['upload' => 'icon', 'folder' => 'languages', 'saveas' => $filename])['result']) { files('resize_img', ['resize' => 'languages/'.$filename, 'width' => 150, 'height' => 150, 'crop' => true]); } } } cache(['rebuild' => 'languages']); $result = array(); $result['success'] = true; $result['todo'] = 'reload'; $result['reload'] = 'languages'; } else { $result['error_message'] = Registry::load('strings')->went_wrong; $result['error_key'] = 'something_went_wrong'; } } } ?>