More work to get the new time conditions to save to the database.

This commit is contained in:
Mark Crane 2015-02-09 18:20:44 +00:00
parent 1f3c2a92e4
commit 8c33d8d493
1 changed files with 66 additions and 63 deletions

View File

@ -332,7 +332,6 @@ require_once "resources/paging.php";
$sql .= "'".$dialplan_detail_group."', "; $sql .= "'".$dialplan_detail_group."', ";
$sql .= "'".$dialplan_detail_order."' "; $sql .= "'".$dialplan_detail_order."' ";
$sql .= ") "; $sql .= ") ";
} }
//execute query //execute query
@ -340,7 +339,6 @@ require_once "resources/paging.php";
unset($sql); unset($sql);
} }
//increment group number, reset order number //increment group number, reset order number
$dialplan_detail_group = 100; $dialplan_detail_group = 100;
$dialplan_detail_order = 0; $dialplan_detail_order = 0;
@ -596,43 +594,43 @@ require_once "resources/paging.php";
} }
} }
//create a is_preset function to determine if the time settings are a preset
function is_preset($presets, $times) { function is_preset($presets, $times) {
if ($_GET['debug'] == 'true') { if ($_GET['debug'] == 'true') {
echo "<p style='background-color: #E8D8C1;'>\n"; echo "<p style='background-color: #E8D8C1;'>\n";
echo "<br />\n"; echo "<br />\n";
echo "<br />\n"; echo "<br />\n";
}
$preset_keys = array();
foreach ($presets as $row) {
if ($_GET['debug'] == 'true') {
echo "<table>\n";
}
$match = true;
foreach ($row as $k => $v) {
if ($_GET['debug'] == 'true') {
echo "<tr>\n";
echo "<td>".$k."</td><td>".$row[$k]."</td><td>".$k."</td><td>".$times[$k]."</td>";
}
if ($row[$k] == $times[$k]) {
if ($_GET['debug'] == 'true') { echo "<td>match</td>"; }
}
else {
if ($_GET['debug'] == 'true') { echo "<td>no match</td>"; }
$match = false;
}
if ($_GET['debug'] == 'true') {
echo "</tr>\n";
}
}
if ($_GET['debug'] == 'true') {
echo "</table>\n";
echo "<br />\n";
}
if ($match) { return true; }
}
return false;
} }
$preset_keys = array();
foreach ($presets as $row) {
if ($_GET['debug'] == 'true') {
echo "<table>\n";
}
$match = true;
foreach ($row as $k => $v) {
if ($_GET['debug'] == 'true') {
echo "<tr>\n";
echo "<td>".$k."</td><td>".$row[$k]."</td><td>".$k."</td><td>".$times[$k]."</td>";
}
if ($row[$k] == $times[$k]) {
if ($_GET['debug'] == 'true') { echo "<td>match</td>"; }
}
else {
if ($_GET['debug'] == 'true') { echo "<td>no match</td>"; }
$match = false;
}
if ($_GET['debug'] == 'true') {
echo "</tr>\n";
}
}
if ($_GET['debug'] == 'true') {
echo "</table>\n";
echo "<br />\n";
}
if ($match) { return true; }
}
return false;
}
//set preset to true or false on dialplan_times array //set preset to true or false on dialplan_times array
$x = 0; $x = 0;
@ -776,7 +774,7 @@ require_once "resources/paging.php";
echo " <td></td>\n"; echo " <td></td>\n";
echo " </tr>\n"; echo " </tr>\n";
$c = 0; $x = 0;
foreach($details as $detail_group) { foreach($details as $detail_group) {
foreach ($detail_group as $row) { foreach ($detail_group as $row) {
if ($row['dialplan_detail_tag'] == 'condition') { if ($row['dialplan_detail_tag'] == 'condition') {
@ -796,12 +794,17 @@ require_once "resources/paging.php";
$dialplan_detail_group = $row['dialplan_detail_group']; $dialplan_detail_group = $row['dialplan_detail_group'];
$dialplan_detail_order = $row['dialplan_detail_order']; $dialplan_detail_order = $row['dialplan_detail_order'];
//for ($c = 1; $c <= 3; $c++) { //add the primary key uuid
if (strlen($dialplan_detail_uuid) > 0) {
echo " <input name='dialplan_details[".$x."][dialplan_detail_uuid]' type='hidden' value=\"".$dialplan_detail_uuid."\">\n";
}
//start a new row
echo " <tr>\n"; echo " <tr>\n";
//time condition //time condition
echo " <td>\n"; echo " <td>\n";
echo " <select class='formfld' name='dialplan_detail_type[".$c."]' id='variable_".$c."' onchange=\"hide_var_options('".$c."'); show_var_option('".$c."', this.options[this.selectedIndex].value);\">\n"; echo " <select class='formfld' name='dialplan_details[".$x."][dialplan_detail_type' id='variable_".$x."' onchange=\"hide_var_options('".$x."'); show_var_option('".$x."', this.options[this.selectedIndex].value);\">\n";
echo " <option value=''></option>\n"; echo " <option value=''></option>\n";
foreach ($time_condition_vars as $var_name => $var_label) { foreach ($time_condition_vars as $var_name => $var_label) {
if ($var_name == $dialplan_detail_type) { if ($var_name == $dialplan_detail_type) {
@ -816,7 +819,7 @@ require_once "resources/paging.php";
//single or range //single or range
echo " <td>\n"; echo " <td>\n";
echo " <select class='formfld' name='scope[".$c."]' id='scope_".$c."' onchange=\"toggle_var_stops('".$c."', this.options[this.selectedIndex].value);\">\n"; echo " <select class='formfld' name='dialplan_details[".$x."][scope]' id='scope_".$x."' onchange=\"toggle_var_stops('".$x."', this.options[this.selectedIndex].value);\">\n";
$detail_data = explode("-", $dialplan_detail_data); $detail_data = explode("-", $dialplan_detail_data);
if (count($detail_data) == 1) { if (count($detail_data) == 1) {
echo " <option value='single' selected='selected'>Single</option>\n"; echo " <option value='single' selected='selected'>Single</option>\n";
@ -837,19 +840,19 @@ require_once "resources/paging.php";
//switch ($var_name) { //switch ($var_name) {
switch ($dialplan_detail_type) { switch ($dialplan_detail_type) {
case "minute-of-day" : case "minute-of-day" :
echo "<span id='var_minute-of-day_options_".$c."' style='display: none;'>\n"; echo "<span id='var_minute-of-day_options_".$x."' style='display: none;'>\n";
echo " <input type='number' class='formfld' style='width: 50px; min-width: 50px; max-width: 50px;' name='minute-of-day[".$c."][start]' id='minute-of-day_".$c."_start' value='".$detail_data[0]."'>\n"; echo " <input type='number' class='formfld' style='width: 50px; min-width: 50px; max-width: 50px;' name='dialplan_details[".$x."][minute-of-day][start]' id='minute-of-day_".$x."_start' value='".$detail_data[0]."'>\n";
if (strlen($detail_data[1]) > 0) { if (strlen($detail_data[1]) > 0) {
echo " <span id='minute-of-day_".$c."_stop' style='display: inline;'>\n"; echo " <span id='minute-of-day_".$x."_stop' style='display: inline;'>\n";
echo " &nbsp;<strong>~</strong>&nbsp;\n"; echo " &nbsp;<strong>~</strong>&nbsp;\n";
echo " <input type='number' class='formfld' style='width: 50px; min-width: 50px; max-width: 50px;' name='minute-of-day[".$c."][stop]' value='".$detail_data[1]."'>\n"; echo " <input type='number' class='formfld' style='width: 50px; min-width: 50px; max-width: 50px;' name='dialplan_details[".$x."][minute-of-day][stop]' value='".$detail_data[1]."'>\n";
echo " </span>\n"; echo " </span>\n";
} }
echo "</span>\n"; echo "</span>\n";
break; break;
case "time-of-day" : case "time-of-day" :
echo "<span id='var_time-of-day_options_".$c."' style='display: inline;'>\n"; echo "<span id='var_time-of-day_options_".$x."' style='display: inline;'>\n";
echo " <select class='formfld' name='time-of-day[".$c."][start][hour]' id='time-of-day_".$c."_start_hour' onchange=\"if (document.getElementById('time-of-day_".$c."_start_minute').selectedIndex == 0) { document.getElementById('time-of-day_".$c."_start_minute').selectedIndex = 1; } if (document.getElementById('time-of-day_".$c."_stop_hour').selectedIndex == 0) { document.getElementById('time-of-day_".$c."_stop_hour').selectedIndex = this.selectedIndex; document.getElementById('time-of-day_".$c."_stop_minute').selectedIndex = 1; }\">\n"; echo " <select class='formfld' name='dialplan_details[".$x."][time-of-day][start][hour]' id='time-of-day_".$x."_start_hour' onchange=\"if (document.getElementById('time-of-day_".$x."_start_minute').selectedIndex == 0) { document.getElementById('time-of-day_".$x."_start_minute').selectedIndex = 1; } if (document.getElementById('time-of-day_".$x."_stop_hour').selectedIndex == 0) { document.getElementById('time-of-day_".$x."_stop_hour').selectedIndex = this.selectedIndex; document.getElementById('time-of-day_".$x."_stop_minute').selectedIndex = 1; }\">\n";
echo " <option value=''>Hour</option>\n"; echo " <option value=''>Hour</option>\n";
for ($h = 1; $h <= 12; $h++) { for ($h = 1; $h <= 12; $h++) {
if ($detail_data[0] == $h) { if ($detail_data[0] == $h) {
@ -860,7 +863,7 @@ require_once "resources/paging.php";
} }
} }
echo " </select>\n"; echo " </select>\n";
echo " <select class='formfld' name='time-of-day[".$c."][start][minute]' id='time-of-day_".$c."_start_minute' onchange=\"if (document.getElementById('time-of-day_".$c."_stop_minute').selectedIndex == 0) { document.getElementById('time-of-day_".$c."_stop_minute').selectedIndex = this.selectedIndex; }\">\n"; echo " <select class='formfld' name='dialplan_details[".$x."][time-of-day][start][minute]' id='time-of-day_".$x."_start_minute' onchange=\"if (document.getElementById('time-of-day_".$x."_stop_minute').selectedIndex == 0) { document.getElementById('time-of-day_".$x."_stop_minute').selectedIndex = this.selectedIndex; }\">\n";
echo " <option value='00'>Minute</option>\n"; echo " <option value='00'>Minute</option>\n";
for ($m = 0; $m < 60; $m++) { for ($m = 0; $m < 60; $m++) {
if ($detail_data[1] == $m) { if ($detail_data[1] == $m) {
@ -871,20 +874,20 @@ require_once "resources/paging.php";
} }
} }
echo " </select>\n"; echo " </select>\n";
echo " <select class='formfld' name='time-of-day[".$c."][start][notation]' id='time-of-day_".$c."_start_notation'>\n"; echo " <select class='formfld' name='dialplan_details[".$x."][time-of-day][start][notation]' id='time-of-day_".$x."_start_notation'>\n";
echo " <option value='AM'>AM</option>\n"; echo " <option value='AM'>AM</option>\n";
echo " <option value='PM'>PM</option>\n"; echo " <option value='PM'>PM</option>\n";
echo " </select>\n"; echo " </select>\n";
if (strlen($detail_data[1]) > 0) { if (strlen($detail_data[1]) > 0) {
echo " <span id='time-of-day_".$c."_stop' style='display: inline;'>\n"; echo " <span id='time-of-day_".$x."_stop' style='display: inline;'>\n";
echo " &nbsp;~&nbsp;"; echo " &nbsp;~&nbsp;";
echo " <select class='formfld' name='time-of-day[".$c."][stop][hour]' id='time-of-day_".$c."_stop_hour' onchange=\"if (document.getElementById('time-of-day_".$c."_stop_minute').selectedIndex == 0) { document.getElementById('time-of-day_".$c."_stop_minute').selectedIndex = 1; }\">\n"; echo " <select class='formfld' name='dialplan_details[".$x."][time-of-day][stop][hour]' id='time-of-day_".$x."_stop_hour' onchange=\"if (document.getElementById('time-of-day_".$x."_stop_minute').selectedIndex == 0) { document.getElementById('time-of-day_".$x."_stop_minute').selectedIndex = 1; }\">\n";
echo " <option value=''>Hour</option>\n"; echo " <option value=''>Hour</option>\n";
for ($h = 1; $h <= 12; $h++) { for ($h = 1; $h <= 12; $h++) {
echo " <option value='".$h."'>".$h."</option>\n"; echo " <option value='".$h."'>".$h."</option>\n";
} }
echo " </select>\n"; echo " </select>\n";
echo " <select class='formfld' name='time-of-day[".$c."][stop][minute]' id='time-of-day_".$c."_stop_minute'>\n"; echo " <select class='formfld' name='dialplan_details[".$x."][time-of-day][stop][minute]' id='time-of-day_".$x."_stop_minute'>\n";
echo " <option value='00'>Minute</option>\n"; echo " <option value='00'>Minute</option>\n";
for ($m = 0; $m < 60; $m++) { for ($m = 0; $m < 60; $m++) {
if ($detail_data[1] == $m) { if ($detail_data[1] == $m) {
@ -895,7 +898,7 @@ require_once "resources/paging.php";
} }
} }
echo " </select>\n"; echo " </select>\n";
echo " <select class='formfld' name='time-of-day[".$c."][stop][notation]' id='time-of-day_".$c."_stop_notation'>\n"; echo " <select class='formfld' name='dialplan_details[".$x."][time-of-day][stop][notation]' id='time-of-day_".$x."_stop_notation'>\n";
echo " <option value='AM'>AM</option>\n"; echo " <option value='AM'>AM</option>\n";
echo " <option value='PM'>PM</option>\n"; echo " <option value='PM'>PM</option>\n";
echo " </select>\n"; echo " </select>\n";
@ -904,20 +907,20 @@ require_once "resources/paging.php";
echo "</span>\n"; echo "</span>\n";
break; break;
case "date-time" : case "date-time" :
echo "<span id='var_date-time_options_".$c."' style='display: none;'>\n"; echo "<span id='var_date-time_options_".$x."' style='display: none;'>\n";
echo " <input type='text' class='formfld' style='min-width: 115px; max-width: 115px;' data-calendar=\"{format: '%Y-%m-%d %H:%M', listYears: true, hideOnPick: true, fxName: null, showButtons: true}\" name='date-time[".$c."][start]' value='".$detail_data[1]."' id='date-time_".$c."_start'>\n"; echo " <input type='text' class='formfld' style='min-width: 115px; max-width: 115px;' data-calendar=\"{format: '%Y-%m-%d %H:%M', listYears: true, hideOnPick: true, fxName: null, showButtons: true}\" name='dialplan_details[".$x."][date-time][start]' value='".$detail_data[1]."' id='date-time_".$x."_start'>\n";
if (strlen($detail_data[1]) > 0) { if (strlen($detail_data[1]) > 0) {
echo " <span id='date-time_".$c."_stop' style='display: inline;'>\n"; echo " <span id='date-time_".$x."_stop' style='display: inline;'>\n";
echo " &nbsp;<strong>~</strong>&nbsp;\n"; echo " &nbsp;<strong>~</strong>&nbsp;\n";
echo " <input type='text' class='formfld' style='min-width: 115px; max-width: 115px;' data-calendar=\"{format: '%Y-%m-%d %H:%M', listYears: true, hideOnPick: true, fxName: null, showButtons: true}\" name='date-time[".$c."][stop]'>\n"; echo " <input type='text' class='formfld' style='min-width: 115px; max-width: 115px;' data-calendar=\"{format: '%Y-%m-%d %H:%M', listYears: true, hideOnPick: true, fxName: null, showButtons: true}\" name='dialplan_details[".$x."][date-time][stop]'>\n";
echo " </span>\n"; echo " </span>\n";
} }
echo "</span>\n"; echo "</span>\n";
break; break;
default: default:
$var_name = $dialplan_detail_type; $var_name = $dialplan_detail_type;
echo "<span id='var_".$var_name."_options_".$c."' style='display: inline;'>\n"; echo "<span id='var_".$var_name."_options_".$x."' style='display: inline;'>\n";
echo " <select class='formfld' name='".$var_name."[".$c."][start]' id='".$var_name."_".$c."_start' onchange=\"if (document.getElementById('".$var_name."_".$c."_stop').selectedIndex == 0) { document.getElementById('".$var_name."_".$c."_stop').selectedIndex = this.selectedIndex; }\">\n"; echo " <select class='formfld' name='dialplan_details[".$x."][".$var_name."][start]' id='".$var_name."_".$x."_start' onchange=\"if (document.getElementById('".$var_name."_".$x."_stop').selectedIndex == 0) { document.getElementById('".$var_name."_".$x."_stop').selectedIndex = this.selectedIndex; }\">\n";
foreach ($var_option_select[$var_name] as $var_option_select_value => $var_option_select_label) { foreach ($var_option_select[$var_name] as $var_option_select_value => $var_option_select_label) {
if ($var_option_select_value == $detail_data[0]) { if ($var_option_select_value == $detail_data[0]) {
echo " <option value='".$var_option_select_value."' selected='selected'>".$var_option_select_label."</option>\n"; echo " <option value='".$var_option_select_value."' selected='selected'>".$var_option_select_label."</option>\n";
@ -928,9 +931,9 @@ require_once "resources/paging.php";
} }
echo " </select>\n"; echo " </select>\n";
if (strlen($detail_data[1]) > 0) { if (strlen($detail_data[1]) > 0) {
echo " <span id='".$var_name."_".$c."_stop' style='display: inline;'>\n"; echo " <span id='".$var_name."_".$x."_stop' style='display: inline;'>\n";
echo " &nbsp;<strong>~</strong>&nbsp;\n"; echo " &nbsp;<strong>~</strong>&nbsp;\n";
echo " <select class='formfld' name='".$var_name."[".$c."][stop]' id='".$var_name."_".$c."_stop-real'>\n"; echo " <select class='formfld' name='dialplan_details[".$x."][".$var_name."][stop]' id='".$var_name."_".$x."_stop-real'>\n";
echo " <option value=''></option>\n"; echo " <option value=''></option>\n";
foreach ($var_option_select[$var_name] as $var_option_select_value => $var_option_select_label) { foreach ($var_option_select[$var_name] as $var_option_select_value => $var_option_select_label) {
if ($var_option_select_value == $detail_data[1]) { if ($var_option_select_value == $detail_data[1]) {
@ -953,7 +956,7 @@ require_once "resources/paging.php";
} // if ($row['dialplan_detail_tag'] == 'condition') } // if ($row['dialplan_detail_tag'] == 'condition')
} // foreach ($detail_group as $row) } // foreach ($detail_group as $row)
//echo "<tr><td>&nbsp;</td></tr>\n"; //echo "<tr><td>&nbsp;</td></tr>\n";
$c++; $x++;
} // foreach($details as $detail_group) } // foreach($details as $detail_group)
echo " </table>\n"; echo " </table>\n";