Moved graphs into a separate page included as a frame in index.php
authorBrian Flowers <git-admn@bsflowers.net>
Thu, 3 Nov 2016 00:22:06 +0000 (20:22 -0400)
committerBrian Flowers <git-admn@bsflowers.net>
Thu, 3 Nov 2016 00:22:06 +0000 (20:22 -0400)
graph.php
index.html [deleted file]
index.php
style.css [deleted file]
styles.css

index d930b49..4f513d7 100644 (file)
--- a/graph.php
+++ b/graph.php
@@ -60,11 +60,11 @@ if( !in_array($host, $hosts) )
               "ORDER BY timestamp DESC LIMIT 100";
 
     $result = $db_handle->query($query);
-    echo "      context.beginPath();\n";
     echo "      context.strokeStyle = '$colors[$i]';\n";
     $record = $result->fetchArray(SQLITE3_ASSOC);
     $final = $record['timestamp'];
     echo "      context.moveTo(0, ".sprintf("%d", $record['value']).");\n";
+    echo "      context.beginPath();\n";
     while( $record = $result->fetchArray(SQLITE3_ASSOC) )
       {
       echo "      context.lineTo(".sprintf("%d", $final - $record['timestamp']).", ".(400-$record['value']*4).");\n";
diff --git a/index.html b/index.html
deleted file mode 100644 (file)
index 766401d..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Apache2 Debian Default Page: It works</title>
-    <style type="text/css" media="screen">
-  * {
-    margin: 0px 0px 0px 0px;
-    padding: 0px 0px 0px 0px;
-  }
-
-  body, html {
-    padding: 3px 3px 3px 3px;
-
-    background-color: #D8DBE2;
-
-    font-family: Verdana, sans-serif;
-    font-size: 11pt;
-    text-align: center;
-  }
-
-  div.main_page {
-    position: relative;
-    display: table;
-
-    width: 800px;
-
-    margin-bottom: 3px;
-    margin-left: auto;
-    margin-right: auto;
-    padding: 0px 0px 0px 0px;
-
-    border-width: 2px;
-    border-color: #212738;
-    border-style: solid;
-
-    background-color: #FFFFFF;
-
-    text-align: center;
-  }
-
-  div.page_header {
-    height: 99px;
-    width: 100%;
-
-    background-color: #F5F6F7;
-  }
-
-  div.page_header span {
-    margin: 15px 0px 0px 50px;
-
-    font-size: 180%;
-    font-weight: bold;
-  }
-
-  div.page_header img {
-    margin: 3px 0px 0px 40px;
-
-    border: 0px 0px 0px;
-  }
-
-  div.table_of_contents {
-    clear: left;
-
-    min-width: 200px;
-
-    margin: 3px 3px 3px 3px;
-
-    background-color: #FFFFFF;
-
-    text-align: left;
-  }
-
-  div.table_of_contents_item {
-    clear: left;
-
-    width: 100%;
-
-    margin: 4px 0px 0px 0px;
-
-    background-color: #FFFFFF;
-
-    color: #000000;
-    text-align: left;
-  }
-
-  div.table_of_contents_item a {
-    margin: 6px 0px 0px 6px;
-  }
-
-  div.content_section {
-    margin: 3px 3px 3px 3px;
-
-    background-color: #FFFFFF;
-
-    text-align: left;
-  }
-
-  div.content_section_text {
-    padding: 4px 8px 4px 8px;
-
-    color: #000000;
-    font-size: 100%;
-  }
-
-  div.content_section_text pre {
-    margin: 8px 0px 8px 0px;
-    padding: 8px 8px 8px 8px;
-
-    border-width: 1px;
-    border-style: dotted;
-    border-color: #000000;
-
-    background-color: #F5F6F7;
-
-    font-style: italic;
-  }
-
-  div.content_section_text p {
-    margin-bottom: 6px;
-  }
-
-  div.content_section_text ul, div.content_section_text li {
-    padding: 4px 8px 4px 16px;
-  }
-
-  div.section_header {
-    padding: 3px 6px 3px 6px;
-
-    background-color: #8E9CB2;
-
-    color: #FFFFFF;
-    font-weight: bold;
-    font-size: 112%;
-    text-align: center;
-  }
-
-  div.section_header_red {
-    background-color: #CD214F;
-  }
-
-  div.section_header_grey {
-    background-color: #9F9386;
-  }
-
-  .floating_element {
-    position: relative;
-    float: left;
-  }
-
-  div.table_of_contents_item a,
-  div.content_section_text a {
-    text-decoration: none;
-    font-weight: bold;
-  }
-
-  div.table_of_contents_item a:link,
-  div.table_of_contents_item a:visited,
-  div.table_of_contents_item a:active {
-    color: #000000;
-  }
-
-  div.table_of_contents_item a:hover {
-    background-color: #000000;
-
-    color: #FFFFFF;
-  }
-
-  div.content_section_text a:link,
-  div.content_section_text a:visited,
-   div.content_section_text a:active {
-    background-color: #DCDFE6;
-
-    color: #000000;
-  }
-
-  div.content_section_text a:hover {
-    background-color: #000000;
-
-    color: #DCDFE6;
-  }
-
-  div.validator {
-  }
-    </style>
-  </head>
-  <body>
-    <div class="main_page">
-      <div class="page_header floating_element">
-        <img src="/icons/openlogo-75.png" alt="Debian Logo" class="floating_element"/>
-        <span class="floating_element">
-          Apache2 Debian Default Page
-        </span>
-      </div>
-<!--      <div class="table_of_contents floating_element">
-        <div class="section_header section_header_grey">
-          TABLE OF CONTENTS
-        </div>
-        <div class="table_of_contents_item floating_element">
-          <a href="#about">About</a>
-        </div>
-        <div class="table_of_contents_item floating_element">
-          <a href="#changes">Changes</a>
-        </div>
-        <div class="table_of_contents_item floating_element">
-          <a href="#scope">Scope</a>
-        </div>
-        <div class="table_of_contents_item floating_element">
-          <a href="#files">Config files</a>
-        </div>
-      </div>
--->
-      <div class="content_section floating_element">
-
-
-        <div class="section_header section_header_red">
-          <div id="about"></div>
-          It works!
-        </div>
-        <div class="content_section_text">
-          <p>
-                This is the default welcome page used to test the correct 
-                operation of the Apache2 server after installation on Debian systems.
-                If you can read this page, it means that the Apache HTTP server installed at
-                this site is working properly. You should <b>replace this file</b> (located at
-                <tt>/var/www/html/index.html</tt>) before continuing to operate your HTTP server.
-          </p>
-
-
-          <p>
-                If you are a normal user of this web site and don't know what this page is
-                about, this probably means that the site is currently unavailable due to
-                maintenance.
-                If the problem persists, please contact the site's administrator.
-          </p>
-
-        </div>
-        <div class="section_header">
-          <div id="changes"></div>
-                Configuration Overview
-        </div>
-        <div class="content_section_text">
-          <p>
-                Debian's Apache2 default configuration is different from the
-                upstream default configuration, and split into several files optimized for
-                interaction with Debian tools. The configuration system is
-                <b>fully documented in
-                /usr/share/doc/apache2/README.Debian.gz</b>. Refer to this for the full
-                documentation. Documentation for the web server itself can be
-                found by accessing the <a href="/manual">manual</a> if the <tt>apache2-doc</tt>
-                package was installed on this server.
-
-          </p>
-          <p>
-                The configuration layout for an Apache2 web server installation on Debian systems is as follows:
-          </p>
-          <pre>
-/etc/apache2/
-|-- apache2.conf
-|       `--  ports.conf
-|-- mods-enabled
-|       |-- *.load
-|       `-- *.conf
-|-- conf-enabled
-|       `-- *.conf
-|-- sites-enabled
-|       `-- *.conf
-          </pre>
-          <ul>
-                        <li>
-                           <tt>apache2.conf</tt> is the main configuration
-                           file. It puts the pieces together by including all remaining configuration
-                           files when starting up the web server.
-                        </li>
-
-                        <li>
-                           <tt>ports.conf</tt> is always included from the
-                           main configuration file. It is used to determine the listening ports for
-                           incoming connections, and this file can be customized anytime.
-                        </li>
-
-                        <li>
-                           Configuration files in the <tt>mods-enabled/</tt>,
-                           <tt>conf-enabled/</tt> and <tt>sites-enabled/</tt> directories contain
-                           particular configuration snippets which manage modules, global configuration
-                           fragments, or virtual host configurations, respectively.
-                        </li>
-
-                        <li>
-                           They are activated by symlinking available
-                           configuration files from their respective
-                           *-available/ counterparts. These should be managed
-                           by using our helpers
-                           <tt>
-                                a2enmod,
-                                a2dismod,
-                           </tt>
-                           <tt>
-                                a2ensite,
-                                a2dissite,
-                            </tt>
-                                and
-                           <tt>
-                                a2enconf,
-                                a2disconf
-                           </tt>. See their respective man pages for detailed information.
-                        </li>
-
-                        <li>
-                           The binary is called apache2. Due to the use of
-                           environment variables, in the default configuration, apache2 needs to be
-                           started/stopped with <tt>/etc/init.d/apache2</tt> or <tt>apache2ctl</tt>.
-                           <b>Calling <tt>/usr/bin/apache2</tt> directly will not work</b> with the
-                           default configuration.
-                        </li>
-          </ul>
-        </div>
-
-        <div class="section_header">
-            <div id="docroot"></div>
-                Document Roots
-        </div>
-
-        <div class="content_section_text">
-            <p>
-                By default, Debian does not allow access through the web browser to
-                <em>any</em> file apart of those located in <tt>/var/www</tt>,
-                <a href="http://httpd.apache.org/docs/2.4/mod/mod_userdir.html" rel="nofollow">public_html</a>
-                directories (when enabled) and <tt>/usr/share</tt> (for web
-                applications). If your site is using a web document root
-                located elsewhere (such as in <tt>/srv</tt>) you may need to whitelist your
-                document root directory in <tt>/etc/apache2/apache2.conf</tt>.
-            </p>
-            <p>
-                The default Debian document root is <tt>/var/www/html</tt>. You
-                can make your own virtual hosts under /var/www. This is different
-                to previous releases which provides better security out of the box.
-            </p>
-        </div>
-
-        <div class="section_header">
-          <div id="bugs"></div>
-                Reporting Problems
-        </div>
-        <div class="content_section_text">
-          <p>
-                Please use the <tt>reportbug</tt> tool to report bugs in the
-                Apache2 package with Debian. However, check <a
-                href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?ordering=normal;archive=0;src=apache2;repeatmerged=0"
-                rel="nofollow">existing bug reports</a> before reporting a new bug.
-          </p>
-          <p>
-                Please report bugs specific to modules (such as PHP and others)
-                to respective packages, not to the web server itself.
-          </p>
-        </div>
-
-
-
-
-      </div>
-    </div>
-    <div class="validator">
-    </div>
-  </body>
-</html>
-
index 13e40b6..25b9b0b 100755 (executable)
--- a/index.php
+++ b/index.php
@@ -25,67 +25,8 @@ while($host = $result->fetchArray(SQLITE3_ASSOC))
 
 foreach ($hosts as $host)
 {
-?>
-      <canvas class="chart" id="chart-<?php echo $host; ?>" width="400" height="400"></canvas>
-      <script>
-      var canvas = document.getElementById("chart-<?php echo $host; ?>");
-      var context = canvas.getContext("2d");
-      context.lineWidth = 1;
-      context.strokeStyle = "#CCC";
-      for (var i = 50; i < 400; i+=50)
-      {
-        context.moveTo(i, 0);
-        context.lineTo(i, 400);
-      }
-      context.stroke();
-      context.beginPath();
-        
-      context.strokeStyle = "#000";
-      for (var i = 50; i < 400; i+=50)
-      {
-        context.moveTo(0, i);
-        context.lineTo(400, i);
-      }
-        
-      context.stroke();
-      context.beginPath();
-      context.lineWidth = 2;
-<?php
-
-  $result = $db_handle->query("SELECT attribute, name FROM bdsmweb WHERE host='$host' AND graph=1");
-  $attributes = Array();
-  while($attribute = $result->fetchArray(SQLITE3_ASSOC))
-    if ( $attribute['attribute'] )
-      $attributes[$attribute['attribute']] = $attribute['name'];
-
-  $i = 0;
-  foreach (array_keys($attributes) as $attribute)
-    {
-    $query = "SELECT printf('%d', timestamp) AS timestamp,value ".
-              "FROM MEASUREMENTS ".
-              "WHERE host='$host' AND attribute='$attribute' ".
-              "ORDER BY timestamp DESC LIMIT 100";
-
-    $result = $db_handle->query($query);
-    echo "      context.beginPath();\n";
-    echo "      context.strokeStyle = '$colors[$i]';\n";
-    $record = $result->fetchArray(SQLITE3_ASSOC);
-    $final = $record['timestamp'];
-    echo "      context.moveTo(0, ".sprintf("%d", $record['value']).");\n";
-    while( $record = $result->fetchArray(SQLITE3_ASSOC) )
-      {
-      echo "      context.lineTo(".sprintf("%d", $final - $record['timestamp']).", ".(400-$record['value']*4).");\n";
-      }
-    echo "      context.stroke();\n";
-
-    $name = $attributes[$attribute];
-    echo "      context.strokeText('$name', 300, ".(395-15*$i).");";
-    $i+=1;
-    }
-?>
-
-      </script>
-<?php
+    $host = urlencode($host);
+    echo "<iframe src='graph.php?host=$host' class='graph' />";
 }
 ?>
 
diff --git a/style.css b/style.css
deleted file mode 100644 (file)
index 265041d..0000000
--- a/style.css
+++ /dev/null
@@ -1,72 +0,0 @@
-#vmenu
-{
-  position:     absolute;
-  left:         0px;
-  top:          0px;
-  height:       100%;
-  width:        15%;
-  background:   linear-gradient(to right, #000 0%,#222 80%,#555 100%);
-  padding-top:  5em;
-}
-    
-#vmenu a
-{
-  display:          inline-block;
-  color:            white;
-  font-weight:      bold;
-  text-decoration:  none;
-  width:            100%;
-  text-align:       center;
-  border-top:       1px solid white;
-  padding:          .5em .2em;
-  font-size:        larger;
-}
-    
-#charts
-{
-  display:          block;
-  position:         absolute;
-  top:              0px;
-  left:             15%;
-  width:            75%;
-  height:           100%;
-  padding:          1em;
-}
-    
-.chart
-{
-  display:          inline-block;
-  border:           1px solid black;
-  width:            400px;
-  height:           400px;
-}
-
-options
-{
-  display:          block;
-  position:         absolute;
-  top:              0px;
-  left:             15%;
-  width:            85%;
-  height:                  100%;
-}
-    
-.short
-{
-  width:        3em;    
-}
-    
-tr
-{
-  text-align:   center;
-}
-    
-th
-{
-  padding-top:  2em;
-}
-
-#logo
-{
-  width: 100%;
-}
\ No newline at end of file
index 685f98d..dc13c27 100644 (file)
@@ -68,4 +68,10 @@ th
 #logo
 {
   width: 100%;
+}
+
+.graph
+{
+  width: 410px;
+  height:   410px;
 }
\ No newline at end of file