Hello,

I'm not able to find that message, and I don't have the diffs, sorry.

First, it is great that someone upgrade my code. I believed that nobody had 
interest on it.

Michael, thanks for your code. I hope to apply it this week. If you follow 
improving bacula-web, please, take the CVS code: 
http://sourceforge.net/cvs/?group_id=50727

Best regards,
Juan Luis Francés

El Domingo 09 Abril 2006 22:57, Kern Sibbald escribió:
> 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


-------------------------------------------------------
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&kid0944&bid$1720&dat1642
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to