default_setting_edit.php 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850
  1. <?php
  2. /*
  3. FusionPBX
  4. Version: MPL 1.1
  5. The contents of this file are subject to the Mozilla Public License Version
  6. 1.1 (the "License"); you may not use this file except in compliance with
  7. the License. You may obtain a copy of the License at
  8. http://www.mozilla.org/MPL/
  9. Software distributed under the License is distributed on an "AS IS" basis,
  10. WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  11. for the specific language governing rights and limitations under the
  12. License.
  13. The Original Code is FusionPBX
  14. The Initial Developer of the Original Code is
  15. Mark J Crane <[email protected]>
  16. Portions created by the Initial Developer are Copyright (C) 2008-2023
  17. the Initial Developer. All Rights Reserved.
  18. Contributor(s):
  19. Mark J Crane <[email protected]>
  20. */
  21. //includes files
  22. require_once dirname(__DIR__, 2) . "/resources/require.php";
  23. require_once "resources/check_auth.php";
  24. //check permissions
  25. if (permission_exists('default_setting_add') || permission_exists('default_setting_edit')) {
  26. //access granted
  27. }
  28. else {
  29. echo "access denied";
  30. exit;
  31. }
  32. //connect to the database
  33. $database = new database;
  34. //add multi-lingual support
  35. $language = new text;
  36. $text = $language->get();
  37. //define the variables
  38. $default_setting_category = '';
  39. $default_setting_subcategory = '';
  40. $default_setting_name = '';
  41. $default_setting_value = '';
  42. $default_setting_order = '';
  43. $default_setting_enabled = '';
  44. $default_setting_description = '';
  45. $search = '';
  46. //action add or update
  47. if (!empty($_REQUEST["id"]) && is_uuid($_REQUEST["id"])) {
  48. $action = "update";
  49. $default_setting_uuid = $_REQUEST["id"];
  50. }
  51. else {
  52. $action = "add";
  53. }
  54. //get the search variable
  55. if (!empty($_REQUEST['search'])) {
  56. $search = $_REQUEST['search'];
  57. }
  58. //get http post variables and set them to php variables
  59. if (!empty($_REQUEST)) {
  60. $default_setting_category = strtolower($_REQUEST["default_setting_category"] ?? '');
  61. $default_setting_subcategory = strtolower($_POST["default_setting_subcategory"] ?? '');
  62. $default_setting_name = strtolower($_POST["default_setting_name"] ?? '');
  63. $default_setting_value = $_POST["default_setting_value"] ?? '';
  64. $default_setting_order = $_POST["default_setting_order"] ?? '';
  65. $default_setting_enabled = $_POST["default_setting_enabled"] ?? 'false';
  66. $default_setting_description = $_POST["default_setting_description"] ?? '';
  67. }
  68. //sanitize the variables
  69. $search = preg_replace('#[^a-zA-Z0-9_\-\. ]#', '', $search);
  70. $default_setting_category = preg_replace('#[^a-zA-Z0-9_\-\.]#', '', $default_setting_category);
  71. //build the query string
  72. $query_string = '';
  73. if (!empty($search)) {
  74. $query_string .= 'search='.urlencode($search);
  75. }
  76. if ($default_setting_category != '') {
  77. if ($query_string == '') { $query_string = ''; } else { $query_string .= '&'; }
  78. $query_string .= 'default_setting_category='.urlencode($default_setting_category);
  79. }
  80. //process the http post
  81. if (!empty($_POST) && (empty($_POST["persistformvar"]) || $_POST["persistformvar"] != "true")) {
  82. //set the default_setting_uuid
  83. if ($action == "update") {
  84. $default_setting_uuid = $_POST["default_setting_uuid"];
  85. }
  86. else {
  87. $default_setting_uuid = uuid();
  88. }
  89. //validate the token
  90. $token = new token;
  91. if (!$token->validate($_SERVER['PHP_SELF'])) {
  92. message::add($text['message-invalid_token'],'negative');
  93. header('Location: default_settings.php?'.$query_string);
  94. exit;
  95. }
  96. //check for all required data
  97. $msg = '';
  98. if (empty($default_setting_category)) { $msg .= $text['message-required'].$text['label-category']."<br>\n"; }
  99. if (empty($default_setting_subcategory)) { $msg .= $text['message-required'].$text['label-subcategory']."<br>\n"; }
  100. if (empty($default_setting_name)) { $msg .= $text['message-required'].$text['label-type']."<br>\n"; }
  101. //if (empty($default_setting_value)) { $msg .= $text['message-required'].$text['label-value']."<br>\n"; }
  102. if (empty($default_setting_order)) { $msg .= $text['message-required'].$text['label-order']."<br>\n"; }
  103. if (empty($default_setting_enabled)) { $msg .= $text['message-required'].$text['label-enabled']."<br>\n"; }
  104. //if (empty($default_setting_description)) { $msg .= $text['message-required'].$text['label-description']."<br>\n"; }
  105. if (!empty($msg) && empty($_POST["persistformvar"])) {
  106. require_once "resources/header.php";
  107. require_once "resources/persist_form_var.php";
  108. echo "<div align='center'>\n";
  109. echo "<table><tr><td>\n";
  110. echo $msg."<br />";
  111. echo "</td></tr></table>\n";
  112. persistformvar($_POST);
  113. echo "</div>\n";
  114. require_once "resources/footer.php";
  115. return;
  116. }
  117. //add or update the database
  118. if (empty($_POST["persistformvar"]) || $_POST["persistformvar"] != "true") {
  119. // fix null
  120. $default_setting_order = ($default_setting_order != '') ? $default_setting_order : 'null';
  121. //update switch timezone variables
  122. if ($default_setting_category == "domain" && $default_setting_subcategory == "time_zone" && $default_setting_name == "name" ) {
  123. //get the dialplan_uuid
  124. $sql = "select dialplan_uuid from v_dialplans ";
  125. $sql .= "where app_uuid = 'd49ee3bd-5085-4619-a2f9-2b62c8c461c5' ";
  126. $dialplan_uuid = $database->select($sql, null, 'column');
  127. unset($sql);
  128. //get the action
  129. $sql = "select dialplan_detail_uuid from v_dialplan_details ";
  130. $sql .= "where dialplan_uuid = :dialplan_uuid ";
  131. $sql .= "and dialplan_detail_tag = 'action' ";
  132. $sql .= "and dialplan_detail_type = 'set' ";
  133. $sql .= "and dialplan_detail_data like 'timezone=%' ";
  134. $parameters['dialplan_uuid'] = $dialplan_uuid;
  135. $dialplan_detail_uuid = $database->select($sql, $parameters, 'column');
  136. $detail_action = is_uuid($dialplan_detail_uuid) ? 'update' : 'add';
  137. unset($sql, $parameters);
  138. //update the timezone
  139. $p = permissions::new();
  140. if ($detail_action == "update") {
  141. $array['dialplan_details'][0]['dialplan_detail_uuid'] = $dialplan_detail_uuid;
  142. $array['dialplan_details'][0]['dialplan_detail_data'] = 'timezone='.$default_setting_value;
  143. $p->add('dialplan_detail_edit', 'temp');
  144. }
  145. else {
  146. $array['dialplan_details'][0]['dialplan_detail_uuid'] = uuid();
  147. $array['dialplan_details'][0]['dialplan_uuid'] = $dialplan_uuid;
  148. $array['dialplan_details'][0]['dialplan_detail_tag'] = 'action';
  149. $array['dialplan_details'][0]['dialplan_detail_type'] = 'set';
  150. $array['dialplan_details'][0]['dialplan_detail_data'] = 'timezone='.$default_setting_value;
  151. $array['dialplan_details'][0]['dialplan_detail_inline'] = 'true';
  152. $array['dialplan_details'][0]['dialplan_detail_group'] = '0';
  153. $array['dialplan_details'][0]['dialplan_detail_order'] = '20';
  154. $p->add('dialplan_detail_add', 'temp');
  155. }
  156. if (is_array($array) && sizeof($array) != 0) {
  157. $database->app_name = 'default_settings';
  158. $database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09';
  159. $database->save($array);
  160. unset($array);
  161. $p->delete('dialplan_detail_edit', 'temp');
  162. $p->delete('dialplan_detail_add', 'temp');
  163. }
  164. //update the dialplan xml
  165. $dialplans = new dialplan;
  166. $dialplans->source = "details";
  167. $dialplans->destination = "database";
  168. $dialplans->uuid = $dialplan_uuid;
  169. $dialplans->xml();
  170. //clear the cache
  171. $cache = new cache;
  172. $cache->delete("dialplan:".$domain_name);
  173. }
  174. elseif ($default_setting_category == "destinations" && $default_setting_subcategory == "dialplan_mode" ) {
  175. //clear the cache
  176. $cache = new cache;
  177. $cache->delete("dialplan:mode");
  178. }
  179. //build the array of data
  180. $x = 0;
  181. $array['default_settings'][$x]['default_setting_uuid'] = $default_setting_uuid;
  182. $array['default_settings'][$x]['default_setting_category'] = $default_setting_category;
  183. $array['default_settings'][$x]['default_setting_subcategory'] = $default_setting_subcategory;
  184. $array['default_settings'][$x]['default_setting_name'] = $default_setting_name;
  185. $array['default_settings'][$x]['default_setting_value'] = $default_setting_value;
  186. $array['default_settings'][$x]['default_setting_order'] = $default_setting_order;
  187. $array['default_settings'][$x]['default_setting_enabled'] = $default_setting_enabled;
  188. $array['default_settings'][$x]['default_setting_description'] = $default_setting_description;
  189. //save to the data
  190. $database->app_name = 'default_settings';
  191. $database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09';
  192. $database->save($array);
  193. $message = $database->message;
  194. //set the message and redirect the user
  195. if ($action == "add" && permission_exists('default_setting_add')) {
  196. message::add($text['message-add']);
  197. header("Location: default_settings.php?".$query_string."#anchor_".$default_setting_category);
  198. return;
  199. }
  200. if ($action == "update" && permission_exists('default_setting_edit')) {
  201. message::add($text['message-update']);
  202. header("Location: default_settings.php?".$query_string."#anchor_".$default_setting_category);
  203. return;
  204. }
  205. }
  206. }
  207. //pre-populate the form
  208. if (count($_GET) > 0 && empty($_POST["persistformvar"])) {
  209. $default_setting_uuid = $_GET["id"] ?? '';
  210. $sql = "select default_setting_uuid, default_setting_category, default_setting_subcategory, default_setting_name, default_setting_value, default_setting_order, cast(default_setting_enabled as text), default_setting_description ";
  211. $sql .= "from v_default_settings ";
  212. $sql .= "where default_setting_uuid = :default_setting_uuid ";
  213. $parameters['default_setting_uuid'] = $default_setting_uuid;
  214. $row = $database->select($sql, $parameters, 'row');
  215. if (is_array($row) && sizeof($row) != 0) {
  216. $default_setting_category = $row["default_setting_category"];
  217. $default_setting_subcategory = $row["default_setting_subcategory"];
  218. $default_setting_name = $row["default_setting_name"];
  219. $default_setting_value = $row["default_setting_value"];
  220. $default_setting_order = $row["default_setting_order"];
  221. $default_setting_enabled = $row["default_setting_enabled"];
  222. $default_setting_description = $row["default_setting_description"];
  223. }
  224. unset($sql, $parameters);
  225. }
  226. //set the defaults
  227. if (empty($default_setting_enabled)) { $default_setting_enabled = 'true'; }
  228. //create token
  229. $object = new token;
  230. $token = $object->create($_SERVER['PHP_SELF']);
  231. //include the header
  232. if ($action == "update") {
  233. $document['title'] = $text['title-default_setting-edit'];
  234. }
  235. elseif ($action == "add") {
  236. $document['title'] = $text['title-default_setting-add'];
  237. }
  238. require_once "resources/header.php";
  239. //show the content
  240. echo "<form name='frm' id='frm' method='post'>\n";
  241. echo "<div class='action_bar' id='action_bar'>\n";
  242. echo " <div class='heading'>";
  243. if ($action == "add") {
  244. echo "<b>".$text['header-default_setting-add']."</b>";
  245. }
  246. if ($action == "update") {
  247. echo "<b>".$text['header-default_setting-edit']."</b>";
  248. }
  249. echo " </div>\n";
  250. echo " <div class='actions'>\n";
  251. echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','style'=>'margin-right: 15px;','link'=>'default_settings.php?'.$query_string]);
  252. echo button::create(['type'=>'button','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save','onclick'=>'submit_form();']);
  253. echo " </div>\n";
  254. echo " <div style='clear: both;'></div>\n";
  255. echo "</div>\n";
  256. if ($action == "add") {
  257. echo $text['description-default_setting-add']."\n";
  258. }
  259. if ($action == "update") {
  260. echo $text['description-default_setting-edit']."\n";
  261. }
  262. echo "<br /><br />\n";
  263. echo "<div class='card'>\n";
  264. echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
  265. echo "<tr>\n";
  266. echo "<td width='30%' class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
  267. echo " ".$text['label-category']."\n";
  268. echo "</td>\n";
  269. echo "<td width='70%' class='vtable' align='left'>\n";
  270. echo " <input class='formfld' type='text' name='default_setting_category' maxlength='255' value=\"".escape($default_setting_category)."\">\n";
  271. echo "<br />\n";
  272. echo $text['description-category']."\n";
  273. echo "</td>\n";
  274. echo "</tr>\n";
  275. echo "<tr>\n";
  276. echo "<td class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
  277. echo " ".$text['label-subcategory']."\n";
  278. echo "</td>\n";
  279. echo "<td class='vtable' align='left'>\n";
  280. echo " <input class='formfld lowercase' type='text' name='default_setting_subcategory' id='default_setting_subcategory' maxlength='255' value=\"".escape($default_setting_subcategory)."\">\n";
  281. echo "<br />\n";
  282. echo $text['description-subcategory']."\n";
  283. echo "</td>\n";
  284. echo "</tr>\n";
  285. echo "<tr>\n";
  286. echo "<td class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
  287. echo " ".$text['label-type']."\n";
  288. echo "</td>\n";
  289. echo "<td class='vtable' align='left'>\n";
  290. $setting_types = ['Array','Boolean','Code','Dir','Name','Numeric','Text','UUID'];
  291. echo " <select class='formfld' id='default_setting_name' name='default_setting_name' required='required'>\n";
  292. echo " <option value=''></option>\n";
  293. foreach ($setting_types as $setting_type) {
  294. echo " <option value='".strtolower($setting_type)."' ".($default_setting_name == strtolower($setting_type) ? "selected='selected'" : null).">".$setting_type."</option>\n";
  295. }
  296. echo " </select>\n";
  297. unset($setting_types, $setting_type);
  298. echo "<br />\n";
  299. echo $text['description-type']."\n";
  300. echo "</td>\n";
  301. echo "</tr>\n";
  302. echo "<tr>\n";
  303. echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
  304. echo " ".$text['label-value']."\n";
  305. echo "</td>\n";
  306. echo "<td class='vtable' align='left'>\n";
  307. $category = $default_setting_category;
  308. $subcategory = $default_setting_subcategory;
  309. $name = $default_setting_name;
  310. if ($category == "cdr" && $subcategory == "format" && $name == "text" ) {
  311. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  312. if ($default_setting_value == "json") {
  313. echo " <option value='json' selected='selected'>json</option>\n";
  314. }
  315. else {
  316. echo " <option value='json'>json</option>\n";
  317. }
  318. if ($default_setting_value == "xml") {
  319. echo " <option value='xml' selected='selected'>xml</option>\n";
  320. }
  321. else {
  322. echo " <option value='xml'>xml</option>\n";
  323. }
  324. echo " </select>\n";
  325. }
  326. elseif ($category == "cdr" && $subcategory == "storage" && $name == "text" ) {
  327. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  328. if ($default_setting_value == "db") {
  329. echo " <option value='db' selected='selected'>db</option>\n";
  330. }
  331. else {
  332. echo " <option value='db'>db</option>\n";
  333. }
  334. if ($default_setting_value == "dir") {
  335. echo " <option value='dir' selected='selected'>dir</option>\n";
  336. }
  337. else {
  338. echo " <option value='dir'>dir</option>\n";
  339. }
  340. echo " </select>\n";
  341. }
  342. elseif ($category == "domain" && $subcategory == "menu" && $name == "uuid" ) {
  343. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  344. $sql = "select * from v_menus ";
  345. $sql .= "order by menu_language, menu_name asc ";
  346. $sub_result = $database->select($sql, null, 'all');
  347. if (is_array($sub_result) && sizeof($sub_result) != 0) {
  348. foreach ($sub_result as $sub_row) {
  349. $selected = strtolower($default_setting_value) == strtolower($sub_row["menu_uuid"]) ? "selected='selected'" : null;
  350. echo " <option value='".strtolower(escape($sub_row["menu_uuid"]))."' ".$selected.">".escape($sub_row["menu_language"])." - ".escape($sub_row["menu_name"])."</option>\n";
  351. }
  352. }
  353. unset($sql, $sub_result, $sub_row, $selected);
  354. echo " </select>\n";
  355. }
  356. elseif ($category == "domain" && $subcategory == "template" && $name == "name" ) {
  357. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  358. //add all the themes to the list
  359. $theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes';
  360. if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) {
  361. while (false !== ($dir_name = readdir($handle))) {
  362. if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && $dir_name != ".git" && is_dir($theme_dir.'/'.$dir_name)) {
  363. $dir_label = str_replace('_', ' ', $dir_name);
  364. $dir_label = str_replace('-', ' ', $dir_label);
  365. if ($dir_name == $default_setting_value) {
  366. echo " <option value='".escape($dir_name)."' selected='selected'>".ucwords(escape($dir_label))."</option>\n";
  367. }
  368. else {
  369. echo " <option value='".escape($dir_name)."'>".ucwords(escape($dir_label))."</option>\n";
  370. }
  371. }
  372. }
  373. closedir($handle);
  374. }
  375. echo " </select>\n";
  376. }
  377. elseif ($category == "domain" && $subcategory == "language" && $name == "code" ) {
  378. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  379. foreach ($_SESSION['app']['languages'] as $key => $value) {
  380. if ($default_setting_value == $value) {
  381. echo " <option value='".escape($value)."' selected='selected'>".escape($value)."</option>\n";
  382. }
  383. else {
  384. echo " <option value='".escape($value)."'>".escape($value)."</option>\n";
  385. }
  386. }
  387. echo " </select>\n";
  388. }
  389. elseif ($category == "email" && $subcategory == "smtp_auth" && $name == "var" ) {
  390. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  391. echo " <option value=''></option>\n";
  392. if ($default_setting_value == "true") {
  393. echo " <option value='true' selected='selected'>".$text['label-true']."</option>\n";
  394. }
  395. else {
  396. echo " <option value='true'>".$text['label-true']."</option>\n";
  397. }
  398. if ($default_setting_value == "false") {
  399. echo " <option value='false' selected='selected'>".$text['label-false']."</option>\n";
  400. }
  401. else {
  402. echo " <option value='false'>".$text['label-false']."</option>\n";
  403. }
  404. echo " </select>\n";
  405. }
  406. elseif ($category == "email" && $subcategory == "smtp_secure" && $name == "var" ) {
  407. echo " <select class='formfld' name='default_setting_value'>\n";
  408. if ($default_setting_value == "none") {
  409. echo " <option value='none' selected='selected'>".$text['label-none']."</option>\n";
  410. }
  411. else {
  412. echo " <option value='none'>".$text['label-none']."</option>\n";
  413. }
  414. if ($default_setting_value == "tls") {
  415. echo " <option value='tls' selected='selected'>TLS</option>\n";
  416. }
  417. else {
  418. echo " <option value='tls'>TLS</option>\n";
  419. }
  420. if ($default_setting_value == "ssl") {
  421. echo " <option value='ssl' selected='selected'>SSL</option>\n";
  422. }
  423. else {
  424. echo " <option value='ssl'>SSL</option>\n";
  425. }
  426. echo " </select>\n";
  427. }
  428. elseif ($category == "domain" && $subcategory == "time_zone" && $name == "name" ) {
  429. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  430. //$list = DateTimeZone::listAbbreviations();
  431. $time_zone_identifiers = DateTimeZone::listIdentifiers();
  432. $previous_category = '';
  433. $x = 0;
  434. foreach ($time_zone_identifiers as $key => $val) {
  435. $time_zone = explode("/", $val);
  436. $category = $time_zone[0];
  437. if ($category != $previous_category) {
  438. if ($x > 0) {
  439. echo " </optgroup>\n";
  440. }
  441. echo " <optgroup label='".$category."'>\n";
  442. }
  443. if (!empty($val)) {
  444. $time_zone_offset = get_time_zone_offset($val)/3600;
  445. $time_zone_offset_hours = floor($time_zone_offset);
  446. $time_zone_offset_minutes = ($time_zone_offset - $time_zone_offset_hours) * 60;
  447. $time_zone_offset_minutes = number_pad($time_zone_offset_minutes, 2);
  448. if ($time_zone_offset > 0) {
  449. $time_zone_offset_hours = number_pad($time_zone_offset_hours, 2);
  450. $time_zone_offset_hours = "+".$time_zone_offset_hours;
  451. }
  452. else {
  453. $time_zone_offset_hours = str_replace("-", "", $time_zone_offset_hours);
  454. $time_zone_offset_hours = "-".number_pad($time_zone_offset_hours, 2);
  455. }
  456. }
  457. if ($val == $default_setting_value) {
  458. echo " <option value='".escape($val)."' selected='selected'>(UTC ".$time_zone_offset_hours.":".$time_zone_offset_minutes.") ".escape($val)."</option>\n";
  459. }
  460. else {
  461. echo " <option value='".escape($val)."'>(UTC ".$time_zone_offset_hours.":".$time_zone_offset_minutes.") ".escape($val)."</option>\n";
  462. }
  463. $previous_category = $category;
  464. $x++;
  465. }
  466. echo " </select>\n";
  467. }
  468. elseif ($category == "domain" && $subcategory == "time_format" && $name == "text" ) {
  469. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  470. echo " <option value='24h' ".(($default_setting_value == "24h") ? "selected='selected'" : null).">".$text['label-24-hour']."</option>\n";
  471. echo " <option value='12h' ".(($default_setting_value == "12h") ? "selected='selected'" : null).">".$text['label-12-hour']."</option>\n";
  472. echo " </select>\n";
  473. }
  474. elseif ($category == "domain" && $subcategory == "setting_value_input_type" && $name == "text" ) {
  475. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  476. echo " <option value='input'>Input</option>\n";
  477. echo " <option value='textarea' ".($default_setting_value == "textarea" ? "selected='selected'" : null).">TextArea</option>\n";
  478. echo " </select>\n";
  479. }
  480. elseif ($subcategory == 'password' || substr_count($subcategory, '_password') > 0 || $category == "login" && $subcategory == "password_reset_key" && $name == "text") {
  481. echo " <input class='formfld' type='password' id='default_setting_value' name='default_setting_value' onmouseover=\"this.type='text';\" onfocus=\"this.type='text';\" onmouseout=\"if (!$(this).is(':focus')) { this.type='password'; }\" onblur=\"this.type='password';\" maxlength='255' value=\"".escape($default_setting_value)."\">\n";
  482. }
  483. elseif (substr_count($subcategory, "_color") > 0 && ($name == "text" || $name == 'array')) {
  484. echo " <input type='text' class='formfld colorpicker' id='default_setting_value' name='default_setting_value' value=\"".escape($default_setting_value)."\">\n";
  485. }
  486. elseif ($category == "theme" && substr_count($subcategory, "_font") > 0 && $name == "text") {
  487. $default_setting_value = str_replace('"', "'", $default_setting_value);
  488. if ($fonts = get_available_fonts('alpha')) {
  489. echo " <select class='formfld' id='sel_default_setting_value' onchange=\"if (this.selectedIndex == $('select#sel_default_setting_value option').length - 1) { $('#txt_default_setting_value').val('').fadeIn('fast'); $('#txt_default_setting_value').trigger('focus'); } else { $('#txt_default_setting_value').fadeOut('fast', function(){ $('#txt_default_setting_value').val($('#sel_default_setting_value').val()) }); } \">\n";
  490. echo " <option value=''></option>\n";
  491. echo " <optgroup label='".$text['label-web_fonts']."'>\n";
  492. $option_found = false;
  493. foreach ($fonts as $n => $font) {
  494. if ($default_setting_value == $font) {
  495. $selected = 'selected';
  496. $option_found = true;
  497. }
  498. else {
  499. unset($selected);
  500. }
  501. echo " <option value='".$font."' ".$selected.">".$font."</option>\n";
  502. }
  503. echo " </optgroup>\n";
  504. echo " <option value='' disabled='disabled'></option>\n";
  505. echo " <option value='' ".(($default_setting_value != '' && $option_found == false) ? 'selected' : null).">".$text['label-other']."...</option>\n";
  506. echo " </select>";
  507. echo " <input type='text' class='formfld' ".(($default_setting_value == '' || $option_found) ? "style='display: none;'" : null)." id='txt_default_setting_value' name='default_setting_value' value=\"".escape($default_setting_value)."\">\n";
  508. }
  509. else {
  510. echo " <input type='text' class='formfld' id='default_setting_value' name='default_setting_value' value=\"".$default_setting_value."\">\n";
  511. }
  512. }
  513. elseif ($category == "fax" && $subcategory == "page_size" && $name == "text" ) {
  514. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  515. echo " <option value='letter' ".(($default_setting_value == 'letter') ? 'selected' : null).">Letter</option>";
  516. echo " <option value='legal' ".(($default_setting_value == 'legal') ? 'selected' : null).">Legal</option>";
  517. echo " <option value='a4' ".(($default_setting_value == 'a4') ? 'selected' : null).">A4</option>";
  518. echo " </select>";
  519. }
  520. elseif ($category == "fax" && $subcategory == "resolution" && $name == "text" ) {
  521. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  522. echo " <option value='normal' ".(($default_setting_value == 'normal') ? 'selected' : null).">".$text['label-normal']."</option>";
  523. echo " <option value='fine' ".(($default_setting_value == 'fine') ? 'selected' : null).">".$text['label-fine']."</option>";
  524. echo " <option value='superfine' ".(($default_setting_value == 'superfine') ? 'selected' : null).">".$text['label-superfine']."</option>";
  525. echo " </select>";
  526. }
  527. elseif ($category == "provision" && $subcategory == "aastra_time_format" && $name == "text" ) {
  528. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  529. echo " <option value='1' ".(($default_setting_value == "1") ? "selected='selected'" : null).">".$text['label-24-hour']."</option>\n";
  530. echo " <option value='0' ".(($default_setting_value == "0") ? "selected='selected'" : null).">".$text['label-12-hour']."</option>\n";
  531. echo " </select>\n";
  532. }
  533. elseif ($category == "provision" && $subcategory == "aastra_date_format" && $name == "text" ) {
  534. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  535. echo " <option value='0' ".(($default_setting_value == "0") ? "selected='selected'" : null).">WWW MMM DD</option>\n";
  536. echo " <option value='1' ".(($default_setting_value == "1") ? "selected='selected'" : null).">DD-MMM-YY</option>\n";
  537. echo " <option value='2' ".(($default_setting_value == "2") ? "selected='selected'" : null).">YYYY-MM-DD</option>\n";
  538. echo " <option value='3' ".(($default_setting_value == "3") ? "selected='selected'" : null).">DD/MM/YYYY</option>\n";
  539. echo " <option value='4' ".(($default_setting_value == "4") ? "selected='selected'" : null).">DD/MM/YY</option>\n";
  540. echo " <option value='5' ".(($default_setting_value == "5") ? "selected='selected'" : null).">DD-MM-YY</option>\n";
  541. echo " <option value='6' ".(($default_setting_value == "6") ? "selected='selected'" : null).">MM/DD/YY</option>\n";
  542. echo " <option value='7' ".(($default_setting_value == "7") ? "selected='selected'" : null).">MMM DD</option>\n";
  543. echo " </select>\n";
  544. }
  545. elseif ($category == "message" && $subcategory == "display_last" && $name == "text") {
  546. $array = explode(' ',$default_setting_value);
  547. if (!is_numeric($array[0])) { $array[1] = $array[0]; $array[0] = ''; }
  548. echo " <input type='text' class='formfld' id='default_setting_value_1' value=\"".$array[0]."\" onchange=\"$('#default_setting_value').val($('#default_setting_value_1').val() + ' ' + $('#default_setting_value_2 option:selected').val());\">\n";
  549. echo " <select class='formfld' id='default_setting_value_2' onchange=\"$('#default_setting_value').val($('#default_setting_value_1').val() + ' ' + $('#default_setting_value_2 option:selected').val());\">\n";
  550. echo " <option value='hours' ".($array[1] == "hours" ? "selected='selected'" : null).">".$text['label-hours']."</option>\n";
  551. echo " <option value='days' ".($array[1] == "days" ? "selected='selected'" : null).">".$text['label-days']."</option>\n";
  552. echo " <option value='messages' ".($array[1] == "messages" ? "selected='selected'" : null).">".$text['label-messages']."</option>\n";
  553. echo " </select>\n";
  554. echo " <input type='hidden' id='default_setting_value' name='default_setting_value' value=\"".$default_setting_value."\">\n";
  555. unset($array);
  556. }
  557. elseif ($category == "theme" && $subcategory == "domain_visible" && $name == "text" ) {
  558. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  559. echo " <option value='false' ".(($default_setting_value == "false") ? "selected='selected'" : null).">".$text['label-false']."</option>\n";
  560. echo " <option value='true' ".(($default_setting_value == "true") ? "selected='selected'" : null).">".$text['label-true']."</option>\n";
  561. echo " </select>\n";
  562. }
  563. elseif ($category == "theme" && $subcategory == "menu_brand_type" && $name == "text" ) {
  564. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  565. echo " <option value='image' ".(($default_setting_value == "image") ? "selected='selected'" : null).">".$text['label-image']."</option>\n";
  566. echo " <option value='text' ".(($default_setting_value == "text") ? "selected='selected'" : null).">".$text['label-text']."</option>\n";
  567. echo " <option value='image_text' ".(($default_setting_value == "image_text") ? "selected='selected'" : null).">".$text['label-image_text']."</option>\n";
  568. echo " <option value='none' ".(($default_setting_value == "none") ? "selected='selected'" : null).">".$text['label-none']."</option>\n";
  569. echo " </select>\n";
  570. }
  571. elseif ($category == "theme" && $subcategory == "menu_style" && $name == "text" ) {
  572. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  573. echo " <option value='fixed' ".(($default_setting_value == "fixed") ? "selected='selected'" : null).">".$text['label-fixed']."</option>\n";
  574. echo " <option value='static' ".(($default_setting_value == "static") ? "selected='selected'" : null).">".$text['label-static']."</option>\n";
  575. echo " <option value='inline' ".(($default_setting_value == "inline") ? "selected='selected'" : null).">".$text['label-inline']."</option>\n";
  576. echo " <option value='side' ".(($default_setting_value == "side") ? "selected='selected'" : null).">".$text['label-side']."</option>\n";
  577. echo " </select>\n";
  578. }
  579. elseif ($category == "theme" && $subcategory == "menu_position" && $name == "text" ) {
  580. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  581. echo " <option value='top' ".(($default_setting_value == "top") ? "selected='selected'" : null).">".$text['label-top']."</option>\n";
  582. echo " <option value='bottom' ".(($default_setting_value == "bottom") ? "selected='selected'" : null).">".$text['label-bottom']."</option>\n";
  583. echo " </select>\n";
  584. }
  585. elseif ($category == "theme" && $subcategory == "logo_align" && $name == "text" ) {
  586. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  587. echo " <option value='left' ".(($default_setting_value == "left") ? "selected='selected'" : null).">".$text['label-left']."</option>\n";
  588. echo " <option value='center' ".(($default_setting_value == "center") ? "selected='selected'" : null).">".$text['label-center']."</option>\n";
  589. echo " <option value='right' ".(($default_setting_value == "right") ? "selected='selected'" : null).">".$text['label-right']."</option>\n";
  590. echo " </select>\n";
  591. }
  592. elseif ($category == "theme" && $subcategory == "custom_css_code" && $name == "text" ) {
  593. echo " <textarea class='formfld' style='min-width: 100%; height: 300px; font-family: courier, monospace; overflow: auto; resize: vertical' id='default_setting_value' name='default_setting_value' wrap='off'>".escape($default_setting_value)."</textarea>\n";
  594. }
  595. elseif ($category == "theme" && $subcategory == "button_icons" && $name == "text" ) {
  596. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  597. echo " <option value='auto'>".$text['option-button_icons_auto']."</option>\n";
  598. echo " <option value='only' ".($default_setting_value == "only" ? "selected='selected'" : null).">".$text['option-button_icons_only']."</option>\n";
  599. echo " <option value='always' ".($default_setting_value == "always" ? "selected='selected'" : null).">".$text['option-button_icons_always']."</option>\n";
  600. echo " <option value='never' ".($default_setting_value == "never" ? "selected='selected'" : null).">".$text['option-button_icons_never']."</option>\n";
  601. echo " </select>\n";
  602. }
  603. elseif ($category == "theme" && $subcategory == "menu_side_state" && $name == "text" ) {
  604. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  605. echo " <option value='expanded'>".$text['option-expanded']."</option>\n";
  606. echo " <option value='contracted' ".($default_setting_value == "contracted" ? "selected='selected'" : null).">".$text['option-contracted']."</option>\n";
  607. echo " <option value='hidden' ".($default_setting_value == "hidden" ? "selected='selected'" : null).">".$text['option-hidden']."</option>\n";
  608. echo " </select>\n";
  609. }
  610. elseif ($category == "theme" && $subcategory == "menu_side_toggle" && $name == "text" ) {
  611. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  612. echo " <option value='hover'>".$text['option-hover']."</option>\n";
  613. echo " <option value='click' ".($default_setting_value == "click" ? "selected='selected'" : null).">".$text['option-click']."</option>\n";
  614. echo " </select>\n";
  615. }
  616. elseif ($category == "theme" && $subcategory == "menu_side_toggle_body_width" && $name == "text" ) {
  617. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  618. echo " <option value='shrink'>".$text['option-shrink']."</option>\n";
  619. echo " <option value='fixed' ".($default_setting_value == "fixed" ? "selected='selected'" : null).">".$text['option-fixed']."</option>\n";
  620. echo " </select>\n";
  621. }
  622. elseif ($category == "theme" && $subcategory == "menu_side_item_main_sub_close" && $name == "text" ) {
  623. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  624. echo " <option value='automatic'>".$text['option-automatic']."</option>\n";
  625. echo " <option value='manual' ".($default_setting_value == "manual" ? "selected='selected'" : null).">".$text['option-manual']."</option>\n";
  626. echo " </select>\n";
  627. }
  628. elseif ($category == "theme" && $subcategory == "body_header_brand_type" && $name == "text" ) {
  629. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  630. echo " <option value='image' ".(($default_setting_value == "image") ? "selected='selected'" : null).">".$text['label-image']."</option>\n";
  631. echo " <option value='text' ".(($default_setting_value == "text") ? "selected='selected'" : null).">".$text['label-text']."</option>\n";
  632. echo " <option value='image_text' ".(($default_setting_value == "image_text") ? "selected='selected'" : null).">".$text['label-image_text']."</option>\n";
  633. echo " <option value='none' ".(($default_setting_value == "none") ? "selected='selected'" : null).">".$text['label-none']."</option>\n";
  634. echo " </select>\n";
  635. }
  636. elseif ($category == "theme" && $subcategory == "input_toggle_style" && $name == "text" ) {
  637. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  638. echo " <option value='select'>".$text['option-select']."</option>\n";
  639. echo " <option value='switch_round' ".(($default_setting_value == "switch_round") ? "selected='selected'" : null).">".$text['option-switch_round']."</option>\n";
  640. echo " <option value='switch_square' ".(($default_setting_value == "switch_square") ? "selected='selected'" : null).">".$text['option-switch_square']."</option>\n";
  641. echo " </select>\n";
  642. }
  643. elseif ($category == "users" && $subcategory == "username_format" && $name == "text" ) {
  644. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  645. echo " <option value='any' ".($default_setting_value == 'any' ? "selected='selected'" : null).">".$text['option-username_format_any']."</option>\n";
  646. echo " <option value='email' ".($default_setting_value == 'email' ? "selected='selected'" : null).">".$text['option-username_format_email']."</option>\n";
  647. echo " <option value='no_email' ".($default_setting_value == 'no_email' ? "selected='selected'" : null).">".$text['option-username_format_no_email']."</option>\n";
  648. echo " </select>\n";
  649. }
  650. elseif ($category == "voicemail" && $subcategory == "voicemail_file" && $name == "text" ) {
  651. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  652. echo " <option value='listen' ".(($default_setting_value == "listen") ? "selected='selected'" : null).">".$text['option-voicemail_file_listen']."</option>\n";
  653. echo " <option value='link' ".(($default_setting_value == "link") ? "selected='selected'" : null).">".$text['option-voicemail_file_link']."</option>\n";
  654. echo " <option value='attach' ".(($default_setting_value == "attach") ? "selected='selected'" : null).">".$text['option-voicemail_file_attach']."</option>\n";
  655. echo " </select>\n";
  656. }
  657. elseif ($category == "voicemail" && ($subcategory == "message_caller_id_number" || $subcategory == "message_date_time") && $name == "text" ) {
  658. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  659. echo " <option value='before'>".$text['label-before']."</option>\n";
  660. echo " <option value='after' ".(($default_setting_value == "after") ? "selected='selected'" : null).">".$text['label-after']."</option>\n";
  661. echo " <option value='false' ".(($default_setting_value == "false") ? "selected='selected'" : null).">".$text['label-false']."</option>\n";
  662. echo " </select>\n";
  663. }
  664. elseif ($category == "recordings" && $subcategory == "storage_type" && $name == "text" ) {
  665. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  666. echo " <option value='file'>".$text['label-file']."</option>\n";
  667. echo " <option value='base64' ".(($default_setting_value == "base64") ? "selected='selected'" : null).">".$text['label-base64']."</option>\n";
  668. echo " </select>\n";
  669. }
  670. elseif ($category == "destinations" && $subcategory == "dialplan_mode" && $name == "text" ) {
  671. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  672. echo " <option value='multiple'>".$text['label-multiple']."</option>\n";
  673. echo " <option value='single' ".(($default_setting_value == "single") ? "selected='selected'" : null).">".$text['label-single']."</option>\n";
  674. echo " </select>\n";
  675. }
  676. elseif ($category == "destinations" && $subcategory == "select_mode" && $name == "text" ) {
  677. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  678. echo " <option value='default'>".$text['label-default']."</option>\n";
  679. echo " <option value='dynamic' ".(($default_setting_value == "dynamic") ? "selected='selected'" : null).">".$text['label-dynamic']."</option>\n";
  680. echo " </select>\n";
  681. }
  682. elseif (is_json($default_setting_value)) {
  683. echo " <textarea class='formfld' style='width: 100%; height: 80px; font-family: courier, monospace; overflow: auto;' id='default_setting_value' name='default_setting_value' wrap='off'>".escape($default_setting_value)."</textarea>\n";
  684. }
  685. elseif ($name == "boolean") {
  686. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  687. if ($category == "provision" && is_numeric($default_setting_value)) {
  688. echo " <option value='0'>".$text['label-false']."</option>\n";
  689. echo " <option value='1' ".(($default_setting_value == 1) ? "selected='selected'" : null).">".$text['label-true']."</option>\n";
  690. }
  691. else {
  692. echo " <option value='false'>".$text['label-false']."</option>\n";
  693. echo " <option value='true' ".((strtolower($default_setting_value) == "true") ? "selected='selected'" : null).">".$text['label-true']."</option>\n";
  694. }
  695. echo " </select>\n";
  696. }
  697. else {
  698. if (!empty($_SESSION['domain']['setting_value_input_type']) && $_SESSION['domain']['setting_value_input_type']['text'] == 'textarea') {
  699. echo " <textarea class='formfld' style='width: 185px; height: 80px;' id='default_setting_value' name='default_setting_value'>".($default_setting_value ?? '')."</textarea>\n";
  700. }
  701. else {
  702. echo " <input class='formfld' type='text' id='default_setting_value' name='default_setting_value' value=\"".escape($default_setting_value ?? '')."\">\n";
  703. }
  704. }
  705. echo "<br />\n";
  706. echo $text['description-value']."\n";
  707. if ($category == "theme" && substr_count($subcategory, "_font") > 0 && $name == "text") {
  708. echo "&nbsp;&nbsp;".$text['label-reference'].": <a href='https://www.google.com/fonts' target='_blank'>".$text['label-web_fonts']."</a>\n";
  709. }
  710. echo "</td>\n";
  711. echo "</tr>\n";
  712. echo "</table>\n";
  713. echo "<div id='tr_order' ".(($default_setting_name != 'array') ? "style='display: none;'" : null).">\n";
  714. echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
  715. echo "<tr>\n";
  716. echo "<td width='30%' class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
  717. echo " ".$text['label-order']."\n";
  718. echo "</td>\n";
  719. echo "<td width='70%' class='vtable' align='left'>\n";
  720. echo " <select name='default_setting_order' class='formfld'>\n";
  721. $i=0;
  722. while($i<=999) {
  723. $selected = ($i == $default_setting_order) ? "selected" : null;
  724. if (strlen($i) == 1) {
  725. echo " <option value='00$i' ".$selected.">00$i</option>\n";
  726. }
  727. if (strlen($i) == 2) {
  728. echo " <option value='0$i' ".$selected.">0$i</option>\n";
  729. }
  730. if (strlen($i) == 3) {
  731. echo " <option value='$i' ".$selected.">$i</option>\n";
  732. }
  733. $i++;
  734. }
  735. echo " </select>\n";
  736. echo " <br />\n";
  737. echo $text['description-order']."\n";
  738. echo "</td>\n";
  739. echo "</tr>\n";
  740. echo "</table>\n";
  741. echo "</div>\n";
  742. echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
  743. echo "<tr>\n";
  744. echo "<td width='30%' class='vncellreq' valign='top' align='left' nowrap>\n";
  745. echo " ".$text['label-enabled']."\n";
  746. echo "</td>\n";
  747. echo "<td width='70%' class='vtable' align='left'>\n";
  748. if (substr($_SESSION['theme']['input_toggle_style']['text'], 0, 6) == 'switch') {
  749. echo " <label class='switch'>\n";
  750. echo " <input type='checkbox' id='default_setting_enabled' name='default_setting_enabled' value='true' ".($default_setting_enabled == 'true' ? "checked='checked'" : null).">\n";
  751. echo " <span class='slider'></span>\n";
  752. echo " </label>\n";
  753. }
  754. else {
  755. echo " <select class='formfld' id='default_setting_enabled' name='default_setting_enabled'>\n";
  756. echo " <option value='true' ".($default_setting_enabled == 'true' ? "selected='selected'" : null).">".$text['option-true']."</option>\n";
  757. echo " <option value='false' ".($default_setting_enabled == 'false' ? "selected='selected'" : null).">".$text['option-false']."</option>\n";
  758. echo " </select>\n";
  759. }
  760. echo "<br />\n";
  761. echo $text['description-enabled']."\n";
  762. echo "</td>\n";
  763. echo "</tr>\n";
  764. echo "<tr>\n";
  765. echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
  766. echo " ".$text['label-description']."\n";
  767. echo "</td>\n";
  768. echo "<td class='vtable' align='left'>\n";
  769. echo " <textarea class='formfld' style='width: 185px; height: 80px;' name='default_setting_description'>".escape($default_setting_description)."</textarea>\n";
  770. echo " <br />\n";
  771. echo $text['description-description']."\n";
  772. echo "</td>\n";
  773. echo "</tr>\n";
  774. echo "</table>";
  775. echo "</div>";
  776. echo "<br><br>";
  777. if ($action == "update") {
  778. echo "<input type='hidden' name='default_setting_uuid' value='".escape($default_setting_uuid)."'>\n";
  779. echo "<input type='hidden' name='search' value='".escape($search)."'>\n";
  780. }
  781. echo "<input type='hidden' name='".$token['name']."' value='".$token['hash']."'>\n";
  782. echo "</form>";
  783. if (empty($_REQUEST["id"]) && !empty($_REQUEST["default_setting_category"])) {
  784. echo "<script>document.getElementById('default_setting_subcategory').focus();</script>";
  785. }
  786. echo "<script>\n";
  787. //hide password fields before submit
  788. echo " function submit_form() {\n";
  789. echo " hide_password_fields();\n";
  790. echo " $('form#frm').submit();\n";
  791. echo " }\n";
  792. //define lowercase class
  793. echo " $('.lowercase').on('blur',function(){ this.value = this.value.toLowerCase(); });";
  794. //show order if array
  795. echo " $('#default_setting_name').on('keyup',function(){ \n";
  796. echo " (this.value.toLowerCase() == 'array') ? $('#tr_order').slideDown('fast') : $('#tr_order').slideUp('fast');\n";
  797. echo " });\n";
  798. echo "</script>\n";
  799. //include the footer
  800. require_once "resources/footer.php";
  801. ?>