Fork of FusionPBX but with LDAP kinda working
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

565 lines
23 KiB

2 years ago
  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 <markjcrane@fusionpbx.com>
  16. Copyright (C) 2010 - 2020
  17. All Rights Reserved.
  18. Contributor(s):
  19. Mark J Crane <markjcrane@fusionpbx.com>
  20. Luis Daniel Lucio Quiroz <dlucio@okay.com.mx>
  21. */
  22. //includes
  23. require_once "root.php";
  24. require_once "resources/require.php";
  25. require_once "resources/check_auth.php";
  26. require_once "resources/paging.php";
  27. //check permissions
  28. if (permission_exists('fifo_add')) {
  29. //access granted
  30. }
  31. else {
  32. echo "access denied";
  33. exit;
  34. }
  35. //add multi-lingual support
  36. $language = new text;
  37. $text = $language->get();
  38. //get http values and set them as variables
  39. if (count($_POST)>0) {
  40. $order_by = $_GET["order_by"];
  41. $order = $_GET["order"];
  42. $extension_name = $_POST["extension_name"];
  43. $queue_extension_number = $_POST["queue_extension_number"];
  44. $agent_queue_extension_number = $_POST["agent_queue_extension_number"];
  45. $agent_login_logout_extension_number = $_POST["agent_login_logout_extension_number"];
  46. $dialplan_order = $_POST["dialplan_order"];
  47. $pin_number = $_POST["pin_number"];
  48. $profile = $_POST["profile"];
  49. $flags = $_POST["flags"];
  50. $dialplan_enabled = $_POST["dialplan_enabled"];
  51. $dialplan_description = $_POST["dialplan_description"];
  52. if (strlen($dialplan_enabled) == 0) { $dialplan_enabled = "true"; } //set default to enabled
  53. }
  54. //process the HTTP POST
  55. if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
  56. //validate the token
  57. $token = new token;
  58. if (!$token->validate($_SERVER['PHP_SELF'])) {
  59. message::add($text['message-invalid_token'],'negative');
  60. header('Location: dialplans.php');
  61. exit;
  62. }
  63. //check for all required data
  64. if (strlen($domain_uuid) == 0) { $msg .= $text['message-required']."domain_uuid<br>\n"; }
  65. if (strlen($extension_name) == 0) { $msg .= $text['message-required'].$text['label-name']."<br>\n"; }
  66. if (strlen($queue_extension_number) == 0) { $msg .= $text['message-required'].$text['label-extension']."<br>\n"; }
  67. if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) {
  68. require_once "resources/header.php";
  69. require_once "resources/persist_form_var.php";
  70. echo "<div align='center'>\n";
  71. echo "<table><tr><td>\n";
  72. echo $msg."<br />";
  73. echo "</td></tr></table>\n";
  74. persistformvar($_POST);
  75. echo "</div>\n";
  76. require_once "resources/footer.php";
  77. return;
  78. }
  79. if (strlen($queue_extension_number) > 0) {
  80. //--------------------------------------------------------
  81. //Caller Queue [FIFO in]
  82. //<extension name="Queue_Call_In">
  83. // <condition field="destination_number" expression="^7011\$">
  84. // <action application="set" data="fifo_music=$${hold_music}"/>
  85. // <action application="answer"/>
  86. // <action application="fifo" data="myq in"/>
  87. // </condition>
  88. //</extension>
  89. //--------------------------------------------------------
  90. $queue_name = $extension_name."@\${domain_name}";
  91. $app_uuid = '16589224-c876-aeb3-f59f-523a1c0801f7';
  92. $dialplan_uuid = uuid();
  93. $dialplan_context = $_SESSION['domain_name'];
  94. $domain_uuid = $_SESSION['domain_uuid'];
  95. $dialplan_detail_order = 0;
  96. //start building the dialplan array
  97. $y=0;
  98. $array["dialplans"][$y]["domain_uuid"] = $domain_uuid;
  99. $array["dialplans"][$y]["dialplan_uuid"] = $dialplan_uuid;
  100. $array["dialplans"][$y]["app_uuid"] = $app_uuid;
  101. $array["dialplans"][$y]["dialplan_name"] = $extension_name;
  102. $array["dialplans"][$y]["dialplan_order"] = "$dialplan_order";
  103. $array["dialplans"][$y]["dialplan_context"] = $dialplan_context;
  104. $array["dialplans"][$y]["dialplan_enabled"] = $dialplan_enabled;
  105. $array["dialplans"][$y]["dialplan_order"] = $dialplan_order;
  106. $array["dialplans"][$y]["dialplan_description"] = $dialplan_description;
  107. $y++;
  108. if (is_uuid($dialplan_uuid)) {
  109. //set the destination number
  110. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  111. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  112. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "condition";
  113. $array["dialplan_details"][$y]["dialplan_detail_type"] = "destination_number";
  114. $array["dialplan_details"][$y]["dialplan_detail_data"] = '^'.$queue_extension_number.'$';
  115. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "";
  116. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  117. if ((strlen($agent_queue_extension_number) > 0) || (strlen($agent_login_logout_extension_number) > 0)) {
  118. $array["dialplan_details"][$y]["dialplan_detail_break"] = 'on-true';
  119. }
  120. $array["dialplan_details"][$y]["dialplan_detail_group"] = '1';
  121. $y++;
  122. //increment the dialplan detial order
  123. $dialplan_detail_order = $dialplan_detail_order + 10;
  124. //set the hold music
  125. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  126. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  127. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action";
  128. $array["dialplan_details"][$y]["dialplan_detail_type"] = "set";
  129. $array["dialplan_details"][$y]["dialplan_detail_data"] = "fifo_music=\$\${hold_music}";
  130. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true";
  131. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  132. $array["dialplan_details"][$y]["dialplan_detail_group"] = '1';
  133. $y++;
  134. //increment the dialplan detial order
  135. $dialplan_detail_order = $dialplan_detail_order + 10;
  136. //action answer
  137. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  138. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  139. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action";
  140. $array["dialplan_details"][$y]["dialplan_detail_type"] = "answer";
  141. $array["dialplan_details"][$y]["dialplan_detail_data"] = "";
  142. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "";
  143. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  144. $array["dialplan_details"][$y]["dialplan_detail_group"] = '1';
  145. $y++;
  146. //increment the dialplan detial order
  147. $dialplan_detail_order = $dialplan_detail_order + 10;
  148. //action fifo
  149. $queue_action_data = $queue_name." in";
  150. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  151. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  152. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action";
  153. $array["dialplan_details"][$y]["dialplan_detail_type"] = "fifo";
  154. $array["dialplan_details"][$y]["dialplan_detail_data"] = $queue_action_data;
  155. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "";
  156. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  157. $array["dialplan_details"][$y]["dialplan_detail_group"] = '1';
  158. $y++;
  159. }
  160. }
  161. // Caller Queue / Agent Queue
  162. if (strlen($agent_queue_extension_number) > 0) {
  163. //--------------------------------------------------------
  164. // Agent Queue [FIFO out]
  165. //<extension name="Agent_Wait">
  166. // <condition field="destination_number" expression="^7010\$">
  167. // <action application="set" data="fifo_music=$${hold_music}"/>
  168. // <action application="answer"/>
  169. // <action application="fifo" data="myq out wait"/>
  170. // </condition>
  171. //</extension>
  172. //--------------------------------------------------------
  173. $queue_name = $extension_name."@\${domain_name}";
  174. if (is_uuid($dialplan_uuid)) {
  175. //set the dialplan detial order to zero
  176. $dialplan_detail_order = 0;
  177. //set the destination number
  178. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  179. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  180. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "condition";
  181. $array["dialplan_details"][$y]["dialplan_detail_type"] = "destination_number";
  182. $array["dialplan_details"][$y]["dialplan_detail_data"] = '^'.$agent_queue_extension_number.'$';
  183. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "";
  184. if (strlen($agent_login_logout_extension_number) > 0) {
  185. $array["dialplan_details"][$y]["dialplan_detail_break"] = 'on-true';
  186. }
  187. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  188. $array["dialplan_details"][$y]["dialplan_detail_group"] = '2';
  189. $y++;
  190. //increment the dialplan detial order
  191. $dialplan_detail_order = $dialplan_detail_order + 10;
  192. //set the hold music
  193. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  194. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  195. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action";
  196. $array["dialplan_details"][$y]["dialplan_detail_type"] = "set";
  197. $array["dialplan_details"][$y]["dialplan_detail_data"] = "fifo_music=\$\${hold_music}";
  198. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true";
  199. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  200. $array["dialplan_details"][$y]["dialplan_detail_group"] = '2';
  201. $y++;
  202. //increment the dialplan detial order
  203. $dialplan_detail_order = $dialplan_detail_order + 10;
  204. //action answer
  205. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  206. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  207. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action";
  208. $array["dialplan_details"][$y]["dialplan_detail_type"] = "answer";
  209. $array["dialplan_details"][$y]["dialplan_detail_data"] = "";
  210. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "";
  211. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  212. $array["dialplan_details"][$y]["dialplan_detail_group"] = '2';
  213. $y++;
  214. //increment the dialplan detial order
  215. $dialplan_detail_order = $dialplan_detail_order + 10;
  216. //action fifo
  217. $queue_action_data = $queue_name." out wait";
  218. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  219. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  220. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action";
  221. $array["dialplan_details"][$y]["dialplan_detail_type"] = "fifo";
  222. $array["dialplan_details"][$y]["dialplan_detail_data"] = $queue_action_data;
  223. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "";
  224. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  225. $array["dialplan_details"][$y]["dialplan_detail_group"] = '2';
  226. $y++;
  227. }
  228. }
  229. // agent or member login / logout
  230. if (strlen($agent_login_logout_extension_number) > 0) {
  231. //--------------------------------------------------------
  232. // Agent Queue [FIFO login logout]
  233. //<extension name="Agent_login_logout">
  234. // <condition field="destination_number" expression="^7012\$">
  235. // <action application="set" data="queue_name=myq" inline="true"/>
  236. // <action application="set" data="user_name=${caller_id_number}@${domain_name}" inline="true"/>
  237. // <action application="set" data="fifo_simo=1" inline="true"/>
  238. // <action application="set" data="fifo_timeout=10" inline="true"/>
  239. // <action application="set" data="fifo_lag=10" inline="true"/>
  240. // <action application="set" data="pin_number=" inline="true"/>
  241. // <action application="lua" data="fifo_member.lua"/>
  242. // </condition>
  243. //</extension>
  244. //--------------------------------------------------------
  245. $queue_name = $extension_name."@\${domain_name}";
  246. if (is_uuid($dialplan_uuid)) {
  247. //set the dialplan detial order to zero
  248. $dialplan_detail_order = 0;
  249. //set the destination number
  250. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  251. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  252. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "condition";
  253. $array["dialplan_details"][$y]["dialplan_detail_type"] = "destination_number";
  254. $array["dialplan_details"][$y]["dialplan_detail_data"] = '^'.$agent_login_logout_extension_number.'$';
  255. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "";
  256. $array["dialplan_details"][$y]["dialplan_detail_break"] = 'on-true';
  257. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  258. $array["dialplan_details"][$y]["dialplan_detail_group"] = '3';
  259. $y++;
  260. //increment the dialplan detial order
  261. $dialplan_detail_order = $dialplan_detail_order + 10;
  262. //set the queue_name
  263. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  264. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  265. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action";
  266. $array["dialplan_details"][$y]["dialplan_detail_type"] = "set";
  267. $array["dialplan_details"][$y]["dialplan_detail_data"] = 'queue_name='.$queue_name;
  268. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true";
  269. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  270. $array["dialplan_details"][$y]["dialplan_detail_group"] = '3';
  271. $y++;
  272. //increment the dialplan detial order
  273. $dialplan_detail_order = $dialplan_detail_order + 10;
  274. //set the user_name
  275. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  276. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  277. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action";
  278. $array["dialplan_details"][$y]["dialplan_detail_type"] = "set";
  279. $array["dialplan_details"][$y]["dialplan_detail_data"] = 'user_name=${caller_id_number}@${domain_name}';
  280. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true";
  281. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  282. $array["dialplan_details"][$y]["dialplan_detail_group"] = '3';
  283. $y++;
  284. //increment the dialplan detial order
  285. $dialplan_detail_order = $dialplan_detail_order + 10;
  286. //set the fifo_simo
  287. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  288. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  289. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action";
  290. $array["dialplan_details"][$y]["dialplan_detail_type"] = "set";
  291. $array["dialplan_details"][$y]["dialplan_detail_data"] = 'fifo_simo=1';
  292. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true";
  293. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  294. $array["dialplan_details"][$y]["dialplan_detail_group"] = '3';
  295. $y++;
  296. //increment the dialplan detial order
  297. $dialplan_detail_order = $dialplan_detail_order + 10;
  298. //set the fifo_timeout
  299. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  300. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  301. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action";
  302. $array["dialplan_details"][$y]["dialplan_detail_type"] = "set";
  303. $array["dialplan_details"][$y]["dialplan_detail_data"] = 'fifo_timeout=10';
  304. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true";
  305. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  306. $array["dialplan_details"][$y]["dialplan_detail_group"] = '3';
  307. $y++;
  308. //increment the dialplan detial order
  309. $dialplan_detail_order = $dialplan_detail_order + 10;
  310. //set the fifo_lag
  311. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  312. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  313. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action";
  314. $array["dialplan_details"][$y]["dialplan_detail_type"] = "set";
  315. $array["dialplan_details"][$y]["dialplan_detail_data"] = 'fifo_lag=10';
  316. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true";
  317. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  318. $array["dialplan_details"][$y]["dialplan_detail_group"] = '3';
  319. $y++;
  320. //increment the dialplan detial order
  321. $dialplan_detail_order = $dialplan_detail_order + 10;
  322. //set the pin_number
  323. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  324. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  325. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action";
  326. $array["dialplan_details"][$y]["dialplan_detail_type"] = "set";
  327. $array["dialplan_details"][$y]["dialplan_detail_data"] = 'pin_number=';
  328. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true";
  329. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  330. $array["dialplan_details"][$y]["dialplan_detail_group"] = '3';
  331. $y++;
  332. //increment the dialplan detial order
  333. $dialplan_detail_order = $dialplan_detail_order + 10;
  334. //action lua
  335. $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
  336. $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid;
  337. $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action";
  338. $array["dialplan_details"][$y]["dialplan_detail_type"] = "lua";
  339. $array["dialplan_details"][$y]["dialplan_detail_data"] = "fifo_member.lua";
  340. $array["dialplan_details"][$y]["dialplan_detail_inline"] = "";
  341. $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order;
  342. $array["dialplan_details"][$y]["dialplan_detail_group"] = '3';
  343. $y++;
  344. }
  345. }
  346. //add the dialplan permission
  347. $p = new permissions;
  348. $p->add("dialplan_add", "temp");
  349. $p->add("dialplan_edit", "temp");
  350. //save to the data
  351. $database = new database;
  352. $database->app_name = 'fifo';
  353. $database->app_uuid = '16589224-c876-aeb3-f59f-523a1c0801f7';
  354. $database->save($array);
  355. //$message = $database->message;
  356. //remove the temporary permission
  357. $p->delete("dialplan_add", "temp");
  358. $p->delete("dialplan_edit", "temp");
  359. //clear the cache
  360. $cache = new cache;
  361. $cache->delete("dialplan:".$_SESSION["domain_name"]);
  362. //redirect the user
  363. message::add($text['message-add']);
  364. header("Location: ".PROJECT_PATH."/app/dialplans/dialplans.php?app_uuid=16589224-c876-aeb3-f59f-523a1c0801f7");
  365. return;
  366. }
  367. //create token
  368. $object = new token;
  369. $token = $object->create($_SERVER['PHP_SELF']);
  370. //includes and title
  371. require_once "resources/header.php";
  372. $document['title'] = $text['title-queue_add'];
  373. //show the content
  374. echo "<form method='post' name='frm' id='frm'>\n";
  375. echo "<div class='action_bar' id='action_bar'>\n";
  376. echo " <div class='heading'><b>".$text['header-queue_add']."</b></div>\n";
  377. echo " <div class='actions'>\n";
  378. echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','style'=>'margin-right: 15px;','link'=>PROJECT_PATH.'/app/dialplans/dialplans.php?app_uuid=16589224-c876-aeb3-f59f-523a1c0801f7']);
  379. echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save']);
  380. echo " </div>\n";
  381. echo " <div style='clear: both;'></div>\n";
  382. echo "</div>\n";
  383. echo $text['description-queue_add']."\n";
  384. echo "<br /><br />\n";
  385. echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
  386. echo " <tr>\n";
  387. echo " <td width='30%' class='vncellreq' valign='top' align='left' nowrap>\n";
  388. echo " ".$text['label-name']."\n";
  389. echo " </td>\n";
  390. echo " <td width='70%' class='vtable' align='left'>\n";
  391. echo " <input class='formfld' type='text' name='extension_name' maxlength='255' value=\"$extension_name\" required='required'>\n";
  392. echo " <br />\n";
  393. echo " ".$text['description-name']."\n";
  394. echo " </td>\n";
  395. echo " </tr>\n";
  396. echo " <tr>\n";
  397. echo " <td class='vncellreq' valign='top' align='left' nowrap>\n";
  398. echo " ".$text['label-extension']."\n";
  399. echo " </td>\n";
  400. echo " <td class='vtable' align='left'>\n";
  401. echo " <input class='formfld' type='text' name='queue_extension_number' maxlength='255' min='0' step='1' value=\"$queue_extension_number\" required='required'>\n";
  402. echo " <br />\n";
  403. echo " ".$text['description-extension']."\n";
  404. echo " </td>\n";
  405. echo " </tr>\n";
  406. echo "<tr>\n";
  407. echo "<td class='vncellreq' valign='top' align='left' nowrap>\n";
  408. echo " ".$text['label-order']."\n";
  409. echo "</td>\n";
  410. echo "<td class='vtable' align='left'>\n";
  411. echo " <select name='dialplan_order' class='formfld'>\n";
  412. $i = 300;
  413. while ($i <= 999) {
  414. $selected = ($dialplan_order == $i) ? "selected" : null;
  415. if (strlen($i) == 1) { echo "<option value='00$i' ".$selected.">00$i</option>\n"; }
  416. if (strlen($i) == 2) { echo "<option value='0$i' ".$selected.">0$i</option>\n"; }
  417. if (strlen($i) == 3) { echo "<option value='$i' ".$selected.">$i</option>\n"; }
  418. $i++;
  419. }
  420. echo " </select>\n";
  421. echo " <br />\n";
  422. echo "</td>\n";
  423. echo "</tr>\n";
  424. echo "<tr>\n";
  425. echo "<td class='vncellreq' valign='top' align='left' nowrap>\n";
  426. echo " ".$text['label-enabled']."\n";
  427. echo "</td>\n";
  428. echo "<td class='vtable' align='left'>\n";
  429. echo " <select class='formfld' name='dialplan_enabled'>\n";
  430. if ($dialplan_enabled == "true") {
  431. echo " <option value='true' selected='selected' >".$text['option-true']."</option>\n";
  432. }
  433. else {
  434. echo " <option value='true'>".$text['option-true']."</option>\n";
  435. }
  436. if ($dialplan_enabled == "false") {
  437. echo " <option value='false' selected='selected' >".$text['option-false']."</option>\n";
  438. }
  439. else {
  440. echo " <option value='false'>".$text['option-false']."</option>\n";
  441. }
  442. echo " </select>\n";
  443. echo "<br />\n";
  444. echo "\n";
  445. echo "</td>\n";
  446. echo "</tr>\n";
  447. echo "<tr>\n";
  448. echo "<td class='vncell' valign='top' align='left' nowrap>\n";
  449. echo " ".$text['label-description']."\n";
  450. echo "</td>\n";
  451. echo "<td colspan='4' class='vtable' align='left'>\n";
  452. echo " <input class='formfld' type='text' name='dialplan_description' maxlength='255' value=\"$dialplan_description\">\n";
  453. echo "<br />\n";
  454. echo "\n";
  455. echo "</td>\n";
  456. echo "</tr>\n";
  457. echo "</table>\n";
  458. echo "<br><br>\n";
  459. echo "<b>".$text['header-agent_details']."</b>\n";
  460. echo "<br /><br />\n";
  461. echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
  462. echo "<tr>\n";
  463. echo "<td width='30%' class='vncell' valign='top' align='left' nowrap>\n";
  464. echo " ".$text['label-agent_queue_extension']."\n";
  465. echo "</td>\n";
  466. echo "<td width='70%' class='vtable' align='left'>\n";
  467. echo " <input class='formfld' type='text' name='agent_queue_extension_number' maxlength='255' min='0' step='1' value=\"$agent_queue_extension_number\">\n";
  468. echo "<br />\n";
  469. echo $text['description-agent_queue_extension']."\n";
  470. echo "</td>\n";
  471. echo "</tr>\n";
  472. echo "<tr>\n";
  473. echo "<td class='vncell' valign='top' align='left' nowrap>\n";
  474. echo " ".$text['label-agent_loginout_extension']."\n";
  475. echo "</td>\n";
  476. echo "<td class='vtable' align='left'>\n";
  477. echo " <input class='formfld' type='text' name='agent_login_logout_extension_number' maxlength='255' min='0' step='1' value=\"$agent_login_logout_extension_number\">\n";
  478. echo "<br />\n";
  479. echo $text['description-agent_loginout_extension']."\n";
  480. echo "</td>\n";
  481. echo "</tr>\n";
  482. echo "</table>\n";
  483. echo "<br><br>\n";
  484. if ($action == "update") {
  485. echo "<input type='hidden' name='dialplan_uuid' value='$dialplan_uuid'>\n";
  486. }
  487. echo "<input type='hidden' name='".$token['name']."' value='".$token['hash']."'>\n";
  488. echo "</form>";
  489. //show the footer
  490. require_once "resources/footer.php";
  491. ?>