This commit is contained in:
Andreas Österreicher
2014-10-17 06:52:13 +00:00
parent 823d2e113a
commit 995547f7c3
5 changed files with 169 additions and 162 deletions
+6 -15
View File
@@ -22,12 +22,6 @@
*
* Authors: Christian Paminger <pam@technikum-wien.at
*/
class value
{
public $value;
public $text;
}
require_once(dirname(__FILE__).'/basis_db.class.php');
class filter extends basis_db
@@ -78,7 +72,7 @@ class filter extends basis_db
{
if(!is_numeric($filter_id))
{
$this->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);
+2 -10
View File
@@ -496,21 +496,13 @@ class statistik extends basis_db
$sql = $this->sql;
foreach($_REQUEST as $name=>$value)
{
//echo '<pre>'.var_dump($name).'</pre>';
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 '<pre>'.var_dump($sql).'</pre>';
}
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))
+57 -53
View File
@@ -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 .= "</form>";
$htmlstr .= "<div class='inserterror'>".$errorstr."</div>"
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!DOCTYPE HTML>
<html>
<head>
<title>Filter - Details</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<script type="text/javascript">
function unchanged()
{
document.filterform.reset();
document.filterform.schick.disabled = true;
document.getElementById("submsg").style.visibility="hidden";
checkrequired(document.filterform.filter_id);
}
<head>
<title>Filter - Details</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<script type="text/javascript">
function unchanged()
{
document.filterform.reset();
document.filterform.schick.disabled = true;
document.getElementById("submsg").style.visibility="hidden";
checkrequired(document.filterform.filter_id);
}
function checkrequired(feld)
{
if(feld.value == '')
function checkrequired(feld)
{
feld.className = "input_error";
return false;
if(feld.value == '')
{
feld.className = "input_error";
return false;
}
else
{
feld.className = "input_ok";
return true;
}
}
else
{
feld.className = "input_ok";
return true;
}
}
function submitable()
{
required1 = checkrequired(document.filterform.filter_id);
function submitable()
{
required1 = checkrequired(document.filterform.filter_id);
if(!required1)
{
document.filterform.schick.disabled = true;
document.getElementById("submsg").style.visibility="hidden";
if(!required1)
{
document.filterform.schick.disabled = true;
document.getElementById("submsg").style.visibility="hidden";
}
else
{
document.filterform.schick.disabled = false;
document.getElementById("submsg").style.visibility="visible";
}
}
else
{
document.filterform.schick.disabled = false;
document.getElementById("submsg").style.visibility="visible";
}
}
</script>
</head>
<body style="background-color:#eeeeee;">
<body>
<?php
echo $htmlstr;
+44 -84
View File
@@ -32,9 +32,16 @@ $user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->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 .= " <thead><tr>\n";
$htmlstr .= ' <th onmouseup="document.formular.check.value=0">ID</th>
<th title="Kurzbezeichnung des Filters">KurzBz</th>
<th>ValueName</th>
<th>ShowV</th>
<th>Show Value</th>
<th>Type</th>
<th>HTMLAttributes</th>
<th>SQL</th>
<th>Reserve</th>';
<th>Action</th>';
$htmlstr .= " </tr></thead><tbody>\n";
$i = 0;
foreach ($filter->result as $filter)
@@ -57,17 +65,17 @@ foreach ($filter->result as $filter)
//$htmlstr .= " <tr class='liste". ($i%2) ."'>\n";
$htmlstr .= " <tr>\n";
$htmlstr .= " <td align='right'><a href='filter_details.php?filter_id=".$filter->filter_id."' target='frame_filter_details'>".$filter->filter_id." </a>
<a href='../data/".$filter->filter_id.".html' target='_blank'>
<img title='".$filter->kurzbz." anzeigen' src='x-office-presentation.svg' height='15' />
</a>
<a href='filter_vorschau.php?filter_id=".$filter->filter_id."' target='_blank'>
<img src='../../skin/images/x-office-presentation.png' height='15px'/>
</a>
</td>\n";
$htmlstr .= " <td><a href='filter_details.php?filter_id=".$filter->filter_id."' target='frame_filter_details'>".$filter->kurzbz."</a></td>\n";
$htmlstr .= " <td>".$filter->valuename."</td>\n";
$htmlstr .= " <td>".$filter->showvalue."</td>\n";
$htmlstr .= " <td>".$filter->type."</td>\n";
$htmlstr .= " <td>".$filter->htmlattr."</td>\n";
$htmlstr .= " <td>".substr($filter->sql,0,32)."...</td>\n";
$htmlstr .= " <td>".substr($filter->sql,0,16)."...</td>\n";
$htmlstr .= " <td>".$db->convert_html_chars($filter->valuename)."</td>\n";
$htmlstr .= " <td>".($filter->showvalue?'Ja':'Nein')."</td>\n";
$htmlstr .= " <td>".$db->convert_html_chars($filter->type)."</td>\n";
$htmlstr .= " <td>".$db->convert_html_chars($filter->htmlattr)."</td>\n";
$htmlstr .= " <td>".$db->convert_html_chars(substr($filter->sql,0,32))."...</td>\n";
$htmlstr .= ' <td><form action="'.$_SERVER['PHP_SELF'].'" style="display: inline" name="form_'.$filter->filter_id.'" method="POST"><input type="hidden" name="filter_id" value="'.$filter->filter_id.'"><input type="hidden" name="action" value="delete"/><a href="#Loeschen" onclick="ConfirmDelete('.$filter->filter_id.');">Delete</a></form></td>';
$htmlstr .= " </tr>\n";
$i++;
}
@@ -77,82 +85,34 @@ $htmlstr .= "</tbody></table>\n";
?>
<html>
<head>
<title>R&auml;ume &Uuml;bersicht</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<!--<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>-->
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<style>
table.tablesorter tbody td
{
margin: 0;
padding: 0;
vertical-align: middle;
}
</style>
<script language="JavaScript" type="text/javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[2,0]],
widgets: ["zebra"]
});
});
function confdel()
{
if(confirm("Diesen Datensatz wirklick loeschen?"))
return true;
return false;
}
function changeboolean(ort_kurzbz, name)
{
value=document.getElementById(name+ort_kurzbz).value;
var dataObj = {};
dataObj["ort_kurzbz"]=ort_kurzbz;
dataObj[name]=value;
$.ajax({
type:"POST",
url:"raum_uebersicht.php",
data:dataObj,
success: function(data)
<title>Filter &Uuml;bersicht</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<script language="JavaScript" type="text/javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[2,0]],
widgets: ["zebra"]
});
});
function ConfirmDelete(filter_id)
{
if(confirm("Wollen Sie diesen Filter wirklich löschen?"))
{
if(data=="true")
{
//Image und Value aendern
if(value=="true")
value="false";
else
value="true";
document.getElementById(name+ort_kurzbz).value=value;
document.getElementById(name+"img"+ort_kurzbz).src="../../skin/images/"+value+".png";
}
else
alert("ERROR:"+data)
},
error: function() { alert("error"); }
});
}
</script>
document.forms['form_'+filter_id].submit();
}
}
</script>
</head>
<body class="background_main">
<a href="filter_details.php" target="frame_report_details">Neuer Filter</a>
<body>
<a href="filter_details.php" target="frame_filter_details">Neuer Filter</a>
<?php
echo $htmlstr;
?>
</body>
</html>
+60
View File
@@ -0,0 +1,60 @@
<?php
/* Copyright (C) 2014 fhcomplete.org
*
* 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.
*
* Authors: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
*/
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 '
<!DOCTYPE HTML>
<html>
<head>
<title>Filter</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head>
<body>
';
$filter = new filter();
$filter->load($filter_id);
$filter->result[]=$filter;
echo $filter->getHtmlWidget($filter->kurzbz);
echo '
</body>
</html>';
?>