forked from allynbauer/statuspanic
-
Notifications
You must be signed in to change notification settings - Fork 28
/
index.php
68 lines (60 loc) · 2.1 KB
/
index.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
<?php
define('CONFIG', 'config.json');
// FIRST: read in the configuration
$config = fopen(CONFIG, 'r');
$data = fread($config, filesize(CONFIG));
$data = json_decode($data);
if (!$data) die('JSON syntax error in "'.CONFIG.'"');
if ($data->rotate === 'left') {
$rotate = '-webkit-transform: rotate(-90deg);';
}
elseif ($data->rotate === 'right') {
$rotate = '-webkit-transform: rotate(90deg);';
} elseif ($data->rotate === 'flip') {
$rotate = '-webkit-transform: rotate(180deg);';
} else {
$rotate = FALSE;
}
$width = (isset($data->width) ? $data->width . 'px' : '100%');
function render($module) {
$argstr = array();
$args = $module->args;
$args->width = $module->width;
foreach($args as $key => $val) {
$argstr[] = "$key=" . urlencode($val);
}
$argstr = "'" . implode("&", $argstr) . "'";
$style = "width: {$module->width}px;";
if ($module->height) $style .= " height: {$module->height}px";
echo "<div class='module $module->class' id='$module->name' style='$style'></div>\n";
echo "\t<script type='text/javascript'>activate_module('$module->name', $module->update, $argstr);</script>\n\n";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title><?php echo (isset($data->title) ? $data->title : 'statuspanic generic status board') ?></title>
<link rel='stylesheet' type='text/css' href='resources/panic.css' />
<script type='text/javascript' src='resources/jquery.js'></script>
<script type='text/javascript' src='resources/board.js'></script>
<style type='text/css'>
#board {
<?php if ($rotate) {
echo $rotate;
echo "height: $width;";
} else {
echo "width: $width;";
} ?>
}
</style>
</head>
<body>
<div id='board'>
<?php
foreach($data->modules as $module)
render($module);
?>
</div>
</body>
</html>