mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
Filter
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+12
-2
@@ -2112,13 +2112,23 @@ if(!$result = @$db->db_query("SELECT sort FROM lehre.tbl_studienplan_lehrveranst
|
||||
if(!$result = @$db->db_query("SELECT sort FROM fue.tbl_aktivitaet LIMIT 1;"))
|
||||
{
|
||||
$qry = "ALTER TABLE fue.tbl_aktivitaet ADD COLUMN sort integer;";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>fue.tbl_aktivitaet: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' fue.tbl_aktivitaet: Spalte sort hinzugefuegt!<br>';
|
||||
}
|
||||
|
||||
// Spalte studienjahr_kurzbz in public.tbl_studiensemester
|
||||
if(!$result = @$db->db_query("SELECT studienjahr_kurzbz FROM public.tbl_studiensemester LIMIT 1;"))
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_studiensemester ADD COLUMN studienjahr_kurzbz varchar(16);";
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_studiensemester: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' public.tbl_studiensemester: Spalte studienjahr_kurzbz hinzugefuegt!<br>';
|
||||
}
|
||||
|
||||
|
||||
echo '<br><br><br>';
|
||||
|
||||
$tabellen=array(
|
||||
@@ -2320,7 +2330,7 @@ $tabellen=array(
|
||||
"public.tbl_studentlehrverband" => array("student_uid","studiensemester_kurzbz","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
"public.tbl_studiengang" => array("studiengang_kz","kurzbz","kurzbzlang","typ","bezeichnung","english","farbe","email","telefon","max_semester","max_verband","max_gruppe","erhalter_kz","bescheid","bescheidbgbl1","bescheidbgbl2","bescheidgz","bescheidvom","orgform_kurzbz","titelbescheidvom","aktiv","ext_id","zusatzinfo_html","moodle","sprache","testtool_sprachwahl","studienplaetze","oe_kurzbz","lgartcode","mischform","projektarbeit_note_anzeige"),
|
||||
"public.tbl_studiengangstyp" => array("typ","bezeichnung","beschreibung"),
|
||||
"public.tbl_studiensemester" => array("studiensemester_kurzbz","bezeichnung","start","ende","ext_id"),
|
||||
"public.tbl_studiensemester" => array("studiensemester_kurzbz","bezeichnung","start","ende","studienjahr_kurzbz","ext_id"),
|
||||
"public.tbl_tag" => array("tag"),
|
||||
"public.tbl_variable" => array("name","uid","wert"),
|
||||
"public.tbl_vorlage" => array("vorlage_kurzbz","bezeichnung","anmerkung","mimetype"),
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
$filter = new filter();
|
||||
$filter->filter_id = '';
|
||||
$filter->kurzbz = 'NewFilter';
|
||||
$filter->sql = '';
|
||||
$filter->sql = 'SELECT foo AS value, bar AS name FROM foobar WHERE ... ORDER BY name';
|
||||
$filter->valuename = '';
|
||||
$filter->showvalue = true;
|
||||
$filter->type = 'select';
|
||||
|
||||
@@ -32,8 +32,8 @@ $user = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/statistik', 'suid'))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
if(!$rechte->isBerechtigt('basis/statistik', 's'))
|
||||
die('Sie haben keine Berechtigung (basis/statistik) für diese Seite');
|
||||
|
||||
|
||||
if(isset($_POST['action']) && $_POST['action']=='delete' && isset($_POST['filter_id']))
|
||||
|
||||
@@ -70,7 +70,7 @@ elseif($statistik->sql!='')
|
||||
$variablenstring = $statistik->sql;
|
||||
}
|
||||
|
||||
$vars = parseVars($variablenstring);
|
||||
$vars = $statistik->parseVars($variablenstring);
|
||||
//var_dump($vars);
|
||||
echo '
|
||||
<script type="text/javascript">
|
||||
@@ -120,29 +120,5 @@ echo '
|
||||
echo '</body>
|
||||
</html>';
|
||||
|
||||
/***FUNCTIONS***/
|
||||
|
||||
/**
|
||||
*
|
||||
* 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);
|
||||
}
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user