mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Merge branch 'master' into signatur
This commit is contained in:
@@ -650,7 +650,7 @@ class benutzerberechtigung extends basis_db
|
||||
|
||||
foreach ($this->berechtigungen as $b)
|
||||
{
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null || mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz)
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || (mb_strpos($berechtigung_kurzbz,':')!==false && mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz))
|
||||
&& (($timestamp>$b->starttimestamp || $b->starttimestamp==null) && ($timestamp<$b->endetimestamp || $b->endetimestamp==null)))
|
||||
{
|
||||
if($b->negativ)
|
||||
@@ -671,7 +671,9 @@ class benutzerberechtigung extends basis_db
|
||||
{
|
||||
$childoes = $oe->getChilds($b->oe_kurzbz);
|
||||
foreach($childoes as $row)
|
||||
{
|
||||
$in .= "'".$this->db_escape($row)."',";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -728,7 +730,7 @@ class benutzerberechtigung extends basis_db
|
||||
|
||||
foreach ($this->berechtigungen as $b)
|
||||
{
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null || mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz)
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || (mb_strpos($berechtigung_kurzbz,':')!==false && mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz))
|
||||
&& (($timestamp>$b->starttimestamp || $b->starttimestamp==null) && ($timestamp<$b->endetimestamp || $b->endetimestamp==null)))
|
||||
{
|
||||
if($b->negativ)
|
||||
@@ -801,7 +803,7 @@ class benutzerberechtigung extends basis_db
|
||||
$oe = new organisationseinheit();
|
||||
foreach ($this->berechtigungen as $b)
|
||||
{
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null || mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz)
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null || (mb_strpos($berechtigung_kurzbz,':')!==false && mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz))
|
||||
&& (($timestamp>$b->starttimestamp || $b->starttimestamp==null) && ($timestamp<$b->endetimestamp || $b->endetimestamp==null)))
|
||||
{
|
||||
if($b->negativ)
|
||||
@@ -828,9 +830,9 @@ class benutzerberechtigung extends basis_db
|
||||
{
|
||||
if(!is_null($b->oe_kurzbz))
|
||||
{
|
||||
$childoes = $oe->getChilds($b->oe_kurzbz);
|
||||
foreach($childoes as $row)
|
||||
$oe_kurzbz[] = $row;
|
||||
$childoes = $oe->getChilds($b->oe_kurzbz);
|
||||
foreach($childoes as $row)
|
||||
$oe_kurzbz[] = $row;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -874,7 +876,7 @@ class benutzerberechtigung extends basis_db
|
||||
if(!mb_strstr($b->berechtigung_kurzbz,'wawi/'))
|
||||
continue;
|
||||
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || $berechtigung_kurzbz==null || mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz)
|
||||
if (($berechtigung_kurzbz==$b->berechtigung_kurzbz || (mb_strpos($berechtigung_kurzbz,':')!==false && mb_substr($berechtigung_kurzbz,0,mb_strpos($berechtigung_kurzbz,':'))==$b->berechtigung_kurzbz))
|
||||
&& (($timestamp>$b->starttimestamp || $b->starttimestamp==null) && ($timestamp<$b->endetimestamp || $b->endetimestamp==null)))
|
||||
{
|
||||
if($b->negativ)
|
||||
@@ -1065,6 +1067,7 @@ class benutzerberechtigung extends basis_db
|
||||
*
|
||||
* @param string $berechtigung_kurzbz Kurzbezeichnung der Berechtigung, deren Rollen geladen werden sollen
|
||||
* @param boolean $inklusiveRollen Default TRUE. Wenn true, wird ein UNION SELECT mit der tbl_rolleberechtigung ausgefuehrt
|
||||
* @param string $oe_kurzbz Organisationseinheit
|
||||
* @return boolean true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getBenutzerFromBerechtigung($berechtigung_kurzbz, $inklusiveRollen = true, $oe_kurzbz = null)
|
||||
@@ -1073,6 +1076,7 @@ class benutzerberechtigung extends basis_db
|
||||
benutzerberechtigung_id,
|
||||
rolle_kurzbz,
|
||||
funktion_kurzbz,
|
||||
oe_kurzbz,
|
||||
uid,
|
||||
art,
|
||||
berechtigung_kurzbz,
|
||||
@@ -1095,6 +1099,7 @@ class benutzerberechtigung extends basis_db
|
||||
rolle_kurzbz,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
art,
|
||||
berechtigung_kurzbz,
|
||||
NULL,
|
||||
@@ -1118,6 +1123,7 @@ class benutzerberechtigung extends basis_db
|
||||
$obj->uid = $row->uid;
|
||||
$obj->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
$obj->art = $row->art;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->start = $row->start;
|
||||
$obj->ende = $row->ende;
|
||||
|
||||
|
||||
+1458
-1445
File diff suppressed because it is too large
Load Diff
@@ -1279,7 +1279,7 @@ class content extends basis_db
|
||||
public function search($searchItems, $limit=null)
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct on(content_id,sprache,version) content_id, content::text, titel, sprache, version, 1 AS sort
|
||||
distinct on(content_id,sprache,version) content_id, content::text, titel, sprache, version, template_kurzbz, 1 AS sort
|
||||
FROM
|
||||
campus.tbl_contentsprache
|
||||
JOIN campus.tbl_content USING(content_id)
|
||||
@@ -1298,7 +1298,7 @@ class content extends basis_db
|
||||
";
|
||||
}
|
||||
$qry .= " UNION SELECT
|
||||
distinct on(content_id,sprache,version) content_id, content::text, titel, sprache, version, 2 AS sort
|
||||
distinct on(content_id,sprache,version) content_id, content::text, titel, sprache, version, template_kurzbz, 2 AS sort
|
||||
FROM
|
||||
campus.tbl_contentsprache
|
||||
JOIN campus.tbl_content USING(content_id)
|
||||
@@ -1333,6 +1333,7 @@ class content extends basis_db
|
||||
$obj->titel = $row->titel;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->version = $row->version;
|
||||
$obj->template_kurzbz = $row->template_kurzbz;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
+195
-119
@@ -46,7 +46,10 @@ class dms extends basis_db
|
||||
public $updateamum;
|
||||
public $updatevon;
|
||||
public $kategorie_kurzbz_old;
|
||||
|
||||
public $cis_suche = false;
|
||||
public $schlagworte;
|
||||
public $kategorie_oe_kurzbz;
|
||||
public $berechtigung_kurzbz;
|
||||
public $bezeichnung;
|
||||
|
||||
/**
|
||||
@@ -92,6 +95,8 @@ class dms extends basis_db
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->cis_suche = $this->db_parse_bool($row->cis_suche);
|
||||
$this->schlagworte = $row->schlagworte;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -143,7 +148,7 @@ class dms extends basis_db
|
||||
|
||||
$qry.="INSERT INTO campus.tbl_dms_version(dms_id, version,
|
||||
filename, mimetype, name, beschreibung, letzterzugriff, insertamum, insertvon,
|
||||
updateamum, updatevon) VALUES(".
|
||||
updateamum, updatevon, cis_suche, schlagworte) VALUES(".
|
||||
$dms_id.','.
|
||||
$this->db_add_param($this->version, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->filename).','.
|
||||
@@ -154,7 +159,9 @@ class dms extends basis_db
|
||||
$this->db_add_param($this->insertamum).','.
|
||||
$this->db_add_param($this->insertvon).','.
|
||||
$this->db_add_param($this->updateamum).','.
|
||||
$this->db_add_param($this->updatevon).');';
|
||||
$this->db_add_param($this->updatevon).','.
|
||||
$this->db_add_param($this->cis_suche, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->schlagworte).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -170,7 +177,9 @@ class dms extends basis_db
|
||||
" beschreibung=".$this->db_add_param($this->beschreibung).",".
|
||||
" letzterzugriff=".$this->db_add_param($this->letzterzugriff).",".
|
||||
" updateamum=".$this->db_add_param($this->updateamum).",".
|
||||
" updatevon=".$this->db_add_param($this->updatevon).
|
||||
" updatevon=".$this->db_add_param($this->updatevon).",".
|
||||
" cis_suche=".$this->db_add_param($this->cis_suche, FHC_BOOLEAN).",".
|
||||
" schlagworte=".$this->db_add_param($this->schlagworte).
|
||||
" WHERE dms_id=".$this->db_add_param($this->dms_id,FHC_INTEGER)." AND version=".$this->db_add_param($this->version, FHC_INTEGER).";";
|
||||
}
|
||||
|
||||
@@ -214,96 +223,98 @@ class dms extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht einen DMS Eintrag mit übergebener ID und Version
|
||||
* Wird die letzte Version eines Eintrages gelöscht, wird automatisch der Eintrag mitgelöscht
|
||||
* @param $dms_id
|
||||
* @param $version
|
||||
*/
|
||||
public function deleteVersion($dms_id, $version)
|
||||
{
|
||||
$dms = new dms();
|
||||
$dms->load($dms_id, $version);
|
||||
|
||||
$qry ="DELETE FROM campus.tbl_dms_version WHERE dms_id = ".$this->db_add_param($dms_id, FHC_INTEGER)." and version =".$this->db_add_param($version, FHC_INTEGER).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
$qry_anzahl ="SELECT 1 FROM campus.tbl_dms_version WHERE dms_id =".$this->db_add_param($dms_id, FHC_INTEGER).';';
|
||||
if($result = $this->db_query($qry_anzahl))
|
||||
{
|
||||
// File der Version im Filesystem löschen
|
||||
if(is_file(DMS_PATH.$dms->filename) && !unlink(DMS_PATH.$dms->filename))
|
||||
{
|
||||
$this->errormsg = "Fehler beim Löschen des Dokuments aufgetreten";
|
||||
return false;
|
||||
}
|
||||
|
||||
// Wenn letzte Version gelöscht wurde -> lösche gesamten Eintrag
|
||||
if($this->db_num_rows($result) == 0 )
|
||||
{
|
||||
if(!$this->deleteDms($dms_id))
|
||||
{
|
||||
$this->errormsg = "Fehler beim Löschen aufgetreten";
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg="Fehler beim Löschen der Version aufgetreten";
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Löscht einen DMS Eintrag mit übergebener ID und Version
|
||||
* Wird die letzte Version eines Eintrages gelöscht, wird automatisch der Eintrag mitgelöscht
|
||||
*
|
||||
* @param $dms_id
|
||||
* @param $version
|
||||
*/
|
||||
public function deleteVersion($dms_id, $version)
|
||||
{
|
||||
$dms = new dms();
|
||||
$dms->load($dms_id, $version);
|
||||
|
||||
$qry = "DELETE FROM campus.tbl_dms_version WHERE dms_id = " . $this->db_add_param($dms_id, FHC_INTEGER) . " and version =" . $this->db_add_param($version, FHC_INTEGER) . ';';
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
$qry_anzahl = "SELECT 1 FROM campus.tbl_dms_version WHERE dms_id =" . $this->db_add_param($dms_id, FHC_INTEGER) . ';';
|
||||
if ($result = $this->db_query($qry_anzahl))
|
||||
{
|
||||
// File der Version im Filesystem löschen
|
||||
if (is_file(DMS_PATH . $dms->filename) && ! unlink(DMS_PATH . $dms->filename))
|
||||
{
|
||||
$this->errormsg = "Fehler beim Löschen des Dokuments aufgetreten";
|
||||
return false;
|
||||
}
|
||||
|
||||
// Wenn letzte Version gelöscht wurde -> lösche gesamten Eintrag
|
||||
if ($this->db_num_rows($result) == 0)
|
||||
{
|
||||
if (! $this->deleteDms($dms_id))
|
||||
{
|
||||
$this->errormsg = "Fehler beim Löschen aufgetreten";
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler beim Löschen der Version aufgetreten";
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht einen gesamten DMS Eintrag inklusive aller Versionen und Projekteinträge
|
||||
*
|
||||
* @param $dms_id
|
||||
*/
|
||||
public function deleteDms($dms_id)
|
||||
{
|
||||
$this->load($dms_id);
|
||||
$this->getAllVersions($dms_id);
|
||||
$error = false;
|
||||
|
||||
// lösche Versionen
|
||||
$qry = "BEGIN;DELETE FROM campus.tbl_dms_version WHERE dms_id =" . $this->db_add_param($dms_id, FHC_INTEGER) . "; ";
|
||||
$qry .= "DELETE FROM fue.tbl_projekt_dokument WHERE dms_id=" . $this->db_add_param($dms_id, FHC_INTEGER) . "; ";
|
||||
$qry .= "DELETE FROM campus.tbl_dms WHERE dms_id =" . $this->db_add_param($dms_id, FHC_INTEGER) . ";";
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
$this->db_query('COMMIT;');
|
||||
|
||||
// Alle Versionen der Datei im Filesystem löschen
|
||||
foreach ($this->result as $obj)
|
||||
{
|
||||
if (is_file(DMS_PATH . $obj->filename) && ! unlink(DMS_PATH . $obj->filename))
|
||||
$error = true;
|
||||
}
|
||||
|
||||
if ($error)
|
||||
{
|
||||
$this->errormsg = "Fehler beim Löschen des Dokuments aufgetreten";
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK;');
|
||||
$this->errormsg = "Fehler beim Löschen des Eintrages aufgetreten";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht einen gesamten DMS Eintrag inklusive aller Versionen und Projekteinträge
|
||||
* @param $dms_id
|
||||
*/
|
||||
public function deleteDms($dms_id)
|
||||
{
|
||||
$this->load($dms_id);
|
||||
$this->getAllVersions($dms_id);
|
||||
$error = false;
|
||||
|
||||
// lösche Versionen
|
||||
$qry ="BEGIN;DELETE FROM campus.tbl_dms_version WHERE dms_id =".$this->db_add_param($dms_id, FHC_INTEGER)."; ";
|
||||
$qry.="DELETE FROM fue.tbl_projekt_dokument WHERE dms_id=".$this->db_add_param($dms_id, FHC_INTEGER)."; ";
|
||||
$qry.="DELETE FROM campus.tbl_dms WHERE dms_id =".$this->db_add_param($dms_id, FHC_INTEGER).";";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
$this->db_query('COMMIT;');
|
||||
|
||||
// Alle Versionen der Datei im Filesystem löschen
|
||||
foreach($this->result as $obj)
|
||||
{
|
||||
if(is_file(DMS_PATH.$obj->filename) && !unlink(DMS_PATH.$obj->filename))
|
||||
$error = true;
|
||||
}
|
||||
|
||||
if($error)
|
||||
{
|
||||
$this->errormsg = "Fehler beim Löschen des Dokuments aufgetreten";
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK;');
|
||||
$this->errormsg = "Fehler beim Löschen des Eintrages aufgetreten";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Setzt die Zeit des letzten Zugriffs auf die Datei
|
||||
*
|
||||
* @param $dms_id
|
||||
@@ -339,16 +350,16 @@ class dms extends basis_db
|
||||
if($this->db_num_rows($result) == 0 )
|
||||
{
|
||||
$qry ="BEGIN; DELETE FROM campus.tbl_dms_kategorie_gruppe where kategorie_kurzbz =".$this->db_add_param($kategorie_kurzbz, FHC_STRING).";
|
||||
DELETE FROM campus.tbl_dms_kategorie WHERE kategorie_kurzbz =".$this->db_add_param($kategorie_kurzbz, FHC_STRING).';';
|
||||
DELETE FROM campus.tbl_dms_kategorie WHERE kategorie_kurzbz =".$this->db_add_param($kategorie_kurzbz, FHC_STRING).';';
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
$this->db_query('COMMIT;');
|
||||
$this->db_query('COMMIT;');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten'."\n";
|
||||
$this->db_query('ROLLBACK;');
|
||||
$this->db_query('ROLLBACK;');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -489,11 +500,13 @@ class dms extends basis_db
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='INSERT INTO campus.tbl_dms_kategorie (kategorie_kurzbz, bezeichnung, beschreibung, parent_kategorie_kurzbz) VALUES('.
|
||||
$this->db_add_param($this->kategorie_kurzbz).', '.
|
||||
$this->db_add_param($this->bezeichnung).', '.
|
||||
$this->db_add_param($this->beschreibung).', '.
|
||||
$this->db_add_param($this->parent_kategorie_kurzbz).');';
|
||||
$qry='INSERT INTO campus.tbl_dms_kategorie (kategorie_kurzbz, bezeichnung, beschreibung, parent_kategorie_kurzbz, oe_kurzbz, berechtigung_kurzbz) VALUES('.
|
||||
$this->db_add_param($this->kategorie_kurzbz).', '.
|
||||
$this->db_add_param($this->bezeichnung).', '.
|
||||
$this->db_add_param($this->beschreibung).', '.
|
||||
$this->db_add_param($this->parent_kategorie_kurzbz).', '.
|
||||
$this->db_add_param($this->kategorie_oe_kurzbz).', '.
|
||||
$this->db_add_param($this->berechtigung_kurzbz).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -503,7 +516,9 @@ class dms extends basis_db
|
||||
' kategorie_kurzbz='.$this->db_add_param($this->kategorie_kurzbz).', '.
|
||||
' bezeichnung='.$this->db_add_param($this->bezeichnung).', '.
|
||||
' beschreibung='.$this->db_add_param($this->beschreibung).', '.
|
||||
' parent_kategorie_kurzbz='.$this->db_add_param($this->parent_kategorie_kurzbz).' '.
|
||||
' parent_kategorie_kurzbz='.$this->db_add_param($this->parent_kategorie_kurzbz).', '.
|
||||
' oe_kurzbz='.$this->db_add_param($this->kategorie_oe_kurzbz).', '.
|
||||
' berechtigung_kurzbz='.$this->db_add_param($this->berechtigung_kurzbz).' '.
|
||||
'WHERE kategorie_kurzbz='.$this->db_add_param($this->kategorie_kurzbz_old).';';
|
||||
}
|
||||
|
||||
@@ -537,6 +552,8 @@ class dms extends basis_db
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->parent_kategorie_kurzbz = $row->parent_kategorie_kurzbz;
|
||||
$this->kategorie_kurzbz_old = $row->kategorie_kurzbz;
|
||||
$this->kategorie_oe_kurzbz = $row->oe_kurzbz;
|
||||
$this->berechtigung_kurzbz = $row->berechtigung_kurzbz;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -567,6 +584,8 @@ class dms extends basis_db
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->parent_kategorie_kurzbz = $row->parent_kategorie_kurzbz;
|
||||
$obj->kategorie_oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
|
||||
|
||||
$this->result[]= $obj;
|
||||
}
|
||||
@@ -577,8 +596,7 @@ class dms extends basis_db
|
||||
|
||||
/**
|
||||
* Laedt die Kategorien
|
||||
* @param $parent_kategorie_kurzbz Wenn die Parent Kategorie übergeben wird, werden nur die direkten
|
||||
* Unterkategorien geladen
|
||||
* @param string $parent_kategorie_kurzbz Wenn die Parent Kategorie übergeben wird, werden nur die direkten Unterkategorien geladen
|
||||
* @return boolean
|
||||
*/
|
||||
public function getKategorie($parent_kategorie_kurzbz='')
|
||||
@@ -600,6 +618,8 @@ class dms extends basis_db
|
||||
$obj->kategorie_kurzbz = $row->kategorie_kurzbz;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->kategorie_oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -663,6 +683,8 @@ class dms extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
|
||||
$obj->schlagworte = $row->schlagworte;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -675,10 +697,35 @@ class dms extends basis_db
|
||||
}
|
||||
|
||||
/**
|
||||
* Sucht nach Dokumenten
|
||||
* Zählt die Anzahl an Dokumenten in einer Kategorie
|
||||
*
|
||||
* @param $kategorie_kurzbz
|
||||
*/
|
||||
public function countDocumentsKategorie($kategorie_kurzbz)
|
||||
{
|
||||
$qry = "SELECT count(*) as anzahl FROM campus.tbl_dms WHERE kategorie_kurzbz=".$this->db_add_param($kategorie_kurzbz).";";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
return $row->anzahl;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sucht nach Dokumenten
|
||||
*
|
||||
* @param string $suchstring String nach dem gesucht werden soll
|
||||
*/
|
||||
public function search($suchstring, $dpp=NULL, $page=NULL)
|
||||
{
|
||||
if (!is_null($dpp) && !is_null($page))
|
||||
@@ -695,12 +742,23 @@ class dms extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM campus.tbl_dms JOIN campus.tbl_dms_version USING(dms_id)
|
||||
WHERE lower(name) like lower('%".$this->db_escape($suchstring)."%')
|
||||
OR lower(beschreibung) like lower('%".$this->db_escape($suchstring)."%')
|
||||
$qry = "SELECT tbl_dms.*, tbl_dms_version.*, tbl_dms_kategorie.berechtigung_kurzbz FROM campus.tbl_dms
|
||||
JOIN campus.tbl_dms_version USING(dms_id)
|
||||
JOIN campus.tbl_dms_kategorie USING (kategorie_kurzbz)";
|
||||
// Wenn erstes Zeichen # ist, dieses wegkürzen und checken ob der Rest numerisch ist. Dann nach eindeutiger ID suchen
|
||||
if (substr($suchstring, 0, 1) == '#')
|
||||
{
|
||||
$suchstring = substr($suchstring, 1);
|
||||
if (is_numeric($suchstring))
|
||||
$qry .= " WHERE tbl_dms.dms_id = ".$this->db_add_param($suchstring, FHC_INTEGER);
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry .= " WHERE lower(name) like lower('%".$this->db_escape($suchstring)."%')
|
||||
OR lower(tbl_dms_version.beschreibung) like lower('%".$this->db_escape($suchstring)."%')
|
||||
";
|
||||
}
|
||||
|
||||
|
||||
if (is_numeric($suchstring))
|
||||
$qry.= " OR dms_id = ".$this->db_escape($suchstring)."";
|
||||
|
||||
@@ -728,6 +786,9 @@ class dms extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
|
||||
$obj->schlagworte = $row->schlagworte;
|
||||
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -740,19 +801,19 @@ class dms extends basis_db
|
||||
}
|
||||
|
||||
/**
|
||||
* Sucht nach Dokumenten (nur Spalte Beschreibung) mit der aktuellsten Version.
|
||||
* Sucht nach Dokumenten (Spalte schlagworte) mit der aktuellsten Version, bei denen cis_suche true ist
|
||||
* Optional kann die Anzahl an Suchergebnissen übergeben werden.
|
||||
*
|
||||
* @param suchstring
|
||||
* @param limit (optional)
|
||||
* @param string $suchstring
|
||||
* @param integer $limit (optional)
|
||||
*/
|
||||
public function searchLastVersion($suchstring, $limit=null)
|
||||
{
|
||||
$qry = "SELECT * FROM campus.tbl_dms JOIN campus.tbl_dms_version USING(dms_id)
|
||||
WHERE 1=1 ";
|
||||
$qry = "SELECT * FROM campus.tbl_dms JOIN campus.tbl_dms_version USING(dms_id)
|
||||
WHERE cis_suche=true ";
|
||||
foreach($suchstring as $value)
|
||||
$qry.=" AND (lower(beschreibung::text) like lower('%".$this->db_escape($value)."%')
|
||||
OR lower (beschreibung::text) like lower ('%".$this->db_escape(htmlentities($value,ENT_NOQUOTES,'UTF-8'))."%'))";
|
||||
$qry.=" AND (lower(schlagworte::text) like lower('%".$this->db_escape($value)."%')
|
||||
OR lower (schlagworte::text) like lower ('%".$this->db_escape(htmlentities($value,ENT_NOQUOTES,'UTF-8'))."%'))";
|
||||
$qry.= "AND version=(SELECT MAX(version) FROM campus.tbl_dms_version where dms_id=tbl_dms.dms_id)";
|
||||
|
||||
if(!is_null($limit) && is_numeric($limit))
|
||||
@@ -777,6 +838,8 @@ class dms extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
|
||||
$obj->schlagworte = $row->schlagworte;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -791,7 +854,7 @@ class dms extends basis_db
|
||||
/**
|
||||
*
|
||||
* lädt alle Versionen zu einer übergebenen ID
|
||||
* @param $id der zu ladenden Dokumente
|
||||
* @param integer $id ID der zu ladenden Dokumente
|
||||
*/
|
||||
public function getAllVersions($dms_id)
|
||||
{
|
||||
@@ -823,6 +886,8 @@ class dms extends basis_db
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->version = $row->version;
|
||||
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
|
||||
$obj->schlagworte = $row->schlagworte;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -899,6 +964,8 @@ class dms extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
|
||||
$obj->schlagworte = $row->schlagworte;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -948,6 +1015,8 @@ class dms extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
|
||||
$obj->schlagworte = $row->schlagworte;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -998,6 +1067,8 @@ class dms extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
|
||||
$obj->schlagworte = $row->schlagworte;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -1346,6 +1417,8 @@ class dms extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
|
||||
$obj->schlagworte = $row->schlagworte;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -1366,8 +1439,8 @@ class dms extends basis_db
|
||||
$qry.= " AND parent_kategorie_kurzbz=".$this->db_add_param($parent_kategorie_kurzbz);
|
||||
else
|
||||
$qry.=" AND parent_kategorie_kurzbz is null";
|
||||
|
||||
$qry.=";";
|
||||
|
||||
$qry.=";";
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
@@ -1378,6 +1451,9 @@ class dms extends basis_db
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->parent_kategorie_kurzbz = $row->parent_kategorie_kurzbz;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
@@ -575,7 +575,7 @@ class organisationseinheit extends basis_db
|
||||
OR (LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape($value).'%\'))';
|
||||
}
|
||||
$qry.= ' ORDER BY organisationseinheittyp_kurzbz, bezeichnung;';
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
|
||||
@@ -1105,6 +1105,7 @@ class prestudent extends person
|
||||
$this->studienplan_bezeichnung = $row->studienplan_bezeichnung;
|
||||
$this->rt_stufe = $row->rt_stufe;
|
||||
$this->statusgrund_id = $row->statusgrund_id;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -109,7 +109,7 @@ $menu=array
|
||||
'Benutzer'=>array
|
||||
(
|
||||
'name'=>'Benutzer','permissions'=>array('admin','lv-plan','support'),
|
||||
'Funktionen'=>array('name'=>'Funktionen', 'link'=>'personen/funktion.php', 'target'=>'main'),
|
||||
'Funktionen'=>array('name'=>'Funktionen', 'link'=>'personen/funktion.php', 'target'=>'main', 'permissions'=>array('mitarbeiter')),
|
||||
'Berechtigungen'=>array('name'=>'Berechtigungen', 'link'=>'stammdaten/benutzerberechtigung_frameset.html', 'target'=>'main','permissions'=>array('basis/berechtigung')),
|
||||
'Rollen'=>array('name'=>'Rollen', 'link'=>'stammdaten/berechtigungrolle.php', 'target'=>'main','permissions'=>array('basis/berechtigung')),
|
||||
'Variablen'=>array('name'=>'Variablen', 'link'=>'stammdaten/variablen_frameset.html', 'target'=>'main', 'target'=>'main','permissions'=>array('basis/variable')),
|
||||
@@ -188,7 +188,7 @@ $menu=array
|
||||
'Firmenwartung'=>array('name'=>'Firmenwartung', 'link'=>'stammdaten/firma_zusammen_uebersicht.php', 'target'=>'main','permissions'=>array('basis/firma')),
|
||||
'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main', 'permissions'=>array('student/stammdaten')),
|
||||
'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main','permissions'=>array('assistenz')),
|
||||
'lv_merge'=>array('name'=>'LVs zusammenlegen', 'link'=>'lehre/lv_merge.php', 'target'=>'main','permissions'=>array('admin','lv-plan')),
|
||||
'lv_merge'=>array('name'=>'LVs zusammenlegen', 'link'=>'lehre/lv_merge.php', 'target'=>'main','permissions'=>array('lehre/lehrveranstaltung')),
|
||||
'akteupdate'=>array('name'=>'Akten überschreiben', 'link'=>'personen/akteupdate.php', 'target'=>'main','permissions'=>array('admin')),
|
||||
),
|
||||
'Auswertung'=> array
|
||||
|
||||
@@ -148,6 +148,39 @@ class zeitaufzeichnung extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
// ER - Checks
|
||||
if ($this->aktivitaet_kurzbz == 'Ersatzruhe')
|
||||
{
|
||||
$check_qry = "SELECT count(*) from campus.tbl_zeitaufzeichnung where uid=".$this->db_add_param($this->uid)." and (start < ".$this->db_add_param($this->ende)." and ende > ".$this->db_add_param($this->start).")";
|
||||
if ($this->zeitaufzeichnung_id)
|
||||
$check_qry .= " and zeitaufzeichnung_id != ".$this->db_add_param($this->zeitaufzeichnung_id);
|
||||
if($this->db_query($check_qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
if ($row->count)
|
||||
{
|
||||
$this->errormsg = 'Ersatzruhe darf nicht Überlappen!';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($this->aktivitaet_kurzbz != 'Ersatzruhe')
|
||||
{
|
||||
$check_qry = "SELECT count(*) from campus.tbl_zeitaufzeichnung where uid=".$this->db_add_param($this->uid)." and aktivitaet_kurzbz = 'Ersatzruhe' and (start < ".$this->db_add_param($this->ende)." and ende > ".$this->db_add_param($this->start).")";
|
||||
if($this->db_query($check_qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
if ($row->count)
|
||||
{
|
||||
$this->errormsg = 'Eintrag darf nicht mit Ersatzruhe Überlappen!';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user