From 995547f7c305d7e84a423a34a342a951715fa0af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 17 Oct 2014 06:52:13 +0000 Subject: [PATCH] --- include/filter.class.php | 21 ++--- include/statistik.class.php | 12 +-- vilesci/statistik/filter_details.php | 110 +++++++++++----------- vilesci/statistik/filter_overview.php | 128 +++++++++----------------- vilesci/statistik/filter_vorschau.php | 60 ++++++++++++ 5 files changed, 169 insertions(+), 162 deletions(-) create mode 100644 vilesci/statistik/filter_vorschau.php diff --git a/include/filter.class.php b/include/filter.class.php index 28871ff2d..366ab6ac8 100644 --- a/include/filter.class.php +++ b/include/filter.class.php @@ -22,12 +22,6 @@ * * Authors: Christian Paminger errormsg = 'Appdaten_id muss eine gueltige Zahl sein'; + $this->errormsg = 'Filter_id muss eine gueltige Zahl sein'; return false; } @@ -92,7 +86,7 @@ class filter extends basis_db $this->kurzbz=$row->kurzbz; $this->sql=$row->sql; $this->valuename=$row->valuename; - $this->showvalue=$row->showvalue; + $this->showvalue=$this->db_parse_bool($row->showvalue); $this->type=$row->type; $this->htmlattr=$row->htmlattr; $this->insertamum=$row->insertamum; @@ -132,10 +126,7 @@ class filter extends basis_db $obj->kurzbz=$row->kurzbz; $obj->sql=$row->sql; $obj->valuename=$row->valuename; - if ($row->showvalue=='t') - $obj->showvalue=true; - else - $obj->showvalue=false; + $obj->showvalue = $this->db_parse_bool($row->showvalue); $obj->type=$row->type; $obj->htmlattr=$row->htmlattr; $obj->insertamum=$row->insertamum; @@ -214,7 +205,7 @@ class filter extends basis_db { while($row = $this->db_fetch_row()) { - $obj=new value(); + $obj=new stdClass(); $obj->text=''; for ($i=0; $i<$this->db_num_fields(); $i++) { @@ -222,12 +213,12 @@ class filter extends basis_db { $obj->value=$row[$i]; if ($showvalue) - $obj->text.='('.$row[$i].') '; + $obj->text.=' ('.$row[$i].') '; } else $obj->text.='- '.$row[$i].' '; } - + $obj->text = mb_substr($obj->text,1); $this->values[] = $obj; } //var_dump($this); diff --git a/include/statistik.class.php b/include/statistik.class.php index cbb5d350d..15f7eb65f 100644 --- a/include/statistik.class.php +++ b/include/statistik.class.php @@ -496,21 +496,13 @@ class statistik extends basis_db $sql = $this->sql; foreach($_REQUEST as $name=>$value) { - //echo '
'.var_dump($name).'
'; if (is_array($value)) { - $modifier="'"; - if (is_numeric($value[0])) - $modifier=""; - $in=''; - foreach ($value as $v) - $in.=$modifier.addslashes($v).$modifier.','; - $in=substr($in,0,-1); + $in = $this->db_implode4SQL($value); $sql = str_replace('$'.$name,$in,$sql); - echo '
'.var_dump($sql).'
'; } else - $sql = str_replace('$'.$name,addslashes($value),$sql); + $sql = str_replace('$'.$name,$this->db_add_param($value),$sql); } if($this->data = $this->db_query($sql)) diff --git a/vilesci/statistik/filter_details.php b/vilesci/statistik/filter_details.php index 4593fd16a..a6a4f1754 100644 --- a/vilesci/statistik/filter_details.php +++ b/vilesci/statistik/filter_details.php @@ -30,8 +30,8 @@ $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); - if(!$rechte->isBerechtigt('addon/reports')) - die('Sie haben keine Berechtigung fuer dieses AddOn!'); + if(!$rechte->isBerechtigt('basis/statistik')) + die('Sie haben keine Berechtigung fuer diese Seite!'); $reloadstr = ''; // neuladen der liste im oberen frame @@ -41,34 +41,40 @@ $chk = ''; $filter = new filter(); - $filter->filter_id = 0; + $filter->filter_id = ''; $filter->kurzbz = 'NewFilter'; $filter->sql = ''; $filter->valuename = ''; $filter->showvalue = true; - $filter->type = ''; + $filter->type = 'select'; $filter->htmlattr = ''; $filter->insertvon = $user; $filter->updatevon = $user; - if(isset($_REQUEST["action"]) && isset($_REQUEST["filter_id"])) + if(isset($_POST["action"]) && isset($_REQUEST["filter_id"])) { - if(!$rechte->isBerechtigt('addon/reports', null, 'suid')) + if(!$rechte->isBerechtigt('basis/statistik', null, 'suid')) die('Sie haben keine Berechtigung fuer diese Aktion'); - // echo 'DI_ID: '.var_dump((int)$_POST["filter_id"]); - // Wenn id > 0 ist -> Neuer Datensatz; ansonsten load und update - if ( ((int)$_REQUEST["filter_id"]) > 0) - $filter->load((int)$_REQUEST["filter_id"]); - if ($_REQUEST["action"]=='save') + if ($_POST["action"]=='save') { + if ($_REQUEST["filter_id"]!='') + { + if($filter->load($_REQUEST["filter_id"])) + { + $filter->updatevon=$user; + } + else + die('Fehlgeschlagen:'.$filter->errormsg); + } + $filter->kurzbz = $_POST["kurzbz"]; $filter->valuename = $_POST["valuename"]; $filter->sql = $_POST["sql"]; $filter->showvalue = isset($_POST["showvalue"]); $filter->type = $_POST["type"]; $filter->htmlattr = $_POST["htmlattr"]; - + if(!$filter->save()) { $errorstr .= $filter->errormsg; @@ -81,9 +87,8 @@ } } - if ((isset($_REQUEST['filter_id'])) && ((!isset($_REQUEST['neu'])) || ($_REQUEST['neu']!= "true"))) + if ((isset($_REQUEST['filter_id'])) && ((!isset($_REQUEST['neu'])) || ($_REQUEST['neu']!= "true")) && is_numeric($_REQUEST['filter_id'])) { - //echo 'loadFilter'; $filter->load($_REQUEST["filter_id"]); if ($filter->errormsg!='') die($filter->errormsg); @@ -127,54 +132,53 @@ $htmlstr .= ""; $htmlstr .= "
".$errorstr."
" ?> - - + - -Filter - Details - - - - + getBerechtigungen($user); -if($rechte->isBerechtigt('addon/reports', 'suid')) - $write_admin=true; +if(!$rechte->isBerechtigt('basis/statistik', 'suid')) + die('Sie haben keine Berechtigung für diese Seite'); + +if(isset($_POST['action']) && $_POST['action']=='delete' && isset($_POST['filter_id'])) +{ + $filter = new filter(); + $filter->delete($_POST['filter_id']); + +} $filter = new filter(); if (!$filter->loadAll()) die($filter->errormsg); @@ -45,11 +52,12 @@ $htmlstr .= " \n"; $htmlstr .= ' ID KurzBz ValueName - ShowV + Show Value Type HTMLAttributes SQL - Reserve'; + Action'; + $htmlstr .= " \n"; $i = 0; foreach ($filter->result as $filter) @@ -57,17 +65,17 @@ foreach ($filter->result as $filter) //$htmlstr .= " \n"; $htmlstr .= " \n"; $htmlstr .= " ".$filter->filter_id." - - - + + + \n"; $htmlstr .= " ".$filter->kurzbz."\n"; - $htmlstr .= " ".$filter->valuename."\n"; - $htmlstr .= " ".$filter->showvalue."\n"; - $htmlstr .= " ".$filter->type."\n"; - $htmlstr .= " ".$filter->htmlattr."\n"; - $htmlstr .= " ".substr($filter->sql,0,32)."...\n"; - $htmlstr .= " ".substr($filter->sql,0,16)."...\n"; + $htmlstr .= " ".$db->convert_html_chars($filter->valuename)."\n"; + $htmlstr .= " ".($filter->showvalue?'Ja':'Nein')."\n"; + $htmlstr .= " ".$db->convert_html_chars($filter->type)."\n"; + $htmlstr .= " ".$db->convert_html_chars($filter->htmlattr)."\n"; + $htmlstr .= " ".$db->convert_html_chars(substr($filter->sql,0,32))."...\n"; + $htmlstr .= '
Delete
'; $htmlstr .= " \n"; $i++; } @@ -77,82 +85,34 @@ $htmlstr .= "\n"; ?> -Räume Übersicht - - - - - - - + + - + document.forms['form_'+filter_id].submit(); + } + } + - -Neuer Filter - - + +Neuer Filter - - - diff --git a/vilesci/statistik/filter_vorschau.php b/vilesci/statistik/filter_vorschau.php new file mode 100644 index 000000000..79fad9bcd --- /dev/null +++ b/vilesci/statistik/filter_vorschau.php @@ -0,0 +1,60 @@ + + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/globals.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/filter.class.php'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$user = get_uid(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if(!$rechte->isBerechtigt('basis/statistik')) + die('Sie haben keine Berechtigung fuer diese Seite!'); + + +if(!isset($_GET['filter_id'])) + die('falscher Parameter'); + +$filter_id = $_GET['filter_id']; + +echo ' + + + + Filter + + + + +'; + + $filter = new filter(); + $filter->load($filter_id); + $filter->result[]=$filter; + echo $filter->getHtmlWidget($filter->kurzbz); +echo ' + +'; +?>