mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-24 10:22:18 +00:00
- possible to read and write user Variables in Codeigniter
- added Variablenname_model, VariableLib, Variables controller - Infocenter Übersicht - infocenterData, infocenterFreigegebenData, infocenterReihungstestAbsolviertData: added possibility of toggle of infocenter_studiensemester variable, only prestudents of selected Studiensemester are shown
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
|
||||
class Variablenname_model extends DB_Model
|
||||
{
|
||||
// Contains SQL queries retrieving default variable values if no default is set.
|
||||
private $_dynamic_defaults = array(
|
||||
'semester_aktuell' => 'SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ende>now() ORDER BY start LIMIT 1',
|
||||
'infocenter_studiensemester' => 'SELECT studiensemester_kurzbz FROM (
|
||||
SELECT DISTINCT ON (studienjahr_kurzbz) start, studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
ORDER BY studienjahr_kurzbz, start
|
||||
) sem
|
||||
WHERE start > now()
|
||||
LIMIT 1;'
|
||||
);
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->dbTable = 'public.tbl_variablenname';
|
||||
$this->pk ='name';
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets defaults for user variables.
|
||||
* If no default value present in table, SQL can be executed for retrieving the value.
|
||||
* @param null $names optionally get only defaults for certain variables
|
||||
* @return array
|
||||
*/
|
||||
public function getDefaults($names = null)
|
||||
{
|
||||
$defaults = array();
|
||||
|
||||
$qry = "SELECT name, defaultwert FROM public.tbl_variablenname";
|
||||
|
||||
if (isset($names) && is_array($names))
|
||||
{
|
||||
$qry .= " WHERE name IN ('".implode(',', $names)."')";
|
||||
}
|
||||
$qry .= ";";
|
||||
|
||||
$defaultsres = $this->execQuery($qry);
|
||||
|
||||
if (hasData($defaultsres))
|
||||
{
|
||||
$defaults = getData($defaultsres);
|
||||
|
||||
foreach ($defaults as $default)
|
||||
{
|
||||
if (!isset($default->defaultwert))
|
||||
{
|
||||
if (isset($this->_dynamic_defaults[$default->name]))
|
||||
{
|
||||
$dyndefault = $this->execQuery($this->_dynamic_defaults[$default->name]);
|
||||
if (hasData($dyndefault))
|
||||
{
|
||||
$dyndefault = getData($dyndefault);
|
||||
|
||||
if (count($dyndefault) === 1)
|
||||
{
|
||||
foreach ($dyndefault[0] as $value)
|
||||
{
|
||||
$default->defaultwert = $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return success($defaults);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user