} $plug = 1; $nb_plugs = $import_selected; } else { $plug = $import_selected; $nb_plugs = $import_selected; } for ($plug; $plug <= $nb_plugs; $plug++) { if (strcmp("{$type}", "set") == 0) { $data_prog = generate_program_from_file("../../../tmp/import/program_plug{$plug}.csv", $plug, $program_index, $main_error); } else { $data_prog = generate_program_from_file("../../../tmp/import/" . basename($file), $plug, $program_index, $main_error); } if (count($data_prog) > 0) { programs\export_program($plug, $program_index, "../../../tmp/export/program_plug{$plug}_save.csv"); clean_program($plug, $program_index, $main_error); if (!insert_program($data_prog, $main_error, $program_index)) { $data_prog = generate_program_from_file("../../../tmp/export/program_plug{$plug}_save.csv", $plug, $program_index, $main_error); insert_program($data_prog, $main_error, $program_index); $chk_insert = false; } } unset($data_prog); } if (is_dir("../../../tmp/export")) { advRmDir("../../../tmp/export/"); } if (is_dir("../../../tmp/import")) { advRmDir("../../../tmp/import/"); } if (!$chk_insert) {
function insert_program($program, &$out, $indexNumber) { $ret = true; $data_plug = get_data_plug($program[0]['selected_plug'], $out, $indexNumber); $tmp = array(); if (count($program > 0)) { clean_program($program[0]['selected_plug'], $program[0]['number'], $out); } if (count($data_plug) == 0) { foreach ($program as $progr) { $prg[] = array("time_start" => str_replace(':', '', $progr['start_time']), "time_stop" => str_replace(':', '', $progr['end_time']), "value" => $progr['value_program'], "type" => $progr['type'], "number" => $progr['number']); } $tmp = purge_program($prg); } else { foreach ($program as $progr) { $type = $progr['type']; $number = $progr['number']; if (count($tmp) > 0) { $data_plug = $tmp; unset($tmp); $tmp = array(); } $data_plug[] = array("time_start" => "240000", "time_stop" => "240000", "value" => "0", "type" => "{$type}", "number" => $number); $start_time = str_replace(':', '', $progr['start_time']); $end_time = str_replace(':', '', $progr['end_time']); $value = $progr['value_program']; $current = array("time_start" => "{$start_time}", "time_stop" => "{$end_time}", "value" => "{$value}", "type" => "{$type}", "number" => $number); $first = array("time_start" => "000000", "time_stop" => "000000", "value" => "0", "type" => "{$type}", "number" => $number); asort($data_plug); $continue = "1"; $chk_stop = false; $chk_test = true; while (!$chk_stop) { foreach ($data_plug as $data) { if (!$chk_test) { $tmp[] = $data; } else { $chk_stop = true; if (!isset($last) || empty($last)) { $last = $data; } if ("{$continue}" == "1") { $continue = compare_data_program($first, $last, $current, $tmp); } else { $continue = "1"; } if ("{$continue}" != "2") { $first = $last; unset($last); } else { unset($last); unset($first); $chk_test = false; } } } if (!$chk_test) { $chk_stop = false; $first = array("time_start" => "000000", "time_stop" => "000000", "value" => "0", "type" => "{$type}", "number" => $number); $continue = "1"; unset($data_plug); $data_plug = $tmp; asort($data_plug); unset($tmp); $tmp = array(); $chk_test = true; } } if ($GLOBALS['DEBUG_TRACE']) { echo "Before purge:<br />"; print_r($tmp); echo "<br />"; } $tmp = purge_program($tmp); if ($GLOBALS['DEBUG_TRACE']) { echo "<br />Before optimize:<br />"; print_r($tmp); echo "<br />"; } $tmp = optimize_program($tmp); if ($GLOBALS['DEBUG_TRACE']) { echo "<br />Program to be recorded:<br />"; print_r($tmp); echo "<br />"; } } } if (count($tmp) > 0) { if (!insert_program_value($program[0]['selected_plug'], $tmp, $out)) { $ret = false; } } return $ret; }
// Si le dernier événement cyclique dépasse, on le raccourcis pour qu'il finisse a 23:59:59 if (strcmp("{$cyclic_end}", "00:00:00") == 0 || str_replace(":", "", $cyclic_end) < str_replace(":", "", $cyclic_start)) { $prog[] = array("start_time" => "{$cyclic_start}", "end_time" => "23:59:59", "value_program" => "{$value_program}", "selected_plug" => "{$selected_plug}", "type" => "{$type}", "number" => $program_index); } else { if (str_replace(":", "", $cyclic_end) > str_replace(":", "", $final_cyclic_end) && str_replace(":", "", $cyclic_start) < str_replace(":", "", $final_cyclic_end)) { $prog[] = array("start_time" => "{$cyclic_start}", "end_time" => "{$final_cyclic_end}", "value_program" => "{$value_program}", "selected_plug" => "{$selected_plug}", "type" => "{$type}", "number" => $program_index); } } } $rep = $repeat_time; $start_time = "00:00:00"; $end_time = "00:00:00"; } //If the reset checkbox is checked if (isset($reset_old_program) && !empty($reset_old_program) && strcmp("{$reset_old_program}", "Yes") == 0) { clean_program($selected_plug, $program_index, $main_error); unset($reset_old_program); } $ch_insert = true; if (count($prog) > 0) { if (!insert_program($prog, $main_error, $program_index)) { $ch_insert = false; } } else { $ch_insert = false; } if ($ch_insert) { echo json_encode("1"); } else { echo json_encode("0"); }
<?php require_once '../../libs/utilfunc.php'; require_once '../../libs/db_get_common.php'; require_once '../../libs/db_set_common.php'; require_once '../../libs/config.php'; if (isset($_GET['value']) && !empty($_GET['value']) && isset($_GET['program_index']) && !empty($_GET['program_index'])) { $value = $_GET['value']; $program_index_id = $_GET['program_index']; $program_index = programs\get_field_from_program_index("program_idx", $program_index_id); $value = explode(",", $value); $main_error = array(); foreach ($value as $reset_selected) { clean_program($reset_selected, $program_index, $main_error); } }