datepicker filter

This commit is contained in:
Robert Hofer
2014-12-15 11:32:15 +00:00
parent 9c67036474
commit 096250102a
3 changed files with 245 additions and 239 deletions
+16 -8
View File
@@ -21,6 +21,7 @@
* *
* *
* Authors: Christian Paminger <[email protected] * Authors: Christian Paminger <[email protected]
* Robert Hofer <[email protected]>
*/ */
require_once(dirname(__FILE__).'/basis_db.class.php'); require_once(dirname(__FILE__).'/basis_db.class.php');
@@ -178,14 +179,21 @@ class filter extends basis_db
$html.="\n\t\t\t"; $html.="\n\t\t\t";
switch ($filter->type) switch ($filter->type)
{ {
case 'select': case 'select':
$html.='<select id="' . $filter->kurzbz . '" class="form-control" name="'.$filter->kurzbz.'[]" '; $html.='<select id="' . $filter->kurzbz . '" class="form-control" name="'.$filter->kurzbz.'[]" ';
$html.=$filter->htmlattr; $html.=$filter->htmlattr;
$html.=' >'; $html.=' >';
$this->loadValues($filter->sql, $filter->valuename, $filter->showvalue); $this->loadValues($filter->sql, $filter->valuename, $filter->showvalue);
foreach ($this->values as $value) foreach ($this->values as $value)
$html.="\n\t\t\t\t".'<option class="form-control" value="'.$value->value.'">'.$value->text.'</option>'; $html.="\n\t\t\t\t".'<option class="form-control" value="'.$value->value.'">'.$value->text.'</option>';
$html.="\n\t\t\t</select>"; $html.="\n\t\t\t</select>";
break;
case 'datepicker':
$html .= '<input type="text" id="' . $filter->kurzbz . '" name="' . $filter->kurzbz . '">';
$html .= '<script>';
$html .= '$("#' . $filter->kurzbz . '").datepicker();';
$html .= '</script>';
break;
} }
return $html; return $html;
} }
+74 -75
View File
@@ -15,9 +15,10 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
* *
* Authors: Christian Paminger <[email protected]>, * Authors: Christian Paminger <[email protected]>
* Andreas Oesterreicher <[email protected]> and * Andreas Oesterreicher <[email protected]>
* Karl Burkhart <[email protected]>. * Karl Burkhart <[email protected]>
* Robert Hofer <[email protected]>
*/ */
/** /**
* Statistik Uebersichtsseite * Statistik Uebersichtsseite
@@ -30,36 +31,44 @@ require_once('../../include/statistik.class.php');
require_once('../../include/filter.class.php'); require_once('../../include/filter.class.php');
require_once('../../include/functions.inc.php'); require_once('../../include/functions.inc.php');
if(!isset($_GET['statistik_kurzbz'])) $statistik_kurzbz = filter_input(INPUT_GET, 'statistik_kurzbz');
die('Statistik_kurzbz Parameter fehlt');
$statistik_kurzbz = $_GET['statistik_kurzbz'];
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Statistik</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css"/>
</head>
<body>';
$statistik = new statistik(); $statistik = new statistik();
if(!$statistik->load($statistik_kurzbz)) if(!$statistik->load($statistik_kurzbz))
die($statistik->errormsg);
echo '<h2>Report - '.$statistik->bezeichnung.'</h2>';
//Beschreibung zu der Statistik anzeigen
if($statistik->content_id!='')
{ {
echo "\n",'<a href="#" onclick="window.open(\'../../cms/content.php?content_id='.$statistik->content_id.'\', \'Beschreibung\', \'width=600,height=600, scrollbars=yes\');">Beschreibung anzeigen</a><br><br>'; die($statistik->errormsg);
} }
?>
<!DOCTYPE html>
<html>
<head>
<title>Statistik</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css"/>
<link rel="stylesheet" href="../../include/css/jquery-ui.1.11.2.min.css" />
<script type="text/javascript" src="../../include/js/jquery.min.1.11.1.js"></script>
<script type="text/javascript" src="../../include/js/jquery-ui.1.11.2.min.js"></script>
<script>
$(function() {
$.datepicker.setDefaults({dateFormat: "yy-mm-dd"});
});
</script>
</head>
<body>
<h2>Report - <?php echo $statistik->bezeichnung ?></h2>
<?php
//Beschreibung zu der Statistik anzeigen
if($statistik->content_id): ?>
<a href="#" onclick="window.open('../../cms/content.php?content_id=<?php echo $statistik->content_id ?>', 'Beschreibung', 'width=600,height=600, scrollbars=yes');">
Beschreibung anzeigen
</a><br><br>
<?php endif;
$variablenstring=''; $variablenstring='';
$action=''; $action='';
if($statistik->url!='') if($statistik->url)
{ {
$action = $statistik->url; $action = $statistik->url;
$variablenstring = $statistik->url; $variablenstring = $statistik->url;
@@ -70,55 +79,45 @@ elseif($statistik->sql!='')
$variablenstring = $statistik->sql; $variablenstring = $statistik->sql;
} }
$vars = $statistik->parseVars($variablenstring); $vars = $statistik->parseVars($variablenstring); ?>
//var_dump($vars); <script type="text/javascript">
echo ' function doit()
<script type="text/javascript"> {
function doit() <?php if($statistik->url): ?>
{'; var action='<?php echo $action ?>';
if($statistik->url!='')
{
echo 'var action=\''.$action.'\';
';
foreach ($vars as $var) <?php foreach ($vars as $var): ?>
{ action = action.replace('$<?php echo $var ?>', document.getElementById('<?php echo $var ?>').value);
echo 'action = action.replace(\'$'.$var.'\', document.getElementById(\''.$var.'\').value);'; <?php endforeach; ?>
} parent.detail_statistik.location.href=action;
echo ' return false;
parent.detail_statistik.location.href=action; <?php else: ?>
return false;'; return true;
} <?php endif; ?>
else }
echo 'return true;'; </script>
echo ' <form action="<?php echo $action ?>" method="POST" target="detail_statistik" onsubmit="return doit();">
} <table>
</script>
<form action="'.$action.'" method="POST" target="detail_statistik" onsubmit="return doit();">
<table>
';
// Filter parsen
$fltr=new filter();
$fltr->loadAll();
echo '<tr>';
foreach($vars as $var)
{
if ($fltr->isFilter($var))
echo "<td>$var</td><td>".$fltr->getHtmlWidget($var)."</td>\n";
else
echo "<td>$var</td><td><input type=\"text\" id=\"$var\" name=\"$var\" value=\"\"></td>";
}
echo '</tr>';
echo '
<tr>
<td></td>
<td><input type="submit" value="Anzeigen"></td>
</tr>
</table>
</form>';
echo '</body> <?php
</html>'; // Filter parsen
$fltr=new filter();
$fltr->loadAll(); ?>
<tr>
?> <?php foreach($vars as $var):
if ($fltr->isFilter($var)): ?>
<td><?php echo $var ?></td><td><?php echo $fltr->getHtmlWidget($var) ?></td>
<?php else: ?>
<td><?php echo $var ?></td><td><input type="text" id="<?php echo $var ?>" name="<?php echo $var ?>" value=""></td>
<?php endif;
endforeach; ?>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Anzeigen"></td>
</tr>
</table>
</form>
</body>
</html>
+49 -50
View File
@@ -24,77 +24,53 @@ require_once('../../include/functions.inc.php');
require_once('../../include/statistik.class.php'); require_once('../../include/statistik.class.php');
require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/benutzerberechtigung.class.php');
$uid = get_uid(); $statistik_kurzbz = filter_input(INPUT_GET, 'statistik_kurzbz');
$outputformat = filter_input(INPUT_GET, 'outputformat');
if(!isset($_GET['statistik_kurzbz']))
die('Statistik_kurzbz Parameter fehlt');
$statistik_kurzbz = $_GET['statistik_kurzbz'];
if (isset($_GET['outputformat']))
$outputformat=$_GET['outputformat'];
else
$outputformat='html';
$html='';
$csv='';
$html.='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Statistik</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css"/>
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#myTable").tablesorter(
{
widgets: [\'zebra\']
});
});
</script>
</head>
<body>';
$statistik = new statistik(); $statistik = new statistik();
if(!$statistik->load($statistik_kurzbz)) if(!$statistik->load($statistik_kurzbz))
die($statistik->errormsg);
if($statistik->berechtigung_kurzbz!='')
{ {
$rechte = new benutzerberechtigung(); die($statistik->errormsg);
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt($statistik->berechtigung_kurzbz))
die('Sie haben keine Berechtigung für diese Seite');
} }
$html.= '<h2>Statistik - '.$statistik->bezeichnung.'</h2>'; if (!isset($outputformat))
{
$outputformat='html';
}
if($statistik->berechtigung_kurzbz != '')
{
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt($statistik->berechtigung_kurzbz))
{
die('Sie haben keine Berechtigung für diese Seite');
}
}
if ($statistik->loadData()) if ($statistik->loadData())
{ {
$html.=$statistik->getHtmlTable('myTable','tablesorter'); $csv = $statistik->getCSV();
$csv=$statistik->getCSV(); $json = $statistik->getJSON();
$json=$statistik->getJSON();
} }
else else
{
echo $statistik->error_msg; echo $statistik->error_msg;
return;
}
switch ($outputformat) switch ($outputformat)
{ {
case 'html':
echo $html;
break;
case 'csv': case 'csv':
header("Content-type: text/csv"); header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=data.csv"); header("Content-Disposition: attachment; filename=data.csv");
header("Pragma: no-cache"); header("Pragma: no-cache");
header("Expires: 0"); header("Expires: 0");
echo $csv; echo $csv;
break; return;
case 'json': case 'json':
header("Content-type: application/json"); header("Content-type: application/json");
header("Content-Disposition: attachment; filename=data.json"); header("Content-Disposition: attachment; filename=data.json");
@@ -102,5 +78,28 @@ switch ($outputformat)
header("Expires: 0"); header("Expires: 0");
//$array= array_map("str_getcsv",explode("\n", $csv)); //$array= array_map("str_getcsv",explode("\n", $csv));
echo $json; echo $json;
return;
} }
?> ?>
<!DOCTYPE html>
<html>
<head>
<title>Statistik</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css"/>
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<script type="text/javascript">
$(function() {
$("#myTable").tablesorter({
widgets: ['zebra']
});
});
</script>
</head>
<body>
<h2>Statistik - <?php echo $statistik->bezeichnung ?></h2>
<?php echo $statistik->getHtmlTable('myTable', 'tablesorter'); ?>
</body>
</html>