0) { //update $ent['publicincludeid'] = $_POST['publicincludeid']; } else { //add $ent['publicincludeid'] = guid(); } $ent['extensionname'] = $_POST['extensionname']; $ent['order'] = $_POST['order']; //$ent['context'] = $_POST['context']; $ent['context'] = 'default'; $ent['enabled'] = $_POST['enabled']; $ent['descr'] = $_POST['descr']; $ent['opt1name'] = $_POST['opt1name']; $ent['opt1value'] = $_POST['opt1value']; if (isset($id) && $a_public_includes[$id]) { $a_public_includes = $config['installedpackages']['freeswitchpublicincludes']['config']; if (count($a_public_includes) > 0) { foreach($a_public_includes as $rowhelper) { //$rowhelper['publicincludeid']; //$rowhelper['extensionname']; //$rowhelper['context']; //$rowhelper['enabled']; $filenamechanged = false; if ($rowhelper['publicincludeid'] == $_POST['publicincludeid']) { if ($rowhelper['extensionname'] != $_POST['extensionname']) { //if the extension name has changed then remove the current public xml file //to prepare for the new file $filenamechanged = true; } if ($rowhelper['order'] != $_POST['order']) { //if the order has changed then remove the current public xml file //to prepare for the new file $filenamechanged = true; } if ($_POST['enabled'] == "false") { //if the extension name is disabled then remove the public xml file $filenamechanged = true; } if ($filenamechanged){ $publicincludefilename = $rowhelper['order']."_".$rowhelper['extensionname'].".xml"; if (file_exists("/usr/local/freeswitch/conf/dialplan/public/".$publicincludefilename)) { unlink("/usr/local/freeswitch/conf/dialplan/public/".$publicincludefilename); } unset($publicincludefilename); } } unset($filenamechanged); } //end foreach } //end if count //update the config $a_public_includes[$id] = $ent; } else { //add to the config $a_public_includes[] = $ent; } write_config(); sync_package_v_public_includes(); header("Location: v_public_includes.php"); exit; } } include("head.inc"); ?> $v_project_label: Public: Edit

\n"; if ($input_errors) print_input_errors($input_errors); ?>

Public:
Public Include general settings.


Extension Name
Supported characters are 'a-z', 'A-Z', '0-9', underscore '_', and period '.'.
Enabled \n"; echo " \n"; switch (htmlspecialchars($pconfig['enabled'])) { case "true": echo " \n"; echo " \n"; break; case "false": echo " \n"; echo " \n"; break; default: echo " \n"; echo " \n"; } echo " \n"; ?>
Order \n"; echo " \n"; if (strlen(htmlspecialchars($pconfig['order']))> 0) { echo " \n"; } $i=0; while($i<=999) { if (strlen($i) == 1) { echo " \n"; } if (strlen($i) == 2) { echo " \n"; } if (strlen($i) == 3) { echo " \n"; } $i++; } echo " \n"; ?>
Processing of each public include is determined by this order.
Description
You may enter a description here for your reference (not parsed).
  0 && $a_public_includes[$id]) { echo "\n"; echo " \n"; echo " \n"; echo " \n"; } ?>


"; //print_r ($a_public_includes); //echo ""; //if ($savemsg) print_info_box($savemsg); //if (file_exists($d_hostsdirty_path)): echo"

"; //print_info_box_np("The FreeSWITCH recordings have been changed.
You must apply the changes in order for them to take effect."); //echo"
"; //endif; //create a temporary id for the array $i = 0; if (count($a_public_include_details) > 0) { foreach ($a_public_include_details as $ent) { $a_public_include_details[$i]['id'] = $i; $i++; } } //order the array function cmp_number_public_details($a, $b) { if ($a["fieldorder"] > $b["fieldorder"]) { return 1; } else { return 0; } } if (count($a_public_include_details) > 0) { usort($a_public_include_details, "cmp_number_public_details"); } ?>

Conditions and Actions
The following conditions, actions and anti-actions are used in the public to direct call flow. Each is processed in order until you reach the action tag which tells FreeSWITCH what action to perform. You are not limited to only one condition or action tag for a given extension.


0) { foreach ($a_public_include_details as $ent) { if ($ent['tag'] == "condition" && $publicincludeid == $ent['publicincludeid']) { ?> 0) { foreach ($a_public_include_details as $ent) { if ($ent['tag'] == "action" && $publicincludeid == $ent['publicincludeid']) { ?> 0) { foreach ($a_public_include_details as $ent) { if ($ent['tag'] == "anti-action" && $publicincludeid == $ent['publicincludeid']) { ?> 0) { foreach ($a_public_include_details as $ent) { if ($ent['tag'] == "param" && $publicincludeid == $ent['publicincludeid']) { ?>
Tag Type Data Order