Example #1
0
function create_program_from_database(&$out, $fieldNumber = 1)
{
    date_default_timezone_set('UTC');
    // Read the number of plugs
    $nb_plugs = get_configuration("NB_PLUGS", $out);
    // Read plugs configuration
    $plugsConfig = plugs\getDB();
    // Get programs for plugs
    $sql = "SELECT * FROM programs WHERE plug_id IN (SELECT id FROM plugs WHERE id <= " . $nb_plugs . ") AND number = '" . $fieldNumber . "' ORDER BY time_start ASC;";
    $db = db_priv_pdo_start();
    try {
        $sth = $db->prepare($sql);
        $sth->execute();
        $res = $sth->fetchAll(PDO::FETCH_ASSOC);
    } catch (PDOException $e) {
        $ret = $e->getMessage();
        if ($GLOBALS['DEBUG_TRACE']) {
            $out[] = __('ERROR_SELECT_SQL') . $ret;
        } else {
            $out[] = __('ERROR_SELECT_SQL');
        }
        unset($ret);
    }
    // Select first element of program
    $sql = "SELECT * FROM programs WHERE time_start = '000000' AND plug_id IN (SELECT id FROM plugs WHERE id <= " . $nb_plugs . ") AND number = '" . $fieldNumber . "' ORDER BY time_start ASC;";
    try {
        $sth = $db->prepare($sql);
        $sth->execute();
        $first = $sth->fetchAll(PDO::FETCH_ASSOC);
    } catch (PDOException $e) {
        $ret = $e->getMessage();
        if ($GLOBALS['DEBUG_TRACE']) {
            $out[] = __('ERROR_SELECT_SQL') . $ret;
        } else {
            $out[] = __('ERROR_SELECT_SQL');
        }
        unset($ret);
    }
    // Select last element of program
    $sql = "SELECT * FROM programs WHERE time_stop = '235959' AND plug_id IN (SELECT id FROM plugs WHERE id <= " . $nb_plugs . ") AND number = '" . $fieldNumber . "' ORDER by time_start ASC;";
    try {
        $sth = $db->prepare($sql);
        $sth->execute();
        $last = $sth->fetchAll(PDO::FETCH_ASSOC);
    } catch (PDOException $e) {
        $ret = $e->getMessage();
        if ($GLOBALS['DEBUG_TRACE']) {
            $out[] = __('ERROR_SELECT_SQL') . $ret;
        } else {
            $out[] = __('ERROR_SELECT_SQL');
        }
        unset($ret);
    }
    $j = 1;
    $data = array();
    $data[0] = "";
    date_default_timezone_set('UTC');
    if (count($first) > 0) {
        while ($j <= $GLOBALS['NB_MAX_PLUG']) {
            if ($j > $nb_plugs) {
                $result = "000";
            } else {
                $result = find_value_for_plug($first, "000000", $j, $plugsConfig[$j - 1]["PLUG_TYPE"]);
            }
            $data[0] = $data[0] . "{$result}";
            $j = $j + 1;
        }
        $data[0] = "00000" . $data[0];
    } else {
        $data[0] = "00000000000000000000000000000000000000000000000000000";
    }
    $event = array();
    foreach ($res as $result) {
        if ($result['time_start'] != "000000") {
            $event[] = $result['time_start'];
        }
        if ($result['time_stop'] != "235959") {
            $event[] = $result['time_stop'];
        }
    }
    if (count($event) > 0) {
        $event = array_unique($event);
        sort($event);
    }
    $evt = array();
    $i = 0;
    $count = 0;
    if (count($event) > 0) {
        while ($count < count($event)) {
            if (isset($event[$i])) {
                $evt[] = $event[$i];
                $count = $count + 1;
            }
            $i = $i + 1;
        }
        $event = $evt;
    }
    $plg = array();
    for ($i = 1; $i <= $nb_plugs; $i++) {
        $sql = "SELECT * FROM programs WHERE plug_id = " . $i . " AND number = '" . $fieldNumber . "' ORDER BY time_start ASC;";
        try {
            $sth = $db->prepare($sql);
            $sth->execute();
            $plg[$i] = $sth->fetchAll(PDO::FETCH_ASSOC);
        } catch (PDOException $e) {
            $plg[$i] = $e->getMessage();
            if ($GLOBALS['DEBUG_TRACE']) {
                $out[] = __('ERROR_SELECT_SQL') . $ret;
            } else {
                $out[] = __('ERROR_SELECT_SQL');
            }
            unset($ret);
        }
    }
    if (count($event) > 0) {
        for ($i = 0; $i < count($event); $i++) {
            $data[$i + 1] = "";
            $j = 1;
            while ($j <= $GLOBALS['NB_MAX_PLUG']) {
                if ($j > $nb_plugs) {
                    $result = "000";
                } else {
                    $result = find_value_for_plug($plg[$j], $event[$i], $j, $plugsConfig[$j - 1]["PLUG_TYPE"]);
                }
                $data[$i + 1] = $data[$i + 1] . "{$result}";
                $j = $j + 1;
            }
            $ehh = substr($event[$i], 0, 2);
            $emm = substr($event[$i], 2, 2);
            $ess = substr($event[$i], 4, 2);
            $time_event = mktime($ehh, $emm, $ess, 1, 1, 1970);
            while (strlen($time_event) != 5) {
                $time_event = "0{$time_event}";
            }
            $data[$i + 1] = $time_event . $data[$i + 1];
        }
    }
    $count = count($data);
    $j = 1;
    if (count($last) > 0) {
        while ($j <= $GLOBALS['NB_MAX_PLUG']) {
            if ($j > $nb_plugs) {
                $result = "000";
            } else {
                $result = find_value_for_plug($last, "235959", $j, $plugsConfig[$j - 1]["PLUG_TYPE"]);
            }
            if (isset($data[$count])) {
                $data[$count] = $data[$count] . "{$result}";
            } else {
                $data[$count] = "{$result}";
            }
            $j = $j + 1;
        }
        $data[$count] = "86399" . $data[$count];
    } else {
        $data[$count] = "86399000000000000000000000000000000000000000000000000";
    }
    return $data;
}
Example #2
0
require_once '../../libs/db_get_common.php';
require_once '../../libs/db_set_common.php';
if (!isset($selected_plug)) {
    $selected_plug = getvar('selected_plug');
}
if (empty($selected_plug) || !isset($selected_plug)) {
    $selected_plug = 1;
}
$chinfo = true;
$chtime = "";
$pop_up_message = "";
$pop_up_error_message = "";
$resume = array();
$index_info = array();
programs\get_program_index_info($index_info);
$plugsInfo = plugs\getDB($selected_plug);
$plugInfo = $plugsInfo[0];
$cyclic = getvar("cyclic");
$apply = getvar('apply');
$action_prog = getvar('action_prog');
$reset_old_program = getvar("reset_old_program");
$value_program = getvar('value_program');
$regul_program = getvar("regul_program");
$start_time = getvar("start_time");
$end_time = getvar("end_time");
$start = "";
$end = "";
$rep = "";
$resume_regul = array();
$type = "0";
$tmp_prog = "";
Example #3
0
function getPlugInformation($id)
{
    // Search informations about the plug
    $synoInfo = getSynopticDBElemByID($id);
    // Read plugs informations
    $plugParam = \plugs\getDB();
    // Search plugIndex associated
    $ret_Array = $plugParam[$synoInfo["indexElem"] - 1];
    return $ret_Array;
}