From 26f454e9c752087cd9ab5a01a07c578233bd9930 Mon Sep 17 00:00:00 2001 From: Christian Paminger Date: Tue, 14 Oct 2014 07:34:37 +0000 Subject: [PATCH] Statistik AddOn --- include/statistik.class.php | 99 ++++++++++++++------- system/checksystem.php | 10 +++ vilesci/stammdaten/statistik_details.php | 14 ++- vilesci/stammdaten/statistik_uebersicht.php | 4 +- 4 files changed, 93 insertions(+), 34 deletions(-) diff --git a/include/statistik.class.php b/include/statistik.class.php index 7373e4fa1..49edafce0 100644 --- a/include/statistik.class.php +++ b/include/statistik.class.php @@ -35,6 +35,7 @@ class statistik extends basis_db public $php; public $r; public $gruppe; + public $publish; public $insertamum; public $insertvon; public $updateamum; @@ -47,6 +48,8 @@ class statistik extends basis_db public $studiensemester_kurzbz;// varchar(16) public $ausbildungssemester;// smallint + public $anzahl; //Hilfsvariable fuer Group BY Abfragen + // Daten der Statistik public $data; public $html; @@ -86,6 +89,7 @@ class statistik extends basis_db $this->php = $row->php; $this->r = $row->r; $this->gruppe = $row->gruppe; + $this->publish = $row->publish; $this->insertamum = $row->insertamum; $this->insertvon = $row->insertvon; $this->updateamum = $row->updateamum; @@ -129,6 +133,7 @@ class statistik extends basis_db $obj->php = $row->php; $obj->r = $row->r; $obj->gruppe = $row->gruppe; + $obj->publish = $row->publish; $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; $obj->updateamum = $row->updateamum; @@ -146,7 +151,39 @@ class statistik extends basis_db return false; } } - + /** + * Laedt alle Statistik Gruppen, Parameter publish zum Filtern. + * @return true wenn ok, sonst false + */ + public function getAnzahlGruppe($publish=null) + { + $qry = 'SELECT gruppe, count(*) AS anzahl FROM public.tbl_statistik '; + if ($publish=='true') + $qry.='WHERE publish '; + elseif ($publish=='false') + $qry.='WHERE NOT publish '; + $qry.=' GROUP BY gruppe ORDER BY gruppe;'; + // echo $qry; + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $obj = new statistik(); + + $obj->gruppe = $row->gruppe; + $obj->anzahl = $row->anzahl; + + $this->result[] = $obj; + } + + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } /** * Speichert einen Statistik Datensatz * @param $new boolean @@ -160,42 +197,44 @@ class statistik extends basis_db if($new) { $qry = 'INSERT INTO public.tbl_statistik(statistik_kurzbz, content_id, bezeichnung, url, sql, - php, r, gruppe, insertamum, insertvon, updateamum, updatevon, berechtigung_kurzbz) VALUES('. - $this->addslashes($this->statistik_kurzbz).','. - $this->addslashes($this->content_id).','. - $this->addslashes($this->bezeichnung).','. - $this->addslashes($this->url).','. - $this->addslashes($this->sql).','. - $this->addslashes($this->php).','. - $this->addslashes($this->r).','. - $this->addslashes($this->gruppe).','. - $this->addslashes($this->insertamum).','. - $this->addslashes($this->insertvon).','. - $this->addslashes($this->updateamum).','. - $this->addslashes($this->updatevon).','. - $this->addslashes($this->berechtigung_kurzbz).');'; + php, r, gruppe, publish, insertamum, insertvon, updateamum, updatevon, berechtigung_kurzbz) VALUES('. + $this->db_add_param($this->statistik_kurzbz).','. + $this->db_add_param($this->content_id,FHC_INTEGER).','. + $this->db_add_param($this->bezeichnung).','. + $this->db_add_param($this->url).','. + $this->db_add_param($this->sql).','. + $this->db_add_param($this->php).','. + $this->db_add_param($this->r).','. + $this->db_add_param($this->gruppe).','. + $this->db_add_param($this->publish).','. + $this->db_add_param($this->insertamum).','. + $this->db_add_param($this->insertvon).','. + $this->db_add_param($this->updateamum).','. + $this->db_add_param($this->updatevon).','. + $this->db_add_param($this->berechtigung_kurzbz).');'; } else { if($this->statistik_kurzbz_orig=='') $this->statistik_kurzbz_orig=$this->statistik_kurzbz; $qry = 'UPDATE public.tbl_statistik SET - content_id='.$this->addslashes($this->content_id).','. - ' bezeichnung='.$this->addslashes($this->bezeichnung).','. - ' statistik_kurzbz='.$this->addslashes($this->statistik_kurzbz).','. - ' url='.$this->addslashes($this->url).','. - ' sql='.$this->addslashes($this->sql).','. - ' php='.$this->addslashes($this->php).','. - ' r='.$this->addslashes($this->r).','. - ' gruppe='.$this->addslashes($this->gruppe).','. - ' insertamum='.$this->addslashes($this->insertamum).','. - ' insertvon='.$this->addslashes($this->insertvon).','. - ' updateamum='.$this->addslashes($this->updateamum).','. - ' updatevon='.$this->addslashes($this->updatevon).','. - ' berechtigung_kurzbz='.$this->addslashes($this->berechtigung_kurzbz). - " WHERE statistik_kurzbz='".addslashes($this->statistik_kurzbz_orig)."'"; + content_id='.$this->db_add_param($this->content_id,FHC_INTEGER).','. + ' bezeichnung='.$this->db_add_param($this->bezeichnung).','. + ' statistik_kurzbz='.$this->db_add_param($this->statistik_kurzbz).','. + ' url='.$this->db_add_param($this->url).','. + ' sql='.$this->db_add_param($this->sql).','. + ' php='.$this->db_add_param($this->php).','. + ' r='.$this->db_add_param($this->r).','. + ' gruppe='.$this->db_add_param($this->gruppe).','. + ' publish='.$this->db_add_param($this->publish).','. + ' insertamum='.$this->db_add_param($this->insertamum).','. + ' insertvon='.$this->db_add_param($this->insertvon).','. + ' updateamum='.$this->db_add_param($this->updateamum).','. + ' updatevon='.$this->db_add_param($this->updatevon).','. + ' berechtigung_kurzbz='.$this->db_add_param($this->berechtigung_kurzbz). + ' WHERE statistik_kurzbz='.$this->db_add_param($this->statistik_kurzbz_orig,FHC_STRING,false); } - + //echo $qry; if($this->db_query($qry)) { return true; diff --git a/system/checksystem.php b/system/checksystem.php index e1f8e05d6..b3cbd61a2 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -41,6 +41,16 @@ echo '

DB-Updates!

'; // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; +// **************** Spalte publish Tabelle public.tbl_statistik +if(!$result = @$db->db_query("SELECT publish FROM public.tbl_statistik LIMIT 1;")) +{ + $qry = 'ALTER TABLE public.tbl_statistik ADD COLUMN publish boolean DEFAULT false;'; + if(!$db->db_query($qry)) + echo 'public.tbl_statistik: '.$db->db_last_error().'
'; + else + echo ' public.tbl_statistik: Spalte publish hinzugefuegt!
'; +} + // **************** Spalte scrumsprint_id Tabelle fue.tbl_projekttask if(!$result = @$db->db_query("SELECT scrumsprint_id FROM fue.tbl_projekttask LIMIT 1;")) { diff --git a/vilesci/stammdaten/statistik_details.php b/vilesci/stammdaten/statistik_details.php index 9fff3a038..c84842a6c 100644 --- a/vilesci/stammdaten/statistik_details.php +++ b/vilesci/stammdaten/statistik_details.php @@ -63,6 +63,7 @@ if(!$rechte->isBerechtigt('basis/statistik')) $content_id = (isset($_POST['content_id'])?$_POST['content_id']:die('ContentID fehlt')); $php = (isset($_POST['php'])?$_POST['php']:die('PHP fehlt')); $r = (isset($_POST['r'])?$_POST['r']:die('R fehlt')); + $publish = (isset($_POST['publish'])?$_POST['publish']:die('Publish fehlt')); $new = (isset($_POST['new'])?$_POST['new']:die('New fehlt')); $berechtigung_kurzbz = (isset($_POST['berechtigung_kurzbz'])?$_POST['berechtigung_kurzbz']:die('Berechtigungkurzbz fehlt')); @@ -89,6 +90,7 @@ if(!$rechte->isBerechtigt('basis/statistik')) $statistik->content_id = $content_id; $statistik->php = $php; $statistik->r = $r; + $statistik->publish = $publish; $statistik->updateamum = date('Y-m-d H:i:s'); $statistik->updatevon = $user; $statistik->berechtigung_kurzbz = $berechtigung_kurzbz; @@ -166,8 +168,8 @@ if(!$rechte->isBerechtigt('basis/statistik')) echo ''; echo ''; echo ''; - echo ' SQL'; - echo ' '; + echo ' SQL'; + echo ' '; echo ' '; echo ' R'; echo ' '; @@ -177,6 +179,11 @@ if(!$rechte->isBerechtigt('basis/statistik')) echo ' PHP'; echo ' '; echo ''; + echo ''; + echo ' '; + echo ' Publish'; + echo ' '; + echo ''; echo ''; echo ' '; @@ -184,10 +191,11 @@ if(!$rechte->isBerechtigt('basis/statistik')) echo ' '; echo ' '; echo ' '; + echo ''; echo ''; echo ''; echo ''; ?> - \ No newline at end of file + diff --git a/vilesci/stammdaten/statistik_uebersicht.php b/vilesci/stammdaten/statistik_uebersicht.php index 247436aa3..84feb18a4 100644 --- a/vilesci/stammdaten/statistik_uebersicht.php +++ b/vilesci/stammdaten/statistik_uebersicht.php @@ -90,6 +90,7 @@ echo ' + @@ -102,6 +103,7 @@ foreach($statistik->result as $row) echo ''; echo ''; echo ''; + echo ''; echo ''; echo ''; echo ''; @@ -111,4 +113,4 @@ echo '
Kurzbz Bezeichnung GruppePublish ContentID Aktion
',$row->statistik_kurzbz,'',$row->bezeichnung,'',$row->gruppe,'',$row->publish,'',$row->content_id,'bearbeitenentfernen
'; -?> \ No newline at end of file +?>