This commit is contained in:
Christian Paminger
2014-11-10 08:25:48 +00:00
parent 6dfe76e95b
commit cd5de08a55
6 changed files with 79 additions and 37 deletions
+33 -5
View File
@@ -179,12 +179,12 @@ class filter extends basis_db
switch ($filter->type)
{
case 'select':
$html.='<select name="'.$filter->kurzbz.'[]" ';
$html.='<select class="form-control" name="'.$filter->kurzbz.'[]" ';
$html.=$filter->htmlattr;
$html.=' >';
$this->loadValues($filter->sql, $filter->valuename, $filter->showvalue);
foreach ($this->values as $value)
$html.="\n\t\t\t\t".'<option 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>";
}
return $html;
@@ -209,16 +209,23 @@ class filter extends basis_db
$obj->text='';
for ($i=0; $i<$this->db_num_fields(); $i++)
{
if ($this->db_field_name(null,$i)==$valuename)
if ($this->db_field_name(null,$i)=='value')
{
$obj->value=$row[$i];
if ($showvalue)
$obj->text.=' ('.$row[$i].') ';
}
elseif ($this->db_field_name(null,$i)=='name')
{
if ($showvalue)
$obj->text.=' - '.$row[$i];
else
$obj->text.=$row[$i];
}
else
$obj->text.='- '.$row[$i].' ';
$obj->text.=' - '.$row[$i];
}
$obj->text = mb_substr($obj->text,1);
//$obj->text = mb_substr($obj->text,1);
$this->values[] = $obj;
}
//var_dump($this);
@@ -384,5 +391,26 @@ class filter extends basis_db
}
}
/**
* Ermittelt alle POST/GET-Variablen
* @return Zeichenkette fuer eine GET-Methode, false im Fehlerfall
*/
public function getVars()
{
$vars='';
foreach($_REQUEST as $name=>$value)
{
if (is_array($value))
{
foreach($value AS $val)
$vars.='&'.$name.'='.$val;
}
else
$vars.='&'.$name.'='.$value;
}
//$vars.='&statistik_kurzbz='.$_REQUEST['statistik_kurzbz'];
return $vars;
}
}
?>
+30 -2
View File
@@ -152,12 +152,17 @@ class statistik extends basis_db
}
}
/**
* Laedt alle Statistiken
* Laedt alle Statistiken einer Gruppe, Parameter publish zum Filtern.
* @return true wenn ok, sonst false
*/
public function getGruppe($gruppe)
public function getGruppe($gruppe,$publish=null)
{
$qry = "SELECT * FROM public.tbl_statistik WHERE gruppe='$gruppe'";
if ($publish==true)
$qry.=' AND publish ';
elseif ($publish==false)
$qry.=' AND NOT publish ';
$qry.=' ORDER BY bezeichnung;';
if($result = $this->db_query($qry))
{
@@ -561,5 +566,28 @@ class statistik extends basis_db
{
return json_encode($this->json);
}
/**
*
* Parst Variablen aus einem String und liefert diese als Array zurueck
* @param $value String mit Variablen
* z.B.: "Select * from tbl_person where person_id<'$person_id'"
* oder "../content/statistik/bewerberstatistik.php?stsem=$StSem&stg_kz=$stg_kz"
*
* @return Array mit den Variablennamen
*/
function parseVars($value)
{
$result = array();
$check = '/\$[0-9A-z]+/';
preg_match_all($check, $value, $result);
$result = $result[0];
for($i=0;$i<count($result);$i++)
{
$result[$i] = mb_str_replace('$','',$result[$i]);
}
return array_unique($result);
}
}
?>