Attribute zur Dokumentbeschreibung

* Attribute dokumentbeschreibung_mehrsprachig und
beschreibung_mehrsprachig hinzugefügt
* Funktion getBeschreibungenDokumente hinzugefügt
* Funktion akzeptiert um Option "studiengang_kz" erweitert
* Whitespace-Korrekturen
This commit is contained in:
kindlm
2015-11-13 20:41:54 +01:00
parent 2e7f0d181b
commit 793aa10e87
2 changed files with 134 additions and 53 deletions
+108 -53
View File
@@ -16,8 +16,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
@@ -30,7 +30,7 @@ class dokument extends basis_db
public $dokument_kurzbz;
public $bezeichnung;
public $studiengang_kz;
public $pflicht;
public $pflicht;
public $prestudent_id;
public $mitarbeiter_uid;
@@ -58,7 +58,7 @@ class dokument extends basis_db
/**
* Laedt eine Dokument-Prestudent Zuordnung
* @param dokument_kurzbz
* prestudent_id
* prestudent_id
*/
public function load($dokument_kurzbz, $prestudent_id)
{
@@ -150,15 +150,15 @@ class dokument extends basis_db
if($new)
{
$qry = 'INSERT INTO public.tbl_dokumentprestudent(dokument_kurzbz, prestudent_id, mitarbeiter_uid, datum, updateamum,
updatevon, insertamum, insertvon) VALUES('.
$this->db_add_param($this->dokument_kurzbz).','.
$this->db_add_param($this->prestudent_id, FHC_INTEGER).','.
$this->db_add_param($this->mitarbeiter_uid).','.
$this->db_add_param($this->datum).','.
$this->db_add_param($this->updateamum).','.
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).');';
updatevon, insertamum, insertvon) VALUES('.
$this->db_add_param($this->dokument_kurzbz).','.
$this->db_add_param($this->prestudent_id, FHC_INTEGER).','.
$this->db_add_param($this->mitarbeiter_uid).','.
$this->db_add_param($this->datum).','.
$this->db_add_param($this->updateamum).','.
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).');';
}
else
{
@@ -217,8 +217,8 @@ class dokument extends basis_db
if($new)
{
$qry = 'INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung) VALUES('.
$this->db_add_param($this->dokument_kurzbz).','.
$this->db_add_param($this->bezeichnung).');';
$this->db_add_param($this->dokument_kurzbz).','.
$this->db_add_param($this->bezeichnung).');';
}
else
{
@@ -241,7 +241,7 @@ class dokument extends basis_db
/**
* Loescht eine Zuordnung
* @param dokument_kurzbz
* prestudent_id
* prestudent_id
*/
public function delete($dokument_kurzbz, $prestudent_id)
{
@@ -266,7 +266,7 @@ class dokument extends basis_db
/**
* Loescht eine Zuordnung
* @param dokument_kurzbz
* stg_kz
* stg_kz
*/
public function deleteDokumentStg($dokument_kurzbz, $stg_kz)
{
@@ -337,7 +337,7 @@ class dokument extends basis_db
* Laedt alle Dokumente fuer einen Stg die der
* Prestudent noch nicht abgegeben hat
* @param studiengang_kz
* prestudent_id
* prestudent_id
* @return true wenn ok, false wenn Fehler
*/
public function getFehlendeDokumente($studiengang_kz, $prestudent_id=null)
@@ -575,22 +575,24 @@ class dokument extends basis_db
}
}
/**
* Liefert alle Dokumente die eine Person abzugeben hat
* ist notwendig um bei einer Bewerbung bei mehreren Studiengängen zu wissen was der Student im gesamten abzugeben hat
* @param $person_id
/**
* Liefert alle Dokumente die eine Person abzugeben hat.
* Ist notwendig, um bei einer Bewerbung mit mehreren Studiengängen zu wissen, was der Student im Gesamten abzugeben hat
* @param $person_id
* @param onlinebewerbung
*/
public function getAllDokumenteForPerson($person_id, $onlinebewerbung= false)
{
*/
public function getAllDokumenteForPerson($person_id, $onlinebewerbung= false)
{
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$qry = "SELECT distinct on (dokument_kurzbz) dokument_kurzbz, bezeichnung, pflicht,
$bezeichnung_mehrsprachig
FROM public.tbl_dokumentstudiengang
JOIN public.tbl_prestudent using (studiengang_kz)
JOIN public.tbl_dokument using (dokument_kurzbz)
WHERE person_id =".$this->db_add_param($person_id, FHC_INTEGER);
$dokumentbeschreibung_mehrsprachig = $sprache->getSprachQuery('dokumentbeschreibung_mehrsprachig');
$beschreibung_mehrsprachig = $sprache->getSprachQuery('beschreibung_mehrsprachig');
$qry = "SELECT distinct on (dokument_kurzbz) dokument_kurzbz, bezeichnung, pflicht,
$bezeichnung_mehrsprachig, $dokumentbeschreibung_mehrsprachig, $beschreibung_mehrsprachig
FROM public.tbl_dokumentstudiengang
JOIN public.tbl_prestudent using (studiengang_kz)
JOIN public.tbl_dokument using (dokument_kurzbz)
WHERE person_id =".$this->db_add_param($person_id, FHC_INTEGER);
if($onlinebewerbung)
$qry.= " AND onlinebewerbung is true";
@@ -598,27 +600,71 @@ class dokument extends basis_db
$qry.=" ";
$qry.=" ORDER BY dokument_kurzbz, pflicht desc";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$dok = new dokument();
$dok->dokument_kurzbz = $row->dokument_kurzbz;
$dok->bezeichnung = $row->bezeichnung;
$dok->pflicht= $this->db_parse_bool($row->pflicht);
$dok->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$dok = new dokument();
$dok->dokument_kurzbz = $row->dokument_kurzbz;
$dok->bezeichnung = $row->bezeichnung;
$dok->pflicht= $this->db_parse_bool($row->pflicht);
$dok->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$dok->dokumentbeschreibung_mehrsprachig = $sprache->parseSprachResult('dokumentbeschreibung_mehrsprachig', $row);
$dok->beschreibung_mehrsprachig = $sprache->parseSprachResult('beschreibung_mehrsprachig', $row);
$this->result[] = $dok;
}
return true;
}
else
{
$this->errormsg="Fehler bei der Abfrage aufgetreten";
return false;
}
$this->result[] = $dok;
}
return true;
}
else
{
$this->errormsg="Fehler bei der Abfrage aufgetreten";
return false;
}
}
}
/**
* Liefert die Beschreibungstexte des uebergebenen Dokuments und der uebergebenen Studiengaenge
* @param array $studiengangs_kz Array mit den Studiengangskennzahlen
* @param string $dokument_kurzbz Kurzbz des Dokuments dessen Beschreibungstexte geliefert werden sollen
*/
public function getBeschreibungenDokumente($studiengangs_kz, $dokument_kurzbz)
{
$sprache = new sprache();
$dokumentbeschreibung_mehrsprachig = $sprache->getSprachQuery('dokumentbeschreibung_mehrsprachig');
$beschreibung_mehrsprachig = $sprache->getSprachQuery('beschreibung_mehrsprachig');
$qry = " SELECT DISTINCT dokument_kurzbz, studiengang_kz,
$dokumentbeschreibung_mehrsprachig, $beschreibung_mehrsprachig
FROM public.tbl_dokumentstudiengang
JOIN public.tbl_dokument using (dokument_kurzbz)
WHERE dokument_kurzbz=".$this->db_add_param($dokument_kurzbz, FHC_STRING)."
AND (dokumentbeschreibung_mehrsprachig IS NOT NULL OR beschreibung_mehrsprachig IS NOT NULL)
AND studiengang_kz IN (".implode(",", $studiengangs_kz).")
ORDER BY studiengang_kz";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$dok = new dokument();
$dok->dokument_kurzbz = $row->dokument_kurzbz;
$dok->studiengang_kz = $row->studiengang_kz;
$dok->dokumentbeschreibung_mehrsprachig = $sprache->parseSprachResult('dokumentbeschreibung_mehrsprachig', $row);
$dok->beschreibung_mehrsprachig = $sprache->parseSprachResult('beschreibung_mehrsprachig', $row);
$this->result[] = $dok;
}
return true;
}
else
{
$this->errormsg="Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Loescht einen Dokumenttyp
@@ -640,13 +686,21 @@ class dokument extends basis_db
}
/**
* Prueft ob das Dokument bei einem der Prestudenten einer Person bereits akzeptiert wurde
* Prueft ob das Dokument bei einem der Prestudenten einer Person bereits akzeptiert wurde.
* Optional kann auch eine studiengang_kz uebergeben werden, ob speziell dort das Dokument akzeptiert wurde
* @param $dokument_kurzbz
* @param $person_id
* @param $studiengang_kz integer
* @return boolean true wenn akzeptiert, false wenn noch nicht akzeptiert
*/
function akzeptiert($dokument_kurzbz, $person_id)
function akzeptiert($dokument_kurzbz, $person_id, $studiengang_kz=null)
{
if($studiengang_kz!='' && !is_numeric($studiengang_kz))
{
$this->errormsg = 'Studiengang_kz ist ungueltig';
return false;
}
$qry = "SELECT
*
FROM
@@ -655,7 +709,8 @@ class dokument extends basis_db
WHERE
dokument_kurzbz=".$this->db_add_param($dokument_kurzbz)."
AND tbl_prestudent.person_id=".$this->db_add_param($person_id);
if ($studiengang_kz!='')
$qry .= " AND studiengang_kz=".$this->db_add_param($dokument_kurzbz, FHC_INTEGER);
if($result = $this->db_query($qry))
{
if($this->db_num_rows($result)>0)
+26
View File
@@ -3785,6 +3785,32 @@ if(!@$db->db_query("SELECT lgart_biscode FROM bis.tbl_lgartcode LIMIT 1"))
echo '<br>Spalte lgart_biscode hinzugefügt';
}
// Neue Spalte beschreibung_mehrsprachig bei tbl_dokument
if(!@$db->db_query("SELECT dokumentbeschreibung_mehrsprachig FROM public.tbl_dokument LIMIT 1"))
{
$qry = "
ALTER TABLE public.tbl_dokument ADD COLUMN dokumentbeschreibung_mehrsprachig text[];
";
if(!$db->db_query($qry))
echo '<strong>public.tbl_dokument '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte dokumentbeschreibung_mehrsprachig in public.tbl_dokument hinzugefügt';
}
// Neue Spalte beschreibung_mehrsprachig bei tbl_dokumentstudiengang
if(!@$db->db_query("SELECT beschreibung_mehrsprachig FROM public.tbl_dokumentstudiengang LIMIT 1"))
{
$qry = "
ALTER TABLE public.tbl_dokumentstudiengang ADD COLUMN beschreibung_mehrsprachig text[];
";
if(!$db->db_query($qry))
echo '<strong>public.tbl_dokumentstudiengang '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte beschreibung_mehrsprachig in public.tbl_dokumentstudiengang hinzugefügt';
}
echo '<br><br><br>';
$tabellen=array(