1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?
require_once "session.php";
require_once "HTTP/Request.php";
require_once "constants.php";
require_once "config.inc.php";
require_once("meekrodb.php");
require_once("conn.php");
/* OLD FUNCTIONS: deprecated! */
function changeRelay($id=0) //id relay
{
$req =& new HTTP_Request(DOMOTIKAD_BASEURI."/rest/v1.0/getIOStatus?command=relays_".intval($id));
if (!PEAR::isError($req->sendRequest())) {
//$ret=$req->getResponseBody();
$code = $req->getResponseCode();
if($code=="302") {
$req2 =& new HTTP_Request($req->getResponseHeader()["location"]);
if (!PEAR::isError($req2->sendRequest())) {
return TRUE;
}
return FALSE;
}
return TRUE;
}
return FALSE;
}
function wget($url)
{
$req =& new HTTP_Request($url);
if (!PEAR::isError($req->sendRequest())) {
return $req->getResponseBody();
}
return '';
}
function getWebSections($excludelist=array("home", "none"), $addlist=array(), $querytype="websection")
{
if($querytype=="websection")
$tables=(array)unserialize(DOMODB_WEBSECTION_TABLES);
else
$tables=(array)unserialize(DOMODB_DEVSECTION_TABLES);
$query="";
foreach($tables as $table)
{
if($query!="") $query.=" UNION DISTINCT ";
$query.="SELECT websection FROM $table";
foreach($excludelist as $k => $exclude)
{
if($k==0)
$query.=" WHERE ";
else
$query.=" AND ";
$query.="websection != '$exclude'";
}
}
$query.= " ORDER BY websection";
$result = DB::queryOneColumn('websection', $query);
//print_r($query."\n");
//print_r($result);
return array_unique(array_merge($result, $addlist));
}
function getDevSections($excludelist=array("home", "none"), $addlist=array())
{
return getWebSections($excludelist, $addlist, "devsection");
}
function getSectionElements($section, $table='relay', $activeonly=true) {
$active="";
switch($table)
{
case "relay":
if($activeonly) $active="AND relay.active=1";
$query="SELECT relay.*, analog.id AS analogid, input.id AS inputid FROM (relay LEFT JOIN analog ON (analog.ananame=relay.domain AND analog.active=1 $active))
LEFT JOIN input ON (input.inpname=relay.domain AND input.active=1) WHERE relay.websection='$section' $active
ORDER by relay.position,relay.button_name,relay.id";
break;
default:
if($activeonly) $active="AND active=1";
$query="SELECT * FROM $table WHERE websection='$section' $active ORDER BY button_name";
}
return DB::query($query);
}
?>