/
bp.php
executable file
·98 lines (92 loc) · 2.75 KB
/
bp.php
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
91
92
93
94
95
96
97
98
#! /usr/bin/php
<?
//Testing the background proccess
/*while (true)
{
echo ".\n";
sleep(1);
}*/
if (isset($argv[1])) {
fclose(STDIN);
fclose(STDOUT);
fclose(STDERR);
$STDIN = fopen('/dev/null', 'r');
$STDOUT = fopen(getcwd() ."/scene.log", 'wb');
$STDERR = fopen(getcwd() ."/sceneer.log", 'wb');
runscene($argv[1]);
}else{
echo "NO ARG\n";
}
//'*******************************************************************************
function runscene($num)
{
$dir = dir(getcwd() ."/scene");
$farray = array();
$cmdarray = array();
echo "Scene " .$num ." Start " .date('y-m-d H:i:s');
echo "\n";
//List files in directory
while (($file = $dir->read()) !== false){
//Make sure it's a .txt file
if(strlen($file) < 5 || substr($file, -4) != '.scn')
continue;
$farray[] = $file;
//$ll .= $c .") filename: " . $file ."*";
}
$dir->close();
//$file_contents = file_get_contents( getcwd() ."/scene/" .$farray[$num -1]);
$runarray = explode("\n", file_get_contents(getcwd() ."/scene/" .$farray[$num -1]));
for ($i=0; $i < sizeof($runarray); $i++) {
if (substr($runarray[$i], 0, 1) !== ';')
{
echo $runarray[$i] ."\n";
$cmdarray[] = $runarray[$i];
}
}
$loop = split('=', $cmdarray[0]);
if ($loop[0] == 'loop')
{
echo "Loop " .$loop[1] ."\n";
$l ='';
while($loop[1] > 0){
echo $loop[1] ."\n";
for ($i=1; $i < sizeof($cmdarray); $i++)
{
$cmd = split('=', $cmdarray[$i]);
switch(strtolower($cmd[0])){
case 'run':
$rr = split(",", $cmd[1]);
echo "Run Relay " .$rr[0] ." " .$rr[1] ."\n";
break;
case 'sleep':
echo "Sleep for " .$cmd[1] ."\n";
sleep($cmd[1]);
break;
}
}
echo "End For\n";
$loop[1]--;
}
}else{
for ($i=0; $i < sizeof($cmdarray); $i++)
{
$cmd = split('=', $cmdarray[$i]);
switch(strtolower($cmd[0])){
case 'run':
$rr = split(",", $cmd[1]);
echo "Run Relay " .$rr[0] ." " .$rr[1] ."\n";
break;
case 'sleep':
echo "Sleep for " .$cmd[1] ."\n";
sleep($cmd[1]);
break;
}
echo "\x07";
}
echo "End For\n";
}
echo "\nScene End\n";
return "Scene " .$num ." Complete";
}
//'*******************************************************************************
?>