From 18956c6b2fa767bb339ae86ffacc75727d0d85e3 Mon Sep 17 00:00:00 2001 From: Rodolphe Quiedeville Date: Fri, 19 Mar 2004 18:12:33 +0000 Subject: [PATCH] Nouveau fichier --- htdocs/rapport/Atome.class.php | 111 +++++++++++++++++++ htdocs/rapport/AtomePropaleValidee.class.php | 82 ++++++++++++++ htdocs/rapport/pre.inc.php | 46 ++++++++ 3 files changed, 239 insertions(+) create mode 100644 htdocs/rapport/Atome.class.php create mode 100644 htdocs/rapport/AtomePropaleValidee.class.php create mode 100644 htdocs/rapport/pre.inc.php diff --git a/htdocs/rapport/Atome.class.php b/htdocs/rapport/Atome.class.php new file mode 100644 index 00000000000..e67dfb7f5a7 --- /dev/null +++ b/htdocs/rapport/Atome.class.php @@ -0,0 +1,111 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ + +include_once DOL_DOCUMENT_ROOT.'/bargraph.class.php'; + +class Atome +{ + var $id; + var $db; + var $name; + var $periode; + var $graph_values; + /** + * Initialisation de la classe + * + */ + + Function AtomeInitialize($periode, $name, $daystart) + { + $this->year = strftime("%Y", $daystart); + $this->month = strftime("%m", $daystart); + $this->periode = $periode; + $this->name = $name; + } + /** + * + * + * + */ + Function BarGraph() + { + $filename = DOL_DOCUMENT_ROOT.'/document/'; + + $this->graph_values = array(); + + if ($this->periode == 'year') + { + $filename .= $this->name.$this->year.'.png'; + + for ($i = 0 ; $i < 12 ; $i++) + { + $index = $this->year . substr('00'.($i+1),-2); + $value = 0; + if ($this->datas[$index]) + { + $value = $this->datas[$index]; + } + + $libelle = ucfirst(strftime("%b", mktime(12,0,0,($i+1),1,2004))); + + $this->graph_values[$i] = array($libelle, $value); + } + } + + if ($this->periode == 'month') + { + $filename .= $this->name.$this->year.$this->month.'.png'; + + $datex = mktime(12,0,0,$this->month, 1, $this->year); + $i = 0; + while (strftime("%Y%m", $datex) == $this->year.$this->month) + { + + $index = $this->year . $this->month . substr('00'.($i+1),-2); + $value = 0; + if ($this->datas[$index]) + { + $value = $this->datas[$index]; + } + + $libelle = ($i+1); + + $this->graph_values[$i] = array($libelle, $value); + + $i++; + $datex = $datex + 86400; + } + } + + // var_dump($this->graph_values); + + + $bgraph = new BarGraph(); + $bgraph->bgcolor = array(255,255,255); + $bgraph->width = 600; + $bgraph->height = 400; + $bgraph->draw($filename, $this->graph_values); + + return $filename; + } +} +?> diff --git a/htdocs/rapport/AtomePropaleValidee.class.php b/htdocs/rapport/AtomePropaleValidee.class.php new file mode 100644 index 00000000000..f7b9f524d0c --- /dev/null +++ b/htdocs/rapport/AtomePropaleValidee.class.php @@ -0,0 +1,82 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ + +include_once(DOL_DOCUMENT_ROOT.'/rapport/Atome.class.php'); + +class AtomePropaleValidee extends Atome +{ + var $id; + var $db; + + + /** + * Initialisation de la classe + * + */ + Function AtomePropaleValidee($DB,$periode, $daystart) + { + $this->db = $DB ; + $this->AtomeInitialize($periode, 'AtomePropaleValidee', $daystart); + } + + /** + * + * + * + */ + Function fetch() + { + $sql = "SELECT date_format(f.datep,'%Y%m'), sum(f.price) as am"; + $sql .= " FROM ".MAIN_DB_PREFIX."propal as f"; + $sql .= " WHERE f.fk_statut = 2"; + + if ($this->year) + { + $sql .= " AND date_format(f.datep,'%Y') = $this->year "; + $sql .= " GROUP BY date_format(f.datep,'%Y%m') ASC ;"; + } + + if ($this->db->query($sql) ) + { + $i = 0; + $num = $this->db->num_rows(); + $arr = array(); + while ($i < $num) + { + $row = $this->db->fetch_row($i); + + $arr[$row[0]] = $row[1]; + + $i++; + } + return $arr; + + $this->db->free(); + } + else + { + print $this->db->error(); + return -3; + } + } +} +?> diff --git a/htdocs/rapport/pre.inc.php b/htdocs/rapport/pre.inc.php new file mode 100644 index 00000000000..a6badaeea39 --- /dev/null +++ b/htdocs/rapport/pre.inc.php @@ -0,0 +1,46 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ + +require ("../main.inc.php"); + +function llxHeader($head = "") { + global $user, $conf; + + /* + * + * + */ + top_menu($head); + + $menu = new Menu(); + + + $menu->add(DOL_URL_ROOT."/rapport/presentation", "Presentation"); + + /* + * + */ + + left_menu($menu->liste); + +} +?>