default_setting_edit.php 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641
  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-2016
  17. the Initial Developer. All Rights Reserved.
  18. Contributor(s):
  19. Mark J Crane <[email protected]>
  20. */
  21. require_once "root.php";
  22. require_once "resources/require.php";
  23. require_once "resources/check_auth.php";
  24. if (permission_exists('default_setting_add') || permission_exists('default_setting_edit')) {
  25. //access granted
  26. }
  27. else {
  28. echo "access denied";
  29. exit;
  30. }
  31. //add multi-lingual support
  32. $language = new text;
  33. $text = $language->get();
  34. //action add or update
  35. if (isset($_REQUEST["id"])) {
  36. $action = "update";
  37. $default_setting_uuid = check_str($_REQUEST["id"]);
  38. }
  39. else {
  40. $action = "add";
  41. }
  42. $search = check_str($_REQUEST['search']);
  43. //get http post variables and set them to php variables
  44. if (count($_REQUEST) > 0) {
  45. $default_setting_category = strtolower(check_str($_REQUEST["default_setting_category"]));
  46. $default_setting_subcategory = strtolower(check_str($_POST["default_setting_subcategory"]));
  47. $default_setting_name = strtolower(check_str($_POST["default_setting_name"]));
  48. $default_setting_value = check_str($_POST["default_setting_value"]);
  49. $default_setting_order = check_str($_POST["default_setting_order"]);
  50. $default_setting_enabled = check_str($_POST["default_setting_enabled"]);
  51. $default_setting_description = check_str($_POST["default_setting_description"]);
  52. }
  53. if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
  54. $msg = '';
  55. if ($action == "update") {
  56. $default_setting_uuid = check_str($_POST["default_setting_uuid"]);
  57. }
  58. //check for all required data
  59. if (strlen($default_setting_category) == 0) { $msg .= $text['message-required'].$text['label-category']."<br>\n"; }
  60. if (strlen($default_setting_subcategory) == 0) { $msg .= $text['message-required'].$text['label-subcategory']."<br>\n"; }
  61. if (strlen($default_setting_name) == 0) { $msg .= $text['message-required'].$text['label-type']."<br>\n"; }
  62. //if (strlen($default_setting_value) == 0) { $msg .= $text['message-required'].$text['label-value']."<br>\n"; }
  63. if (strlen($default_setting_order) == 0) { $msg .= $text['message-required'].$text['label-order']."<br>\n"; }
  64. if (strlen($default_setting_enabled) == 0) { $msg .= $text['message-required'].$text['label-enabled']."<br>\n"; }
  65. //if (strlen($default_setting_description) == 0) { $msg .= $text['message-required'].$text['label-description']."<br>\n"; }
  66. if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) {
  67. require_once "resources/header.php";
  68. require_once "resources/persist_form_var.php";
  69. echo "<div align='center'>\n";
  70. echo "<table><tr><td>\n";
  71. echo $msg."<br />";
  72. echo "</td></tr></table>\n";
  73. persistformvar($_POST);
  74. echo "</div>\n";
  75. require_once "resources/footer.php";
  76. return;
  77. }
  78. //add or update the database
  79. if ($_POST["persistformvar"] != "true") {
  80. // fix null
  81. $default_setting_order = ($default_setting_order != '') ? $default_setting_order : 'null';
  82. //update switch timezone variables
  83. if ($default_setting_category == "domain" && $default_setting_subcategory == "time_zone" && $default_setting_name == "name" ) {
  84. //get the action
  85. $sql = "select * from v_vars ";
  86. $sql .= "where var_name = 'timezone' ";
  87. $prep_statement = $db->prepare(check_sql($sql));
  88. $prep_statement->execute();
  89. $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
  90. $var_action = "add";
  91. foreach ($result as $row) {
  92. $var_action = "update";
  93. }
  94. unset ($prep_statement);
  95. //update the timezone
  96. if ($var_action == "update") {
  97. $sql = "update v_vars ";
  98. $sql .= "set var_value = '".$default_setting_value."' ";
  99. $sql .= "where var_name = 'timezone' ";
  100. }
  101. else {
  102. $sql = "insert into v_vars ";
  103. $sql .= "(var_uuid, var_name, var_value, var_cat, var_enabled) ";
  104. $sql .= "values ('".uuid()."', 'timezone', '$default_setting_value', 'Defaults', 'true'); ";
  105. }
  106. $db->query($sql);
  107. unset($sql);
  108. //synchronize the configuration
  109. save_var_xml();
  110. }
  111. if ($action == "add" && permission_exists('default_setting_add')) {
  112. $sql = "insert into v_default_settings ";
  113. $sql .= "(";
  114. $sql .= "default_setting_uuid, ";
  115. $sql .= "default_setting_category, ";
  116. $sql .= "default_setting_subcategory, ";
  117. $sql .= "default_setting_name, ";
  118. $sql .= "default_setting_value, ";
  119. $sql .= "default_setting_order, ";
  120. $sql .= "default_setting_enabled, ";
  121. $sql .= "default_setting_description ";
  122. $sql .= ")";
  123. $sql .= "values ";
  124. $sql .= "(";
  125. $sql .= "'".uuid()."', ";
  126. $sql .= "'$default_setting_category', ";
  127. $sql .= "'$default_setting_subcategory', ";
  128. $sql .= "'$default_setting_name', ";
  129. $sql .= "'$default_setting_value', ";
  130. $sql .= "$default_setting_order, ";
  131. $sql .= "'$default_setting_enabled', ";
  132. $sql .= "'$default_setting_description' ";
  133. $sql .= ")";
  134. $db->exec(check_sql($sql));
  135. unset($sql);
  136. $_SESSION["message"] = $text['message-add'];
  137. header("Location: default_settings.php".(($search != '') ? "?search=".$search : null)."#".$default_setting_category);
  138. return;
  139. } //if ($action == "add")
  140. if ($action == "update" && permission_exists('default_setting_edit')) {
  141. $sql = "update v_default_settings set ";
  142. $sql .= "default_setting_category = '$default_setting_category', ";
  143. $sql .= "default_setting_subcategory = '$default_setting_subcategory', ";
  144. $sql .= "default_setting_name = '$default_setting_name', ";
  145. $sql .= "default_setting_value = '$default_setting_value', ";
  146. $sql .= "default_setting_order = $default_setting_order, ";
  147. $sql .= "default_setting_enabled = '$default_setting_enabled', ";
  148. $sql .= "default_setting_description = '$default_setting_description' ";
  149. $sql .= "where default_setting_uuid = '$default_setting_uuid'";
  150. $db->exec(check_sql($sql));
  151. unset($sql);
  152. $_SESSION["message"] = $text['message-update'];
  153. header("Location: default_settings.php".(($search != '') ? "?search=".$search : null)."#".$default_setting_category);
  154. return;
  155. } //if ($action == "update")
  156. } //if ($_POST["persistformvar"] != "true")
  157. } //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
  158. //pre-populate the form
  159. if (count($_GET)>0 && $_POST["persistformvar"] != "true") {
  160. $default_setting_uuid = check_str($_GET["id"]);
  161. $sql = "select * from v_default_settings ";
  162. $sql .= "where default_setting_uuid = '$default_setting_uuid' ";
  163. $prep_statement = $db->prepare(check_sql($sql));
  164. $prep_statement->execute();
  165. $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
  166. foreach ($result as &$row) {
  167. $default_setting_category = $row["default_setting_category"];
  168. $default_setting_subcategory = $row["default_setting_subcategory"];
  169. $default_setting_name = $row["default_setting_name"];
  170. $default_setting_value = $row["default_setting_value"];
  171. $default_setting_order = $row["default_setting_order"];
  172. $default_setting_enabled = $row["default_setting_enabled"];
  173. $default_setting_description = $row["default_setting_description"];
  174. break; //limit to 1 row
  175. }
  176. unset ($prep_statement);
  177. }
  178. //show the header
  179. require_once "resources/header.php";
  180. if ($action == "update") {
  181. $document['title'] = $text['title-default_setting-edit'];
  182. }
  183. elseif ($action == "add") {
  184. $document['title'] = $text['title-default_setting-add'];
  185. }
  186. //show the content
  187. echo "<form name='frm' id='frm' method='post' action=''>\n";
  188. echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
  189. echo "<tr>\n";
  190. if ($action == "add") {
  191. echo "<td align='left' width='30%' nowrap='nowrap'><b>".$text['header-default_setting-add']."</b></td>\n";
  192. }
  193. if ($action == "update") {
  194. echo "<td align='left' width='30%' nowrap='nowrap'><b>".$text['header-default_setting-edit']."</b></td>\n";
  195. }
  196. echo "<td width='70%' align='right'>";
  197. echo " <input type='button' class='btn' name='' alt='".$text['button-back']."' onclick=\"window.location='default_settings.php".(($search != '') ? "?search=".$search : null)."'\" value='".$text['button-back']."'>";
  198. echo " <input type='button' class='btn' value='".$text['button-save']."' onclick='submit_form();'>\n";
  199. echo "</td>\n";
  200. echo "</tr>\n";
  201. echo "<tr>\n";
  202. echo "<td align='left' colspan='2'>\n";
  203. if ($action == "add") {
  204. echo $text['description-default_setting-add'];
  205. }
  206. if ($action == "update") {
  207. echo $text['description-default_setting-edit'];
  208. }
  209. echo "<br /><br />\n";
  210. echo "</td>\n";
  211. echo "</tr>\n";
  212. echo "<tr>\n";
  213. echo "<td class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
  214. echo " ".$text['label-category']."\n";
  215. echo "</td>\n";
  216. echo "<td class='vtable' align='left'>\n";
  217. echo " <input class='formfld' type='text' name='default_setting_category' maxlength='255' value=\"$default_setting_category\">\n";
  218. echo "<br />\n";
  219. echo $text['description-category']."\n";
  220. echo "</td>\n";
  221. echo "</tr>\n";
  222. echo "<tr>\n";
  223. echo "<td class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
  224. echo " ".$text['label-subcategory']."\n";
  225. echo "</td>\n";
  226. echo "<td class='vtable' align='left'>\n";
  227. echo " <input class='formfld lowercase' type='text' name='default_setting_subcategory' id='default_setting_subcategory' maxlength='255' value=\"$default_setting_subcategory\">\n";
  228. echo "<br />\n";
  229. echo $text['description-subcategory']."\n";
  230. echo "</td>\n";
  231. echo "</tr>\n";
  232. echo "<tr>\n";
  233. echo "<td class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
  234. echo " ".$text['label-type']."\n";
  235. echo "</td>\n";
  236. echo "<td class='vtable' align='left'>\n";
  237. echo " <input class='formfld lowercase' type='text' name='default_setting_name' id='default_setting_name' maxlength='255' value=\"$default_setting_name\">\n";
  238. echo "<br />\n";
  239. echo $text['description-type']."\n";
  240. echo "</td>\n";
  241. echo "</tr>\n";
  242. echo "<tr>\n";
  243. echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
  244. echo " ".$text['label-value']."\n";
  245. echo "</td>\n";
  246. echo "<td class='vtable' align='left'>\n";
  247. $category = $row['default_setting_category'];
  248. $subcategory = $row['default_setting_subcategory'];
  249. $name = $row['default_setting_name'];
  250. if ($category == "cdr" && $subcategory == "format" && $name == "text" ) {
  251. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  252. if ($default_setting_value == "json") {
  253. echo " <option value='json' selected='selected'>json</option>\n";
  254. }
  255. else {
  256. echo " <option value='json'>json</option>\n";
  257. }
  258. if ($default_setting_value == "xml") {
  259. echo " <option value='xml' selected='selected'>xml</option>\n";
  260. }
  261. else {
  262. echo " <option value='xml'>xml</option>\n";
  263. }
  264. echo " </select>\n";
  265. }
  266. elseif ($category == "cdr" && $subcategory == "storage" && $name == "text" ) {
  267. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  268. if ($default_setting_value == "db") {
  269. echo " <option value='db' selected='selected'>db</option>\n";
  270. }
  271. else {
  272. echo " <option value='db'>db</option>\n";
  273. }
  274. if ($default_setting_value == "dir") {
  275. echo " <option value='dir' selected='selected'>dir</option>\n";
  276. }
  277. else {
  278. echo " <option value='dir'>dir</option>\n";
  279. }
  280. echo " </select>\n";
  281. }
  282. elseif ($category == "domain" && $subcategory == "menu" && $name == "uuid" ) {
  283. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  284. $sql = "";
  285. $sql .= "select * from v_menus ";
  286. $sql .= "order by menu_language, menu_name asc ";
  287. $sub_prep_statement = $db->prepare(check_sql($sql));
  288. $sub_prep_statement->execute();
  289. $sub_result = $sub_prep_statement->fetchAll(PDO::FETCH_NAMED);
  290. foreach ($sub_result as $sub_row) {
  291. if (strtolower($default_setting_value) == strtolower($sub_row["menu_uuid"])) {
  292. echo " <option value='".strtolower($sub_row["menu_uuid"])."' selected='selected'>".$sub_row["menu_language"]." - ".$sub_row["menu_name"]."\n";
  293. }
  294. else {
  295. echo " <option value='".strtolower($sub_row["menu_uuid"])."'>".$sub_row["menu_language"]." - ".$sub_row["menu_name"]."</option>\n";
  296. }
  297. }
  298. unset ($sub_prep_statement);
  299. echo " </select>\n";
  300. }
  301. elseif ($category == "domain" && $subcategory == "template" && $name == "name" ) {
  302. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  303. //add all the themes to the list
  304. $theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes';
  305. if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) {
  306. while (false !== ($dir_name = readdir($handle))) {
  307. if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && $dir_name != ".git" && is_dir($theme_dir.'/'.$dir_name)) {
  308. $dir_label = str_replace('_', ' ', $dir_name);
  309. $dir_label = str_replace('-', ' ', $dir_label);
  310. if ($dir_name == $default_setting_value) {
  311. echo " <option value='$dir_name' selected='selected'>".ucwords($dir_label)."</option>\n";
  312. }
  313. else {
  314. echo " <option value='$dir_name'>".ucwords($dir_label)."</option>\n";
  315. }
  316. }
  317. }
  318. closedir($handle);
  319. }
  320. echo " </select>\n";
  321. }
  322. elseif ($category == "domain" && $subcategory == "language" && $name == "code" ) {
  323. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  324. foreach ($_SESSION['app']['languages'] as $key => $value) {
  325. if ($default_setting_value == $value) {
  326. echo " <option value='$value' selected='selected'>$value</option>\n";
  327. }
  328. else {
  329. echo " <option value='$value'>$value</option>\n";
  330. }
  331. }
  332. echo " </select>\n";
  333. }
  334. elseif ($category == "email" && $subcategory == "smtp_auth" && $name == "var" ) {
  335. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  336. echo " <option value=''></option>\n";
  337. if ($default_setting_value == "true") {
  338. echo " <option value='true' selected='selected'>".$text['label-true']."</option>\n";
  339. }
  340. else {
  341. echo " <option value='true'>".$text['label-true']."</option>\n";
  342. }
  343. if ($default_setting_value == "false") {
  344. echo " <option value='false' selected='selected'>".$text['label-false']."</option>\n";
  345. }
  346. else {
  347. echo " <option value='false'>".$text['label-false']."</option>\n";
  348. }
  349. echo " </select>\n";
  350. }
  351. elseif ($category == "email" && $subcategory == "smtp_secure" && $name == "var" ) {
  352. echo " <select class='formfld' name='default_setting_value'>\n";
  353. if ($default_setting_value == "none") {
  354. echo " <option value='none' selected='selected'>".$text['label-none']."</option>\n";
  355. }
  356. else {
  357. echo " <option value='none'>".$text['label-none']."</option>\n";
  358. }
  359. if ($default_setting_value == "tls") {
  360. echo " <option value='tls' selected='selected'>TLS</option>\n";
  361. }
  362. else {
  363. echo " <option value='tls'>TLS</option>\n";
  364. }
  365. if ($default_setting_value == "ssl") {
  366. echo " <option value='ssl' selected='selected'>SSL</option>\n";
  367. }
  368. else {
  369. echo " <option value='ssl'>SSL</option>\n";
  370. }
  371. echo " </select>\n";
  372. }
  373. elseif ($category == "domain" && $subcategory == "time_zone" && $name == "name" ) {
  374. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  375. //$list = DateTimeZone::listAbbreviations();
  376. $time_zone_identifiers = DateTimeZone::listIdentifiers();
  377. $previous_category = '';
  378. $x = 0;
  379. foreach ($time_zone_identifiers as $key => $val) {
  380. $time_zone = explode("/", $val);
  381. $category = $time_zone[0];
  382. if ($category != $previous_category) {
  383. if ($x > 0) {
  384. echo " </optgroup>\n";
  385. }
  386. echo " <optgroup label='".$category."'>\n";
  387. }
  388. if (strlen($val) > 0) {
  389. $time_zone_offset = get_time_zone_offset($val)/3600;
  390. $time_zone_offset_hours = floor($time_zone_offset);
  391. $time_zone_offset_minutes = ($time_zone_offset - $time_zone_offset_hours) * 60;
  392. $time_zone_offset_minutes = number_pad($time_zone_offset_minutes, 2);
  393. if ($time_zone_offset > 0) {
  394. $time_zone_offset_hours = number_pad($time_zone_offset_hours, 2);
  395. $time_zone_offset_hours = "+".$time_zone_offset_hours;
  396. }
  397. else {
  398. $time_zone_offset_hours = str_replace("-", "", $time_zone_offset_hours);
  399. $time_zone_offset_hours = "-".number_pad($time_zone_offset_hours, 2);
  400. }
  401. }
  402. if ($val == $default_setting_value) {
  403. echo " <option value='".$val."' selected='selected'>(UTC ".$time_zone_offset_hours.":".$time_zone_offset_minutes.") ".$val."</option>\n";
  404. }
  405. else {
  406. echo " <option value='".$val."'>(UTC ".$time_zone_offset_hours.":".$time_zone_offset_minutes.") ".$val."</option>\n";
  407. }
  408. $previous_category = $category;
  409. $x++;
  410. }
  411. echo " </select>\n";
  412. }
  413. elseif ($category == "domain" && $subcategory == "time_format" && $name == "text" ) {
  414. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  415. echo " <option value='24h' ".(($default_setting_value == "24h") ? "selected='selected'" : null).">".$text['label-24-hour']."</option>\n";
  416. echo " <option value='12h' ".(($default_setting_value == "12h") ? "selected='selected'" : null).">".$text['label-12-hour']."</option>\n";
  417. echo " </select>\n";
  418. }
  419. elseif ($subcategory == 'password' || substr_count($subcategory, '_password') > 0 || $category == "login" && $subcategory == "password_reset_key" && $name == "text") {
  420. 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=\"".$default_setting_value."\">\n";
  421. }
  422. elseif (
  423. $category == "theme" && $subcategory == "body_color" && $name == "text" ||
  424. $category == "theme" && $subcategory == "body_shadow_color" && $name == "text" ||
  425. $category == "theme" && $subcategory == "background_color" && $name == "array" ||
  426. $category == "theme" && $subcategory == "login_shadow_color" && $name == "text" ||
  427. $category == "theme" && $subcategory == "login_background_color" && $name == "text" ||
  428. $category == "theme" && $subcategory == "domain_color" && $name == "text" ||
  429. $category == "theme" && $subcategory == "domain_shadow_color" && $name == "text" ||
  430. $category == "theme" && $subcategory == "domain_background_color" && $name == "text" ||
  431. $category == "theme" && $subcategory == "domain_selector_shadow_color" && $name == "text" ||
  432. $category == "theme" && $subcategory == "footer_color" && $name == "text" ||
  433. $category == "theme" && $subcategory == "footer_background_color" && $name == "text" ||
  434. $category == "theme" && $subcategory == "message_default_background_color" && $name == "text" ||
  435. $category == "theme" && $subcategory == "message_default_color" && $name == "text" ||
  436. $category == "theme" && $subcategory == "message_negative_background_color" && $name == "text" ||
  437. $category == "theme" && $subcategory == "message_negative_color" && $name == "text" ||
  438. $category == "theme" && $subcategory == "message_alert_background_color" && $name == "text" ||
  439. $category == "theme" && $subcategory == "message_alert_color" && $name == "text" ||
  440. $category == "theme" && $subcategory == "menu_main_background_color" && $name == "text" ||
  441. $category == "theme" && $subcategory == "menu_main_text_color" && $name == "text" ||
  442. $category == "theme" && $subcategory == "menu_main_text_color_hover" && $name == "text" ||
  443. $category == "theme" && $subcategory == "menu_main_shadow_color" && $name == "text" ||
  444. $category == "theme" && $subcategory == "menu_sub_background_color" && $name == "text" ||
  445. $category == "theme" && $subcategory == "menu_sub_background_color_hover" && $name == "text" ||
  446. $category == "theme" && $subcategory == "menu_sub_text_color" && $name == "text" ||
  447. $category == "theme" && $subcategory == "menu_sub_text_color_hover" && $name == "text" ||
  448. $category == "theme" && $subcategory == "menu_sub_shadow_color" && $name == "text" ||
  449. $category == "theme" && $subcategory == "menu_brand_text_color" && $name == "text" ||
  450. $category == "theme" && $subcategory == "menu_brand_text_color_hover" && $name == "text"
  451. ) {
  452. echo " <input type='text' class='formfld colorpicker' id='default_setting_value' name='default_setting_value' value=\"".$default_setting_value."\">\n";
  453. }
  454. elseif ($category == "fax" && $subcategory == "page_size" && $name == "text" ) {
  455. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  456. echo " <option value='letter' ".(($default_setting_value == 'letter') ? 'selected' : null).">Letter</option>";
  457. echo " <option value='legal' ".(($default_setting_value == 'legal') ? 'selected' : null).">Legal</option>";
  458. echo " <option value='a4' ".(($default_setting_value == 'a4') ? 'selected' : null).">A4</option>";
  459. echo " </select>";
  460. }
  461. elseif ($category == "fax" && $subcategory == "resolution" && $name == "text" ) {
  462. echo " <select class='formfld' id='default_setting_value' name='default_setting_value' style=''>\n";
  463. echo " <option value='normal' ".(($default_setting_value == 'normal') ? 'selected' : null).">".$text['label-normal']."</option>";
  464. echo " <option value='fine' ".(($default_setting_value == 'fine') ? 'selected' : null).">".$text['label-fine']."</option>";
  465. echo " <option value='superfine' ".(($default_setting_value == 'superfine') ? 'selected' : null).">".$text['label-superfine']."</option>";
  466. echo " </select>";
  467. }
  468. elseif ($category == "theme" && $subcategory == "domain_visible" && $name == "text" ) {
  469. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  470. echo " <option value='false' ".(($default_setting_value == "false") ? "selected='selected'" : null).">".$text['label-false']."</option>\n";
  471. echo " <option value='true' ".(($default_setting_value == "true") ? "selected='selected'" : null).">".$text['label-true']."</option>\n";
  472. echo " </select>\n";
  473. }
  474. elseif ($category == "theme" && $subcategory == "cache" && $name == "boolean" ) {
  475. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  476. echo " <option value='true' ".(($default_setting_value == "true") ? "selected='selected'" : null).">".$text['label-true']."</option>\n";
  477. echo " <option value='false' ".(($default_setting_value == "false") ? "selected='selected'" : null).">".$text['label-false']."</option>\n";
  478. echo " </select>\n";
  479. }
  480. elseif ($category == "theme" && $subcategory == "menu_brand_type" && $name == "text" ) {
  481. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  482. echo " <option value='image' ".(($default_setting_value == "image") ? "selected='selected'" : null).">".$text['label-image']."</option>\n";
  483. echo " <option value='text' ".(($default_setting_value == "text") ? "selected='selected'" : null).">".$text['label-text']."</option>\n";
  484. echo " <option value='none' ".(($default_setting_value == "none") ? "selected='selected'" : null).">".$text['label-none']."</option>\n";
  485. echo " </select>\n";
  486. }
  487. elseif ($category == "voicemail" && $subcategory == "voicemail_file" && $name == "text" ) {
  488. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  489. echo " <option value='listen' ".(($default_setting_value == "listen") ? "selected='selected'" : null).">".$text['option-voicemail_file_listen']."</option>\n";
  490. echo " <option value='link' ".(($default_setting_value == "link") ? "selected='selected'" : null).">".$text['option-voicemail_file_link']."</option>\n";
  491. echo " <option value='attach' ".(($default_setting_value == "attach") ? "selected='selected'" : null).">".$text['option-voicemail_file_attach']."</option>\n";
  492. echo " </select>\n";
  493. }
  494. elseif ($category == "voicemail" && $subcategory == "keep_local" && $name == "boolean" ) {
  495. echo " <select class='formfld' id='default_setting_value' name='default_setting_value'>\n";
  496. echo " <option value='true' ".(($default_setting_value == "true") ? "selected='selected'" : null).">".$text['label-true']."</option>\n";
  497. echo " <option value='false' ".(($default_setting_value == "false") ? "selected='selected'" : null).">".$text['label-false']."</option>\n";
  498. echo " </select>\n";
  499. }
  500. elseif (is_json($default_setting_value)) {
  501. echo " <textarea class='formfld' style='width: 100%; height: 80px; font-family: courier; white-space: nowrap; overflow: auto;' id='default_setting_value' name='default_setting_value' wrap='off'>".$default_setting_value."</textarea>\n";
  502. }
  503. else {
  504. echo " <input class='formfld' type='text' id='default_setting_value' name='default_setting_value' value=\"".htmlspecialchars($default_setting_value)."\">\n";
  505. }
  506. echo "<br />\n";
  507. echo $text['description-value']."\n";
  508. echo "</td>\n";
  509. echo "</tr>\n";
  510. echo "</table>\n";
  511. echo "<div id='tr_order' ".(($default_setting_name != 'array') ? "style='display: none;'" : null).">\n";
  512. echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
  513. echo "<tr>\n";
  514. echo "<td width='30%' class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
  515. echo " ".$text['label-order']."\n";
  516. echo "</td>\n";
  517. echo "<td width='70%' class='vtable' align='left'>\n";
  518. echo " <select name='default_setting_order' class='formfld'>\n";
  519. $i=0;
  520. while($i<=999) {
  521. $selected = ($i == $default_setting_order) ? "selected" : null;
  522. if (strlen($i) == 1) {
  523. echo " <option value='00$i' ".$selected.">00$i</option>\n";
  524. }
  525. if (strlen($i) == 2) {
  526. echo " <option value='0$i' ".$selected.">0$i</option>\n";
  527. }
  528. if (strlen($i) == 3) {
  529. echo " <option value='$i' ".$selected.">$i</option>\n";
  530. }
  531. $i++;
  532. }
  533. echo " </select>\n";
  534. echo " <br />\n";
  535. echo $text['description-order']."\n";
  536. echo "</td>\n";
  537. echo "</tr>\n";
  538. echo "</table>\n";
  539. echo "</div>\n";
  540. echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
  541. echo "<tr>\n";
  542. echo "<td width='30%' class='vncellreq' valign='top' align='left' nowrap>\n";
  543. echo " ".$text['label-enabled']."\n";
  544. echo "</td>\n";
  545. echo "<td width='70%' class='vtable' align='left'>\n";
  546. echo " <select class='formfld' name='default_setting_enabled'>\n";
  547. if ($default_setting_enabled == "true") {
  548. echo " <option value='true' selected='selected'>".$text['label-true']."</option>\n";
  549. }
  550. else {
  551. echo " <option value='true'>".$text['label-true']."</option>\n";
  552. }
  553. if ($default_setting_enabled == "false") {
  554. echo " <option value='false' selected='selected'>".$text['label-false']."</option>\n";
  555. }
  556. else {
  557. echo " <option value='false'>".$text['label-false']."</option>\n";
  558. }
  559. echo " </select>\n";
  560. echo "<br />\n";
  561. echo $text['description-enabled']."\n";
  562. echo "</td>\n";
  563. echo "</tr>\n";
  564. echo "<tr>\n";
  565. echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
  566. echo " ".$text['label-description']."\n";
  567. echo "</td>\n";
  568. echo "<td class='vtable' align='left'>\n";
  569. echo " <input class='formfld' type='text' name='default_setting_description' maxlength='255' value=\"".$default_setting_description."\">\n";
  570. echo "<br />\n";
  571. echo $text['description-description']."\n";
  572. echo "</td>\n";
  573. echo "</tr>\n";
  574. echo " <tr>\n";
  575. echo " <td colspan='2' align='right'>\n";
  576. if ($action == "update") {
  577. echo " <input type='hidden' name='default_setting_uuid' value='".$default_setting_uuid."'>\n";
  578. echo " <input type='hidden' name='search' value='".$search."'>\n";
  579. }
  580. echo " <br>";
  581. echo " <input type='button' class='btn' value='".$text['button-save']."' onclick='submit_form();'>\n";
  582. echo " </td>\n";
  583. echo " </tr>";
  584. echo "</table>";
  585. echo "<br><br>";
  586. echo "</form>";
  587. if ($_REQUEST["id"] == '' && $_REQUEST["default_setting_category"] != '') {
  588. echo "<script>document.getElementById('default_setting_subcategory').focus();</script>";
  589. }
  590. echo "<script>\n";
  591. //capture enter key to submit form
  592. echo " $(window).keypress(function(event){\n";
  593. echo " if (event.which == 13) { submit_form(); }\n";
  594. echo " });\n";
  595. //hide/convert password fields then submit form
  596. echo " function submit_form() {\n";
  597. echo " $('input:password').css('visibility','hidden');\n";
  598. echo " $('input:password').attr({type:'text'});\n";
  599. echo " $('form#frm').submit();\n";
  600. echo " }\n";
  601. //define lowercase class
  602. echo " $('.lowercase').blur(function(){ this.value = this.value.toLowerCase(); });";
  603. //show order if array
  604. echo " $('#default_setting_name').keyup(function(){ \n";
  605. echo " (this.value.toLowerCase() == 'array') ? $('#tr_order').slideDown('fast') : $('#tr_order').slideUp('fast');\n";
  606. echo " });\n";
  607. echo "</script>\n";
  608. //include the footer
  609. require_once "resources/footer.php";
  610. ?>