mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-01-05 11:13:50 +00:00
Update all the time condition presets that used mweek (week of month) change to mday (day of month). The week of the month starts according to the calendar even if its partial week on the calendar it counts as week one according to C language and the calendar in the United States. Example Labor day September 2016 1st week was Sept 1-3 2016. The second week is the first Monday.
118 lines
4.9 KiB
PHP
118 lines
4.9 KiB
PHP
<?php
|
|
|
|
if ($domains_processed == 1) {
|
|
|
|
//define holiday presets
|
|
$preset['usa'][] = json_encode(array("new_years_day" => array("mday" => "1", "mon" => "1")));
|
|
$preset['usa'][] = json_encode(array("martin_luther_king_jr_day" => array("wday" => "2", "mon" => "1", "mday" => "15-21")));
|
|
$preset['usa'][] = json_encode(array("presidents_day" => array("wday" => "2", "mon" => "2", "mday" => "15-21")));
|
|
$preset['usa'][] = json_encode(array("memorial_day" => array("mday" => "25-31", "wday" => "2", "mon" => "5")));
|
|
$preset['usa'][] = json_encode(array("independence_day" => array("mday" => "4", "mon" => "7")));
|
|
$preset['usa'][] = json_encode(array("labor_day" => array("wday" => "2", "mon" => "9", "mday" => "1-7")));
|
|
$preset['usa'][] = json_encode(array("columbus_day" => array("wday" => "2", "mon" => "10", "mday" => "8-14")));
|
|
$preset['usa'][] = json_encode(array("veterans_day" => array("mday" => "11", "mon" => "11")));
|
|
$preset['usa'][] = json_encode(array("thanksgiving_day" => array("wday" => "5-6", "mon" => "11", "mday" => "22-28")));
|
|
$preset['usa'][] = json_encode(array("christmas_day" => array("mday" => "25", "mon" => "12")));
|
|
|
|
$preset['england'][] = json_encode(array("new_years_day" => array("mday" => "1", "mon" => "1")));
|
|
$preset['england'][] = json_encode(array("christmas_day" => array("mday" => "25", "mon" => "12")));
|
|
$preset['england'][] = json_encode(array("boxing_day" => array("mday" => "26", "mon" => "12")));
|
|
$preset['england'][] = json_encode(array("may_day" => array("mon" => "5", "mday" => "1-7", "wday" => "2")));
|
|
$preset['england'][] = json_encode(array("spring_bank_holiday" => array("mon" => "5", "mday" => "25-31", "wday" => "2")));
|
|
$preset['england'][] = json_encode(array("august_bank_holiday" => array("mon" => "8", "mday" => "25-31", "wday" => "2")));
|
|
|
|
//iterate and migrate old presets first
|
|
$sql = "update v_default_settings ";
|
|
$sql .= "set default_setting_subcategory = 'preset_usa' ";
|
|
$sql .= ", default_setting_description = 'usa Holiday' ";
|
|
$sql .= "where default_setting_category = 'time_conditions' ";
|
|
$sql .= "and default_setting_subcategory = 'preset' ";
|
|
$prep_statement = $db->prepare($sql);
|
|
if ($prep_statement) {
|
|
$prep_statement->execute();
|
|
unset ($prep_statement, $sql);
|
|
}
|
|
|
|
//iterate and add each, if necessary
|
|
$x = 0;
|
|
foreach ($preset as $region => $data) {
|
|
$sql = "select * from v_default_settings ";
|
|
$sql .= "where default_setting_category = 'time_conditions' ";
|
|
$sql .= "and default_setting_subcategory = 'preset_$region' ";
|
|
$sql .= "and default_setting_name = 'array' ";
|
|
$prep_statement = $db->prepare($sql);
|
|
if ($prep_statement) {
|
|
$prep_statement->execute();
|
|
$default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
|
unset ($prep_statement, $sql);
|
|
foreach ($data as $json) {
|
|
$found = false;
|
|
$missing[$x]['default_setting_category'] = 'time_conditions';
|
|
$missing[$x]['default_setting_subcategory'] = "preset_$region";
|
|
$missing[$x]['default_setting_name'] = 'array';
|
|
$missing[$x]['default_setting_value'] = $json;
|
|
$missing[$x]['default_setting_enabled'] = 'true';
|
|
$missing[$x]['default_setting_description'] = "$region Holiday";
|
|
foreach ($default_settings as $row) {
|
|
if (trim($row['default_setting_value']) == trim($json)) {
|
|
$found = true;
|
|
//remove items from the array that were found
|
|
unset($missing[$x]);
|
|
}
|
|
}
|
|
$x++;
|
|
}
|
|
}
|
|
}
|
|
|
|
//add the missing default settings
|
|
if (count($missing) > 0) foreach ($missing as $row) {
|
|
//add the default settings
|
|
$orm = new orm;
|
|
$orm->name('default_settings');
|
|
$orm->save($row);
|
|
$message = $orm->message;
|
|
unset($orm);
|
|
//print_r($message);
|
|
}
|
|
unset($missing);
|
|
|
|
$array[$x]['default_setting_category'] = 'time_conditions';
|
|
$array[$x]['default_setting_subcategory'] = 'region';
|
|
$array[$x]['default_setting_name'] = 'text';
|
|
$array[$x]['default_setting_value'] = 'usa';
|
|
$array[$x]['default_setting_enabled'] = 'true';
|
|
$array[$x]['default_setting_description'] = 'What region to use by default when choosing Time Conditions';
|
|
$x++;
|
|
|
|
//iterate and add each, if necessary
|
|
foreach ($array as $index => $default_settings) {
|
|
|
|
//add the default setting
|
|
$sql = "select count(*) as num_rows from v_default_settings ";
|
|
$sql .= "where default_setting_category = '".$default_settings['default_setting_category']."' ";
|
|
$sql .= "and default_setting_subcategory = '".$default_settings['default_setting_subcategory']."' ";
|
|
$sql .= "and default_setting_name = '".$default_settings['default_setting_name']."' ";
|
|
$prep_statement = $db->prepare($sql);
|
|
if ($prep_statement) {
|
|
$prep_statement->execute();
|
|
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
|
unset($prep_statement);
|
|
if ($row['num_rows'] == 0) {
|
|
$orm = new orm;
|
|
$orm->name('default_settings');
|
|
$orm->save($array[$index]);
|
|
$message = $orm->message;
|
|
//print_r($message);
|
|
}
|
|
unset($row);
|
|
}
|
|
|
|
}
|
|
|
|
//unset the array variable
|
|
unset($array);
|
|
}
|
|
|
|
?>
|