Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- header('Location: http://leanski_interface.loc/index.php?addConditionSuccess=true');
- /**
- * Created by PhpStorm.
- * User: willy.rineau
- * Date: 09/05/2019
- * Time: 15:22
- */
- include_once '../class/conditions.php';
- include_once '../class/conditionsManager.php';
- include_once '../class/prl.php';
- include_once '../class/prlManager.php';
- include_once '../class/etat.php';
- include_once '../class/etatManager.php';
- include_once '../class/zone_meteo.php';
- include_once '../class/zone_meteoManager.php';
- include_once '../class/media.php';
- include_once '../class/mediaManager.php';
- $db = new PDO('mysql:host=localhost;dbname=leanski;charset=utf8', 'root', '');
- $manager_conditions = new conditionsManager($db);
- $manager_prl = new prlManager($db);
- $manager_etat = new etatManager($db);
- $manager_meteo = new zone_meteoManager($db);
- $manager_media = new mediaManager($db);
- /*
- * Il faut d'abord ajouter la condition.
- * Il faudra faire un "ALTER TABLE" pour insérer ensuite la condition.
- */
- // Ici, on teste si on récupère un ID, s'il est égal à 0, alors il faut créer la condition.
- if ($_POST['idCond'] === 0) {
- $condition = new conditions([]);
- $condition->setNom('');
- $condition->setNumero_condition($_POST['numCond']);
- $condition->setIdStation(1);
- $condition->setTexte_fr($_POST['textFr']);
- $condition->setTexte_en($_POST['textEn']);
- $condition->setPriorite($_POST['priority']);
- $condition->setCouleur_fond($_POST['background']);
- $condition->setCouleur_texte($_POST['color']);
- $condition->setLogo($_POST['logo']);
- $condition->setVerification(1);
- $manager_conditions->add_conditions($condition);
- $json_source = ($_POST['json']);
- $texte_scenario = "";
- $texte_a_afficher = "";
- $texte_a_afficher_final = "SELECT count(*) AS valeur FROM leanski WHERE ";
- $conditions = $manager_conditions->getLastID()['MAX(id)'];
- $json_data = json_decode($json_source);
- $parenthese = false;
- $getPositionToChange = count($json_data->rules) - 1;
- for ($i = 0; $i < count($json_data->rules); $i++) {
- if (isset($json_data->rules[$i]->field)) {
- if ($parenthese === false) {
- $texte_scenario .= " (";
- $texte_a_afficher .= " (";
- $parenthese = true;
- }
- $prl_id = str_replace("999", ",", $json_data->rules[$i]->field);
- $idInfoneige = (explode(",", $prl_id));
- $idPrl = implode(",", $idInfoneige);
- // Préparation insertion - ID ETAT
- $prl_operator = $json_data->rules[$i]->operator;
- $etat = $manager_etat->getID($prl_operator)[0];
- // Préparation insertion - ID AND_OR
- $and_or = $json_data->condition;
- // Préparation insert - ID VALUE
- $value = $json_data->rules[$i]->value;
- // Préparation insertion - ID PRL
- $prl_id = getPisteID($idInfoneige, $manager_prl, $manager_meteo)[0];
- $prl_name = getPisteID($idInfoneige, $manager_prl, $manager_meteo)[1];
- $prl_info = getPisteID($idInfoneige, $manager_prl, $manager_meteo)[2];
- $id = 1;
- if ($prl_info === "zone_meteo") {
- $manager_conditions->add_zone_meteo($conditions, $prl_id, $etat, $and_or, $value, $id);
- } elseif ($prl_info === "prl") {
- $manager_conditions->add_prl_conditions($conditions, $prl_id, $etat, $and_or, $value, $id);
- }
- // TODO -> Insertion GROUPE 2
- $texte_scenario .= getScenario($conditions, $manager_conditions, $prl_info, $id, $manager_prl, $manager_meteo, $idPrl, $etat, $and_or, $prl_name, $value)[0];
- $texte_a_afficher .= getScenario($conditions, $manager_conditions, $prl_info, $id, $manager_prl, $manager_meteo, $idPrl, $etat, $and_or, $prl_name, $value)[1];
- // TODO -> Insertion GROUPE 1
- } elseif ($json_data->rules[$i]->condition) {
- if ($parenthese === true) {
- $texte_scenario .= "AREMPLACER (";
- $texte_a_afficher .= "AREMPLACER (";
- $parenthese = false;
- }
- $id = 2;
- for ($y = 0; $y < count($json_data->rules[$i]->rules); $y++) {
- $prl_id = str_replace("999", ",", $json_data->rules[$i]->rules[$y]->field);
- $idInfoneige = (explode(",", $prl_id));
- $idPrl = implode(",", $idInfoneige);
- // Préparation insertion - ID ETAT
- $prl_operator = $json_data->rules[$i]->rules[$y]->operator;
- $etat = $manager_etat->getID($prl_operator)[0];
- // Préparation insertion - ID AND_OR
- $and_or = $json_data->rules[$i]->condition;
- // Préparation insert - ID VALUE
- $value = $json_data->rules[$i]->rules[$y]->value;
- // Préparation insertion - ID PRL
- $prl_id = getPisteID($idInfoneige, $manager_prl, $manager_meteo)[0];
- $prl_name = getPisteID($idInfoneige, $manager_prl, $manager_meteo)[1];
- $prl_info = getPisteID($idInfoneige, $manager_prl, $manager_meteo)[2];
- if ($prl_info === "zone_meteo") {
- $manager_conditions->add_zone_meteo($conditions, $prl_id, $etat, $and_or, $value, $id);
- } elseif ($prl_info === "prl") {
- $manager_conditions->add_prl_conditions($conditions, $prl_id, $etat, $and_or, $value, $id);
- }
- // TODO -> Insertion GROUPE 2
- $texte_scenario .= getScenario($conditions, $manager_conditions, $prl_info, $id, $manager_prl, $manager_meteo, $idPrl, $etat, $and_or, $prl_name, $value)[0];
- $texte_a_afficher .= getScenario($conditions, $manager_conditions, $prl_info, $id, $manager_prl, $manager_meteo, $idPrl, $etat, $and_or, $prl_name, $value)[1];
- }
- }
- }
- /*
- * Mise en forme de la condition SQL
- * -> Elle apparait dans la table condition.
- */
- $text_afficher = $texte_a_afficher;
- $str_text_afficher = preg_replace("/^(\w+\s)/", "", $text_afficher);
- $str_text_afficher = preg_replace('/AND AREMPLACER/', ") AND", $str_text_afficher);
- $str_text_afficher = preg_replace('/OR AREMPLACER/', ") OR", $str_text_afficher);
- $str_text_afficher = substr($str_text_afficher, 0, -4);
- $str_text_afficher .= ")";
- $texte_a_afficher_final .= $str_text_afficher;
- /*
- * Mise en forme du message du scénario.
- * -> Ici, on enlève les 2 derniers caractères pour enlever le "+ ".
- */
- $str_text_scenario = substr($texte_scenario, 0, -1);
- $str_text_scenario = preg_replace("/^(\w+\s)/", "", $str_text_scenario);
- $str_text_scenario = preg_replace('/et AREMPLACER/', ") +", $str_text_scenario);
- $str_text_scenario = preg_replace('/ou AREMPLACER/', ") ou", $str_text_scenario);
- $str_text_scenario = substr($str_text_scenario, 0, -3);
- $str_text_scenario .= ")";
- /*
- * // TODO Update la table condition.
- * */
- $manager_conditions->updateScenario($str_text_scenario, $str_text_afficher, $conditions);
- /*
- * Function qui permet de récuperer le "nom" et l'"id" de la PRL / Zone météo.
- * -> On teste donc si c'est une zone météo, ou une PRL, pour envoyer les bonnes valeurs ensuite.
- */
- function getPisteID($prl_id, $manager, $manager_meteo)
- {
- if (count($prl_id) === 2) {
- // Quand c'est une zone météo
- $ent_id = $prl_id[0];
- $obs_id = $prl_id[1];
- $zone_meteo = $manager_meteo->getId($ent_id, $obs_id)[0];
- $zone_meteo_name = $manager_meteo->getName($ent_id, $obs_id)[0];
- return array($zone_meteo, $zone_meteo_name, "zone_meteo");
- } else {
- // Quand c'est une PRL !
- $ent_id = $prl_id[0];
- $sct_id = $prl_id[1];
- $pag_id = $prl_id[2];
- $prl_id2 = $prl_id[3];
- $prl = $manager->getId($ent_id, $sct_id, $pag_id, $prl_id2)[0];
- $prl_name = $manager->getName($ent_id, $sct_id, $pag_id, $prl_id2)[0];
- return array($prl, $prl_name, "prl");
- }
- }
- /*
- * Function qui permet de récuperer dans un tableau, le nom du scénario, et la requête SQL.
- *
- */
- function getScenario($maxId, $manager_condition, $prl_info, $id, $manager_prl, $manager_zone_meteo, $idPrl, $etat, $and_or, $prl_name, $value)
- {
- $array_test = [];
- $message_scenario = "";
- $message_condition = "";
- if ($prl_info === "zone_meteo") {
- $meteoCond = $manager_condition->getListMeteoInfo($maxId, $id);
- array_push($array_test, $meteoCond);
- } else {
- $prlCond = $manager_condition->getListPrlInfo($maxId, $id);
- array_push($array_test, $prlCond);
- }
- //var_dump($array_test);
- switch ($etat) {
- case 1:
- $message_condition .= "dbo.lsk_etat" . "(" . $idPrl . ") = 1 " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " O et ";
- } else {
- $message_scenario .= $prl_name . " O ou ";
- }
- break;
- case 2:
- $message_condition .= "dbo.lsk_etat" . "(" . $idPrl . ") = 2 " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " P et ";
- } else {
- $message_scenario .= $prl_name . " P ou ";
- }
- break;
- case 3:
- $message_condition .= "dbo.lsk_etat" . "(" . $idPrl . ") = 3 " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " F et ";
- } else {
- $message_scenario .= $prl_name . " F ou ";
- }
- break;
- case 4:
- $message_condition .= "dbo.lsk_etat_retarde" . "(" . $idPrl . ") = 1 " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " retardé et ";
- } else {
- $message_scenario .= $prl_name . " retardé ou ";
- }
- break;
- case 5:
- $message_condition .= "dbo.lsk_etat_arret_moment" . "(" . $idPrl . ") = 1 " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " arrêt momentané et ";
- } else {
- $message_scenario .= $prl_name . " arrêt momentané ou ";
- }
- break;
- case 6:
- $message_condition .= "dbo.lsk_etat_P_non_decale" . "(" . $idPrl . ") = 1 " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " P non décalé et ";
- } else {
- $message_scenario .= $prl_name . " P non décalé ou ";
- }
- break;
- case 7:
- $message_condition .= "dbo.lsk_etat_F_P" . "(" . $idPrl . ") = 1 " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " F/P et ";
- } else {
- $message_scenario .= $prl_name . " F/P ou ";
- }
- break;
- case 8:
- $message_condition .= "dbo.lsk_attente" . "(" . $idPrl . ") < " . $value . " " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " Attente < " . $value . " et ";
- } else {
- $message_scenario .= $prl_name . " Attente < " . $value . " ou ";
- }
- break;
- case 9:
- $message_condition .= "dbo.lsk_attente" . "(" . $idPrl . ") <= " . $value . " " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " Attente <= " . $value . " et ";
- } else {
- $message_scenario .= $prl_name . " Attente <= " . $value . " ou ";
- }
- break;
- case 10:
- $message_condition .= "dbo.lsk_attente" . "(" . $idPrl . ") > " . $value . " " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " Attente > " . $value . " et ";
- } else {
- $message_scenario .= $prl_name . " Attente > " . $value . " ou ";
- }
- break;
- case 11:
- $message_condition .= " dbo.lsk_attente" . "(" . $idPrl . ") >= " . $value . " " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " Attente >= " . $value . " et ";
- } else {
- $message_scenario .= $prl_name . " Attente >= " . $value . " ou ";
- }
- break;
- case 12:
- $message_condition .= "dbo.lsk_attente" . "(" . $idPrl . ") < " . $value . " " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " Attente entre " . $value . " & " . $value . " et ";
- } else {
- $message_scenario .= $prl_name . " Attente entre " . $value . " & " . $value . " ou ";
- }
- break;
- case 13:
- $message_condition .= "dbo.a_faire " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " Vent < " . $value . " et ";
- } else {
- $message_scenario .= $prl_name . " Vent < " . $value . " ou ";
- }
- break;
- case 14:
- $message_condition .= "dbo._afaire " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " Vent > " . $value . " et ";
- } else {
- $message_scenario .= $prl_name . " Vent > " . $value . " ou ";
- }
- break;
- case 15:
- $message_condition .= "dbo._afaire " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " Avalanche > " . $value . " et ";
- } else {
- $message_scenario .= $prl_name . " Avalanche > " . $value . " ou ";
- }
- break;
- case 16:
- $message_condition .= "dbo._afaire " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " Température < " . $value . " et ";
- } else {
- $message_scenario .= $prl_name . " Température < " . $value . " ou ";
- }
- break;
- case 17:
- $message_condition .= "dbo._afaire " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " Température > " . $value . " et ";
- } else {
- $message_scenario .= $prl_name . " Température > " . $value . " ou ";
- }
- break;
- case 18:
- $message_condition .= "dbo._afaire " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " Température ressentie < " . $value . " et ";
- } else {
- $message_scenario .= $prl_name . " Température ressentie < " . $value . " ou ";
- }
- break;
- case 19:
- $message_condition .= "dbo._afaire " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " Température ressentie > " . $value . " et ";
- } else {
- $message_scenario .= $prl_name . " Température ressentie > " . $value . " ou ";
- }
- break;
- case 20:
- $message_condition .= "dbo.lsk_etat_retarde" . "(" . $idPrl . ") = 0 " . $and_or . " ";
- if ($and_or === "AND") {
- $message_scenario .= $prl_name . " non retardé et ";
- } else {
- $message_scenario .= $prl_name . " non retardé ";
- }
- break;
- }
- return array($message_scenario, $message_condition);
- }
- /*
- * Function qui permet de formatter le texte comme on le souhaite.
- * -> On gère la condition SQL avec les différentes valeurs, et les différentes fonctions SQL.
- * -> On gère l'affichage du scénario pour la page qui génère tous les messages.
- */
- /*function getScenario($idPrl, $prl_operator, $and_or, $value, $name, $group){
- $texte_a_afficher = "";
- $texte_scenario = "";
- $i = 1;
- if ($i === $group){
- $texte_a_afficher .= "(";
- switch ($prl_operator) {
- case "ouvert":
- $texte_a_afficher .= " dbo.lsk_etat" . "(" . $idPrl . ") = 1 " . $and_or;
- $texte_scenario .= $name . " O + ";
- break;
- case "en_attente_d_ouverture":
- $texte_a_afficher .= " dbo.lsk_etat" . "(" . $idPrl . ") = 2 " . $and_or;
- $texte_scenario .= $name . " P + ";
- break;
- case "ferme(e)":
- $texte_a_afficher .= " dbo.lsk_etat" . "(" . $idPrl . ") = 3 " . $and_or;
- $texte_scenario .= $name . " F + ";
- break;
- case "retarde(e)":
- $texte_a_afficher .= " dbo.lsk_etat_retarde" . "(" . $idPrl . ") = 1 " . $and_or;
- $texte_scenario .= $name . " Retardé + ";
- break;
- case "arret_momentane":
- $texte_a_afficher .= " dbo.lsk_etat_arret_moment" . "(" . $idPrl . ") = 1 " . $and_or;
- $texte_scenario .= $name . " Arrêt momentané + ";
- break;
- case "prevision_non_decale":
- $texte_a_afficher .= " dbo.lsk_etat_P_non_decale" . "(" . $idPrl . ") = 1 " . $and_or;
- $texte_scenario .= $name . " P non décalé + ";
- break;
- case "ferme_ou_prevision":
- $texte_a_afficher .= " dbo.lsk_etat_F_P" . "(" . $idPrl . ") = 1 " . $and_or;
- $texte_scenario .= $name . " F/P + ";
- break;
- case "temps_attente_inferieur":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $idPrl . ") < " . $value . " " . $and_or;
- $texte_scenario .= $name . " Attente < " . $value . " + ";
- break;
- case "temps_attente_inferieur_ou_egal":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $idPrl . ") <= " . $value . " " . $and_or;
- $texte_scenario .= $name . " Attente <= " . $value . " + ";
- break;
- case "temps_attente_superieur":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $idPrl . ") > " . $value . " " . $and_or;
- $texte_scenario .= $name . " Attente > " . $value . " + ";
- break;
- case "temps_attente_superieur_ou_egal":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $idPrl . ") >= " . $value . " " . $and_or;
- $texte_scenario .= $name . " Attente > " . $value . " + ";
- break;
- case "temps_attente_entre":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $idPrl . ") < " . $value . " " . $and_or;
- $texte_scenario .= $name . " Attente entre " . $value . " & " . $value . " + ";
- break;
- case "vent_inferieur":
- $texte_a_afficher .= " dbo.a_faire " . $and_or;
- $texte_scenario .= $name . " Vent < " . $value . " + ";
- break;
- case "vent_superieur":
- $texte_a_afficher .= " dbo._afaire " . $and_or;
- $texte_scenario .= $name . " Vent > " . $value . " + ";
- break;
- case "risque_avalanche":
- $texte_a_afficher .= " dbo._afaire " . $and_or;
- $texte_scenario .= $name . " Avalanche > " . $value . " + ";
- break;
- case "temperature_inferieure":
- $texte_a_afficher .= " dbo._afaire " . $and_or;
- $texte_scenario .= $name . " A faire " . " + ";
- break;
- case "temperature_superieure":
- $texte_a_afficher .= " dbo._afaire " . $and_or;
- $texte_scenario .= $name . " A faire " . " + ";
- break;
- case "temperature_ressentie_inferieure":
- $texte_a_afficher .= " dbo._afaire " . $and_or;
- $texte_scenario .= $name . " A faire " . " + ";
- break;
- case "temperature_ressentie_superieure":
- $texte_a_afficher .= " dbo._afaire " . $and_or;
- $texte_scenario .= $name . " A faire " . " + ";
- break;
- case "non_retarde(e)":
- $texte_a_afficher .= " dbo.lsk_etat_retarde" . "(" . $idPrl . ") = 0 " . $and_or;
- $texte_scenario .= $name . " A faire " . " + ";
- break;
- }
- }
- else{
- $i = $i++;
- }
- return array($texte_a_afficher, $texte_scenario);
- }*/
- $media = $_POST['media'];
- $medias = (explode(",", $media));
- for ($nb_media = 0; $nb_media < count($medias); $nb_media++) {
- $medias[$nb_media] = explode("$$$", $medias[$nb_media]);
- $nom_media = $medias[$nb_media][0];
- $resolution_media = $medias[$nb_media][1];
- $id_media = $manager_media->getId($nom_media, $resolution_media);
- $manager_conditions->add_media_conditions($conditions, $id_media[0]);
- }
- }
- //var_dump($_GET);
- /*if ($_GET['id_cond']){
- $condition = new conditions([]);
- $condition->setId($_GET['id_cond']);
- $condition->setNom('');
- $condition->setNumero_condition($_GET['numCond']);
- $condition->setIdStation(1);
- $condition->setTexte_fr($_GET['textFr']);
- $condition->setTexte_en($_GET['textEn']);
- $condition->setPriorite($_GET['priority']);
- $condition->setCouleur_fond($_GET['background']);
- $condition->setCouleur_texte($_GET['color']);
- $condition->setLogo($_GET['logo']);
- $condition->setVerification(1);
- $manager_conditions->update($condition);
- $manager_conditions->deleteIdPRL($_GET['id_cond']);
- $manager_conditions->deleteIdZoneMeteo($_GET['id_cond']);
- $manager_conditions->deleteIdMedia($_GET['id_cond']);
- $texte_scenario = "";
- $texte_a_afficher = "SELECT count(*) AS valeur FROM leanski WHERE";
- for ($i = 0; $i < count($_GET); $i++) {
- if (isset($_GET['builder_rule_' . $i . '_filter'])) {
- if (isset($_GET['builder_rule_' . $i . '_filter'])) {
- $prl_id = $_GET['builder_rule_' . $i . '_filter'];
- $prl_id = str_replace("999", ",", $prl_id);
- if (isset($_GET['builder_rule_' . $i . '_operator'])) {
- $prl_operator = $_GET['builder_rule_' . $i . '_operator'];
- }
- if (isset($_GET['builder_group_' . $i . '_cond'])) {
- $prl_conjonction = $_GET['builder_group_' . $i . '_cond'];
- }else{
- $prl_conjonction = "AND";
- }
- if (isset($_GET['builder_rule_' . $i . '_value_0'])) {
- $prl_value = $_GET['builder_rule_' . $i . '_value_0'];
- }
- $getIdPRL = explode(',', $prl_id);
- if (count($getIdPRL) === 2) {
- $ent_id = $getIdPRL[0];
- $obs_id = $getIdPRL[1];
- $conditions = $_GET['id_cond'];
- $zone_meteo = $manager_meteo->getID($ent_id, $obs_id)[0];
- $etat = $manager_etat->getID($prl_operator)[0];
- $and_or = $prl_conjonction;
- $name = $manager_meteo->getName($ent_id, $obs_id);
- $manager_conditions->add_zone_meteo($conditions, $zone_meteo, $etat, $and_or, $prl_value);
- } else {
- $ent_id = $getIdPRL[0];
- $sct_id = $getIdPRL[1];
- $pag_id = $getIdPRL[2];
- $prl_id2 = $getIdPRL[3];
- $conditions = $_GET['id_cond'];
- $prl = $manager_prl->getID($ent_id, $sct_id, $pag_id, $prl_id2)[0];
- $etat = $manager_etat->getID($prl_operator)[0];
- $and_or = $prl_conjonction;
- $name = $manager_prl->getName($ent_id, $sct_id, $pag_id, $prl_id2);
- $manager_conditions->add_prl_conditions($conditions, $prl, $etat, $and_or, $prl_value);
- }
- switch ($prl_operator) {
- case "ouvert":
- $texte_a_afficher .= " dbo.lsk_etat" . "(" . $prl_id . ") = 1 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " O + ";
- break;
- case "en_attente_d_ouverture":
- $texte_a_afficher .= " dbo.lsk_etat" . "(" . $prl_id . ") = 2 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " P + ";
- break;
- case "ferme(e)":
- $texte_a_afficher .= " dbo.lsk_etat" . "(" . $prl_id . ") = 3 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " F + ";
- break;
- case "retarde(e)":
- $texte_a_afficher .= " dbo.lsk_etat_retarde" . "(" . $prl_id . ") = 1 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Retardé + ";
- break;
- case "arret_momentane":
- $texte_a_afficher .= " dbo.lsk_etat_arret_moment" . "(" . $prl_id . ") = 1 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Arrêt momentané + ";
- break;
- case "prevision_non_decale":
- $texte_a_afficher .= " dbo.lsk_etat_P_non_decale" . "(" . $prl_id . ") = 1 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " P non décalé + ";
- break;
- case "ferme_ou_prevision":
- $texte_a_afficher .= " dbo.lsk_etat_F_P" . "(" . $prl_id . ") = 1 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " F/P + ";
- break;
- case "temps_attente_inferieur":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $prl_id . ") < " . $prl_value . " " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Attente < " . $prl_value . " + ";
- break;
- case "temps_attente_inferieur_ou_egal":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $prl_id . ") <= " . $prl_value . " " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Attente <= " . $prl_value . " + ";
- break;
- case "temps_attente_superieur":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $prl_id . ") > " . $prl_value . " " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Attente > " . $prl_value . " + ";
- break;
- case "temps_attente_superieur_ou_egal":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $prl_id . ") >= " . $prl_value . " " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Attente > " . $prl_value . " + ";
- break;
- case "temps_attente_entre":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $prl_id . ") < " . $prl_value . " " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Attente entre " . $prl_value . " & " . $prl_value . " + ";
- break;
- case "vent_inferieur":
- $texte_a_afficher .= " dbo.a_faire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Vent < " . $prl_value . " + ";
- break;
- case "vent_superieur":
- $texte_a_afficher .= " dbo._afaire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Vent > " . $prl_value . " + ";
- break;
- case "risque_avalanche":
- $texte_a_afficher .= " dbo._afaire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Avalanche > " . $prl_value . " + ";
- break;
- case "temperature_inferieure":
- $texte_a_afficher .= " dbo._afaire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " A faire " . " + ";
- break;
- case "temperature_superieure":
- $texte_a_afficher .= " dbo._afaire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " A faire " . " + ";
- break;
- case "temperature_ressentie_inferieure":
- $texte_a_afficher .= " dbo._afaire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " A faire " . " + ";
- break;
- case "temperature_ressentie_superieure":
- $texte_a_afficher .= " dbo._afaire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " A faire " . " + ";
- break;
- case "non_retarde(e)":
- $texte_a_afficher .= " dbo.lsk_etat_retarde" . "(" . $prl_id . ") = 0 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " A faire " . " + ";
- break;
- }
- }
- }
- }
- $listMedia = $manager_media->getList();
- for ($liste = 0; $liste < count($listMedia); $liste++) {
- $media = $listMedia[$liste]->nom() . $listMedia[$liste]->resolution();
- $media = str_replace(" ", "_", $media);
- if (isset($_GET[$media])) {
- $nom = $listMedia[$liste]->nom();
- $resolution = $listMedia[$liste]->resolution();
- $getId = $manager_media->getId($nom, $resolution);
- $conditions = $manager_conditions->getLastID()['MAX(id)'];
- $id_media = $getId[0];
- $manager_conditions->add_media_conditions($conditions, $id_media);
- }
- }
- $search = 'AND';
- $replace = '';
- $texte_condition = strrev(implode(strrev($replace), explode(strrev($search), strrev($texte_a_afficher), 2)));
- $scenario = strrev(implode(strrev(''), explode(strrev('+'), strrev($texte_scenario), 2)));
- echo $texte_condition;
- echo $scenario;
- $manager_conditions->updateScenario($scenario, $texte_condition, $_GET['id_cond']);
- echo "modifiée";
- }
- else {
- $condition = new conditions([]);
- $condition->setNom('');
- $condition->setNumero_condition($_GET['numCond']);
- $condition->setIdStation(1);
- $condition->setTexte_fr($_GET['textFr']);
- $condition->setTexte_en($_GET['textEn']);
- $condition->setPriorite($_GET['priority']);
- $condition->setCouleur_fond($_GET['background']);
- $condition->setCouleur_texte($_GET['color']);
- $condition->setLogo($_GET['logo']);
- var_dump($_GET);
- // TODO $manager_conditions->add_conditions($condition);
- $array_conditions = $_POST['id'];
- $texte_scenario = "";
- $texte_a_afficher = "SELECT count(*) AS valeur FROM leanski WHERE";
- for ($i = 0; $i < count($_GET); $i++) {
- if (isset($_GET['builder_rule_' . $i . '_filter'])) {
- $prl_id = $_GET['builder_rule_' . $i . '_filter'];
- $prl_id = str_replace("999", ",", $prl_id);
- if (isset($_GET['builder_rule_' . $i . '_operator'])) {
- $prl_operator = $_GET['builder_rule_' . $i . '_operator'];
- }
- if (isset($_GET['builder_group_' . $i . '_cond'])) {
- $prl_conjonction = $_GET['builder_group_' . $i . '_cond'];
- }
- if (isset($_GET['builder_rule_' . $i . '_value_0'])) {
- $prl_value = $_GET['builder_rule_' . $i . '_value_0'];
- }
- $getIdPRL = explode(',', $prl_id);
- if (count($getIdPRL) === 2) {
- $ent_id = $getIdPRL[0];
- $obs_id = $getIdPRL[1];
- $conditions = $manager_conditions->getLastID()['MAX(id)'];
- $zone_meteo = $manager_meteo->getID($ent_id, $obs_id)[0];
- $etat = $manager_etat->getID($prl_operator)[0];
- $and_or = $prl_conjonction;
- $name = $manager_meteo->getName($ent_id, $obs_id);
- // TODO $manager_conditions->add_zone_meteo($conditions, $zone_meteo, $etat, $and_or, $prl_value);
- } else {
- $ent_id = $getIdPRL[0];
- $sct_id = $getIdPRL[1];
- $pag_id = $getIdPRL[2];
- $prl_id2 = $getIdPRL[3];
- $conditions = $manager_conditions->getLastID()['MAX(id)'];
- $prl = $manager_prl->getID($ent_id, $sct_id, $pag_id, $prl_id2)[0];
- $etat = $manager_etat->getID($prl_operator)[0];
- $and_or = $prl_conjonction;
- $name = $manager_prl->getName($ent_id, $sct_id, $pag_id, $prl_id2);
- // TODO $manager_conditions->add_prl_conditions($conditions, $prl, $etat, $and_or, $prl_value);
- }
- switch ($prl_operator) {
- case "ouvert":
- $texte_a_afficher .= " dbo.lsk_etat" . "(" . $prl_id . ") = 1 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " O + ";
- break;
- case "en_attente_d_ouverture":
- $texte_a_afficher .= " dbo.lsk_etat" . "(" . $prl_id . ") = 2 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " P + ";
- break;
- case "ferme(e)":
- $texte_a_afficher .= " dbo.lsk_etat" . "(" . $prl_id . ") = 3 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " F + ";
- break;
- case "retarde(e)":
- $texte_a_afficher .= " dbo.lsk_etat_retarde" . "(" . $prl_id . ") = 1 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Retardé + ";
- break;
- case "arret_momentane":
- $texte_a_afficher .= " dbo.lsk_etat_arret_moment" . "(" . $prl_id . ") = 1 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Arrêt momentané + ";
- break;
- case "prevision_non_decale":
- $texte_a_afficher .= " dbo.lsk_etat_P_non_decale" . "(" . $prl_id . ") = 1 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " P non décalé + ";
- break;
- case "ferme_ou_prevision":
- $texte_a_afficher .= " dbo.lsk_etat_F_P" . "(" . $prl_id . ") = 1 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " F/P + ";
- break;
- case "temps_attente_inferieur":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $prl_id . ") < " . $prl_value . " " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Attente < " . $prl_value . " + ";
- break;
- case "temps_attente_inferieur_ou_egal":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $prl_id . ") <= " . $prl_value . " " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Attente <= " . $prl_value . " + ";
- break;
- case "temps_attente_superieur":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $prl_id . ") > " . $prl_value . " " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Attente > " . $prl_value . " + ";
- break;
- case "temps_attente_superieur_ou_egal":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $prl_id . ") >= " . $prl_value . " " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Attente > " . $prl_value . " + ";
- break;
- case "temps_attente_entre":
- $texte_a_afficher .= " dbo.lsk_attente" . "(" . $prl_id . ") < " . $prl_value . " " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Attente entre " . $prl_value . " & " . $prl_value . " + ";
- break;
- case "vent_inferieur":
- $texte_a_afficher .= " dbo.a_faire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Vent < " . $prl_value . " + ";
- break;
- case "vent_superieur":
- $texte_a_afficher .= " dbo._afaire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Vent > " . $prl_value . " + ";
- break;
- case "risque_avalanche":
- $texte_a_afficher .= " dbo._afaire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " Avalanche > " . $prl_value . " + ";
- break;
- case "temperature_inferieure":
- $texte_a_afficher .= " dbo._afaire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " A faire " . " + ";
- break;
- case "temperature_superieure":
- $texte_a_afficher .= " dbo._afaire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " A faire " . " + ";
- break;
- case "temperature_ressentie_inferieure":
- $texte_a_afficher .= " dbo._afaire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " A faire " . " + ";
- break;
- case "temperature_ressentie_superieure":
- $texte_a_afficher .= " dbo._afaire " . $prl_conjonction;
- $texte_scenario .= $name[0] . " A faire " . " + ";
- break;
- case "non_retarde(e)":
- $texte_a_afficher .= " dbo.lsk_etat_retarde" . "(" . $prl_id . ") = 0 " . $prl_conjonction;
- $texte_scenario .= $name[0] . " A faire " . " + ";
- break;
- }
- }
- }
- $listMedia = $manager_media->getList();
- for ($liste = 0; $liste < count($listMedia); $liste++) {
- $media = $listMedia[$liste]->nom() . $listMedia[$liste]->resolution();
- $media = str_replace(" ", "_", $media);
- if (isset($_GET[$media])) {
- $nom = $listMedia[$liste]->nom();
- $resolution = $listMedia[$liste]->resolution();
- $getId = $manager_media->getId($nom, $resolution);
- $conditions = $manager_conditions->getLastID()['MAX(id)'];
- $id_media = $getId[0];
- // TODO $manager_conditions->add_media_conditions($conditions, $id_media);
- }
- }
- $scenario = strrev(implode(strrev(''), explode(strrev('+'), strrev($texte_scenario), 2)));
- $TablastId = $manager_conditions->getLastID();
- $lastId = $TablastId["MAX(id)"];
- if ($scenario != "") {
- // TODO $manager_conditions->updateScenario($scenario, $texte_condition, $lastId);
- } else {
- // TODO $manager_conditions->deleteId($lastId);
- // TODO $manager_conditions->autoIncrement($lastId);
- // TODO header('Location: http://leanski_interface.loc/index.php?addConditionEchec=true');
- }
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement