--- a/graphing/class.graph.php Sun Jan 04 16:42:52 2009 -0500
+++ b/graphing/class.graph.php Mon Jan 05 22:30:26 2009 -0500
@@ -766,7 +766,7 @@
$this->$func($settings);
}
}
- if (is_array($data['data'])) {
+ if (isset($data['data']) && is_array($data['data'])) {
$this->data = $data['data'];
}
}
--- a/htdocs/changetz.php Sun Jan 04 16:42:52 2009 -0500
+++ b/htdocs/changetz.php Mon Jan 05 22:30:26 2009 -0500
@@ -1,5 +1,6 @@
<?php
require('../timezone.php');
+require('../stats-fe.php');
$set_zone = false;
if ( isset($_POST['tz']) )
{
@@ -11,46 +12,12 @@
$set_zone = str_replace('_', ' ', str_replace('/', ': ', $tz));
}
}
-?><html>
- <head>
- <title>Change time zone</title>
- <style type="text/css">
- select, option {
- background-color: white;
- }
- option.other {
- color: black;
- font-weight: normal;
- }
- option.region {
- color: black;
- font-weight: bold;
- }
- option.area {
- color: black;
- font-weight: normal;
- padding-left: 1em;
- }
- option.country {
- color: black;
- font-weight: bold;
- padding-left: 1em;
- }
- option.city {
- color: black;
- font-weight: normal;
- padding-left: 2em;
- }
- div.success {
- border: 1px solid #006300;
- background-color: #d3ffd3;
- padding: 10px;
- margin: 10px 0;
- }
- </style>
- </head>
- <body>
- <?php
+
+$title = "$nick - set time zone";
+require("./themes/$webtheme/header.php");
+
+echo '<br />';
+
if ( $set_zone )
{
$target = rtrim(dirname($_SERVER['REQUEST_URI']), '/') . '/';
@@ -95,5 +62,7 @@
<input type="submit" value="Save" /><br />
<small>Make sure you have cookies enabled.</small>
</form>
- </body>
-</html>
+
+<?php
+require("./themes/$webtheme/footer.php");
+?>
--- a/htdocs/graph.php Sun Jan 04 16:42:52 2009 -0500
+++ b/htdocs/graph.php Mon Jan 05 22:30:26 2009 -0500
@@ -9,6 +9,8 @@
function makeGraph($type = 'bar')
{
+ global $webtheme;
+
$class = ( $type == 'line' ) ? 'LineGraph' : 'BarGraph';
$g = new $class(); // _Compat();
@@ -33,6 +35,10 @@
$g->SetScaleRoundY(0);
$g->SetScaleRoundX(0);
$g->SetAxisStepSize(7);
+
+ if ( file_exists("./themes/$webtheme/graph_$type.def") )
+ $g->LoadGraph(realpath("./themes/$webtheme/graph_$type.def"));
+
return $g;
}
--- a/htdocs/index.php Sun Jan 04 16:42:52 2009 -0500
+++ b/htdocs/index.php Mon Jan 05 22:30:26 2009 -0500
@@ -5,21 +5,10 @@
$channel_list = stats_channel_list();
$first_channel = $channel_list[0];
$channel = ( isset($_REQUEST['channel']) && in_array($_REQUEST['channel'], $channel_list) ) ? $_REQUEST['channel'] : $first_channel;
+
+$title = "$nick - Statistics";
+require("./themes/$webtheme/header.php");
?>
-
-<html>
- <head>
- <title><?php echo $nick; ?> - Statistics</title>
- <style type="text/css">
- div.footer {
- font-size: smaller;
- padding-top: 10px;
- margin-top: 10px;
- border-top: 1px solid #aaa;
- }
- </style>
- </head>
- <body>
<div style="float: right;">
<p>
<?php
@@ -88,9 +77,6 @@
<img alt="Graph image" src="graph.php?mode=lastday&channel=<?php echo urlencode($channel); ?>" />
<h1>Last 2 weeks</h1>
<img alt="Graph image" src="graph.php?mode=lastweek&channel=<?php echo urlencode($channel); ?>" />
-
- <div class="footer">
- <b><?php echo $nick; ?> is a privacy-respecting bot.</b> <a href="privacy.php">Read about what information <?php echo $nick; ?> collects</a>
- </div>
- </body>
-</head>
+<?php
+require("./themes/$webtheme/footer.php");
+
--- a/htdocs/news.php Sun Jan 04 16:42:52 2009 -0500
+++ b/htdocs/news.php Mon Jan 05 22:30:26 2009 -0500
@@ -1,17 +1,15 @@
<?php
require('../config.php');
+require('../stats-fe.php');
-?><html>
- <head>
- <title><?php echo $nick; ?> - updates</title>
- <style type="text/css">
+$title = "$nick - updates";
+require("./themes/$webtheme/header.php");
+?> <style type="text/css">
p.code {
font-family: monospace;
margin-left: 1.5em;
}
</style>
- </head>
- <body>
<h1>Updates and changes</h1>
<h3>2009-01-04</h3>
<p>Added a last 60 minutes graph.</p>
@@ -25,5 +23,6 @@
records after the import of the existing flat file database. It makes for a more portable programming technique and it means it can
be easily expanded in the future to include more data. The table's indexed so it should be decently fast.</p>
<p>In addition, smarter functionality is being included, plus a few bugs here and there have been fixed.</p>
- </body>
-</head>
+<?php
+require("./themes/$webtheme/footer.php");
+?>
--- a/htdocs/privacy.php Sun Jan 04 16:42:52 2009 -0500
+++ b/htdocs/privacy.php Mon Jan 05 22:30:26 2009 -0500
@@ -1,17 +1,16 @@
<?php
require('../config.php');
+require('../stats-fe.php');
-?><html>
- <head>
- <title><?php echo $nick; ?> - privacy info</title>
- <style type="text/css">
+$title = "$nick - privacy info";
+require("./themes/$webtheme/header.php");
+
+?> <style type="text/css">
p.code {
font-family: monospace;
margin-left: 1.5em;
}
</style>
- </head>
- <body>
<h1>Privacy information</h1>
<p><?php echo $nick; ?> is designed to collect IRC statistics. It does this by recording raw data and then letting the frontend (index.php and the
backend access abstraction in stats-fe.php) look at the data and draw graphs and measurements based on it.</p>
@@ -32,5 +31,5 @@
<p>Remove yourself from the anonymization list with:</p>
<p class="code">/msg <?php echo $nick; ?> denonymize</p>
<p>Want to know more about the numbers <?php echo $nick; ?> collects? <a href="datafile.php">Download a dump of <?php echo $nick; ?>'s database yourself</a>.</p>
- </body>
-</head>
+<?php
+require("./themes/$webtheme/footer.php");
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/htdocs/themes/generic/footer.php Mon Jan 05 22:30:26 2009 -0500
@@ -0,0 +1,5 @@
+ <div class="footer">
+ <b><?php echo $nick; ?> is a privacy-respecting bot.</b> <a href="privacy.php">Read about what information <?php echo $nick; ?> collects</a>
+ </div>
+ </body>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/htdocs/themes/generic/header.php Mon Jan 05 22:30:26 2009 -0500
@@ -0,0 +1,45 @@
+<html>
+ <head>
+ <title><?php echo $title; ?></title>
+ <style type="text/css">
+ div.footer {
+ font-size: smaller;
+ padding-top: 10px;
+ margin-top: 10px;
+ border-top: 1px solid #aaa;
+ }
+ select, option {
+ background-color: white;
+ }
+ option.other {
+ color: black;
+ font-weight: normal;
+ }
+ option.region {
+ color: black;
+ font-weight: bold;
+ }
+ option.area {
+ color: black;
+ font-weight: normal;
+ padding-left: 1em;
+ }
+ option.country {
+ color: black;
+ font-weight: bold;
+ padding-left: 1em;
+ }
+ option.city {
+ color: black;
+ font-weight: normal;
+ padding-left: 2em;
+ }
+ div.success {
+ border: 1px solid #006300;
+ background-color: #d3ffd3;
+ padding: 10px;
+ margin: 10px 0;
+ }
+ </style>
+ </head>
+ <body>
--- a/stats-fe.php Sun Jan 04 16:42:52 2009 -0500
+++ b/stats-fe.php Mon Jan 05 22:30:26 2009 -0500
@@ -14,6 +14,8 @@
require(ENANOBOT_ROOT . '/hooks.php');
require(ENANOBOT_ROOT . '/database.php');
+$webtheme = ( isset($webtheme) && is_dir(ENANOBOT_ROOT . "/htdocs/themes/$webtheme") ) ? $webtheme : 'generic';
+
mysql_reconnect();
/**