Merge master into HEAD

Conflicts:
	include/dokument_export.class.php
	include/studiengang.class.php
	vilesci/stammdaten/reihungstestverwaltung.php
This commit is contained in:
Paolo
2016-08-18 16:23:11 +02:00
116 changed files with 10682 additions and 5335 deletions
+1
View File
@@ -129,6 +129,7 @@ class adresse extends basis_db
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM public.tbl_adresse WHERE person_id=".$this->db_add_param($pers_id, FHC_INTEGER, false);
$qry.=" ORDER BY zustelladresse DESC";
if(!$this->db_query($qry))
{
+2 -2
View File
@@ -166,9 +166,9 @@ class anrechnung extends basis_db
. 'genehmigt_von = ' . $this->db_add_param($this->genehmigt_von) . ', '
. 'updateamum = NOW(), '
. 'updatevon = ' . $this->db_add_param($this->updatevon) . ' '
. 'WHERE anrechnung_id = ' . $this->db_add_param($this->anrechnung_id);
. 'WHERE anrechnung_id = ' . $this->db_add_param($this->anrechnung_id). ' RETURNING anrechnung_id;';
}
if ($this->db_query($qry))
{
$this->anrechnung_id = $this->db_fetch_object()->anrechnung_id;
+1 -1
View File
@@ -144,7 +144,7 @@ class authentication extends auth
{
header('WWW-Authenticate: Basic realm="'.AUTH_NAME.'"');
header('HTTP/1.0 401 Unauthorized');
echo "Ihre Zugangsdaten sind ungueltig!";
echo "Invalid Credentials";
exit;
}
else
+12 -5
View File
@@ -450,19 +450,22 @@ class dokument extends basis_db
/**
* Liefert alle Dokumenttypen
* @param string $not_in Kommagetrennter String von dokument_kurzbz. Optional. Um bestimmte Dokumente (zB Zeugnis, welcher fix im Core vorhanden sein muss) auszuschließen.
* @param string $not_in Kommagetrennter String von dokument_kurzbz. Optional. Um bestimmte Dokumente (zB Zeugnis, welcher fix im Core vorhanden sein muss) auszuschließen.
* @return true wenn ok false im Fehlerfall
*/
public function getAllDokumente($not_in='')
{
$qry = "SELECT * FROM public.tbl_dokument ";
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$dokumentbeschreibung_mehrsprachig = $sprache->getSprachQuery('dokumentbeschreibung_mehrsprachig');
$qry = "SELECT dokument_kurzbz, bezeichnung, $bezeichnung_mehrsprachig, $dokumentbeschreibung_mehrsprachig FROM public.tbl_dokument ";
if($not_in!='')
{
$qry .= " WHERE dokument_kurzbz NOT IN (".$this->implode4SQL(explode(',', $not_in)).")";
}
$qry .= " ORDER BY bezeichnung;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -471,6 +474,8 @@ class dokument extends basis_db
$dok->dokument_kurzbz = $row->dokument_kurzbz;
$dok->bezeichnung = $row->bezeichnung;
$dok->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$dok->dokumentbeschreibung_mehrsprachig = $sprache->parseSprachResult('dokumentbeschreibung_mehrsprachig', $row);
$this->result[] = $dok;
}
@@ -691,6 +696,8 @@ class dokument extends basis_db
*/
public function getBeschreibungenDokumente($studiengangs_kz, $dokument_kurzbz)
{
if(count($studiengangs_kz)==0)
return true;
$sprache = new sprache();
$dokumentbeschreibung_mehrsprachig = $sprache->getSprachQuery('dokumentbeschreibung_mehrsprachig');
$beschreibung_mehrsprachig = $sprache->getSprachQuery('beschreibung_mehrsprachig');
@@ -773,7 +780,7 @@ class dokument extends basis_db
AND tbl_prestudent.person_id=".$this->db_add_param($person_id);
if ($studiengang_kz!='')
$qry .= " AND studiengang_kz IN (".$studiengang_kz.")";
if($result = $this->db_query($qry))
{
if($this->db_num_rows($result)>0)
+5
View File
@@ -298,6 +298,9 @@ class dokument_export
if($download)
{
if(headers_sent())
exit('Header wurden bereits gesendet -> Abbruch');
switch($this->outputformat)
{
case 'pdf':
@@ -317,6 +320,8 @@ class dokument_export
header('Content-Disposition: attachment; filename="'.$this->filename.'.odt"');
header('Content-Length: '.$fsize);
break;
default:
exit('Outputformat is not defined');
}
while (!feof($handle))
+159 -12
View File
@@ -36,6 +36,7 @@ class firma extends basis_db
public $firma_id; // integer
public $name; // string
public $anmerkung; // string
public $lieferbedingungen; // string
public $ext_id; // integer
public $insertamum; // timestamp
public $insertvon; // bigint
@@ -56,7 +57,7 @@ class firma extends basis_db
public $bezeichnung; // string
public $kundennummer; // integer
public $oe_aktiv; // boolean
public $oe_aktiv; // boolean
public $mailverteiler; // string
public $tags = array();
@@ -95,6 +96,7 @@ class firma extends basis_db
$this->firma_id = $row->firma_id;
$this->name = $row->name;
$this->anmerkung = $row->anmerkung;
$this->lieferbedingungen = $row->lieferbedingungen;
$this->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
@@ -147,7 +149,11 @@ class firma extends basis_db
$this->errormsg = 'Anmerkung darf nicht länger als 256 Zeichen sein';
return false;
}
if(mb_strlen($this->lieferbedingungen)>256)
{
$this->errormsg = 'Lieferbedingungen darf nicht länger als 256 Zeichen sein';
return false;
}
$this->errormsg = '';
return true;
}
@@ -167,11 +173,12 @@ class firma extends basis_db
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO public.tbl_firma (name, anmerkung,
$qry='INSERT INTO public.tbl_firma (name, anmerkung, lieferbedingungen,
firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon, schule,steuernummer,
gesperrt,aktiv,finanzamt) VALUES('.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->lieferbedingungen).', '.
$this->db_add_param($this->firmentyp_kurzbz).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
@@ -197,6 +204,7 @@ class firma extends basis_db
'firma_id='.$this->db_add_param($this->firma_id).', '.
'name='.$this->db_add_param($this->name).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'lieferbedingungen='.$this->db_add_param($this->lieferbedingungen).', '.
'updateamum= now(), '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'firmentyp_kurzbz='.$this->db_add_param($this->firmentyp_kurzbz).', '.
@@ -368,14 +376,14 @@ class firma extends basis_db
$qry = "
SELECT
firma_id, name, anmerkung, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon,
firma_id, name, anmerkung, lieferbedingungen, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon,
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '1' as sort
FROM public.tbl_firma
WHERE
UPPER(trim(public.tbl_firma.name)) like '".$this->db_escape($matchcode)."%'
UNION
SELECT
firma_id, name, anmerkung, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon,
firma_id, name, anmerkung, lieferbedingungen, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon,
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '2' as sort
FROM public.tbl_firma
WHERE
@@ -398,6 +406,7 @@ class firma extends basis_db
$fa->firma_id = $row->firma_id;
$fa->name = $row->name;
$fa->anmerkung = $row->anmerkung;
$fa->lieferbedingungen = $row->lieferbedingungen;
$fa->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$fa->updateamum = $row->updateamum;
$fa->updatevon = $row->updatevon;
@@ -459,10 +468,10 @@ class firma extends basis_db
if($firmentyp_kurzbz!='')
$qry.=" WHERE firmentyp_kurzbz=".$this->db_add_param($firmentyp_kurzbz);
if(!is_null($aktiv))
$qry.=" AND aktiv=".$this->db_add_param($aktiv, FHC_BOOLEAN);
$qry.=" ORDER BY name;";
if($this->db_query($qry))
@@ -474,6 +483,7 @@ class firma extends basis_db
$fa->firma_id = $row->firma_id;
$fa->name = $row->name;
$fa->anmerkung = $row->anmerkung;
$fa->lieferbedingungen = $row->lieferbedingungen;
$fa->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$fa->updateamum = $row->updateamum;
$fa->updatevon = $row->updatevon;
@@ -497,6 +507,144 @@ class firma extends basis_db
}
}
public function getLatestChanges($tage = 7) {
$this->result = array();
$this->errormsg = '';
$qry ="SELECT * FROM (SElECT ";
$qry.=" distinct on(firma_id)";
$qry.=" tbl_firma.firma_id,tbl_firma.* ,tbl_standort.kurzbz,tbl_standort.adresse_id,tbl_standort.standort_id,tbl_standort.bezeichnung ";
$qry.=" ,person_id, tbl_adresse.name as adress_name, strasse, plz, ort, gemeinde,nation,typ,heimatadresse,zustelladresse ";
$qry.=" FROM public.tbl_firma";
$qry.=" LEFT JOIN public.tbl_standort USING(firma_id) ";
$qry.=" LEFT JOIN public.tbl_adresse on ( tbl_adresse.adresse_id=tbl_standort.adresse_id ) ";
$qry.=" WHERE 1=1";
$qry.=") as a WHERE (updateamum is not null and updateamum > (now()::date - $tage)) or insertamum > (now()::date - $tage) ORDER BY name;";
//echo $qry;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$fa = new firma();
$fa->firma_id = $row->firma_id;
$fa->name = $row->name;
$fa->anmerkung = $row->anmerkung;
$fa->lieferbedingungen = $row->lieferbedingungen;
$fa->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$fa->updateamum = $row->updateamum;
$fa->updatevon = $row->updatevon;
$fa->insertamum = $row->insertamum;
$fa->insertvon = $row->insertvon;
$fa->ext_id = $row->ext_id;
$fa->schule = $this->db_parse_bool($row->schule);
$fa->steuernummer = $row->steuernummer;
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->kurzbz = $row->kurzbz;
$fa->adresse_id = $row->adresse_id;
$fa->standort_id = $row->standort_id;
$fa->bezeichnung = $row->bezeichnung;
$fa->person_id = $row->person_id;
$fa->adresse_id = $row->adresse_id;
$fa->strasse = $row->strasse;
$fa->plz = $row->plz;
$fa->ort = $row->ort;
$fa->gemeinde = $row->gemeinde;
$fa->nation = $row->nation;
$fa->typ = $row->typ;
$fa->adress_name = $row->adress_name;
$fa->heimatadresse = $this->db_parse_bool($row->heimatadresse);
$fa->zustelladresse = $this->db_parse_bool($row->zustelladresse);
$this->result[] = $fa;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
/**
* Suche nur nach Firmennamen für die abgespeckte Firmenverwaltung
* @return true wenn ok, false im Fehlerfall
*/
public function searchByName($filter)
{
$this->result = array();
$this->errormsg = '';
$qry ="SELECT * FROM (SElECT ";
$qry.=" distinct on(firma_id)";
$qry.=" tbl_firma.firma_id,tbl_firma.* ,tbl_standort.kurzbz,tbl_standort.adresse_id,tbl_standort.standort_id,tbl_standort.bezeichnung ";
$qry.=" ,person_id, tbl_adresse.name as adress_name, strasse, plz, ort, gemeinde,nation,typ,heimatadresse,zustelladresse ";
$qry.=" FROM public.tbl_firma";
$qry.=" LEFT JOIN public.tbl_standort USING(firma_id) ";
$qry.=" LEFT JOIN public.tbl_adresse on ( tbl_adresse.adresse_id=tbl_standort.adresse_id ) ";
$qry.=" WHERE 1=1";
if($filter!='')
$qry.= " and ( lower(tbl_firma.name) like lower('%".$this->db_escape($filter)."%')
) ";
//if($filter=='' && $firmentyp_kurzbz=='')
// $qry.=" limit 500 ";
$qry.=") as a ORDER BY name;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$fa = new firma();
$fa->firma_id = $row->firma_id;
$fa->name = $row->name;
$fa->anmerkung = $row->anmerkung;
$fa->lieferbedingungen = $row->lieferbedingungen;
$fa->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$fa->updateamum = $row->updateamum;
$fa->updatevon = $row->updatevon;
$fa->insertamum = $row->insertamum;
$fa->insertvon = $row->insertvon;
$fa->ext_id = $row->ext_id;
$fa->schule = $this->db_parse_bool($row->schule);
$fa->steuernummer = $row->steuernummer;
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->kurzbz = $row->kurzbz;
$fa->adresse_id = $row->adresse_id;
$fa->standort_id = $row->standort_id;
$fa->bezeichnung = $row->bezeichnung;
$fa->person_id = $row->person_id;
$fa->adresse_id = $row->adresse_id;
$fa->strasse = $row->strasse;
$fa->plz = $row->plz;
$fa->ort = $row->ort;
$fa->gemeinde = $row->gemeinde;
$fa->nation = $row->nation;
$fa->typ = $row->typ;
$fa->adress_name = $row->adress_name;
$fa->heimatadresse = $this->db_parse_bool($row->heimatadresse);
$fa->zustelladresse = $this->db_parse_bool($row->zustelladresse);
$this->result[] = $fa;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
/**
* Laedt alle Firmen Standorte, und Adressen nach Suchstring und/oder eines bestimmen Firmentyps
* @return true wenn ok, false im Fehlerfall
@@ -548,6 +696,7 @@ class firma extends basis_db
$fa->firma_id = $row->firma_id;
$fa->name = $row->name;
$fa->anmerkung = $row->anmerkung;
$fa->lieferbedingungen = $row->lieferbedingungen;
$fa->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$fa->updateamum = $row->updateamum;
$fa->updatevon = $row->updatevon;
@@ -662,6 +811,7 @@ class firma extends basis_db
$fa->firma_id = $row->firma_id;
$fa->name = $row->name;
$fa->anmerkung = $row->anmerkung;
$fa->lieferbedingungen = $row->lieferbedingungen;
$fa->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$fa->updateamum = $row->updateamum;
$fa->updatevon = $row->updatevon;
@@ -747,11 +897,7 @@ class firma extends basis_db
$this->errormsg = 'Organisationseinheit/Firma_id ist ungueltig';
return false;
}
$qry = "delete from public.tbl_firma_organisationseinheit WHERE firma_organisationseinheit_id>0";
if ($firma_organisationseinheit_id)
$qry.=" and firma_organisationseinheit_id=".$this->db_add_param($firma_organisationseinheit_id, FHC_INTEGER);
$qry.=';';
$qry = "DELETE FROM public.tbl_firma_organisationseinheit WHERE firma_organisationseinheit_id=".$this->db_add_param($firma_organisationseinheit_id, FHC_INTEGER);
if($this->db_query($qry))
return true;
@@ -931,6 +1077,7 @@ class firma extends basis_db
$fi->firma_id = $row->firma_id;
$fi->name = $row->name;
$fi->anmerkung = $row->anmerkung;
$fi->lieferbedingungen = $row->lieferbedingungen;
$fi->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$fi->updateamum = $row->updateamum;
$fi->updatevon = $row->updatevon;
+1 -1
View File
@@ -366,7 +366,7 @@ function getStudiensemesterFromDatum($datum, $naechstes=true)
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE";
if($naechstes)
$qry.= " ende>".$db->db_add_param($datum)." ORDER BY ende ASC ";
$qry.= " ende>=".$db->db_add_param($datum)." ORDER BY ende ASC ";
else
$qry.= " start<".$db->db_add_param($datum)." ORDER BY ende DESC ";
+4 -2
View File
@@ -548,8 +548,10 @@ class jahresplan extends basis_db
$qry.=", to_char(tbl_veranstaltung.start, 'Q') as \"start_quartal\" ";
$qry.=", to_char(tbl_veranstaltung.ende, 'Q') as \"ende_quartal\" ";
$qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.start) as \"start_timestamp\" ";
$qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.ende) as \"ende_timestamp\" ";
$qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.start::TIMESTAMP WITHOUT TIME
ZONE at time zone 'CEST' ) as \"start_timestamp\" ";
$qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.ende::TIMESTAMP WITHOUT TIME
ZONE at time zone 'CEST' ) as \"ende_timestamp\" ";
$qry.=", to_char(tbl_veranstaltung.start, 'DD.MM.YYYY') as \"start_datum\" ";
+6 -2
View File
@@ -373,6 +373,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['Italian'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($lv_obj->bezeichnung_arr['English'] == '')
$lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German'];
@@ -1176,7 +1177,7 @@ class lehrveranstaltung extends basis_db
* @param $semeser Semester optional
* @return boolean true wenn ok, false im Fehlerfall
*/
public function loadLehrveranstaltungStudienplan($studienplan_id, $semester = null)
public function loadLehrveranstaltungStudienplan($studienplan_id, $semester = null, $order=null)
{
if (!is_numeric($studienplan_id) || $studienplan_id === '')
{
@@ -1203,7 +1204,10 @@ class lehrveranstaltung extends basis_db
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
}
$qry.=" ORDER BY stpllv_sort, semester, sort";
if(is_null($order))
$qry.=" ORDER BY stpllv_sort, semester, sort";
else
$qry.=' ORDER BY '.$order;
$this->lehrveranstaltungen = array();
if ($result = $this->db_query($qry))
{
+1 -1
View File
@@ -778,7 +778,7 @@ class lvregel extends basis_db
$lv->load($stpllv->lehrveranstaltung_id);
$this->debug('Abgeschlossen:'.$retval.' ECTS:'.$ects,1);
if($ects>=$lv->ects)
if($retval && ($ects>=$lv->ects))
return true;
else
return false;
+9
View File
@@ -734,6 +734,15 @@ class moodle24_course extends basis_db
$data = array($mdl_course_id);
$response = $client->core_course_delete_courses(array($mdl_course_id));
if(is_object($response))
{
$response_obj = $response;
unset($response);
if(isset($response_obj->warnings) && isset($response_obj->warnings->message))
$response[0] = $response_obj->warnings->message;
}
if(isset($response[0]))
{
$this->errormsg = $response[0];
+7
View File
@@ -63,6 +63,13 @@ class moodle24_user extends basis_db
$client = new SoapClient($this->serverurl);
$response = $client->fhcomplete_user_get_users(array(array('key'=>'username', 'value'=>$uid)));
if(is_object($response))
{
$response_obj = $response;
unset($response);
$response['users']=$response_obj->users;
}
if(isset($response['users'][0]))
{
$this->mdl_user_id = $response['users'][0]['id'];
+1 -1
View File
@@ -114,7 +114,7 @@ class pruefungsanmeldung extends basis_db {
. 'wuensche='.$this->db_add_param($this->wuensche).', '
. 'reihung='.$this->db_add_param($this->reihung).', '
. 'kommentar='.$this->db_add_param($this->kommentar).', '
. 'anrechnung_id='.$this->db_add_param($this->anrechnung_id)
. 'anrechnung_id='.$this->db_add_param($this->anrechnung_id).', '
. 'pruefungstyp_kurzbz='.$this->db_add_param($this->pruefungstyp_kurzbz)
. ' WHERE pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id).';';
}
+133 -63
View File
@@ -16,15 +16,15 @@
* 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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class studiengang extends basis_db
{
public $new; // boolean
public $new; // boolean
public $result = array(); // studiengang Objekt
public $studiengang_kz; // integer
@@ -76,13 +76,6 @@ class studiengang extends basis_db
if(!is_null($studiengang_kz))
$this->load($studiengang_kz);
//$this->getAllTypes();
/* $this->studiengang_typ_arr["b"] = "Bachelor";
$this->studiengang_typ_arr["d"] = "Diplom";
$this->studiengang_typ_arr["m"] = "Master";
$this->studiengang_typ_arr["l"] = "LLL";
$this->studiengang_typ_arr["e"] = "Erhalter"; */
}
public function __get($value)
@@ -258,7 +251,7 @@ class studiengang extends basis_db
}
return true;
}
}
/**
* Laedt alle Studientypen in das Attribut studiengang_typ_array
@@ -687,56 +680,62 @@ class studiengang extends basis_db
return $result;
}
public function getStudiengangTyp($typ)
{
$qry = "SELECT * FROM public.tbl_studiengangstyp WHERE typ =".$this->db_add_param($typ,FHC_STRING).";";
/**
* Laedt einen Studiengangstyp
*
* @param $typ Studiengangstyp
* @return boolean true wenn erfolgreich geladen, false im Fehlerfall
*/
public function getStudiengangTyp($typ)
{
$qry = "SELECT * FROM public.tbl_studiengangstyp WHERE typ =".$this->db_add_param($typ,FHC_STRING).";";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->typ = $row->typ;
$this->bezeichnung = $row->bezeichnung;
$this->beschreibung = $row->beschreibung;
}
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->typ = $row->typ;
$this->bezeichnung = $row->bezeichnung;
$this->beschreibung = $row->beschreibung;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* @param $studiengaenge array
* @return array|bool
*/
public function getTypes($studiengaenge) {
/**
* @param $studiengaenge array
* @return array|bool
*/
public function getTypes($studiengaenge) {
$qry = 'SELECT distinct typ ' .
'FROM public.tbl_studiengang ' .
'WHERE studiengang_kz IN (' . implode(',', $studiengaenge) . ')';
$qry = 'SELECT distinct typ ' .
'FROM public.tbl_studiengang ' .
'WHERE studiengang_kz IN (' . implode(',', $studiengaenge) . ')';
$types = array();
$types = array();
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result)) {
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result)) {
$types[] = $row->typ;
$types[] = $row->typ;
}
}
return $types;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
return $types;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Sucht nach einem Studiengang
@@ -745,13 +744,13 @@ class studiengang extends basis_db
*/
public function search($searchItem)
{
$qry = 'SELECT * FROM public.tbl_studiengang WHERE
LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\') OR
LOWER(english) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
ORDER BY typ,bezeichnung;';
$qry = 'SELECT * FROM public.tbl_studiengang WHERE
LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\') OR
LOWER(english) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
ORDER BY typ,bezeichnung;';
if($this->db_query($qry))
{
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new studiengang();
@@ -793,12 +792,12 @@ class studiengang extends basis_db
$this->result[] = $obj;
}
return true;
}
else
{
}
else
{
$this->errormsg = 'Fehler beim Laden des Studiengangs';
return false;
}
}
}
/**
@@ -905,4 +904,75 @@ class studiengang extends basis_db
return false;
}
}
/**
* Laedt die Studiengänge die innerhalb eines Studiensemesters gültig sind
* @param $studiensemester_kurzbz
*/
public function loadStudiengangFromStudiensemester($studiensemester_kurzbz)
{
$qry = "SELECT
distinct tbl_studiengang.*
FROM
public.tbl_studiengang
JOIN lehre.tbl_studienordnung USING(studiengang_kz)
JOIN lehre.tbl_studienplan USING(studienordnung_id)
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
WHERE
tbl_studienplan_semester.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
ORDER BY
typ, kurzbz";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new studiengang();
$obj->studiengang_kz = $row->studiengang_kz;
$obj->kurzbz = $row->kurzbz;
$obj->kurzbzlang = $row->kurzbzlang;
$obj->bezeichnung = $row->bezeichnung;
$obj->english = $row->english;
$obj->typ = $row->typ;
$obj->farbe = $row->farbe;
$obj->email = $row->email;
$obj->max_semester = $row->max_semester;
$obj->max_verband = $row->max_verband;
$obj->max_gruppe = $row->max_gruppe;
$obj->erhalter_kz = $row->erhalter_kz;
$obj->bescheid = $row->bescheid;
$obj->bescheidbgbl1 = $row->bescheidbgbl1;
$obj->bescheidbgbl2 = $row->bescheidbgbl2;
$obj->bescheidgz = $row->bescheidgz;
$obj->bescheidvom = $row->bescheidvom;
$obj->ext_id = $row->ext_id;
$obj->kuerzel = mb_strtoupper($row->typ . $row->kurzbz);
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->zusatzinfo_html = $row->zusatzinfo_html;
$obj->sprache = $row->sprache;
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
$obj->studienplaetze = $row->studienplaetze;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->lgartcode = $row->lgartcode;
$obj->telefon = $row->telefon;
$obj->titelbescheidvom = $row->titelbescheidvom;
$obj->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung);
$obj->moodle = $this->db_parse_bool($row->moodle);
$obj->mischform = $this->db_parse_bool($row->mischform);
$obj->projektarbeit_note_anzeige = $this->db_parse_bool($row->projektarbeit_note_anzeige);
$obj->bezeichnung_arr['German'] = $obj->bezeichnung;
$obj->bezeichnung_arr['English'] = $obj->english;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Datenbankabfrage aufgetreten.";
return false;
}
}
}
+9 -3
View File
@@ -149,24 +149,30 @@ class studienordnung extends basis_db
if(is_null($studiensemester_kurzbz))
{
$qry = 'SELECT sto.*, s.bezeichnung as status_bezeichnung FROM lehre.tbl_studienordnung sto
$qry = 'SELECT sto.*, s.bezeichnung as status_bezeichnung, tbl_studiensemester.start as gueltig_startdatum
FROM lehre.tbl_studienordnung sto
LEFT JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
LEFT JOIN public.tbl_studiensemester ON(sto.gueltigvon=tbl_studiensemester.studiensemester_kurzbz)
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
}
else
{
$qry = 'SELECT distinct sto.*, s.bezeichnung as status_bezeichnung, sem.* FROM lehre.tbl_studienordnung sto
$qry = 'SELECT distinct sto.*, s.bezeichnung as status_bezeichnung, sem.*, tbl_studiensemester.start as gueltig_startdatum
FROM lehre.tbl_studienordnung sto
JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
LEFT JOIN lehre.tbl_studienplan USING(studienordnung_id)
LEFT JOIN lehre.tbl_studienplan_semester sem USING (studienplan_id)
LEFT JOIN public.tbl_studiensemester ON(sto.gueltigvon=tbl_studiensemester.studiensemester_kurzbz)
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
if (!is_null($studiensemester_kurzbz))
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING,false);
$qry.=" AND sem.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING,false);
if (!is_null($semester))
$qry.=" AND semester=".$this->db_add_param($semester, FHC_INTEGER,false);
}
$qry.=" ORDER BY gueltig_startdatum desc";
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
+3 -3
View File
@@ -155,6 +155,7 @@ class studienplan extends basis_db
if(!is_null($orgform_kurzbz))
$qry.=" AND orgform_kurzbz=".$this->db_add_param($orgform_kurzbz);
$qry.=" ORDER BY bezeichnung";
if($this->db_query($qry))
{
@@ -754,7 +755,6 @@ class studienplan extends basis_db
$qry.=" AND orgform_kurzbz=".$this->db_add_param($orgform_kurzbz);
}
$res = array();
if($result = $this->db_query($qry))
@@ -893,7 +893,7 @@ class studienplan extends basis_db
WHERE
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND EXISTS (
SELECT 1 FROM lehre.tbl_studienordnung_semester
SELECT 1 FROM lehre.tbl_studienplan_semester
WHERE studienordnung_id=tbl_studienplan.studienordnung_id
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND semester = tbl_studienplan_lehrveranstaltung.semester)
@@ -1192,4 +1192,4 @@ class studienplan extends basis_db
}
}
}
?>
?>
+16 -1
View File
@@ -33,6 +33,7 @@ require_once('../../include/datum.class.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/mitarbeiter.class.php');
require_once('../../include/benutzerberechtigung.class.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
@@ -44,6 +45,20 @@ require_once('../../include/pdf/fpdf.php');
require_once('../../include/pdf.inc.php');
$getuid=get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($getuid);
if (isset($_GET['user']))
{
if ($rechte->isBerechtigt('admin',null,'suid'))
$getuid = $_GET['user'];
else
$getuid=get_uid();
}
else
$getuid=get_uid();
$datum_obj = new datum();
$htmlstr = "";
$qualitaet='';
@@ -153,7 +168,7 @@ else
$pdf->SetXY(30,30);
//Logo
$pdf->Image("../../skin/images/logo.jpg","400","25","160","54","jpg","");
$pdf->Image("../../skin/styles/tw/logo.jpg","400","25","150","78","jpg","");
$pdf->SetFont('Arial','',12);
$pdf->SetFillColor(190,190,190);
+14 -11
View File
@@ -439,17 +439,20 @@ function checkZeilenUmbruch()
}
}
}
$menu[]=array
(
'id'=>'core_menu_moodle',
'position'=>'70',
'name'=>$p->t('lehre/moodle'),
'icon'=>'../../../skin/images/button_moodle.png',
'link'=>$link,
'link_target'=>$link_target,
'link_onclick'=>$link_onclick,
'text'=>$text
);
if (MOODLE)
{
$menu[]=array
(
'id'=>'core_menu_moodle',
'position'=>'70',
'name'=>$p->t('lehre/moodle'),
'icon'=>'../../../skin/images/button_moodle.png',
'link'=>$link,
'link_target'=>$link_target,
'link_onclick'=>$link_onclick,
'text'=>$text
);
}
//Gesamtnote
if($is_lector && ((!defined('CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN) && $angemeldet))
+1
View File
@@ -193,6 +193,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'),
'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')),
),
'Auswertung'=> array
(
+1 -1
View File
@@ -1616,7 +1616,7 @@ class wochenplan extends basis_db
{
if($anzahl<=$max_kollision)
{
echo '<label value="'.$f_ort.($anzahl>0?'('.$anzahl.')':'').'"
echo '<label value="'.$f_ort.($anzahl>0?' ('.$anzahl.')':'').'"
styleOrig=""
ondragenter="nsDragAndDrop.dragEnter(event,boardObserver)"
ondragexit="nsDragAndDrop.dragExit(event,boardObserver)"