mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 08:22:17 +00:00
Merge checksystem with dokumentvorlagen
This commit is contained in:
+36
-16
@@ -341,14 +341,24 @@ if (!isset($_REQUEST["archive"]))
|
||||
|
||||
// Wenn ein Style XSL uebergeben wurde wird ein zweites XML File erstellt mit den
|
||||
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
|
||||
if(isset($_GET['style_xsl']))
|
||||
if(isset($_GET['style_xsl']) || $vorlage->style!='')
|
||||
{
|
||||
$style_xsl=$_GET['style_xsl'];
|
||||
$style_vorlage = new vorlage();
|
||||
$style_vorlage->getAktuelleVorlage($xsl_stg_kz, $style_xsl, $version);
|
||||
$style_xsl_doc = new DOMDocument;
|
||||
if(!$style_xsl_doc->loadXML($style_vorlage->text))
|
||||
die('unable to load xsl');
|
||||
//Wenn die Spalte style in der DB befuellt ist, wird dieses verwendet
|
||||
if($vorlage->style!='')
|
||||
{
|
||||
$style_xsl_doc = new DOMDocument;
|
||||
if(!$style_xsl_doc->loadXML($vorlage->style))
|
||||
die('unable to load xsl from tbl_vorlagestudiengang');
|
||||
}
|
||||
else
|
||||
{
|
||||
$style_xsl=$_GET['style_xsl'];
|
||||
$style_vorlage = new vorlage();
|
||||
$style_vorlage->getAktuelleVorlage($xsl_stg_kz, $style_xsl, $version);
|
||||
$style_xsl_doc = new DOMDocument;
|
||||
if(!$style_xsl_doc->loadXML($style_vorlage->text))
|
||||
die('unable to load xsl');
|
||||
}
|
||||
|
||||
// Configure the transformer
|
||||
$style_proc = new XSLTProcessor;
|
||||
@@ -380,7 +390,7 @@ if (!isset($_REQUEST["archive"]))
|
||||
if(copy($zipfile, $tempname_zip))
|
||||
{
|
||||
exec("zip $tempname_zip content.xml");
|
||||
if(isset($_GET['style_xsl']))
|
||||
if(isset($_GET['style_xsl']) || $vorlage->style!='')
|
||||
exec("zip $tempname_zip styles.xml");
|
||||
|
||||
clearstatcache();
|
||||
@@ -464,7 +474,7 @@ if (!isset($_REQUEST["archive"]))
|
||||
fclose($handle);
|
||||
|
||||
unlink('content.xml');
|
||||
if(isset($_GET['style_xsl']))
|
||||
if(isset($_GET['style_xsl']) || $vorlage->style!='')
|
||||
unlink('styles.xml');
|
||||
unlink($tempname_zip);
|
||||
if($output=='pdf' || $output=='doc')
|
||||
@@ -595,12 +605,22 @@ else
|
||||
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
|
||||
if(isset($_GET['style_xsl']))
|
||||
{
|
||||
$style_xsl=$_GET['style_xsl'];
|
||||
$style_vorlage = new vorlage();
|
||||
$style_vorlage->getAktuelleVorlage($xsl_stg_kz, $style_xsl, $version);
|
||||
$style_xsl_doc = new DOMDocument;
|
||||
if(!$style_xsl_doc->loadXML($style_vorlage->text))
|
||||
die('unable to load xsl');
|
||||
//Wenn die Spalte style in der DB befuellt ist, wird dieses verwendet
|
||||
if($vorlage->style!='')
|
||||
{
|
||||
$style_xsl_doc = new DOMDocument;
|
||||
if(!$style_xsl_doc->loadXML($vorlage->style))
|
||||
die('unable to load xsl from tbl_vorlagestudiengang');
|
||||
}
|
||||
else
|
||||
{
|
||||
$style_xsl=$_GET['style_xsl'];
|
||||
$style_vorlage = new vorlage();
|
||||
$style_vorlage->getAktuelleVorlage($xsl_stg_kz, $style_xsl, $version);
|
||||
$style_xsl_doc = new DOMDocument;
|
||||
if(!$style_xsl_doc->loadXML($style_vorlage->text))
|
||||
die('unable to load xsl');
|
||||
}
|
||||
|
||||
// Configure the transformer
|
||||
$style_proc = new XSLTProcessor;
|
||||
@@ -632,7 +652,7 @@ else
|
||||
if(copy($zipfile, $tempname_zip))
|
||||
{
|
||||
exec("zip $tempname_zip content.xml");
|
||||
if(isset($_GET['style_xsl']))
|
||||
if(isset($_GET['style_xsl']) || $vorlage->style!='')
|
||||
exec("zip $tempname_zip styles.xml");
|
||||
|
||||
clearstatcache();
|
||||
|
||||
@@ -203,7 +203,6 @@ class service extends basis_db
|
||||
) AS a
|
||||
GROUP BY service_id,oe_kurzbz,bezeichnung,beschreibung,ext_id,content_id
|
||||
ORDER BY anzahl DESC,bezeichnung,oe_kurzbz";
|
||||
echo $qry;
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
|
||||
+330
-5
@@ -34,11 +34,18 @@ class vorlage extends basis_db
|
||||
public $new;
|
||||
|
||||
//Tabellenspalten
|
||||
public $vorlage_kurzbz; // varchar(16)
|
||||
public $studiengang_kz; // integer
|
||||
public $version; // smallint
|
||||
public $text; // text
|
||||
public $mimetype; // varchar(64)
|
||||
public $vorlage_kurzbz; // varchar(16)
|
||||
public $studiengang_kz; // integer
|
||||
public $version; // smallint
|
||||
public $text; // text
|
||||
public $mimetype; // varchar(64)
|
||||
public $bezeichnung; // varchar(64)
|
||||
public $anmerkung; // text
|
||||
public $style; // text
|
||||
public $berechtigung; // varchar(32)[]
|
||||
public $oe_kurzbz; // varchar(32)
|
||||
public $vorlagestudiengang_id; // bigint
|
||||
public $anmerkung_vorlagestudiengang; // text
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -47,7 +54,321 @@ class vorlage extends basis_db
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt eine Vorlage
|
||||
* @param $vorlage_kurzbz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function loadVorlage($vorlage_kurzbz)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_vorlage WHERE vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz);
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->vorlage_kurzbz = $row->vorlage_kurzbz;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->mimetype = $row->mimetype;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Eintrag wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert eine Vorlage
|
||||
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
|
||||
* angelegt, ansonsten der Datensatz upgedated
|
||||
* @return true wenn erfolgreich, false im Fehlerfall
|
||||
*/
|
||||
public function saveVorlage($new=null)
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = "INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung, mimetype) VALUES(".
|
||||
$this->db_add_param($this->vorlage_kurzbz).','.
|
||||
$this->db_add_param($this->bezeichnung).','.
|
||||
$this->db_add_param($this->anmerkung).','.
|
||||
$this->db_add_param($this->mimetype).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE public.tbl_vorlage
|
||||
SET bezeichnung='.$this->db_add_param($this->bezeichnung).',
|
||||
anmerkung='.$this->db_add_param($this->anmerkung).',
|
||||
mimetype='.$this->db_add_param($this->mimetype).',
|
||||
WHERE vorlage_kurzbz='.$this->db_add_param($this->vorlage_kurzbz).';';
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern: '.$this->db_last_error();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Vorlagen
|
||||
* @param $order Sortierreihenfolge. Default:vorlage_kurzbz
|
||||
*/
|
||||
public function getAllVorlagen($order='vorlage_kurzbz')
|
||||
{
|
||||
$qry ="SELECT * FROM public.tbl_vorlage ORDER BY ".$order.";";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new vorlage();
|
||||
$obj->vorlage_kurzbz = $row->vorlage_kurzbz;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->mimetype = $row->mimetype;
|
||||
|
||||
$this->result[]= $obj;
|
||||
}
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Vorlage zu einer OE
|
||||
* @param $vorlage_kurzbz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function loadVorlageOE($vorlagestudiengang_id)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_vorlagestudiengang WHERE vorlagestudiengang_id=".$this->db_add_param($vorlagestudiengang_id);
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->vorlagestudiengang_id = $row->vorlagestudiengang_id;
|
||||
$this->vorlage_kurzbz = $row->vorlage_kurzbz;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->version = $row->version;
|
||||
$this->text = $row->text;
|
||||
$this->oe_kurzbz = $row->oe_kurzbz;
|
||||
$this->style = $row->style;
|
||||
$this->berechtigung = $row->berechtigung;
|
||||
$this->anmerkung_vorlagestudiengang = $row->anmerkung_vorlagestudiengang;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Eintrag wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Versionen einer Vorlage
|
||||
* @param $vorlage_kurzbz
|
||||
* @param $oe_kurzbz Optional. Gibt nur die Vorlagen zu dieser OE aus.
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getAllVersions($vorlage_kurzbz=null, $oe_kurzbz=null)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
public.tbl_vorlagestudiengang
|
||||
WHERE
|
||||
1=1";
|
||||
if(!is_null($vorlage_kurzbz) && $vorlage_kurzbz!='')
|
||||
{
|
||||
$qry.=" AND vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz);
|
||||
}
|
||||
if(!is_null($oe_kurzbz) && $oe_kurzbz!='')
|
||||
{
|
||||
$qry.=" AND oe_kurzbz=".$this->db_add_param($oe_kurzbz);
|
||||
}
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new vorlage();
|
||||
$obj->vorlagestudiengang_id = $row->vorlagestudiengang_id;
|
||||
$obj->vorlage_kurzbz = $row->vorlage_kurzbz;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->version = $row->version;
|
||||
$obj->text = $row->text;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->style = $row->style;
|
||||
$obj->berechtigung = $row->berechtigung;
|
||||
$obj->anmerkung_vorlagestudiengang = $row->anmerkung_vorlagestudiengang;
|
||||
|
||||
$this->result[]= $obj;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle OEs, welche die $vorlage_kurzbz verwenden
|
||||
* @param $vorlage_kurzbz Kurzbezeichnung der Vorlage
|
||||
*/
|
||||
public function getOEsFromVorlage($vorlage_kurzbz=null)
|
||||
{
|
||||
$qry ="SELECT DISTINCT
|
||||
tbl_organisationseinheit.*
|
||||
FROM
|
||||
public.tbl_vorlagestudiengang
|
||||
JOIN
|
||||
public.tbl_organisationseinheit USING (oe_kurzbz)
|
||||
WHERE
|
||||
vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz)."
|
||||
ORDER BY oe_kurzbz";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new vorlage();
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->oe_parent_kurzbz = $row->oe_parent_kurzbz;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->organisationseinheittyp_kurzbz = $row->organisationseinheittyp_kurzbz;
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$obj->mailverteiler = $this->db_parse_bool($row->mailverteiler);
|
||||
$obj->lehre = $this->db_parse_bool($row->lehre);
|
||||
|
||||
$this->result[]= $obj;
|
||||
}
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert die Vorlage zu einer OE
|
||||
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
|
||||
* angelegt, ansonsten der Datensatz upgedated
|
||||
* @return true wenn erfolgreich, false im Fehlerfall
|
||||
*/
|
||||
public function saveVorlageOE($new=null)
|
||||
{
|
||||
if($new == null)
|
||||
$new = $this->new;
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = "INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz,studiengang_kz,version,text,oe_kurzbz,style,berechtigung,anmerkung_vorlagestudiengang) VALUES(".
|
||||
$this->db_add_param($this->vorlage_kurzbz).','.
|
||||
$this->db_add_param($this->studiengang_kz).','.
|
||||
$this->db_add_param($this->version).','.
|
||||
$this->db_add_param($this->text).','.
|
||||
$this->db_add_param($this->oe_kurzbz).','.
|
||||
$this->db_add_param($this->style).','.
|
||||
$this->db_add_param($this->berechtigung).','.
|
||||
$this->db_add_param($this->anmerkung_vorlagestudiengang).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE public.tbl_vorlagestudiengang
|
||||
SET vorlage_kurzbz='.$this->db_add_param($this->vorlage_kurzbz).',
|
||||
studiengang_kz='.$this->db_add_param($this->studiengang_kz).',
|
||||
version='.$this->db_add_param($this->version).',
|
||||
text='.$this->db_add_param($this->text).',
|
||||
oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).',
|
||||
style='.$this->db_add_param($this->style).',
|
||||
berechtigung='.$this->db_add_param($this->berechtigung).',
|
||||
anmerkung_vorlagestudiengang='.$this->db_add_param($this->anmerkung_vorlagestudiengang).'
|
||||
WHERE vorlagestudiengang_id='.$this->db_add_param($this->vorlagestudiengang_id).';';
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern: '.$this->db_last_error();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht die Vorlagestudiengagn
|
||||
* @param type $vorlagestudiengang_id ID der Vorlage
|
||||
*/
|
||||
public function deleteVorlagestudiengang($vorlagestudiengang_id)
|
||||
{
|
||||
$qry = 'DELETE FROM public.tbl_vorlagestudiengang WHERE vorlagestudiengang_id='.$this->db_add_param($vorlagestudiengang_id).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Vorlage konnte nicht gelöscht werden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die hoechste Version der Vorlage
|
||||
*
|
||||
* @param $oe_kurzbz Organisationseinheit der Vorlage
|
||||
* @param $vorlage_kurzbz Name der Vorlage
|
||||
*/
|
||||
public function getMaxVersion($oe_kurzbz, $vorlage_kurzbz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
max(version) maxversion
|
||||
FROM
|
||||
public.tbl_vorlagestudiengang
|
||||
WHERE
|
||||
vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz)."
|
||||
AND
|
||||
oe_kurzbz=".$this->db_add_param($oe_kurzbz);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
return $row->maxversion;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg='Fehler beim Ermitteln der hoechsten Version';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert die aktuelle Vorlage
|
||||
*
|
||||
@@ -116,6 +437,10 @@ class vorlage extends basis_db
|
||||
$this->text = $row->text;
|
||||
$this->mimetype = $row->mimetype;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->style = $row->style;
|
||||
$this->berechtigung = $row->berechtigung;
|
||||
$this->anmerkung_vorlagestudiengang = $row->anmerkung_vorlagestudiengang;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
||||
+69
-2
@@ -3146,7 +3146,6 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Spalte anrechnung_id fuer campus.tbl_pruefungsanmeldung
|
||||
if(!$result = @$db->db_query("SELECT anrechnung_id FROM campus.tbl_pruefungsanmeldung"))
|
||||
{
|
||||
@@ -3173,6 +3172,74 @@ if(!$result = @$db->db_query("SELECT warn_semesterstunden_frei FROM public.tbl_o
|
||||
echo ' public.tbl_organisationseinheit: neue Spalte warn_semesterstunden_frei, warn_semesterstunden_fix hinzugefuegt!<br>';
|
||||
}
|
||||
|
||||
// Gruppe CMS_LOCK anlegen (benoetigt fuer das Sperren von CMS-Content)
|
||||
if($result = @$db->db_query("SELECT 1 FROM public.tbl_gruppe WHERE gruppe_kurzbz='CMS_LOCK' LIMIT 1"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "
|
||||
INSERT INTO public.tbl_gruppe(gruppe_kurzbz,studiengang_kz,semester,bezeichnung,beschreibung,sichtbar,lehre,aktiv,sort,mailgrp,generiert,insertamum,insertvon,orgform_kurzbz,content_visible,gesperrt,zutrittssystem) VALUES('CMS_LOCK',0,NULL,'CMS_LOCK','Sperrgruppe CMS',FALSE,TRUE,TRUE,NULL,FALSE,FALSE,now(),'checksystem',NULL,WAHR,FALSE,FALSE);
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_gruppe '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' public.tbl_gruppe: Gruppe CMS_LOCK angelegt (benoetigt fuer das Sperren von CMS-Content)<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// DMS-Kategorie Akte anlegen und mit CMS_LOCK sperren
|
||||
if($result = @$db->db_query("SELECT 1 FROM campus.tbl_dms_kategorie WHERE kategorie_kurzbz='Akte' LIMIT 1"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "
|
||||
INSERT INTO campus.tbl_dms_kategorie(kategorie_kurzbz,bezeichnung,beschreibung,parent_kategorie_kurzbz) VALUES('Akte','Akten','Akten zu Personen',NULL);
|
||||
INSERT INTO campus.tbl_dms_kategorie_gruppe(kategorie_kurzbz,gruppe_kurzbz,insertamum,insertvon) VALUES('Akte','CMS_LOCK',now(),'checksystem');
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>campus.tbl_dms_kategorie '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' campus.tbl_dms_kategorie: Kategorie Akte angelegt und mit Gruppe CMS_LOCK gesperrt<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// DMS-Kategorie notiz anlegen und mit CMS_LOCK sperren
|
||||
if($result = @$db->db_query("SELECT 1 FROM campus.tbl_dms_kategorie WHERE kategorie_kurzbz='notiz' LIMIT 1"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "
|
||||
INSERT INTO campus.tbl_dms_kategorie(kategorie_kurzbz,bezeichnung,beschreibung,parent_kategorie_kurzbz) VALUES('notiz','Notizen',NULL,NULL);
|
||||
INSERT INTO campus.tbl_dms_kategorie_gruppe(kategorie_kurzbz,gruppe_kurzbz,insertamum,insertvon) VALUES('notiz','CMS_LOCK',now(),'checksystem');
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>campus.tbl_dms_kategorie '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' campus.tbl_dms_kategorie: Kategorie Notiz angelegt und mit Gruppe CMS_LOCK gesperrt<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// Spalte style, berechtigung und anmerkung_vorlagestudiengang fuer public.tbl_vorlagestudiengang und neues Recht basis/dokumente fuer die Dokumentenverwaltung
|
||||
if(!$result = @$db->db_query("SELECT style FROM public.tbl_vorlagestudiengang"))
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_vorlagestudiengang ADD COLUMN style text;
|
||||
ALTER TABLE public.tbl_vorlagestudiengang ADD COLUMN berechtigung varchar(32)[];
|
||||
ALTER TABLE public.tbl_vorlagestudiengang ADD COLUMN anmerkung_vorlagestudiengang text;
|
||||
|
||||
INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('basis/dokumente','Verwaltung der Dokumentvorlagen');
|
||||
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_vorlagestudiengang TO vilesci;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_vorlagestudiengang: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_vorlagestudiengang: Neue Spalten style, berechtigung und anmerkung_vorlagestudiengang hinzugefuegt. Neues Recht basis/dokumente angelegt';
|
||||
}
|
||||
|
||||
echo '<br><br><br>';
|
||||
|
||||
$tabellen=array(
|
||||
@@ -3386,7 +3453,7 @@ $tabellen=array(
|
||||
"public.tbl_tag" => array("tag"),
|
||||
"public.tbl_variable" => array("name","uid","wert"),
|
||||
"public.tbl_vorlage" => array("vorlage_kurzbz","bezeichnung","anmerkung","mimetype"),
|
||||
"public.tbl_vorlagestudiengang" => array("vorlagestudiengang_id","vorlage_kurzbz","studiengang_kz","version","text","oe_kurzbz"),
|
||||
"public.tbl_vorlagestudiengang" => array("vorlagestudiengang_id","vorlage_kurzbz","studiengang_kz","version","text","oe_kurzbz","style","berechtigung","anmerkung_vorlagestudiengang"),
|
||||
"testtool.tbl_ablauf" => array("ablauf_id","gebiet_id","studiengang_kz","reihung","gewicht","semester", "insertamum","insertvon","updateamum", "updatevon","ablauf_vorgaben_id"),
|
||||
"testtool.tbl_ablauf_vorgaben" => array("ablauf_vorgaben_id","studiengang_kz","sprache","sprachwahl","content_id","insertamum","insertvon","updateamum", "updatevon"),
|
||||
"testtool.tbl_antwort" => array("antwort_id","pruefling_id","vorschlag_id"),
|
||||
|
||||
@@ -0,0 +1,381 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Manfred Kindl < manfred.kindl@technikum-wien.at >
|
||||
*/
|
||||
/**
|
||||
* Dokumentvorlagen
|
||||
*
|
||||
* - Anlegen und Bearbeiten von Dokumentvorlagen
|
||||
*
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/vorlage.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/organisationseinheit.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
{
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
}
|
||||
|
||||
$user = get_uid();
|
||||
$oe_kurzbz = (isset($_REQUEST['oe_kurzbz']) ? $_REQUEST['oe_kurzbz'] : null);
|
||||
$vorlage_kurzbz = (isset($_REQUEST['vorlage_kurzbz']) ? $_REQUEST['vorlage_kurzbz'] : null);
|
||||
$vorlagestudiengang_id = (isset($_REQUEST['vorlagestudiengang_id']) ? $_REQUEST['vorlagestudiengang_id'] : null);
|
||||
$neu = (isset($_REQUEST['neu']) ? true : false);
|
||||
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->load('0');
|
||||
$default_oe = $studiengang->oe_kurzbz;
|
||||
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/dokumente'))
|
||||
{
|
||||
die($rechte->errormsg);
|
||||
}
|
||||
|
||||
echo '
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Dokumentvorlagen Verwaltung</title>
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
<script type="text/javascript" src="../../include/js/jquery.js"></script>
|
||||
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
|
||||
<link href="../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
|
||||
<script src="../../include/js/jquery1.9.min.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[1,0],[0,0],[3,1]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
});
|
||||
function confdel(val1,val2)
|
||||
{
|
||||
return confirm("Wollen Sie die Vorlage "+val1+" Version "+val2+" wirklich loeschen?");
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body class="Background_main">
|
||||
<h2>Dokumentvorlagen Verwaltung</h2>';
|
||||
|
||||
// Speichern einer Dokumentvorlage
|
||||
if(isset($_POST['speichern']))
|
||||
{
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/dokumente', $oe_kurzbz, 'sui'))
|
||||
{
|
||||
die($rechte->errormsg);
|
||||
}
|
||||
|
||||
$dokumentvorlage = new vorlage();
|
||||
|
||||
if(isset($_POST['vorlagestudiengang_id']) && $_POST['vorlagestudiengang_id']!='')
|
||||
{
|
||||
//Vorlage laden
|
||||
if(!$dokumentvorlage->loadVorlageOE($_POST['vorlagestudiengang_id']))
|
||||
{
|
||||
die($dokumentvorlage->errormsg);
|
||||
}
|
||||
|
||||
$dokumentvorlage->new=false;
|
||||
$dokumentvorlage->vorlagestudiengang_id = $_POST['vorlagestudiengang_id'];
|
||||
}
|
||||
else
|
||||
{
|
||||
//Neue Vorlage anlegen
|
||||
$dokumentvorlage->new=true;
|
||||
}
|
||||
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->getStudiengangFromOe($_POST['oe_kurzbz']);
|
||||
|
||||
if ($studiengang->studiengang_kz=='')
|
||||
$studiengang_kz = 0;
|
||||
else
|
||||
$studiengang_kz = $studiengang->studiengang_kz;
|
||||
|
||||
$dokumentvorlage->vorlage_kurzbz = $_POST['vorlage_kurzbz'];
|
||||
$dokumentvorlage->studiengang_kz = $studiengang_kz;
|
||||
$dokumentvorlage->version = $_POST['version'];
|
||||
$dokumentvorlage->text = $_POST['content'];
|
||||
$dokumentvorlage->oe_kurzbz = $_POST['oe_kurzbz'];
|
||||
$dokumentvorlage->style = $_POST['style'];
|
||||
$dokumentvorlage->berechtigung = $_POST['berechtigung'];
|
||||
$dokumentvorlage->anmerkung_vorlagestudiengang = $_POST['anmerkung'];
|
||||
|
||||
if($dokumentvorlage->saveVorlageOE())
|
||||
{
|
||||
echo '<b>Daten wurden erfolgreich gespeichert</b>';
|
||||
//$reihungstest_id = $reihungstest->reihungstest_id;
|
||||
//$stg_kz = $reihungstest->studiengang_kz;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<span class="input_error">'.$db->convert_html_chars($dokumentvorlage->errormsg).'</span>';
|
||||
}
|
||||
$neu=false;
|
||||
}
|
||||
|
||||
// Speichern einer Dokumentvorlage
|
||||
if(isset($_GET['delete']))
|
||||
{
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/dokumente', $oe_kurzbz, 'suid'))
|
||||
{
|
||||
die($rechte->errormsg);
|
||||
}
|
||||
|
||||
if(isset($_GET['vorlagestudiengang_id']) && $_GET['vorlagestudiengang_id']!='')
|
||||
{
|
||||
$dokumentvorlage = new vorlage();
|
||||
if($dokumentvorlage->deleteVorlagestudiengang($_GET['vorlagestudiengang_id']))
|
||||
echo '<b>Vorlage wurde erfolgreich gelöscht</b>';
|
||||
else
|
||||
echo '<span class="input_error">'.$dokumentvorlage->errormsg.'</span>';
|
||||
}
|
||||
else
|
||||
echo '<span class="input_error">Vorlagestudiengang_ID ist nicht gesetzt</span>';
|
||||
|
||||
$neu=true;
|
||||
}
|
||||
|
||||
|
||||
echo '<br><table width="100%"><tr><td>';
|
||||
|
||||
//Vorlagen DropDown
|
||||
$vorlage = new vorlage();
|
||||
$vorlage->getAllVorlagen('bezeichnung');
|
||||
|
||||
echo "<SELECT name='vorlage_kurzbz' id='vorlage' onchange='window.location.href=this.value'>";
|
||||
if($vorlage_kurzbz=='')
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
echo "<OPTION value='".$_SERVER['PHP_SELF']."?vorlage_kurzbz=&oe_kurzbz=$oe_kurzbz' $selected>Alle Vorlagen</OPTION>";
|
||||
foreach ($vorlage->result as $row)
|
||||
{
|
||||
//if($reihungstest_id=='')
|
||||
// $reihungstest_id=$row->reihungstest_id;
|
||||
if($row->vorlage_kurzbz==$vorlage_kurzbz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
echo '<OPTION value="'.$_SERVER['PHP_SELF'].'?vorlage_kurzbz='.$row->vorlage_kurzbz.'" '.$selected.'>'.$db->convert_html_chars(($row->bezeichnung==''?$row->vorlage_kurzbz:$row->bezeichnung)).'</OPTION>';
|
||||
echo "\n";
|
||||
}
|
||||
echo '</SELECT>';
|
||||
|
||||
//OE-Dropdown
|
||||
$organisationseinheit = new vorlage();
|
||||
$organisationseinheit->getOEsFromVorlage($vorlage_kurzbz);
|
||||
|
||||
if ($organisationseinheit->result=='')
|
||||
{
|
||||
$organisationseinheit = new organisationseinheit();
|
||||
$organisationseinheit->getAll();
|
||||
}
|
||||
|
||||
echo "<SELECT name='oe_kurzbz' id='organisationseinheit' onchange='window.location.href=this.value'>";
|
||||
if($oe_kurzbz==$default_oe)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
echo "<OPTION value='".$_SERVER['PHP_SELF']."?vorlage_kurzbz=$vorlage_kurzbz&oe_kurzbz=' $selected>Alle Organisationseinheiten</OPTION>";
|
||||
foreach ($organisationseinheit->result as $row)
|
||||
{
|
||||
if($row->oe_kurzbz==$oe_kurzbz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
echo "<OPTION value='".$_SERVER['PHP_SELF']."?vorlage_kurzbz=$vorlage_kurzbz&oe_kurzbz=$row->oe_kurzbz' $selected>".$db->convert_html_chars($row->organisationseinheittyp_kurzbz." ".$row->bezeichnung)."</OPTION>"."\n";
|
||||
}
|
||||
echo "</SELECT>";
|
||||
echo "<INPUT type='button' value='Anzeigen' onclick='window.location.href=document.getElementById(\"organisationseinheit\").value;'>";
|
||||
echo "</td></tr></table><br>";
|
||||
|
||||
if($vorlagestudiengang_id=='')
|
||||
$neu=true;
|
||||
$vorlageOE = new vorlage();
|
||||
|
||||
if(!$neu)
|
||||
{
|
||||
if(!$vorlageOE->loadVorlageOE($vorlagestudiengang_id))
|
||||
die('Vorlage existiert nicht');
|
||||
}
|
||||
else
|
||||
{
|
||||
$vorlageOE->vorlage_kurzbz = $vorlage_kurzbz;
|
||||
$vorlageOE->oe_kurzbz = $oe_kurzbz;
|
||||
$vorlageOE->version = ($vorlageOE->getMaxVersion($oe_kurzbz, $vorlage_kurzbz))+1;
|
||||
}
|
||||
|
||||
//Formular zum Bearbeiten der Vorlage
|
||||
echo '
|
||||
<input type="button" value="Neue OE-Vorlage anlegen" onclick="window.location.href=\''.$_SERVER['PHP_SELF'].'?vorlage_kurzbz='.$vorlage_kurzbz.'&oe_kurzbz='.$oe_kurzbz.'&neu=true\'" >
|
||||
<hr>
|
||||
<form method="POST" action="'.$_SERVER['PHP_SELF'].'">
|
||||
<table>
|
||||
<tr>
|
||||
<td>Vorlage</td>
|
||||
<td>';
|
||||
|
||||
if($vorlageOE->oe_kurzbz!='')
|
||||
$oe=$vorlageOE->oe_kurzbz;
|
||||
elseif($oe_kurzbz!='')
|
||||
$oe=$oe_kurzbz;
|
||||
else
|
||||
$oe=$default_oe;
|
||||
//Vorlagen DropDown
|
||||
$vorlage = new vorlage();
|
||||
$vorlage->getAllVorlagen('bezeichnung');
|
||||
|
||||
echo '<SELECT name="vorlage_kurzbz" id="vorlage">';
|
||||
foreach ($vorlage->result as $row)
|
||||
{
|
||||
//if($reihungstest_id=='')
|
||||
// $reihungstest_id=$row->reihungstest_id;
|
||||
if($row->vorlage_kurzbz==$vorlageOE->vorlage_kurzbz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
echo '<OPTION value="'.$row->vorlage_kurzbz.'" '.$selected.'>'.$db->convert_html_chars(($row->bezeichnung==''?$row->vorlage_kurzbz:$row->bezeichnung)).'</OPTION>';
|
||||
echo "\n";
|
||||
}
|
||||
echo '</SELECT>
|
||||
|
||||
</td>
|
||||
<tr>
|
||||
<td>Organisationseinheit</td>
|
||||
<td>';
|
||||
//OE-Dropdown
|
||||
$organisationseinheit = new organisationseinheit();
|
||||
$organisationseinheit->getAll(true, true);
|
||||
|
||||
echo "<SELECT name='oe_kurzbz'>";
|
||||
|
||||
foreach ($organisationseinheit->result as $row)
|
||||
{
|
||||
//Wenn keine OE uebergeben wurde, nimm die OE vom Studiengang 0
|
||||
if($row->oe_kurzbz==$oe)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
echo '<OPTION value="'.$row->oe_kurzbz.'" '.$selected.'>'.$db->convert_html_chars($row->organisationseinheittyp_kurzbz.' '.$row->bezeichnung).'</OPTION>';
|
||||
echo "\n";
|
||||
}
|
||||
echo '</SELECT>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Version</td>
|
||||
<td><input type="text" size="4" maxlength="3" name="version" id="version" value="'.$db->convert_html_chars($vorlageOE->version).'"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Content (XML)</td>
|
||||
<td><textarea cols="80" rows="8" name="content">'.$db->convert_html_chars($vorlageOE->text).'</textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Style (XML)</td>
|
||||
<td><textarea cols="80" rows="8" name="style">'.$db->convert_html_chars($vorlageOE->style).'</textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Berechtigung</td>
|
||||
<td><input type="text" size="64" maxlength="64" name="berechtigung" value="'.$db->convert_html_chars($vorlageOE->berechtigung).'"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Anmerkung</td>
|
||||
<td><textarea cols="80" rows="2" name="anmerkung">'.$db->convert_html_chars($vorlageOE->anmerkung_vorlagestudiengang).'</textarea></td>
|
||||
</tr>';
|
||||
if(!$neu)
|
||||
$val = 'Änderung Speichern';
|
||||
else
|
||||
$val = 'Neu anlegen';
|
||||
|
||||
echo '<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<input type="hidden" value="'.$vorlageOE->vorlagestudiengang_id.'" name="vorlagestudiengang_id" />
|
||||
<input type="hidden" value="'.$vorlageOE->vorlage_kurzbz.'" name="vorlage_kurzbz" />
|
||||
<input type="submit" name="speichern" value="'.$val.'">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<hr>';
|
||||
|
||||
if($vorlage_kurzbz!='' || $oe_kurzbz!='')
|
||||
{
|
||||
|
||||
$vorlage_version = new vorlage();
|
||||
$vorlage_version->getAllVersions($vorlage_kurzbz, $oe_kurzbz);
|
||||
$oe = new organisationseinheit();
|
||||
$vorlage = new vorlage();
|
||||
//echo '<span style="font-size: 9pt">Anzahl: '.$db->db_num_rows($vorlage_version->result).'</span>';
|
||||
|
||||
echo '<table class="tablesorter" id="t1">
|
||||
<thead>
|
||||
<tr class="liste">
|
||||
<th>Vorlage</th>
|
||||
<th>Organisationseinheit</th>
|
||||
<th>Studiengang</th>
|
||||
<th>Version</th>
|
||||
<th>Anmerkung</th>
|
||||
<th colspan="2"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>';
|
||||
|
||||
foreach($vorlage_version->result as $row)
|
||||
{
|
||||
$oe->load($row->oe_kurzbz);
|
||||
$vorlage->loadVorlage($row->vorlage_kurzbz);
|
||||
$vorlage_bezeichnung = ($vorlage->bezeichnung==''?$vorlage->vorlage_kurzbz:$vorlage->bezeichnung);
|
||||
|
||||
echo '
|
||||
<tr>
|
||||
<td>'.$db->convert_html_chars($vorlage_bezeichnung).'</td>
|
||||
<td>'.$db->convert_html_chars($oe->organisationseinheittyp_kurzbz.' '.$oe->bezeichnung).'</td>
|
||||
<td>'.$db->convert_html_chars($row->studiengang_kz).'</td>
|
||||
<td>'.$db->convert_html_chars($row->version).'</td>
|
||||
<td>'.$db->convert_html_chars($row->anmerkung_vorlagestudiengang).'</td>
|
||||
<td><a href="'.$_SERVER['PHP_SELF'].'?vorlagestudiengang_id='.$row->vorlagestudiengang_id.'&vorlage_kurzbz='.$vorlage_kurzbz.'&oe_kurzbz='.$row->oe_kurzbz.'">Edit</a></td>
|
||||
<td><a href="'.$_SERVER['PHP_SELF'].'?vorlagestudiengang_id='.$row->vorlagestudiengang_id.'&vorlage_kurzbz='.$vorlage_kurzbz.'&oe_kurzbz='.$row->oe_kurzbz.'&delete" onclick="return confdel(\''.$vorlage_bezeichnung.'\',\''.$row->version.'\')">Delete</a></td>
|
||||
|
||||
</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
}
|
||||
|
||||
echo ' </body>
|
||||
</html>';
|
||||
Reference in New Issue
Block a user