Hello, I'm a bit surprised because I have not seen any comments on this proposal. Am I missing something? It sounds like a nice feature to me.
I'm copying the users list as well as perhaps they have something to say about this. On Friday 31 March 2006 03:27, Kraft, Mike wrote: > Hi, > > Pursuant to a brief discussion I had last week with Mr. Sibbald, please > find attached some diffs showing the implementation of a 'numDaysAgo' > CGI query parameter to allow users to see results in Bacula-Web from > previous days, not just the last 24 hours. Our implementation (and the > attached diffs) is based on the 1.38.0 Bacula-Web codebase. A screenshot > is also attached so you can see what it looks like. > > We changed the Bacula-Web status display so that it is not limited to > listing jobs from the previous 24 hours. It can now list jobs for any 24 > hour period a specified number of days ago. Likewise, the General Report > graph now shows bytecounts for a 48 hour period starting the specified > number of days ago, instead of just the last 48 hours. > > index.php > To begin with, we implemented the recognition of a CGI query parameter > numDaysAgo for the index.php URL. For example: > > http://bacula.celcorp.com/index.php?numDaysAgo=2 > > This would display jobs from 48-72 hours ago. The code in index.php to > read the numDaysAgo parameter: > > $numDaysAgo = "0"; > > if (isset($_GET['numDaysAgo'])) { > $numDaysAgo = $_GET['numDaysAgo']; > } > > settype($numDaysAgo, "integer"); > $smarty->assign('num_days_ago', $numDaysAgo); > settype($numDaysAgo, "string"); > > The next step was to change the 'where' clause of the query that > retrieves the data for the job listing to use the $numDaysAgo variable: > > where > UNIX_TIMESTAMP(EndTime) <= (UNIX_TIMESTAMP(NOW()) - > 86400*$numDaysAgo) > and > UNIX_TIMESTAMP(EndTime) > (UNIX_TIMESTAMP(NOW()) - > 86400*($numDaysAgo+1)) > > last_run_report.tpl > The status section label was changed in last_run_report.tpl. > > index.tpl > The General Report graph is created when index.tpl calls stats.php to > ask it to return the image for the graph. stats.php in turn uses code in > classes.inc to create that image. So we needed to propagate the > numDaysAgo value all the way down this chain. Recall that we created a > template variable num_days_ago in index.php; this is available for use > in index.tpl, so we add it to the URL for calling stats.php: > > <img src=stats.php?server={$server}&tipo_dato=69&title={t} > General%20report{/t}&modo_graph=bars&sizex=420& > sizey=250&MBottom=20&legend=1&numDaysAgo={$num_days_ago}> > > stats.php > In stats.php, we now need to read that parameter: > > if (isset($_GET['numDaysAgo'])) { > $graph->numDaysAgo = $_GET['numDaysAgo']; > } > > classes.inc > $graph is an object of type BCreateGraph found in classes.inc. Of > course, it had no member variable numDaysAgo, so we had to add it: > > class BCreateGraph extends BGraph { > var $BD_bacula; > var $izquierda; > var $derecha; > var $StartDate; > var $EndDate; > var $elapsed; // Default elapsed time to show complex graphs > var $numDaysAgo; > > function BCreateGraph() { > $this->StartDate = "1900-01-01"; > $this->EndDate = "4000-01-01"; > $this->elapsed = "86400"; // 24 hours in seconds. > $this->numDaysAgo = "0"; > } > > Finally, we used BCreateGraph.numDaysAgo in the same way as we did in > index.php, in the 'where' clause of the queries to get the data for the > graph: > > where > UNIX_TIMESTAMP(EndTime) <= (UNIX_TIMESTAMP(NOW()) - > $this->elapsed*$this->numDaysAgo) > and > UNIX_TIMESTAMP(EndTime) > (UNIX_TIMESTAMP(NOW()) - > $this->elapsed*($this->numDaysAgo+1)) > > Misc > Please note that, while we did implement the changes for the Postgres as > well as the MySQL versions of the queries, the Postgres versions have > not been tested... > > We were too lazy ;^) to implement a form field for users to submit > numDaysAgo values; we just use the browser URL field. Obviously, anyone > could add such a form at anytime. > > I was pretty much learning PHP as I went, so please accept my apologies > if I violated any common PHP coding conventions... > > So let me know what you think! > > Sincerely, > Michael Kraft > Software Project Manager, > Celcorp > www.celcorp.com -- Best regards, Kern ("> /\ V_V ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users