This commit is contained in:
kindlm
2016-11-23 17:06:08 +01:00
1226 changed files with 187139 additions and 9550 deletions
+5 -1
View File
@@ -15,7 +15,11 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Simon Schwebler <simon.schwebler@technikum-wien.at>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Andreas Moik <moik@technikum-wien.at>,
* Simon Schwebler <simon.schwebler@technikum-wien.at>,
* Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
/**
+63 -10
View File
@@ -38,6 +38,8 @@ class ampel extends basis_db
public $vorlaufzeit; // smallint
public $verfallszeit; // smallint
public $email; // boolean
public $verpflichtend; // boolean
public $buttontext; // varchar(64)[]
public $insertamum; // timestamp
public $insertvon; // varchar(32)
public $updateamum; // timestamp
@@ -74,8 +76,9 @@ class ampel extends basis_db
$sprache = new sprache();
$beschreibung = $sprache->getSprachQuery('beschreibung');
$buttontext = $sprache->getSprachQuery('buttontext');
$qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel WHERE ampel_id=".$this->db_add_param($ampel_id, FHC_INTEGER);
$qry = "SELECT *,".$beschreibung.", ".$buttontext." FROM public.tbl_ampel WHERE ampel_id=".$this->db_add_param($ampel_id, FHC_INTEGER);
if($result = $this->db_query($qry))
{
@@ -89,6 +92,8 @@ class ampel extends basis_db
$this->vorlaufzeit = $row->vorlaufzeit;
$this->verfallszeit = $row->verfallszeit;
$this->email = $row->email;
$this->verpflichtend = $row->verpflichtend;
$this->buttontext = $sprache->parseSprachResult('buttontext', $row);
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
@@ -117,8 +122,9 @@ class ampel extends basis_db
{
$sprache = new sprache();
$beschreibung = $sprache->getSprachQuery('beschreibung');
$buttontext = $sprache->getSprachQuery('buttontext');
$qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel";
$qry = "SELECT *,".$beschreibung.", ".$buttontext." FROM public.tbl_ampel";
if($aktiv)
{
$qry .= " WHERE (NOW()>(deadline-(vorlaufzeit || ' days')::interval)::date)";
@@ -140,6 +146,8 @@ class ampel extends basis_db
$obj->vorlaufzeit = $row->vorlaufzeit;
$obj->verfallszeit = $row->verfallszeit;
$obj->email = $this->db_parse_bool($row->email);
$obj->verpflichtend = $this->db_parse_bool($row->verpflichtend);
$obj->buttontext = $sprache->parseSprachResult('buttontext', $row);
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
@@ -212,20 +220,21 @@ class ampel extends basis_db
/**
* Laedt alle aktuellen Ampeln eines Users
* @param $user
* @param $zukuenftige_anzeigen
* @param string $user User, dessen Ampeln geladen werden sollen
* @param boolean $zukuenftige_anzeigen Default false
* wenn true, werden alle zukuenftigen Ampeln geladen
* wenn false, werden nur die Ampeln geladen die innerhalb der vorlaufzeit liegen
* @param $bestaetigt
* @param boolean $bestaetigt Default false
* wenn true, werden alle Ampeln geladen
* wenn false, werden nur die Ampeln geladen die noch nicht bestaetigt wurden
* wenn false, werden nur die Ampeln geladen die noch NICHT bestaetigt wurden
*/
public function loadUserAmpel($user, $zukuenftige_anzeigen=false, $bestaetigt=false)
{
$sprache = new sprache();
$beschreibung = $sprache->getSprachQuery('beschreibung');
$buttontext = $sprache->getSprachQuery('buttontext');
$qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel WHERE deadline+verfallszeit>now()";
$qry = "SELECT *,".$beschreibung.", ".$buttontext." FROM public.tbl_ampel WHERE deadline+verfallszeit>now()";
if(!$zukuenftige_anzeigen)
$qry.=" AND deadline-vorlaufzeit<now()";
@@ -237,7 +246,7 @@ class ampel extends basis_db
FROM public.tbl_ampel_benutzer_bestaetigt
WHERE uid=".$this->db_add_param($user)." AND ampel_id=tbl_ampel.ampel_id)";
}
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
@@ -254,6 +263,8 @@ class ampel extends basis_db
$obj->vorlaufzeit = $row->vorlaufzeit;
$obj->verfallszeit = $row->verfallszeit;
$obj->email = $row->email;
$obj->verpflichtend = $row->verpflichtend;
$obj->buttontext = $sprache->parseSprachResult('buttontext', $row);
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
@@ -315,19 +326,28 @@ class ampel extends basis_db
$idx = sprache::$index_arr[$key];
$qry.=" beschreibung[$idx],";
}
foreach($this->buttontext as $key=>$value)
{
$idx = sprache::$index_arr[$key];
$qry.=" buttontext[$idx],";
}
$qry.=" benutzer_select, deadline,
vorlaufzeit, verfallszeit, email, insertamum, insertvon , updateamum, updatevon) VALUES(".
vorlaufzeit, verfallszeit, email, verpflichtend, insertamum, insertvon , updateamum, updatevon) VALUES(".
$this->db_add_param($this->kurzbz).',';
reset($this->beschreibung);
foreach($this->beschreibung as $key=>$value)
$qry.=$this->db_add_param($value).',';
reset($this->buttontext);
foreach($this->buttontext as $key=>$value)
$qry.=$this->db_add_param($value).',';
$qry .= $this->db_add_param($this->benutzer_select).','.
$this->db_add_param($this->deadline).','.
$this->db_add_param($this->vorlaufzeit).','.
$this->db_add_param($this->verfallszeit).','.
$this->db_add_param($this->email, FHC_BOOLEAN).','.
$this->db_add_param($this->verpflichtend, FHC_BOOLEAN).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).','.
$this->db_add_param($this->updateamum).','.
@@ -343,12 +363,19 @@ class ampel extends basis_db
$idx = sprache::$index_arr[$key];
$qry.=' beschreibung['.$idx.'] = '.$this->db_add_param($value).',';
}
reset($this->buttontext);
foreach($this->buttontext as $key=>$value)
{
$idx = sprache::$index_arr[$key];
$qry.=' buttontext['.$idx.'] = '.$this->db_add_param($value).',';
}
$qry.= ' benutzer_select = '.$this->db_add_param($this->benutzer_select).','.
' deadline = '.$this->db_add_param($this->deadline).','.
' vorlaufzeit = '.$this->db_add_param($this->vorlaufzeit).','.
' verfallszeit = '.$this->db_add_param($this->verfallszeit).','.
' email = '.$this->db_add_param($this->email, FHC_BOOLEAN).','.
' verpflichtend = '.$this->db_add_param($this->verpflichtend, FHC_BOOLEAN).','.
' updateamum ='.$this->db_add_param($this->updateamum).','.
' updatevon ='.$this->db_add_param($this->updatevon).
' WHERE ampel_id='.$this->db_add_param($this->ampel_id, FHC_INTEGER).';';
@@ -414,6 +441,29 @@ class ampel extends basis_db
}
}
/**
* Loescht eine Bestaetigung einer Ampel
* @param $ampel_id
*/
public function deleteAmpelBenutzer($ampel_benutzer_bestaetigt_id)
{
if(!is_numeric($ampel_benutzer_bestaetigt_id))
{
$this->errormsg='ID ist ungueltig';
return false;
}
$qry = "DELETE FROM public.tbl_ampel_benutzer_bestaetigt WHERE ampel_benutzer_bestaetigt_id=".$this->db_add_param($ampel_benutzer_bestaetigt_id);
if($this->db_query($qry))
return true;
else
{
$this->errormsg = 'Fehler beim Loeschen der Bestaetigung';
return false;
}
}
/**
* Bestaetigt die Ampel eines Users
* @param $user
@@ -446,6 +496,7 @@ class ampel extends basis_db
{
$sprache = new sprache();
$beschreibung = $sprache->getSprachQuery('beschreibung');
$buttontext = $sprache->getSprachQuery('buttontext');
if(!is_numeric($ampel_id) && $ampel_id!='')
{
@@ -454,7 +505,7 @@ class ampel extends basis_db
}
// Ampeln holen
$qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel";
$qry = "SELECT *,".$beschreibung.", ".$buttontext." FROM public.tbl_ampel";
if($ampel_id!='')
$qry.=" WHERE ampel_id=".$this->db_add_param($ampel_id, FHC_INTEGER);
@@ -500,6 +551,8 @@ class ampel extends basis_db
$obj->vorlaufzeit = $row->vorlaufzeit;
$obj->verfallszeit = $row->verfallszeit;
$obj->email = $row->email;
$obj->verpflichtend = $row->verpflichtend;
$obj->buttontext = $sprache->parseSprachResult('buttontext', $row);
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
+25 -6
View File
@@ -597,12 +597,12 @@ class anwesenheit extends basis_db
// Anwesenheitsliste wurde noch nicht erfasst. Eintrag neu anlegen
// Einheiten ermitteln
$qry = "SELECT
distinct stunde
FROM
lehre.tbl_stundenplan
WHERE
lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
$qry = "SELECT
distinct stunde
FROM
lehre.tbl_stundenplan
WHERE
lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
AND datum=".$this->db_add_param($datum);
if($result = $this->db_query($qry))
@@ -636,4 +636,23 @@ class anwesenheit extends basis_db
}
}
/**
* Loescht eine Anwesenheit
* @param anwesenheit_id integer ID der Anwesenheit.
* @return boolean true wenn ok , false im fehlerfall
*/
public function delete($anwesenheit_id)
{
$qry = "DELETE FROM campus.tbl_anwesenheit WHERE anwesenheit_id=".$this->db_add_param($anwesenheit_id, FHC_INTEGER).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Löschen der Anwesenheit';
return false;
}
}
}
+30 -31
View File
@@ -23,7 +23,7 @@
class datum
{
public $ts_day=86400; // Timestamp eines Tages
/**
* Konstruktor
*
@@ -103,13 +103,12 @@ class datum
*/
public function jump_week($datum, $wochen)
{
$stunde_vor=date("G",$datum);
// Eine Woche sind 604800 Sekunden
$datum+=604800*$wochen;
$stunde_nach=date("G",$datum);
if ($stunde_nach!=$stunde_vor)
$datum+=3600;
return $datum;
$days = $wochen * 7;
$datetime=new DateTime();
$datetime->setTimestamp($datum);
$datetime->modify($days.' day');
return $datetime->format("U");
}
/**
@@ -159,7 +158,7 @@ class datum
else
return false;
}
/**
* Zieht ein Datum von einem anderen ab, und gibt die differenz in Tagen zurueck (mit Vorzeichen)
* @param $datum1
@@ -196,7 +195,7 @@ class datum
if($start=='' && $ende!='' && $dateende>=$dateref)
return true;
// Ende nicht gesetzt; Start gesetzt
// Ende nicht gesetzt; Start gesetzt
if($ende=='' && $start!='' && $datestart<=$dateref)
return true;
@@ -237,7 +236,7 @@ class datum
return $h1.':'.$m1;
}
/**
* Subtrahiert 2 Zeiten ($zeit1-$zeit2) Stunde:Minute
* Es liefert keine Uhrzeit zurueck sondern Stunden und Minuten
@@ -268,7 +267,7 @@ class datum
return $h1.':'.$m1;
}
/**
* Prueft und Liefert ein Datum im angegeben Format
* fuer die Formatierung wird die Funktion formatDatum verwendet
@@ -278,9 +277,9 @@ class datum
* Eintraege wie zB 'last Monday' oder 'a' auch in ein Datum umgewandelt werden.
* @return Formatierten Timestamp wenn ok, false im Fehlerfall
*/
function checkformatDatum($datum, $format='Y-m-d H:i:s', $strict=false)
function checkformatDatum($datum, $format='Y-m-d H:i:s', $strict=false)
{
@list($day, $month, $year) = @explode(".", $datum);
if (@checkdate($month, $day, $year))
return $this->formatDatum($datum, $format, $strict);
@@ -293,7 +292,7 @@ class datum
@list($year, $month, $day) = @explode("-", $datum);
if (@checkdate($month, $day, $year))
return $this->formatDatum($datum, $format, $strict);
if (strlen($datum)==6)
{
$year="20".substr($datum,0,2);
@@ -301,7 +300,7 @@ class datum
$day=substr($datum,4,2);
if (@checkdate($month, $day, $year))
return $this->formatDatum($datum, $format, $strict);
}
}
else if (strlen($datum)==8)
{
$year=substr($datum,0,4);
@@ -309,15 +308,15 @@ class datum
$day=substr($datum, 6,2);
if (@checkdate($month, $day, $year))
return $this->formatDatum($datum, $format, $strict);
$year=substr($datum,5,4);
$year=substr($datum,5,4);
$month=substr($datum,3,2);
$day=substr($datum, 0,2);
if (@checkdate($month, $day, $year))
return $this->formatDatum($datum, $format, $strict);
}
return false;
}
}
return false;
}
/**
@@ -334,18 +333,18 @@ class datum
{
if(trim($datum)=='')
return '';
$ts='';
$error=false;
//2008-12-31
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$datum, $regs))
$ts = mktime(0,0,0,$regs[2],$regs[3],$regs[1]);
//2008-12-31 12:30
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[3],$regs[1]);
//2008-12-31 12:30:15
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]);
@@ -355,20 +354,20 @@ class datum
//1.12.2008
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})",$datum, $regs))
$ts = mktime(0,0,0,$regs[2],$regs[1],$regs[3]);
//1.12.2008 12:30
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[1],$regs[3]);
//1.12.2008 12:30:15
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[1],$regs[3]);
}
if($ts=='' && !$strict)
{
$ts = strtotime($datum);
if(!$ts || $ts==-1)
{
//wenn strtotime fehlschlaegt liefert diese -1 zurueck, ab php5.1.0 jedoch false
@@ -378,9 +377,9 @@ class datum
if($ts!='' && !$error)
return date($format, $ts);
return false;
}
}
?>
+6 -1
View File
@@ -424,7 +424,10 @@ class dokument extends basis_db
*/
public function getDokumente($studiengang_kz)
{
$qry = "SELECT * FROM public.tbl_dokumentstudiengang JOIN public.tbl_dokument USING(dokument_kurzbz)
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$dokumentbeschreibung_mehrsprachig = $sprache->getSprachQuery('dokumentbeschreibung_mehrsprachig');
$qry = "SELECT *,$bezeichnung_mehrsprachig, $dokumentbeschreibung_mehrsprachig FROM public.tbl_dokumentstudiengang JOIN public.tbl_dokument USING(dokument_kurzbz)
WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)."
ORDER BY dokument_kurzbz;";
@@ -436,6 +439,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);
$dok->pflicht = $this->db_parse_bool($row->pflicht);
$dok->nachreichbar = $this->db_parse_bool($row->nachreichbar);
$dok->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung);
+137 -69
View File
@@ -16,9 +16,9 @@
* 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> and.
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and.
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at>.
*/
/**
* Klasse firma
@@ -29,14 +29,14 @@ require_once(dirname(__FILE__).'/organisationseinheit.class.php');
class firma extends basis_db
{
public $new; // boolean
public $new; // boolean
public $result = array(); // adresse Objekt
//Tabellenspalten
public $firma_id; // integer
public $name; // string
public $anmerkung; // string
public $lieferbedingungen; // string
public $lieferbedingungen; // string
public $ext_id; // integer
public $insertamum; // timestamp
public $insertvon; // bigint
@@ -48,6 +48,7 @@ class firma extends basis_db
public $gesperrt; // boolean
public $aktiv; // boolean
public $finanzamt; // string
public $partner_code; // varchar(20)
// firma_organisationseinheit
public $oe_kurzbz; // string
@@ -96,7 +97,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->lieferbedingungen = $row->lieferbedingungen;
$this->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
@@ -108,6 +109,7 @@ class firma extends basis_db
$this->gesperrt = $this->db_parse_bool($row->gesperrt);
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->finanzamt = $row->finanzamt;
$this->partner_code = $row->partner_code;
$qry = "SELECT tag FROM public.tbl_firmatag WHERE firma_id=".$this->db_add_param($firma_id,FHC_INTEGER).';';
if($resulttag = $this->db_query($qry))
@@ -149,7 +151,7 @@ class firma extends basis_db
$this->errormsg = 'Anmerkung darf nicht länger als 256 Zeichen sein';
return false;
}
if(mb_strlen($this->lieferbedingungen)>256)
if(mb_strlen($this->lieferbedingungen)>256)
{
$this->errormsg = 'Lieferbedingungen darf nicht länger als 256 Zeichen sein';
return false;
@@ -175,20 +177,21 @@ class firma extends basis_db
//Neuen Datensatz einfuegen
$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).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->schule, FHC_BOOLEAN).','.
$this->db_add_param($this->steuernummer).', '.
$this->db_add_param($this->gesperrt, FHC_BOOLEAN).','.
$this->db_add_param($this->aktiv, FHC_BOOLEAN).','.
$this->db_add_param($this->finanzamt, FHC_INTEGER).' ); ';
gesperrt,aktiv,finanzamt, partner_code) 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).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->schule, FHC_BOOLEAN).','.
$this->db_add_param($this->steuernummer).', '.
$this->db_add_param($this->gesperrt, FHC_BOOLEAN).','.
$this->db_add_param($this->aktiv, FHC_BOOLEAN).','.
$this->db_add_param($this->finanzamt, FHC_INTEGER).','.
$this->db_add_param($this->partner_code).'); ';
}
else
{
@@ -204,15 +207,16 @@ 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).', '.
'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).', '.
'schule='.$this->db_add_param($this->schule, FHC_BOOLEAN).', '.
'steuernummer='.$this->db_add_param($this->steuernummer).', '.
'gesperrt='.$this->db_add_param($this->gesperrt, FHC_BOOLEAN).', '.
'aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
'finanzamt='.$this->db_add_param($this->finanzamt, FHC_INTEGER).' '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'firmentyp_kurzbz='.$this->db_add_param($this->firmentyp_kurzbz).', '.
'schule='.$this->db_add_param($this->schule, FHC_BOOLEAN).', '.
'steuernummer='.$this->db_add_param($this->steuernummer).', '.
'gesperrt='.$this->db_add_param($this->gesperrt, FHC_BOOLEAN).', '.
'aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
'finanzamt='.$this->db_add_param($this->finanzamt, FHC_INTEGER).', '.
'partner_code='.$this->db_add_param($this->partner_code).' '.
'WHERE firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).';';
}
@@ -377,14 +381,14 @@ class firma extends basis_db
SELECT
firma_id, name, anmerkung, lieferbedingungen, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon,
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '1' as sort
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '1' as sort, partner_code
FROM public.tbl_firma
WHERE
UPPER(trim(public.tbl_firma.name)) like '".$this->db_escape($matchcode)."%'
UNION
SELECT
firma_id, name, anmerkung, lieferbedingungen, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon,
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '2' as sort
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '2' as sort, partner_code
FROM public.tbl_firma
WHERE
UPPER(trim(public.tbl_firma.name)) like '%".$this->db_escape($matchcode)."%'
@@ -418,6 +422,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$this->result[] = $fa;
}
@@ -495,6 +500,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$this->result[] = $fa;
}
@@ -511,7 +517,7 @@ class firma extends basis_db
$this->result = array();
$this->errormsg = '';
$qry ="SELECT * FROM (SElECT ";
$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 ";
@@ -542,6 +548,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$fa->kurzbz = $row->kurzbz;
$fa->adresse_id = $row->adresse_id;
$fa->standort_id = $row->standort_id;
@@ -571,15 +578,15 @@ class firma extends basis_db
/**
* Suche nur nach Firmennamen für die abgespeckte Firmenverwaltung
* Suche nur nach Firmennamen für die abgespeckte Firmenverwaltung
* @return true wenn ok, false im Fehlerfall
*/
public function searchByName($filter)
public function searchByName($filter)
{
$this->result = array();
$this->errormsg = '';
$qry ="SELECT * FROM (SElECT ";
$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 ";
@@ -590,9 +597,9 @@ class firma extends basis_db
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;";
@@ -618,6 +625,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$fa->kurzbz = $row->kurzbz;
$fa->adresse_id = $row->adresse_id;
$fa->standort_id = $row->standort_id;
@@ -646,15 +654,21 @@ class firma extends basis_db
}
/**
* Laedt alle Firmen Standorte, und Adressen nach Suchstring und/oder eines bestimmen Firmentyps
* Laedt alle Firmen Standorte, und Adressen nach Suchstring und/oder eines bestimmen Firmentyps, und/oder einer bestimmten Organisationseinheit
* @param string $filter Optional. Searchstring.
* @param string $firmentyp_kurzbz Optional. Firmentyp
* @param boolean $standorte Default false. Wenn false, findet ein distinct on auf die firma_id statt
* @param string $oefilter Oe_kurzbz. Optional. Filtert die Firmen auf die uebergebene oe_kurzbz.
* @return true wenn ok, false im Fehlerfall
*/
public function searchFirma($filter='',$firmentyp_kurzbz='', $standorte=false)
public function searchFirma($filter='',$firmentyp_kurzbz='', $standorte=false, $oefilter='')
{
$this->result = array();
$this->errormsg = '';
$qry ="SELECT * FROM (SElECT ";
$oes = '';
if ($oefilter!='')
$oes = implode("','",$oefilter);
$qry ="SELECT * FROM (SELECT ";
if(!$standorte)
$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 ";
@@ -662,6 +676,8 @@ class firma extends basis_db
$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 ) ";
if ($oes!='')
$qry.=" LEFT JOIN public.tbl_firma_organisationseinheit ON (tbl_firma.firma_id=tbl_firma_organisationseinheit.firma_id) ";
$qry.=" WHERE 1=1";
if($filter!='')
@@ -673,7 +689,7 @@ class firma extends basis_db
OR lower(ort) like lower('%".$this->db_escape($filter)."%')
OR lower(strasse) like lower('%".$this->db_escape($filter)."%')
OR lower(bezeichnung) like lower('%".$this->db_escape($filter)."%')
OR lower(tbl_standort.bezeichnung) like lower('%".$this->db_escape($filter)."%')
OR lower(anmerkung) like lower('%".$this->db_escape($filter)."%')
".(is_numeric($filter)?" OR tbl_firma.firma_id='".$this->db_escape($filter)."'":'')."
OR tbl_firma.firma_id IN (SELECT firma_id FROM public.tbl_firmatag
@@ -683,6 +699,9 @@ class firma extends basis_db
if($firmentyp_kurzbz!='')
$qry.=" and firmentyp_kurzbz=".$this->db_add_param($firmentyp_kurzbz);
if($oes!='')
$qry.=" and oe_kurzbz IN ('".$oes."') ";
//if($filter=='' && $firmentyp_kurzbz=='')
// $qry.=" limit 500 ";
$qry.=") as a ORDER BY name;";
@@ -696,7 +715,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->lieferbedingungen = $row->lieferbedingungen;
$fa->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$fa->updateamum = $row->updateamum;
$fa->updatevon = $row->updatevon;
@@ -708,6 +727,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$fa->kurzbz = $row->kurzbz;
$fa->adresse_id = $row->adresse_id;
$fa->standort_id = $row->standort_id;
@@ -773,11 +793,12 @@ class firma extends basis_db
/**
* Laedt alle Firmen - Organisationseinheiten nach Firmen ID und/oder OE Kurzbz
* @param $firma_id ID die gelesen werden soll
* @param $oe_kurzbz Organisationskurzbezeichnung
* @param integer $firma_id ID die gelesen werden soll
* @param string $oe_kurzbz Organisationskurzbezeichnung
* @param string $firmentyp_kurzbz Optional. Firmentyp, der geliefert werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function get_firmaorganisationseinheit($firma_id='',$oe_kurzbz='')
public function get_firmaorganisationseinheit($firma_id='', $oe_kurzbz='', $firmentyp_kurzbz='')
{
$this->result = array();
$this->errormsg = '';
@@ -797,9 +818,11 @@ class firma extends basis_db
$qry.=" WHERE true ";
if($firma_id!='')
$qry.=" and tbl_firma_organisationseinheit.firma_id=".$this->db_add_param($firma_id, FHC_INTEGER);
$qry.=" AND tbl_firma_organisationseinheit.firma_id=".$this->db_add_param($firma_id, FHC_INTEGER);
if($oe_kurzbz!='')
$qry.=" and tbl_firma_organisationseinheit.oe_kurzbz=".$this->db_add_param($oe_kurzbz);
$qry.=" AND tbl_firma_organisationseinheit.oe_kurzbz=".$this->db_add_param($oe_kurzbz);
if($firmentyp_kurzbz!='')
$qry.=" AND firmentyp_kurzbz=".$this->db_add_param($firmentyp_kurzbz);
$qry.=" ORDER BY tbl_firma.name, tbl_firma_organisationseinheit.oe_kurzbz;";
if($this->db_query($qry))
@@ -823,6 +846,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$fa->oe_kurzbz = $row->oe_kurzbz;
$fa->firma_organisationseinheit_id = $row->firma_organisationseinheit_id;
$fa->oe_parent_kurzbz = $row->oe_parent_kurzbz;
@@ -920,14 +944,14 @@ class firma extends basis_db
//Neuen Datensatz einfuegen
$qry='INSERT INTO public.tbl_firma_organisationseinheit (firma_id,oe_kurzbz,
bezeichnung,kundennummer, updateamum, updatevon, insertamum, insertvon) VALUES('.
$this->db_add_param($this->firma_id, FHC_INTEGER).', '.
$this->db_add_param($this->oe_kurzbz).', '.
$this->db_add_param($this->bezeichnung).', '.
$this->db_add_param($this->kundennummer).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).' ); ';
$this->db_add_param($this->firma_id, FHC_INTEGER).', '.
$this->db_add_param($this->oe_kurzbz).', '.
$this->db_add_param($this->bezeichnung).', '.
$this->db_add_param($this->kundennummer).', '.
$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
{
@@ -945,7 +969,7 @@ class firma extends basis_db
'bezeichnung='.$this->db_add_param($this->bezeichnung).', '.
'kundennummer='.$this->db_add_param($this->kundennummer).', '.
'updateamum= now(), '.
'updatevon='.$this->db_add_param($this->updatevon).' '.
'updatevon='.$this->db_add_param($this->updatevon).' '.
'WHERE firma_organisationseinheit_id='.$this->db_add_param($this->firma_organisationseinheit_id, FHC_INTEGER).';';
}
if($this->db_query($qry))
@@ -1059,25 +1083,25 @@ class firma extends basis_db
}
}
/**
* Lädt Alle firmen die zu einem bestimmten mobilitaetsprogramm zugeordnet sind
* @param $mobilitaetsprogramm_code
* @return boolean
*/
function getFirmenMobilitaetsprogramm($mobilitaetsprogramm_code)
{
$qry = 'SELECT * FROM public.tbl_firma JOIN public.tbl_firma_mobilitaetsprogramm USING(firma_id) WHERE mobilitaetsprogramm_code ='.$this->db_add_param($mobilitaetsprogramm_code, FHC_INTEGER).';';
/**
* Lädt Alle firmen die zu einem bestimmten mobilitaetsprogramm zugeordnet sind
* @param $mobilitaetsprogramm_code
* @return boolean
*/
function getFirmenMobilitaetsprogramm($mobilitaetsprogramm_code)
{
$qry = 'SELECT * FROM public.tbl_firma JOIN public.tbl_firma_mobilitaetsprogramm USING(firma_id) WHERE mobilitaetsprogramm_code ='.$this->db_add_param($mobilitaetsprogramm_code, FHC_INTEGER).';';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$fi = new firma();
$fi = new firma();
$fi->firma_id = $row->firma_id;
$fi->name = $row->name;
$fi->anmerkung = $row->anmerkung;
$fi->lieferbedingungen = $row->lieferbedingungen;
$fi->lieferbedingungen = $row->lieferbedingungen;
$fi->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$fi->updateamum = $row->updateamum;
$fi->updatevon = $row->updatevon;
@@ -1089,8 +1113,9 @@ class firma extends basis_db
$fi->gesperrt = $this->db_parse_bool($row->gesperrt);
$fi->aktiv = $this->db_parse_bool($row->aktiv);
$fi->finanzamt = $row->finanzamt;
$fi->partner_code = $row->partner_code;
$this->result[] = $fi;
$this->result[] = $fi;
}
}
@@ -1100,6 +1125,49 @@ class firma extends basis_db
return false;
}
}
}
/**
* Laedt Firmen die eine PartnerCode haben
* @param $firma_id ID der zu ladenden Funktion
* @return true wenn ok, false im Fehlerfall
*/
public function getFirmaPartner()
{
$qry = "SELECT * FROM public.tbl_firma WHERE partner_code is not null;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new stdClass();
$obj->firma_id = $row->firma_id;
$obj->name = $row->name;
$obj->anmerkung = $row->anmerkung;
$obj->lieferbedingungen = $row->lieferbedingungen;
$obj->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->schule = $this->db_parse_bool($row->schule);
$obj->steuernummer = $row->steuernummer;
$obj->gesperrt = $this->db_parse_bool($row->gesperrt);
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->finanzamt = $row->finanzamt;
$obj->partner_code = $row->partner_code;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
}
?>
+37 -8
View File
@@ -81,7 +81,7 @@ class frage extends basis_db
return false;
}
$qry = "SELECT * FROM testtool.tbl_frage WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER);
$qry = "SELECT * FROM testtool.tbl_frage LEFT OUTER JOIN testtool.tbl_frage_sprache USING (frage_id) WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER);
if($this->db_query($qry))
{
@@ -98,6 +98,7 @@ class frage extends basis_db
$this->insertvon = $row->insertvon;
$this->level = $row->level;
$this->aktiv = $row->aktiv;
$this->bild = $row->bild;
return true;
}
@@ -226,12 +227,12 @@ class frage extends basis_db
else
{
$qry = 'UPDATE testtool.tbl_frage_sprache SET'.
' text='.$this->db_add_param($this->text).','.
' bild='.$this->db_add_param($this->bild).','.
' audio='.$this->db_add_param($this->audio).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).
" WHERE frage_id=".$this->db_add_param($this->frage_id, FHC_INTEGER, false)." AND sprache=".$this->db_add_param($this->sprache).";";
' text='.$this->db_add_param($this->text).','.
' bild='.$this->db_add_param($this->bild).','.
' audio='.$this->db_add_param($this->audio).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).
" WHERE frage_id=".$this->db_add_param($this->frage_id, FHC_INTEGER, false)." AND sprache=".$this->db_add_param($this->sprache).";";
}
if($this->db_query($qry))
@@ -286,7 +287,7 @@ class frage extends basis_db
/**
* Liefert die Fragen eines Gebietes
*
* @param $gebiet_id
* @param integer $gebiet_id
* @return true wenn ok, sonst false
*/
public function getFragenGebiet($gebiet_id)
@@ -401,6 +402,7 @@ class frage extends basis_db
$this->level = $row->level;
$this->demo = $this->db_parse_bool($row->demo);
$this->nummer = $row->nummer;
$this->aktiv = $this->db_parse_bool($row->aktiv);
return true;
}
@@ -545,6 +547,7 @@ class frage extends basis_db
tbl_frage.gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND
tbl_pruefling_frage.pruefling_id=".$this->db_add_param($pruefling_id, FHC_INTEGER)."
ORDER BY nummer DESC LIMIT 1;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -862,5 +865,31 @@ class frage extends basis_db
return false;
}
}
/**
* Gibt die letzte (hoechste) Nummer eines Gebiets zurueck
*
* @param integer $gebiet_id Gebiet der Fragen
* @return integer $number Nummer der letzten Frage des Gebiets, wenn gefunden, sonst false
*/
public function getMaxNummer($gebiet_id)
{
$number = '';
$qry = "SELECT nummer FROM testtool.tbl_frage
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." ORDER BY nummer DESC LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$number = $row->nummer;
}
return $number;
}
else
{
return false;
}
}
}
?>
+60 -39
View File
@@ -72,7 +72,9 @@ class gebiet extends basis_db
*/
public function load($gebiet_id)
{
$qry = "SELECT * FROM testtool.tbl_gebiet WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER);
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$qry = "SELECT *,$bezeichnung_mehrsprachig FROM testtool.tbl_gebiet WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER);
if($this->db_query($qry))
{
@@ -81,6 +83,7 @@ class gebiet extends basis_db
$this->gebiet_id = $row->gebiet_id;
$this->kurzbz = $row->kurzbz;
$this->bezeichnung = $row->bezeichnung;
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$this->beschreibung = $row->beschreibung;
$this->zeit = $row->zeit;
$this->multipleresponse = $this->db_parse_bool($row->multipleresponse);
@@ -193,47 +196,65 @@ class gebiet extends basis_db
{
$qry = 'BEGIN;INSERT INTO testtool.tbl_gebiet (kurzbz, bezeichnung, beschreibung, zeit, multipleresponse,
kategorien, maxfragen, zufallfrage, zufallvorschlag, level_start, level_sprung_auf, level_sprung_ab,
levelgleichverteilung, maxpunkte, antwortenprozeile, insertamum, insertvon , updateamum, updatevon) VALUES('.
$this->db_add_param($this->kurzbz).','.
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->beschreibung).','.
$this->db_add_param($this->zeit).','.
$this->db_add_param($this->multipleresponse, FHC_BOOLEAN).','.
$this->db_add_param($this->kategorien, FHC_BOOLEAN).','.
$this->db_add_param($this->maxfragen).','.
$this->db_add_param($this->zufallfrage, FHC_BOOLEAN).','.
$this->db_add_param($this->zufallvorschlag, FHC_BOOLEAN).','.
$this->db_add_param($this->level_start).','.
$this->db_add_param($this->level_sprung_auf).','.
$this->db_add_param($this->level_sprung_ab).','.
$this->db_add_param($this->levelgleichverteilung, FHC_BOOLEAN).','.
$this->db_add_param($this->maxpunkte).','.
$this->db_add_param($this->antwortenprozeile).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).
',null, null);';
levelgleichverteilung, maxpunkte, antwortenprozeile, ';
foreach($this->bezeichnung_mehrsprachig as $key=>$value)
{
$idx = sprache::$index_arr[$key];
$qry.=" bezeichnung_mehrsprachig[$idx],";
}
$qry.='insertamum, insertvon , updateamum, updatevon) VALUES('.
$this->db_add_param($this->kurzbz).','.
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->beschreibung).','.
$this->db_add_param($this->zeit).','.
$this->db_add_param($this->multipleresponse, FHC_BOOLEAN).','.
$this->db_add_param($this->kategorien, FHC_BOOLEAN).','.
$this->db_add_param($this->maxfragen).','.
$this->db_add_param($this->zufallfrage, FHC_BOOLEAN).','.
$this->db_add_param($this->zufallvorschlag, FHC_BOOLEAN).','.
$this->db_add_param($this->level_start).','.
$this->db_add_param($this->level_sprung_auf).','.
$this->db_add_param($this->level_sprung_ab).','.
$this->db_add_param($this->levelgleichverteilung, FHC_BOOLEAN).','.
$this->db_add_param($this->maxpunkte).','.
$this->db_add_param($this->antwortenprozeile).',';
foreach($this->bezeichnung_mehrsprachig as $key=>$value)
$qry.=$this->db_add_param($value).',';
$qry .= $this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).
',null, null);';
}
else
{
$qry = 'UPDATE testtool.tbl_gebiet SET'.
' kurzbz='.$this->db_add_param($this->kurzbz).','.
' bezeichnung='.$this->db_add_param($this->bezeichnung).','.
' beschreibung='.$this->db_add_param($this->beschreibung).','.
' zeit='.$this->db_add_param($this->zeit).','.
' multipleresponse='.$this->db_add_param($this->multipleresponse, FHC_BOOLEAN).','.
' kategorien='.$this->db_add_param($this->kategorien, FHC_BOOLEAN).','.
' maxfragen='.$this->db_add_param($this->maxfragen).','.
' zufallfrage='.$this->db_add_param($this->zufallfrage, FHC_BOOLEAN).','.
' zufallvorschlag='.$this->db_add_param($this->zufallvorschlag, FHC_BOOLEAN).','.
' level_start='.$this->db_add_param($this->level_start).','.
' level_sprung_auf='.$this->db_add_param($this->level_sprung_auf).','.
' level_sprung_ab='.$this->db_add_param($this->level_sprung_ab).','.
' levelgleichverteilung='.$this->db_add_param($this->levelgleichverteilung, FHC_BOOLEAN).','.
' maxpunkte='.$this->db_add_param($this->maxpunkte).','.
' antwortenprozeile='.$this->db_add_param($this->antwortenprozeile).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).
" WHERE gebiet_id=".$this->db_add_param($this->gebiet_id, FHC_INTEGER, false).";";
' kurzbz='.$this->db_add_param($this->kurzbz).','.
' bezeichnung='.$this->db_add_param($this->bezeichnung).','.
' beschreibung='.$this->db_add_param($this->beschreibung).','.
' zeit='.$this->db_add_param($this->zeit).','.
' multipleresponse='.$this->db_add_param($this->multipleresponse, FHC_BOOLEAN).','.
' kategorien='.$this->db_add_param($this->kategorien, FHC_BOOLEAN).','.
' maxfragen='.$this->db_add_param($this->maxfragen).','.
' zufallfrage='.$this->db_add_param($this->zufallfrage, FHC_BOOLEAN).','.
' zufallvorschlag='.$this->db_add_param($this->zufallvorschlag, FHC_BOOLEAN).','.
' level_start='.$this->db_add_param($this->level_start).','.
' level_sprung_auf='.$this->db_add_param($this->level_sprung_auf).','.
' level_sprung_ab='.$this->db_add_param($this->level_sprung_ab).','.
' levelgleichverteilung='.$this->db_add_param($this->levelgleichverteilung, FHC_BOOLEAN).','.
' maxpunkte='.$this->db_add_param($this->maxpunkte).','.
' antwortenprozeile='.$this->db_add_param($this->antwortenprozeile).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).',';
foreach($this->bezeichnung_mehrsprachig as $key=>$value)
{
$idx = sprache::$index_arr[$key];
$qry .= " bezeichnung_mehrsprachig[$idx]=".$this->db_add_param($value).",";
}
$qry = mb_substr($qry,0,-1);
$qry .= ' WHERE gebiet_id='.$this->db_add_param($this->gebiet_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
@@ -241,7 +262,7 @@ class gebiet extends basis_db
//aktuelle ID aus der Sequence holen
if($new)
{
$qry='SELECT currval("testtool.tbl_gebiet_gebiet_id_seq") as id;';
$qry="SELECT currval('testtool.tbl_gebiet_gebiet_id_seq') as id;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
+209
View File
@@ -0,0 +1,209 @@
<?php
/* Copyright (C) 2016 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: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
*/
/**
* Klasse GSProgramm
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class gsprogramm extends basis_db
{
public $new=true; // boolean
public $result = array();
//Tabellenspalten
public $gsprogramm_id;
public $programm_code;
public $bezeichnung;
public $gsprogrammtyp_kurzbz;
public function getAll()
{
$qry ="SELECT
tbl_gsprogramm.*,
tbl_gsprogrammtyp.bezeichnung as gsprogrammtyp_bezeichnung
FROM
bis.tbl_gsprogramm
LEFT JOIN bis.tbl_gsprogrammtyp USING(gsprogrammtyp_kurzbz)
ORDER BY tbl_gsprogramm.bezeichnung";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new gsprogramm();
$obj->gsprogramm_id = $row->gsprogramm_id;
$obj->programm_code = $row->programm_code;
$obj->bezeichnung = $row->bezeichnung;
$obj->gsprogrammtyp_kurzbz = $row->gsprogrammtyp_kurzbz;
$obj->gsprogrammtyp_bezeichnung = $row->gsprogrammtyp_bezeichnung;
$this->result[]=$obj;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Lädt ein GSProgramm
* @param int $gsprogramm_id
* @return boolean
*/
public function load($gsprogramm_id)
{
$qry ="SELECT * FROM bis.tbl_gsprogramm where gsprogramm_id =".$this->db_add_param($gsprogramm_id, FHC_INTEGER).';';
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->gsprogramm_id = $row->gsprogramm_id;
$this->programm_code = $row->programm_code;
$this->bezeichnung = $row->bezeichnung;
$this->gsprogrammtyp_kurzbz = $row->gsprogrammtyp_kurzbz;
$this->new = false;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Laedt die GSProgrammTypen
* @return true wenn ok, false im Fehlerfall
*/
public function getTypen()
{
$qry = "SELECT * FROM bis.tbl_gsprogrammtyp ORDER BY bezeichnung";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->gsprogrammtyp_kurzbz = $row->gsprogrammtyp_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->programmtyp_code = $row->programmtyp_code;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Programmtypen';
return false;
}
}
public function save()
{
if($this->new)
{
$qry = 'BEGIN;INSERT INTO bis.tbl_gsprogramm(programm_code,
bezeichnung, gsprogrammtyp_kurzbz) VALUES('.
$this->db_add_param($this->programm_code).','.
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->gsprogrammtyp_kurzbz).');';
}
else
{
$qry = 'UPDATE bis.tbl_gsprogramm SET
bezeichnung='.$this->db_add_param($this->bezeichnung).',
gsprogrammtyp_kurzbz='.$this->db_add_param($this->gsprogrammtyp_kurzbz).',
programm_code='.$this->db_add_param($this->programm_code, FHC_INTEGER).'
WHERE gsprogramm_id='.$this->db_add_param($this->gsprogramm_id, FHC_INTEGER, false);
}
if($this->db_query($qry))
{
if($this->new)
{
//Sequence lesen
$qry="SELECT currval('bis.tbl_gsprogramm_gsprogramm_id_seq') as id;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->gsprogramm_id = $row->id;
$this->db_query('COMMIT;');
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
{
return true;
}
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht ein GSProgramm
* @param $gsprogramm_id ID des Datensatzes
* @return boolean true wenn ok, false im Fehlerfall
*/
public function delete($gsprogramm_id)
{
$qry = "DELETE FROM bis.tbl_gsprogramm
WHERE gsprogramm_id=".$this->db_add_param($gsprogramm_id, FHC_INTEGER);
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Löschen des Datensatzes';
return false;
}
}
}
Regular → Executable
+96 -7
View File
@@ -60,6 +60,7 @@ class konto extends basis_db
public $aktiv;
public $credit_points;
public $zahlungsreferenz;
public $anmerkung;
/**
* Konstruktor
@@ -116,6 +117,7 @@ class konto extends basis_db
$this->vornamen = $row->vornamen;
$this->credit_points = $row->credit_points;
$this->zahlungsreferenz = $row->zahlungsreferenz;
$this->anmerkung = $row->anmerkung;
return true;
}
else
@@ -191,7 +193,7 @@ class konto extends basis_db
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO public.tbl_konto (person_id, studiengang_kz, studiensemester_kurzbz, buchungsnr_verweis, betrag, buchungsdatum, buchungstext, mahnspanne, buchungstyp_kurzbz, updateamum, updatevon, insertamum, insertvon, credit_points) VALUES('.
$qry='BEGIN;INSERT INTO public.tbl_konto (person_id, studiengang_kz, studiensemester_kurzbz, buchungsnr_verweis, betrag, buchungsdatum, buchungstext, mahnspanne, buchungstyp_kurzbz, updateamum, updatevon, insertamum, insertvon, credit_points, zahlungsreferenz, anmerkung) VALUES('.
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->studiensemester_kurzbz).', '.
@@ -205,7 +207,9 @@ class konto extends basis_db
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->credit_points).');';
$this->db_add_param($this->credit_points).', '.
$this->db_add_param($this->zahlungsreferenz).', '.
$this->db_add_param($this->anmerkung).');';
}
else
{
@@ -224,7 +228,9 @@ class konto extends basis_db
' updatevon='.$this->db_add_param($this->updatevon).','.
' insertamum='.$this->db_add_param($this->insertamum).','.
' insertvon='.$this->db_add_param($this->insertvon).','.
' credit_points='.$this->db_add_param($this->credit_points).
' credit_points='.$this->db_add_param($this->credit_points).','.
' zahlungsreferenz='.$this->db_add_param($this->zahlungsreferenz).','.
' anmerkung='.$this->db_add_param($this->anmerkung).
" WHERE buchungsnr='".$this->db_add_param($this->buchungsnr, FHC_INTEGER)."';";
}
@@ -385,6 +391,9 @@ class konto extends basis_db
$buchung->nachname = $row->nachname;
$buchung->vorname = $row->vorname;
$buchung->vornamen = $row->vornamen;
$buchung->credit_points = $row->credit_points;
$buchung->zahlungsreferenz = $row->zahlungsreferenz;
$buchung->anmerkung = $row->anmerkung;
if($buchung->buchungsnr_verweis!='')
{
@@ -453,11 +462,11 @@ class konto extends basis_db
*/
public function getDifferenz($buchungsnr)
{
$qry = "SELECT
$qry = "SELECT
sum(betrag) as differenz FROM public.tbl_konto
WHERE
WHERE
(buchungsnr=".$this->db_add_param($buchungsnr, FHC_INTEGER)." OR buchungsnr_verweis=".$this->db_add_param($buchungsnr, FHC_INTEGER).")
OR
OR
(buchungsnr=(SELECT buchungsnr_verweis FROM public.tbl_konto WHERE buchungsnr=".$this->db_add_param($buchungsnr, FHC_INTEGER).") OR buchungsnr_verweis=(SELECT buchungsnr_verweis FROM public.tbl_konto WHERE buchungsnr=".$this->db_add_param($buchungsnr, FHC_INTEGER)."))";
if($this->db_query($qry))
@@ -647,7 +656,7 @@ class konto extends basis_db
AND tbl_konto.buchungstyp_kurzbz in(".$this->db_implode4SQL($buchungstyp_kurzbz_array).")";
if(!is_null($studiensemester_kurzbz))
$subqry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$subqry.="
ORDER BY tbl_studiensemester.start DESC";
@@ -801,6 +810,51 @@ class konto extends basis_db
}
}
/**
* Liefert die CreditPoints die ein Studierender für ein Studiensemester zur Verfügung hat
* falls dieser einschraenkungen eingetragen hat. Wenn keine Einschraenkung vorhanden ist,
* wird false zurueckgeliefert. Es werden die Creditpoint der Belastungen herangezogen.
* Die Gegenbuchung wird nicht beruecksichtigt.
* @return Anzahl der gekauften CreditPoints oder false falls unbeschraenkt
*/
public function getCreditPointsOfStudiensemester($uid, $studiensemester_kurzbz)
{
$qry = "SELECT sum(credit_points) as cp
FROM
public.tbl_konto
JOIN public.tbl_benutzer USING(person_id)
WHERE
uid=".$this->db_add_param($uid)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND buchungsnr_verweis is null
AND credit_points is not null";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$creditpoints = $row->cp;
if($creditpoints!='')
{
return $creditpoints;
}
else
return false;
}
else
{
// keine Einschraenkung vorhanden
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Fügt zur erstellten Buchung eine Zahlungsreferenz hinzu
* @param $buchungsnr Die ID der erstellten Buchung in der Datenbank
@@ -854,6 +908,7 @@ class konto extends basis_db
$this->insertvon = $row->insertvon;
$this->credit_points = $row->credit_points;
$this->zahlungsreferenz = $row->zahlungsreferenz;
$this->anmerkung = $row->anmerkung;
return true;
}
else
@@ -869,5 +924,39 @@ class konto extends basis_db
}
}
/**
* ueberprueft, ob leistungsstipendium gebucht ist fuer
* student_uid und studiensemester
* @param string $uid UserID
* @param string $stsem Studiensemester
* @return boolean
*/
public function checkLeistungsstipendium($uid, $stsem)
{
$subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum FROM public.tbl_konto, public.tbl_benutzer, public.tbl_student
WHERE
tbl_konto.studiensemester_kurzbz = ".$this->db_add_param($stsem)."
AND tbl_benutzer.uid = ".$this->db_add_param($uid)."
AND tbl_benutzer.uid = tbl_student.student_uid
AND tbl_benutzer.person_id = tbl_konto.person_id
AND tbl_konto.studiengang_kz=tbl_student.studiengang_kz
AND tbl_konto.buchungstyp_kurzbz = 'Leistungsstipendium' ORDER BY buchungsnr";
if($this->db_query($subqry))
{
if ($this->db_num_rows()==0)
return false;
else
{
return true;
}
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
}
?>
+253 -258
View File
@@ -289,8 +289,6 @@ class lehrveranstaltung extends basis_db
//Select Befehl zusammenbauen
if (!is_null($lehreverzeichnis))
$qry .= " AND lehreverzeichnis=" . $this->db_add_param($lehreverzeichnis);
// else
// $qry .= " AND lehreverzeichnis<>'' ";
if (!is_null($semester) && $semester != '')
$qry .= " AND semester=" . $this->db_add_param($semester, FHC_INTEGER);
@@ -425,8 +423,6 @@ class lehrveranstaltung extends basis_db
//Select Befehl zusammenbauen
if (!is_null($lehreverzeichnis))
$qry .= " AND lehreverzeichnis=" . $this->db_add_param($lehreverzeichnis);
//else
// $qry .= " AND lehreverzeichnis<>'' ";
if (!is_null($semester) && $semester != '')
$qry .= " AND semester=" . $this->db_add_param($semester);
@@ -436,7 +432,6 @@ class lehrveranstaltung extends basis_db
if (!is_null($studiensemester_kurzbz) && $studiensemester_kurzbz != '')
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz=" . $this->db_add_param($studiensemester_kurzbz);
if (!is_null($lehre))
$qry .= " AND lehre=" . ($lehre ? 'true' : 'false');
@@ -527,10 +522,10 @@ class lehrveranstaltung extends basis_db
WHERE lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM campus.vw_student_lehrveranstaltung
WHERE uid=" . $this->db_add_param($student_uid);
if($studiensemester_kurzbz !== NULL)
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$qry .= ") OR lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM lehre.tbl_zeugnisnote WHERE student_uid=" . $this->db_add_param($student_uid);
if($studiensemester_kurzbz !== NULL)
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param ($studiensemester_kurzbz);
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param ($studiensemester_kurzbz);
$qry .= ") ORDER BY semester, bezeichnung";
//Datensaetze laden
@@ -608,16 +603,10 @@ class lehrveranstaltung extends basis_db
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
return false;
}
/*
if(is_null($orgform_kurzbz) || $orgform_kurzbz=='')
{
$this->errormsg = 'keine orgform_kurzbz uebergeben';
return false;
}*/
$qry='SELECT count(*) as count FROM lehre.tbl_lehrveranstaltung
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz).' AND orgform_kurzbz'.(is_null($orgform_kurzbz)?' is null':"=".$this->db_add_param($orgform_kurzbz));
//echo $qry;
$return=array();
if($db_result=$this->db_query($qry))
{
@@ -1072,9 +1061,9 @@ class lehrveranstaltung extends basis_db
}
$qry = "SELECT mdl_course_id FROM lehre.tbl_moodle
WHERE studiensemester_kurzbz = " . $this->db_add_param($semester) . "
AND (lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "
OR lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "));";
WHERE studiensemester_kurzbz = " . $this->db_add_param($semester) . "
AND (lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "
OR lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "));";
$moodleArray = array();
@@ -1199,7 +1188,8 @@ class lehrveranstaltung extends basis_db
JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(lehrveranstaltung_id)
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER);
if (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN") && CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN)
$qry .= " AND tbl_lehrveranstaltung.lehrtyp_kurzbz != 'modul'";
if (!is_null($semester))
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
@@ -1297,7 +1287,9 @@ class lehrveranstaltung extends basis_db
$tree = array();
foreach ($this->lehrveranstaltungen as $row)
{
if ($row->studienplan_lehrveranstaltung_id_parent == '')
if ($row->studienplan_lehrveranstaltung_id_parent == ''
|| (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN")
&& CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN))
{
$tree[$row->studienplan_lehrveranstaltung_id] = $row;
$tree[$row->studienplan_lehrveranstaltung_id]->childs = $this->getLehrveranstaltungTreeChilds($row->studienplan_lehrveranstaltung_id);
@@ -1323,7 +1315,7 @@ class lehrveranstaltung extends basis_db
return $childs;
}
/**
/**
* Generiert die Subtrees des Lehrveranstaltungstrees
*/
public function hasChildren($studienplan_lehrveranstaltung_id)
@@ -1338,15 +1330,14 @@ class lehrveranstaltung extends basis_db
}
}
if(count($childs) > 0)
{
return true;
}
else
{
return false;
}
}
{
return true;
}
else
{
return false;
}
}
/**
* Baut die Datenstruktur für senden als JSON Objekt auf
@@ -1453,6 +1444,7 @@ class lehrveranstaltung extends basis_db
$obj->zeugnis = $lv->zeugnis;
$obj->curriculum = $lv->curriculum;
$obj->export = $lv->export;
$obj->genehmigung = $lv->genehmigung;
$obj->lehrauftrag = $lv->lehrauftrag;
$obj->lehre = $lv->lehre;
$obj->children = array();
@@ -1511,7 +1503,8 @@ class lehrveranstaltung extends basis_db
*/
public function loadLVkompatibel($lehrveranstaltung_id)
{
if (!is_numeric($lehrveranstaltung_id)) {
if (!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
@@ -1536,7 +1529,8 @@ class lehrveranstaltung extends basis_db
*/
public function getLVkompatibel($lehrveranstaltung_id)
{
if (!is_numeric($lehrveranstaltung_id)) {
if (!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
@@ -1676,11 +1670,13 @@ class lehrveranstaltung extends basis_db
public function load_lva_oe($oe_kurzbz, $aktiv=null, $lehrtyp=null, $sort=null, $semester=null)
{
if (is_null($oe_kurzbz)) {
if (is_null($oe_kurzbz))
{
$this->errormsg = 'OE KurzBz darf nicht null sein';
return false;
}
if (!is_null($aktiv) && !is_bool($aktiv)) {
if (!is_null($aktiv) && !is_bool($aktiv))
{
$this->errormsg = 'Aktivkz muss ein boolscher Wert sein';
return false;
}
@@ -1942,125 +1938,125 @@ class lehrveranstaltung extends basis_db
}
}
/**
* lädt die Lehrveranstaltungen zum zugehörigen Mitarbeiter
* @param String $uid User ID des Mitarbeiters
* @param String $studiensemster_kurzbz Kurzbezeichnung des Studiensemesters
*/
public function getLVByMitarbeiter($uid, $studiensemester_kurzbz = null)
{
$qry = 'SELECT DISTINCT tbl_lehrveranstaltung.* FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
WHERE
mitarbeiter_uid='.$this->db_add_param($uid);
/**
* lädt die Lehrveranstaltungen zum zugehörigen Mitarbeiter
* @param String $uid User ID des Mitarbeiters
* @param String $studiensemster_kurzbz Kurzbezeichnung des Studiensemesters
*/
public function getLVByMitarbeiter($uid, $studiensemester_kurzbz = null)
{
$qry = 'SELECT DISTINCT tbl_lehrveranstaltung.* FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
WHERE
mitarbeiter_uid='.$this->db_add_param($uid);
if($studiensemester_kurzbz != null)
{
$qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).';';
}
if($studiensemester_kurzbz != null)
{
$qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).';';
}
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung();
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung();
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$lv_obj->studiengang_kz = $row->studiengang_kz;
$lv_obj->bezeichnung = $row->bezeichnung;
$lv_obj->kurzbz = $row->kurzbz;
$lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$lv_obj->semester = $row->semester;
$lv_obj->ects = $row->ects;
$lv_obj->semesterstunden = $row->semesterstunden;
$lv_obj->anmerkung = $row->anmerkung;
$lv_obj->lehre = $this->db_parse_bool($row->lehre);
$lv_obj->lehreverzeichnis = $row->lehreverzeichnis;
$lv_obj->aktiv = $this->db_parse_bool($row->aktiv);
$lv_obj->ext_id = $row->ext_id;
$lv_obj->insertamum = $row->insertamum;
$lv_obj->insertvon = $row->insertvon;
$lv_obj->planfaktor = $row->planfaktor;
$lv_obj->planlektoren = $row->planlektoren;
$lv_obj->planpersonalkosten = $row->planpersonalkosten;
$lv_obj->plankostenprolektor = $row->plankostenprolektor;
$lv_obj->updateamum = $row->updateamum;
$lv_obj->updatevon = $row->updatevon;
$lv_obj->sprache = $row->sprache;
$lv_obj->sort = $row->sort;
$lv_obj->incoming = $row->incoming;
$lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$lv_obj->zeugnis = $row->koordinator;
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$lv_obj->studiengang_kz = $row->studiengang_kz;
$lv_obj->bezeichnung = $row->bezeichnung;
$lv_obj->kurzbz = $row->kurzbz;
$lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$lv_obj->semester = $row->semester;
$lv_obj->ects = $row->ects;
$lv_obj->semesterstunden = $row->semesterstunden;
$lv_obj->anmerkung = $row->anmerkung;
$lv_obj->lehre = $this->db_parse_bool($row->lehre);
$lv_obj->lehreverzeichnis = $row->lehreverzeichnis;
$lv_obj->aktiv = $this->db_parse_bool($row->aktiv);
$lv_obj->ext_id = $row->ext_id;
$lv_obj->insertamum = $row->insertamum;
$lv_obj->insertvon = $row->insertvon;
$lv_obj->planfaktor = $row->planfaktor;
$lv_obj->planlektoren = $row->planlektoren;
$lv_obj->planpersonalkosten = $row->planpersonalkosten;
$lv_obj->plankostenprolektor = $row->plankostenprolektor;
$lv_obj->updateamum = $row->updateamum;
$lv_obj->updatevon = $row->updatevon;
$lv_obj->sprache = $row->sprache;
$lv_obj->sort = $row->sort;
$lv_obj->incoming = $row->incoming;
$lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$lv_obj->zeugnis = $row->koordinator;
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $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'];
$lv_obj->bezeichnung_arr['German'] = $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'];
$this->lehrveranstaltungen[] = $lv_obj;
}
return true;
}
else
{
$this->errormsg = "Lehrveranstaltungen konnten nicht geladen werden.";
}
$this->lehrveranstaltungen[] = $lv_obj;
}
return true;
}
else
{
$this->errormsg = "Lehrveranstaltungen konnten nicht geladen werden.";
}
}
}
/**
* Lädt alle Studenten UIDs die die angegebenen LV besuchen (optional mit Studiensemester)
* @param integer $lehrveranstaltung_id ID der Lehrveranstaltung
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
* @return boolean|array false, wenn eine Fehler auftritt; Array mit UIDs wenn erfolgreich
*/
public function getStudentsOfLv($lehrveranstaltung_id, $studiensemester_kurzbz=null, $lehreinheit_id=null)
{
if(!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = "Lehrveranstaltung ID muss eine gültige Zahl sein.";
return false;
}
/**
* Lädt alle Studenten UIDs die die angegebenen LV besuchen (optional mit Studiensemester)
* @param integer $lehrveranstaltung_id ID der Lehrveranstaltung
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
* @return boolean|array false, wenn eine Fehler auftritt; Array mit UIDs wenn erfolgreich
*/
public function getStudentsOfLv($lehrveranstaltung_id, $studiensemester_kurzbz=null, $lehreinheit_id=null)
{
if(!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = "Lehrveranstaltung ID muss eine gültige Zahl sein.";
return false;
}
$qry = 'SELECT distinct uid FROM campus.vw_student_lehrveranstaltung WHERE '
. 'lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id);
$qry = 'SELECT distinct uid FROM campus.vw_student_lehrveranstaltung WHERE '
. 'lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id);
if(!is_null($studiensemester_kurzbz))
{
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
}
if(!is_null($lehreinheit_id))
{
$qry .= ' AND lehreinheit_id='.$this->db_add_param($lehreinheit_id);
}
$qry .= ';';
if(!is_null($studiensemester_kurzbz))
{
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
}
if(!is_null($lehreinheit_id))
{
$qry .= ' AND lehreinheit_id='.$this->db_add_param($lehreinheit_id);
}
$qry .= ';';
if($this->db_query($qry))
{
$result = array();
while($row = $this->db_fetch_object())
{
array_push($result, $row->uid);
}
return $result;
}
return false;
}
if($this->db_query($qry))
{
$result = array();
while($row = $this->db_fetch_object())
{
array_push($result, $row->uid);
}
return $result;
}
return false;
}
/**
*
@@ -2097,7 +2093,7 @@ class lehrveranstaltung extends basis_db
}
$qry_alvs = "SELECT sum(lm.semesterstunden) as alvs
$qry_alvs = "SELECT sum(lm.semesterstunden) as alvs
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter lm USING (lehreinheit_id)
@@ -2167,14 +2163,13 @@ class lehrveranstaltung extends basis_db
public function lehreverzeichnisExists($lehreverzeichnis, $studiengang_kz, $semester)
{
$qry = 'SELECT
1
FROM
lehre.tbl_lehrveranstaltung
WHERE
lehreverzeichnis='.$this->db_add_param($lehreverzeichnis).'
AND studiengang_kz='.$this->db_add_param($studiengang_kz).'
AND semester='.$this->db_add_param($semester).';';
1
FROM
lehre.tbl_lehrveranstaltung
WHERE
lehreverzeichnis='.$this->db_add_param($lehreverzeichnis).'
AND studiengang_kz='.$this->db_add_param($studiengang_kz).'
AND semester='.$this->db_add_param($semester).';';
if($this->db_query($qry))
{
@@ -2201,117 +2196,117 @@ class lehrveranstaltung extends basis_db
*/
public function getLVFromStudienplanByLehrtyp($studienplan_id, $lehrtyp_kurzbz=NULL, $semester=NULL)
{
if (!is_numeric($studienplan_id) || $studienplan_id === '')
{
$this->errormsg = 'StudienplanID ist ungueltig';
return false;
}
if (!is_numeric($studienplan_id) || $studienplan_id === '')
{
$this->errormsg = 'StudienplanID ist ungueltig';
return false;
}
$qry = "SELECT DISTINCT tbl_lehrveranstaltung.*
$qry = "SELECT DISTINCT tbl_lehrveranstaltung.*
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(lehrveranstaltung_id)
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER);
if (!is_null($lehrtyp_kurzbz))
{
$qry.=" AND tbl_lehrveranstaltung.lehrtyp_kurzbz=" . $this->db_add_param($lehrtyp_kurzbz, FHC_STRING);
}
if (!is_null($semester))
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
}
$qry.=" ORDER BY bezeichnung;";
$this->lehrveranstaltungen = array();
if ($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
if (!is_null($lehrtyp_kurzbz))
{
$obj = new lehrveranstaltung();
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->bezeichnung = $row->bezeichnung;
$obj->kurzbz = $row->kurzbz;
$obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$obj->semester = $row->semester;
$obj->ects = $row->ects;
$obj->semesterstunden = $row->semesterstunden;
$obj->anmerkung = $row->anmerkung;
$obj->lehre = $this->db_parse_bool($row->lehre);
$obj->lehreverzeichnis = $row->lehreverzeichnis;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->ext_id = $row->ext_id;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->planfaktor = $row->planfaktor;
$obj->planlektoren = $row->planlektoren;
$obj->planpersonalkosten = $row->planpersonalkosten;
$obj->plankostenprolektor = $row->plankostenprolektor;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->sprache = $row->sprache;
$obj->sort = $row->sort;
$obj->incoming = $row->incoming;
$obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$obj->koordinator = $row->koordinator;
$obj->bezeichnung_english = $row->bezeichnung_english;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$obj->anzahlsemester = $row->anzahlsemester;
$obj->semesterwochen = $row->semesterwochen;
$obj->lvnr = $row->lvnr;
$obj->semester_alternativ = $row->semester_alternativ;
$obj->farbe = $row->farbe;
$obj->benotung = $this->db_parse_bool($row->benotung);
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($obj->bezeichnung_arr['English'] == '')
$obj->bezeichnung_arr['English'] = $obj->bezeichnung_arr['German'];
$obj->new = false;
$this->lehrveranstaltungen[] = $obj;
$qry.=" AND tbl_lehrveranstaltung.lehrtyp_kurzbz=" . $this->db_add_param($lehrtyp_kurzbz, FHC_STRING);
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Gibt alle Organisationseinheiten der Studiengänge zurück, mit denen
* die Lehrveranstaltung über Studienpläne verknüpft ist
* @return boolean|array false im Fehlerfall, sonst ein Array
*/
public function getAllOe()
{
$oe = array();
if (!is_null($semester))
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
}
$qry.=" ORDER BY bezeichnung;";
$qry = 'SELECT DISTINCT oe_kurzbz
FROM lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE lehrveranstaltung_id = '.$this->db_add_param($this->lehrveranstaltung_id);
if($result = $this->db_query($qry))
$this->lehrveranstaltungen = array();
if ($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
{
$oe[] = $row->oe_kurzbz;
}
{
$obj = new lehrveranstaltung();
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->bezeichnung = $row->bezeichnung;
$obj->kurzbz = $row->kurzbz;
$obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$obj->semester = $row->semester;
$obj->ects = $row->ects;
$obj->semesterstunden = $row->semesterstunden;
$obj->anmerkung = $row->anmerkung;
$obj->lehre = $this->db_parse_bool($row->lehre);
$obj->lehreverzeichnis = $row->lehreverzeichnis;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->ext_id = $row->ext_id;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->planfaktor = $row->planfaktor;
$obj->planlektoren = $row->planlektoren;
$obj->planpersonalkosten = $row->planpersonalkosten;
$obj->plankostenprolektor = $row->plankostenprolektor;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->sprache = $row->sprache;
$obj->sort = $row->sort;
$obj->incoming = $row->incoming;
$obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$obj->koordinator = $row->koordinator;
$obj->bezeichnung_english = $row->bezeichnung_english;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$obj->anzahlsemester = $row->anzahlsemester;
$obj->semesterwochen = $row->semesterwochen;
$obj->lvnr = $row->lvnr;
$obj->semester_alternativ = $row->semester_alternativ;
$obj->farbe = $row->farbe;
$obj->benotung = $this->db_parse_bool($row->benotung);
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($obj->bezeichnung_arr['English'] == '')
$obj->bezeichnung_arr['English'] = $obj->bezeichnung_arr['German'];
$obj->new = false;
$this->lehrveranstaltungen[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Gibt alle Organisationseinheiten der Studiengänge zurück, mit denen
* die Lehrveranstaltung über Studienpläne verknüpft ist
* @return boolean|array false im Fehlerfall, sonst ein Array
*/
public function getAllOe()
{
$oe = array();
$qry = 'SELECT DISTINCT oe_kurzbz
FROM lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE lehrveranstaltung_id = '.$this->db_add_param($this->lehrveranstaltung_id);
if($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
{
$oe[] = $row->oe_kurzbz;
}
}
else
{
@@ -2319,16 +2314,16 @@ class lehrveranstaltung extends basis_db
return false;
}
// oe_kurzbz des Studiengangs der LVA hinzufügen
$stg = new studiengang($this->studiengang_kz);
// oe_kurzbz des Studiengangs der LVA hinzufügen
$stg = new studiengang($this->studiengang_kz);
if(!in_array($stg->oe_kurzbz, $oe))
{
$oe[] = $this->oe_kurzbz;
}
if(!in_array($stg->oe_kurzbz, $oe))
{
$oe[] = $this->oe_kurzbz;
}
return $oe;
}
return $oe;
}
/**
* Laedt den LV-Leiter einer Lehrveranstaltung, wenn keiner der Lektoren als LVLeiter eingetragen ist,
+26
View File
@@ -602,7 +602,33 @@ class lvregel extends basis_db
}
}
$ausbildungssemester = $this->cache[$uid][$studiensemester_kurzbz];
$qry = "SELECT
tbl_lehrveranstaltung.ects
FROM
lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung sl USING(lehrveranstaltung_id)
WHERE
studienplan_lehrveranstaltung_id=".$this->db_add_param($regel->studienplan_lehrveranstaltung_id);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$ects = $row->ects;
}
else
{
$ects = 0;
}
}
else
{
$this->debug('Fehler bei Abfrage',1);
$this->errormsg = 'Fehler bei Abfrage';
$retval = false;
}
// Vergleichen des Ausbildungssemesters mit dem RegelParameter
if($ausbildungssemester>=$regel->parameter)
{
+330
View File
@@ -0,0 +1,330 @@
<?php
/* Copyright (C) 2016 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: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class mobilitaet extends basis_db
{
public $new; // boolean
public $result = array(); // mobilitaet Objekt
//Tabellenspalten
public $mobilitaet_id; // integer
public $mobilitaetstyp_kurzbz; //varchar(32)
public $prestudent_id; // integer
public $studiensemester_kurzbz; // varchar(16)
public $mobilitaetsprogramm_code; // integer
public $gsprogramm_id; // integer
public $firma_id; // bigint
public $status_kurzbz; // varchar(20)
public $ausbildungssemester; // smallint
public $updateamum; // timestamp
public $updatevon; // string
public $insertamum; // timestamp
public $insertvon; // string
/**
* Konstruktor
* @param $mobilitaet_id ID der mobilitaet die geladen werden soll (Default=null)
*/
public function __construct($mobilitaet_id=null)
{
parent::__construct();
if(!is_null($mobilitaet_id))
$this->load($mobilitaet_id);
}
/**
* Laedt die mobilitaet mit der ID $mobilitaet_id
* @param $mobilitaet_id ID der zu ladenden mobilitaet
* @return true wenn ok, false im Fehlerfall
*/
public function load($mobilitaet_id)
{
//Pruefen ob id eine gueltige Zahl ist
if(!is_numeric($mobilitaet_id) || $mobilitaet_id == '')
{
$this->errormsg = 'mobilitaet_id muss eine Zahl sein';
return false;
}
//Daten aus der Datenbank lesen
$qry = "SELECT
*
FROM
bis.tbl_mobilitaet
WHERE
mobilitaet_id=".$this->db_add_param($mobilitaet_id, FHC_INTEGER, false);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = $this->db_fetch_object())
{
$this->mobilitaet_id = $row->mobilitaet_id;
$this->prestudent_id = $row->prestudent_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
$this->gsprogramm_id = $row->gsprogramm_id;
$this->mobilitaetstyp_kurzbz = $row->mobilitaetstyp_kurzbz;
$this->firma_id = $row->firma_id;
$this->status_kurzbz = $row->status_kurzbz;
$this->ausbildungssemester = $row->ausbildungssemester;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
return true;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Laedt die mobilitaet eines Prestudenten
* @param $prestudent_id ID des Prestudenten dessen GS geladen werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function loadPrestudent($prestudent_id)
{
//Pruefen ob id eine gueltige Zahl ist
if(!is_numeric($prestudent_id) || $prestudent_id == '')
{
$this->errormsg = 'prestudent_id muss eine Zahl sein';
return false;
}
//Daten aus der Datenbank lesen
$qry = "SELECT
*
FROM
bis.tbl_mobilitaet
WHERE
prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER, false);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = $this->db_fetch_object())
{
$obj = new mobilitaet();
$obj->mobilitaet_id = $row->mobilitaet_id;
$obj->prestudent_id = $row->prestudent_id;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
$obj->gsprogramm_id = $row->gsprogramm_id;
$obj->mobilitaetstyp_kurzbz = $row->mobilitaetstyp_kurzbz;
$obj->firma_id = $row->firma_id;
$obj->status_kurzbz = $row->status_kurzbz;
$obj->ausbildungssemester = $row->ausbildungssemester;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$this->result[] = $obj;
}
return true;
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
//Zahlenfelder pruefen
if(!is_numeric($this->prestudent_id))
{
$this->errormsg='prestudent_id enthaelt ungueltige Zeichen';
return false;
}
if(!is_numeric($this->ausbildungssemester))
{
$this->errormsg = 'Ausbildungssemester muss eine gueltige Zahl sein';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $mobilitaet_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
//Variablen pruefen
if(!$this->validate())
return false;
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO bis.tbl_mobilitaet (prestudent_id,
studiensemester_kurzbz, mobilitaetsprogramm_code, gsprogramm_id, mobilitaetstyp_kurzbz, firma_id,
status_kurzbz, ausbildungssemester, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->db_add_param($this->prestudent_id, FHC_INTEGER).', '.
$this->db_add_param($this->studiensemester_kurzbz).', '.
$this->db_add_param($this->mobilitaetsprogramm_code, FHC_INTEGER).', '.
$this->db_add_param($this->gsprogramm_id, FHC_INTEGER).', '.
$this->db_add_param($this->mobilitaetstyp_kurzbz).', '.
$this->db_add_param($this->firma_id, FHC_INTEGER).', '.
$this->db_add_param($this->status_kurzbz).', '.
$this->db_add_param($this->ausbildungssemester, FHC_INTEGER).', now(),'.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).');';
}
else
{
//Pruefen ob mobilitaet_id eine gueltige Zahl ist
if(!is_numeric($this->mobilitaet_id))
{
$this->errormsg = 'mobilitaet_id muss eine gueltige Zahl sein';
return false;
}
$qry='UPDATE bis.tbl_mobilitaet SET'.
' prestudent_id='.$this->db_add_param($this->prestudent_id, FHC_INTEGER).', '.
' studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '.
' mobilitaetsprogramm_code='.$this->db_add_param($this->mobilitaetsprogramm_code).', '.
' gsprogramm_id='.$this->db_add_param($this->gsprogramm_id).', '.
' mobilitaetstyp_kurzbz='.$this->db_add_param($this->mobilitaetstyp_kurzbz).', '.
' firma_id='.$this->db_add_param($this->firma_id).', '.
' status_kurzbz='.$this->db_add_param($this->status_kurzbz).', '.
' ausbildungssemester='.$this->db_add_param($this->ausbildungssemester).', '.
' updateamum= now(), '.
' updatevon='.$this->db_add_param($this->updatevon).' '.
'WHERE mobilitaet_id='.$this->db_add_param($this->mobilitaet_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
{
if($this->new)
{
//naechste ID aus der Sequence holen
$qry="SELECT currval('bis.tbl_mobilitaet_mobilitaet_id_seq') as id;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->mobilitaet_id = $row->id;
$this->db_query('COMMIT');
}
else
{
$this->db_query('ROLLBACK');
$this->errormsg = "Fehler beim Auslesen der Sequence";
return false;
}
}
else
{
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Auslesen der Sequence';
return false;
}
}
}
else
{
$this->errormsg = 'Fehler beim Speichern des Adress-Datensatzes';
return false;
}
return $this->mobilitaet_id;
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $mobilitaet_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($mobilitaet_id)
{
//Pruefen ob mobilitaet_id eine gueltige Zahl ist
if(!is_numeric($mobilitaet_id) || $mobilitaet_id == '')
{
$this->errormsg = 'mobilitaet_id muss eine gültige Zahl sein'."\n";
return false;
}
//loeschen des Datensatzes
$qry="DELETE FROM bis.tbl_mobilitaet WHERE mobilitaet_id=".$this->db_add_param($mobilitaet_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Löschen der Daten'."\n";
return false;
}
}
/**
* Laedt die vorhandenen Mobilitaetstypen
* @param boolean $aktiv gibt an ob nur aktive eintraege geladen werden sollen.default=true
* @return boolean truen wenn ok, false im Fehlerfall
*/
public function getMobilitaetstyp($aktiv=true)
{
$qry = "SELECT * FROM bis.tbl_mobilitaetstyp";
if($aktiv)
$qry .= " WHERE aktiv";
$qry.=" ORDER BY bezeichnung";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->mobilitaetstyp_kurzbz = $row->mobilitaetstyp_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+84 -84
View File
@@ -23,7 +23,7 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
class moodle extends basis_db
{
public $result = array();
public $moodle_id;
public $mdl_course_id;
public $lehreinheit_id;
@@ -35,10 +35,10 @@ class moodle extends basis_db
public $moodle_version;
public $version;
/**
* Konstruktor
*
*
*/
public function __construct()
{
@@ -46,12 +46,12 @@ class moodle extends basis_db
$this->getVersionen();
return true;
}
public function load($moodle_id)
{
$qry = "SELECT * FROM lehre.tbl_moodle WHERE moodle_id =".$this->db_add_param($moodle_id, FHC_INTEGER).';';
$qry = "SELECT * FROM lehre.tbl_moodle WHERE moodle_id =".$this->db_add_param($moodle_id, FHC_INTEGER).';';
if($result=$this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -65,21 +65,21 @@ class moodle extends basis_db
$this->insertvon = $row->insertvon;
$this->gruppen = $this->db_parse_bool($row->gruppen);
$this->moodle_version = $row->moodle_version;
return true;
return true;
}
else
{
$this->errormsg = "Kein Moodleeintrag gefunden";
return false;
$this->errormsg = "Kein Moodleeintrag gefunden";
return false;
}
}
else
{
$this->errormsg="Fehler bei der Abfrage aufgetreten";
return false;
$this->errormsg="Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Laedt alle Moodlekurse zu einer LV/Stsem
* plus die Moodlekurse die auf dessen LE haengen
@@ -91,25 +91,25 @@ class moodle extends basis_db
*/
public function getAll($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT
distinct on(mdl_course_id) *
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_moodle
$qry = "SELECT
distinct on(mdl_course_id) *
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_moodle
WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id
AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND ((tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_moodle.lehrveranstaltung_id
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id
AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND ((tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_moodle.lehrveranstaltung_id
AND tbl_moodle.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz)
OR
(tbl_lehreinheit.lehreinheit_id=tbl_moodle.lehreinheit_id))";
if($result=$this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->moodle_id = $row->moodle_id;
$obj->mdl_course_id = $row->mdl_course_id;
$obj->lehreinheit_id = $row->lehreinheit_id;
@@ -124,27 +124,27 @@ class moodle extends basis_db
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* gibt alle Moodlekurseinträge der Zwischentabelle für übergebenen Studiengang und Semester zurück
* @param type $studiengang_kz
* @param type $studiensemester
* @param type $studiensemester
*/
public function getAllMoodleForStudiengang($studiengang_kz, $studiensemester, $version='2.4')
{
$qry = '
SELECT mdl_course_id, moodle.moodle_id, moodle.lehreinheit_id, moodle.lehrveranstaltung_id, moodle.studiensemester_kurzbz, moodle.insertamum, moodle.insertvon, gruppen, moodle_version FROM lehre.tbl_moodle moodle
JOIN lehre.tbl_lehrveranstaltung lv USING(lehrveranstaltung_id)
WHERE moodle.studiensemester_kurzbz = '.$this->db_add_param($studiensemester).'
AND lv.studiengang_kz ='.$this->db_add_param($studiengang_kz).'
AND moodle_version ='.$this->db_add_param($version).'
AND lv.studiengang_kz ='.$this->db_add_param($studiengang_kz).'
AND moodle_version ='.$this->db_add_param($version).'
AND moodle.lehreinheit_id is null
UNION
@@ -153,17 +153,17 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
JOIN lehre.tbl_lehreinheit le ON(moodle.lehreinheit_id = le.lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung lv ON(le.lehrveranstaltung_id = lv.lehrveranstaltung_id)
WHERE moodle.studiensemester_kurzbz = '.$this->db_add_param($studiensemester).'
AND lv.studiengang_kz ='.$this->db_add_param($studiengang_kz).'
AND moodle_version ='.$this->db_add_param($version).'
AND lv.studiengang_kz ='.$this->db_add_param($studiengang_kz).'
AND moodle_version ='.$this->db_add_param($version).'
AND moodle.lehrveranstaltung_id is null
';
';
if($result=$this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->moodle_id = $row->moodle_id;
$obj->mdl_course_id = $row->mdl_course_id;
$obj->lehreinheit_id = $row->lehreinheit_id;
@@ -178,50 +178,50 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Löscht den Zuordnungseintrag in der Moodletablle
* @param type $moodle_id
* @param type $moodle_id
*/
public function deleteZuordnung($mdl_course_id)
{
$qry = "DELETE FROM lehre.tbl_moodle WHERE mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER).';';
$qry = "DELETE FROM lehre.tbl_moodle WHERE mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER).';';
if($result=$this->db_query($qry))
return true;
else
{
$this->errormsg="Fehler beim Löschen der Daten";
return false;
$this->errormsg="Fehler beim Löschen der Daten";
return false;
}
}
/**
* gibt alle LE Ids der Übergebenen Moodle_Course_ID zurück
*/
public function getLeFromCourse($moodle_course_id)
{
$qry = "SELECT lehreinheit_id FROM lehre.tbl_moodle WHERE mdl_course_id =".$this->db_add_param($moodle_course_id, FHC_INTEGER).';';
$le = array();
$qry = "SELECT lehreinheit_id FROM lehre.tbl_moodle WHERE mdl_course_id =".$this->db_add_param($moodle_course_id, FHC_INTEGER).';';
$le = array();
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$le[] = $row->lehreinheit_id;
$le[] = $row->lehreinheit_id;
}
}
return $le;
return $le;
}
/**
* Schaut ob fuer diese LV/StSem schon ein
* Schaut ob fuer diese LV/StSem schon ein
* Moodle Kurs existiert
*
* @param lehrveranstaltung_id
@@ -230,19 +230,19 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
*/
public function course_exists_for_lv($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT
1
FROM
lehre.tbl_moodle
WHERE
$qry = "SELECT
1
FROM
lehre.tbl_moodle
WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if($this->db_query($qry))
{
if($this->db_num_rows()>0)
return true;
else
return true;
else
return false;
}
else
@@ -251,7 +251,7 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
return false;
}
}
/**
* Schaut ob fuer diese LE schon ein Moodle
* Kurs existiert
@@ -265,7 +265,7 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
{
if($this->db_num_rows()>0)
return true;
else
else
return false;
}
else
@@ -274,7 +274,7 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
return false;
}
}
/**
* Prueft ob fuer alle Lehreinheiten dieser LV bereits ein Moodlekurs existiert
*
@@ -284,19 +284,19 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
*/
public function course_exists_for_allLE($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT 1 FROM lehre.tbl_lehreinheit
WHERE
$qry = "SELECT 1 FROM lehre.tbl_lehreinheit
WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND lehreinheit_id NOT IN (
SELECT lehreinheit_id FROM lehre.tbl_moodle
SELECT lehreinheit_id FROM lehre.tbl_moodle
WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id)";
if($this->db_query($qry))
{
if($this->db_num_rows()>0)
return false;
else
else
return true;
}
else
@@ -308,11 +308,11 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
/**
* Laedt die Moodle Versionsinformationen
*/
*/
public function getVersionen()
{
$qry = "SELECT * FROM lehre.tbl_moodle_version";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
@@ -328,7 +328,7 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
return false;
}
}
/**
* Liefert den Pfad zur Moodle Installation
* @param version Versionsnummer
@@ -342,9 +342,9 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
/**
* Liefert alle Kurse dieser LV zu denen der Student
* Liefert alle Kurse dieser LV zu denen der Student
* zugeteilt ist
*
*
* @param lehrveranstaltung_id
* @param studiensemester_kurzbz
* @param student_uid
@@ -353,33 +353,33 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
public function getCourse($lehrveranstaltung_id, $studiensemester_kurzbz, $student_uid)
{
//alle betreffenden Kurse holen
$qry = "SELECT
$qry = "SELECT
tbl_lehreinheit.lehreinheit_id, mdl_course_id, tbl_moodle.moodle_version
FROM
lehre.tbl_moodle
FROM
lehre.tbl_moodle
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id, studiensemester_kurzbz)
WHERE
WHERE
tbl_moodle.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND tbl_moodle.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
UNION
SELECT
UNION
SELECT
tbl_lehreinheit.lehreinheit_id, mdl_course_id, tbl_moodle.moodle_version
FROM
lehre.tbl_moodle
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
FROM
lehre.tbl_moodle
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$courses = array();
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
//schauen in welchen Kursen der Student ist
$qry = "SELECT 1 FROM campus.vw_student_lehrveranstaltung
WHERE
uid=".$this->db_add_param($student_uid)."
$qry = "SELECT 1 FROM campus.vw_student_lehrveranstaltung
WHERE
uid=".$this->db_add_param($student_uid)."
AND lehreinheit_id=".$this->db_add_param($row->lehreinheit_id, FHC_INTEGER);
if($result_vw = $this->db_query($qry))
@@ -396,7 +396,7 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
}
}
}
}
}
return true;
}
}
+85 -22
View File
@@ -98,8 +98,16 @@ class moodle24_course extends basis_db
return false;
}
$client = new SoapClient($this->serverurl);
$response = $client->core_course_get_courses(array('ids'=>array($this->mdl_course_id)));
try
{
$client = new SoapClient($this->serverurl);
$response = $client->core_course_get_courses(array('ids'=>array($this->mdl_course_id)));
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Anlegen des Kurses: ".$E->faultstring;
return false;
}
if($response)
{
@@ -186,7 +194,7 @@ class moodle24_course extends basis_db
{
//CourseCategorie ermitteln
//lehrveranstalung ID holen falls die nur die lehreinheit_id angegeben wurde
//lehrveranstalung ID holen falls nur die lehreinheit_id angegeben wurde
if($this->lehrveranstaltung_id=='')
{
$qry = "SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit
@@ -239,11 +247,12 @@ class moodle24_course extends basis_db
return false;
}
// Kategoriebau Aufbauen
// Kategoriebaum Aufbauen
if(defined('MOODLE_COURSE_SCHEMA') && MOODLE_COURSE_SCHEMA=='DEP-STG-JG-STSEM')
{
// Struktur: Department -> STG -> Jahrgang -> StSem (Informationstechnologie und Informationsmanagement -> BIMK -> Jahrgang 2014 -> WS2014)
// Struktur: Department -> STG -> Jahrgang -> StSem
// (Informationstechnologie und Informationsmanagement -> BIMK -> Jahrgang 2014 -> WS2014)
// Studiengang der Lehrveranstaltung holen
// Uebergeordnetes Department ermitteln
@@ -267,17 +276,29 @@ class moodle24_course extends basis_db
}
}
// Department
if(!$id_department = $this->getCategorie($department, '0'))
$id_department = $this->getCategorie($department, '0');
if ($id_department === false)
return false;
if ($id_department === -1)
{
if(!$id_department = $this->createCategorie($department, '0'))
{
echo "<br>$this->errormsg";
return false;
}
}
// Studiengang
if(!$id_stg = $this->getCategorie($stg, $id_department))
$id_stg = $this->getCategorie($stg, $id_department);
if ($id_stg === false)
return false;
if ($id_stg === -1)
{
if(!$id_stg = $this->createCategorie($stg, $id_department))
{
echo "<br>$this->errormsg";
return false;
}
}
// Jahrgang - 1. Studiensemester ermitteln (Stsem um Ausbsem -1 zurückspringen) und das Jahr ermitteln
@@ -296,17 +317,29 @@ class moodle24_course extends basis_db
$datum = new Datum();
$jahr = $datum->formatDatum($studiensemester->start, 'Y');
if(!$id_jahrgang = $this->getCategorie('Jahrgang '.$jahr, $id_stg))
$id_jahrgang = $this->getCategorie('Jahrgang '.$jahr, $id_stg);
if ($id_jahrgang === false)
return false;
if ($id_jahrgang === -1)
{
if(!$id_jahrgang = $this->createCategorie('Jahrgang '.$jahr, $id_stg))
{
echo "<br>$this->errormsg";
return false;
}
}
// Studiensemester
if(!$id_stsem = $this->getCategorie($this->studiensemester_kurzbz, $id_jahrgang))
$id_stsem = $this->getCategorie($this->studiensemester_kurzbz, $id_jahrgang);
if ($id_stsem === false)
return false;
if ($id_stsem === -1)
{
if(!$id_stsem = $this->createCategorie($this->studiensemester_kurzbz, $id_jahrgang))
{
echo "<br>Fehler beim Anlegen des Studiensemesters";
return false;
}
}
$categoryid=$id_stsem;
@@ -316,22 +349,40 @@ class moodle24_course extends basis_db
// Struktur: STSEM -> STG -> Ausbsemester (WS2014 -> BEL -> 1)
//Studiensemester Categorie holen
if(!$id_stsem = $this->getCategorie($this->studiensemester_kurzbz, '0'))
$id_stsem = $this->getCategorie($this->studiensemester_kurzbz, '0');
if ($id_stsem === false)
return false;
if ($id_stsem === -1)
{
if(!$id_stsem = $this->createCategorie($this->studiensemester_kurzbz, '0'))
{
echo "<br>Fehler beim Anlegen des Studiensemesters";
return false;
}
}
//Studiengang Categorie holen
if(!$id_stg = $this->getCategorie($stg, $id_stsem))
$id_stg = $this->getCategorie($stg, $id_stsem);
if ($id_stg === false)
return false;
if ($id_stg === -1)
{
if(!$id_stg = $this->createCategorie($stg, $id_stsem))
{
echo "<br>$this->errormsg";
return false;
}
}
//Semester Categorie holen
if(!$id_sem = $this->getCategorie($semester, $id_stg))
$id_sem = $this->getCategorie($semester, $id_stg);
if ($id_sem === false)
return false;
if ($id_sem === -1)
{
if(!$id_sem = $this->createCategorie($semester, $id_stg))
if (!$id_sem = $this->createCategorie($semester, $id_stg))
{
echo "<br>$this->errormsg";
return false;
}
}
$categoryid=$id_sem;
}
@@ -377,7 +428,7 @@ class moodle24_course extends basis_db
* @param bezeichnung Bezeichnung der Kategorie
* @param parent ID der uebergeordneten Kurskategorie
*
* @return id der Kategorie oder false im Fehlerfall
* @return id der Kategorie, -1 wenn Kategorie nicht existiert, false im Fehlerfall
*/
public function getCategorie($bezeichnung, $parent)
{
@@ -404,7 +455,7 @@ class moodle24_course extends basis_db
else
{
$this->errormsg = 'Fehler beim Laden der Kurskategorie';
return false;
return -1;
}
}
catch (SoapFault $E)
@@ -412,13 +463,12 @@ class moodle24_course extends basis_db
$this->errormsg.="SOAP Fehler beim Laden der Kurskategorie: ".$E->faultstring;
return false;
}
}
/**
* Erzeugt eine Kurskategorie anhand der Bezeichnung und der ParentID
* @param bezeichnung Bezeichnung der Kategorie
* @param parent ID der uebergeordneten Kategorie
* @param parent ID der uebergeordneten Kategorie, false im Fehlerfall
*/
public function createCategorie($bezeichnung, $parent)
{
@@ -451,6 +501,7 @@ class moodle24_course extends basis_db
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Anlegen der Kategorie: ".$E->faultstring;
return false;
}
}
@@ -524,7 +575,10 @@ class moodle24_course extends basis_db
}
//Testkurs Categorie holen
if(!$id_testkurs = $this->getCategorie('Testkurse', '0'))
$id_testkurs = $this->getCategorie('Testkurse', '0');
if ($id_testkurs === false)
return false;
if ($id_testkurs === -1)
{
if(!$id_testkurs = $this->createCategorie('Testkurse', '0'))
{
@@ -533,7 +587,10 @@ class moodle24_course extends basis_db
}
}
//StSem Categorie holen
if(!$id_stsem = $this->getCategorie($studiensemester_kurzbz, $id_testkurs))
$id_stsem = $this->getCategorie($studiensemester_kurzbz, $id_testkurs);
if ($id_stsem === false)
return false;
if ($id_stsem === -1)
{
if(!$id_stsem = $this->createCategorie($studiensemester_kurzbz, $id_testkurs))
{
@@ -598,14 +655,20 @@ class moodle24_course extends basis_db
}
//Testkurs Categorie holen
if(!$id_testkurs = $this->getCategorie('Testkurse', '0'))
$id_testkurs = $this->getCategorie('Testkurse', '0');
if ($id_testkurs === false)
return false;
if ($id_testkurs === -1)
{
$this->errormsg = 'Categorie nicht gefunden';
return false;
}
//StSem Categorie holen
if(!$id_stsem = $this->getCategorie($studiensemester_kurzbz, $id_testkurs))
$id_stsem = $this->getCategorie($studiensemester_kurzbz, $id_testkurs);
if($id_stsem === false)
return false;
if ($id_stsem === -1)
{
$this->errormsg = 'Categorie nicht gefunden';
return false;
@@ -758,7 +821,7 @@ class moodle24_course extends basis_db
*/
public function getLeFromCourse($moodle_course_id)
{
$qry = "SELECT lehreinheit_id FROM lehre.tbl_moodle WHERE moodle_version='2.4' AND mdl_course_id =".$this->db_add_param($moodle_course_id, FHC_INTEGER).';';
$qry = "SELECT lehreinheit_id FROM lehre.tbl_moodle WHERE moodle_version='2.4' AND mdl_course_id =".$this->db_add_param($moodle_course_id, FHC_INTEGER).';';
$le = array();
if($result = $this->db_query($qry))
{
+138 -93
View File
@@ -54,7 +54,7 @@ class moodle24_user extends basis_db
* Laedt einen Moodle User
*
* @param $uid
* @return boolean
* @return boolean oder -1 bei SOAP Fehler
*/
public function loaduser($uid)
{
@@ -87,7 +87,7 @@ class moodle24_user extends basis_db
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Laden des Users: ".$E->faultstring;
return false;
return -1;
}
}
@@ -195,7 +195,6 @@ class moodle24_user extends basis_db
{
while($row_ma = $this->db_fetch_object($result_ma))
{
$user_zugeteilt=false;
foreach($enrolled_users as $user)
{
@@ -208,9 +207,9 @@ class moodle24_user extends basis_db
if(!$user_zugeteilt)
{
$retval = $this->loaduser($row_ma->mitarbeiter_uid);
//MoodleID des Users holen bzw ggf neu anlegen
if(!$this->loaduser($row_ma->mitarbeiter_uid))
if($retval===false)
{
//User anlegen
if(!$this->createUser($row_ma->mitarbeiter_uid))
@@ -222,29 +221,32 @@ class moodle24_user extends basis_db
$this->errormsg = '';
}
if($mitarbeiter!='')
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
//Mitarbeiter ist noch nicht zugeteilt.
$data = new stdClass();
$data->roleid=3; // 3=Lektor
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
try
if($retval!==-1)
{
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users(array($data));
if($mitarbeiter!='')
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
$this->log.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->log_public.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->sync_create++;
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim zuteilen der Teilnehmer des Kurses: ".$E->faultstring;
return false;
//Mitarbeiter ist noch nicht zugeteilt.
$data = new stdClass();
$data->roleid=3; // 3=Lektor
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
try
{
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users(array($data));
$this->log.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->log_public.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->sync_create++;
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim zuteilen der Teilnehmer des Kurses: ".$E->faultstring;
return false;
}
}
}
}
@@ -312,14 +314,16 @@ class moodle24_user extends basis_db
$gruppensync = $this->db_parse_bool($row_std->gruppen);
//Studenten dieser Gruppe holen
if($row_std->gruppe_kurzbz=='') //LVB Gruppe
{
$qry = "SELECT
distinct student_uid
distinct student_uid, tbl_person.vorname, tbl_person.nachname
FROM
public.tbl_studentlehrverband
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING(person_id)
WHERE
tbl_benutzer.aktiv AND
studiensemester_kurzbz=".$this->db_add_param($row_std->studiensemester_kurzbz)." AND
studiengang_kz = ".$this->db_add_param($row_std->studiengang_kz)." AND
semester = ".$this->db_add_param($row_std->semester);
@@ -339,10 +343,13 @@ class moodle24_user extends basis_db
else //Spezialgruppe
{
$qry = "SELECT
distinct uid as student_uid
distinct uid as student_uid, tbl_person.vorname, tbl_person.nachname
FROM
public.tbl_benutzergruppe
JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id)
WHERE
tbl_benutzer.aktiv AND
gruppe_kurzbz=".$this->db_add_param($row_std->gruppe_kurzbz)." AND
studiensemester_kurzbz=".$this->db_add_param($row_std->studiensemester_kurzbz);
$gruppenbezeichnung = $row_std->gruppe_kurzbz;
@@ -352,9 +359,7 @@ class moodle24_user extends basis_db
{
while($row_user = $this->db_fetch_object($result_user))
{
//Nachschauen ob dieser Student bereits zugeteilt ist
$user_zugeteilt=false;
foreach($enrolled_users as $user)
{
@@ -368,9 +373,9 @@ class moodle24_user extends basis_db
if(!$user_zugeteilt)
{
$retval = $this->loaduser($row_user->student_uid);
//MoodleID des Users holen bzw ggf neu anlegen
if(!$this->loaduser($row_user->student_uid))
if($retval===false)
{
//User anlegen
if(!$this->createUser($row_user->student_uid))
@@ -382,23 +387,25 @@ class moodle24_user extends basis_db
$this->errormsg = '';
}
if($studenten!='')
$studenten.=',';
$studenten.=$this->mdl_user_id;
if($retval!==-1)
{
if($studenten!='')
$studenten.=',';
$studenten.=$this->mdl_user_id;
//Student ist noch nicht zugeteilt.
//Student ist noch nicht zugeteilt.
$data = new stdClass();
$data->roleid=5; // 5=Teilnehmer/Student
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
$data = new stdClass();
$data->roleid=5; // 5=Teilnehmer/Student
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
$userstoenroll[]=$data;
$userstoenroll[]=$data;
$this->log.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
$this->log_public.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
$this->sync_create++;
$this->log.="\nStudentIn ".$this->mdl_user_firstname." ".$this->mdl_user_lastname." ($row_user->student_uid) wurde zum Kurs hinzugefügt";
$this->log_public.="\nStudentIn ".$this->mdl_user_firstname." ".$this->mdl_user_lastname." ($row_user->student_uid) wurde zum Kurs hinzugefügt";
$this->sync_create++;
}
}
//Gruppenzuteilung
@@ -407,7 +414,11 @@ class moodle24_user extends basis_db
if(!isset($vorhandenegruppen[$gruppenbezeichnung]))
{
//Schauen ob die Gruppe vorhanden ist
if(!$groupid = $this->getGroup($mdl_course_id, $gruppenbezeichnung))
$groupid = $this->getGroup($mdl_course_id, $gruppenbezeichnung);
if ($groupid === false)
return false;
if($groupid === -1)
{
//wenn nicht dann anlegen
if(!$groupid = $this->createGroup($mdl_course_id, $gruppenbezeichnung))
@@ -427,14 +438,18 @@ class moodle24_user extends basis_db
//if($this->mdl_user_id=='')
// $this->loaduser($row_user->student_uid);
//Schauen ob eine Zuteilung zu dieser Gruppe vorhanden ist
if(!$this->getGroupMember($groupid, $this->mdl_user_id))
$groupmember = $this->getGroupMember($groupid, $this->mdl_user_id);
if($groupmember === false)
continue;
if($groupmember === -1)
{
//wenn nicht dann zuteilen
$groupmembertoadd[] = array('groupid'=>$groupid,'userid'=>$this->mdl_user_id);
//$this->createGroupMember($groupid, $this->mdl_user_id);
$this->group_update++;
$this->log.="\nStudentIn $row_user->student_uid wurde der Gruppe $gruppenbezeichnung ($groupid) zugeordnet";
$this->log_public.="\nStudentIn $row_user->student_uid wurde der Gruppe $gruppenbezeichnung zugeordnet";
$this->log.="\nStudentIn $row_user->vorname $row_user->nachname ($row_user->student_uid) wurde der Gruppe $gruppenbezeichnung ($groupid) zugeordnet";
$this->log_public.="\nStudentIn $row_user->vorname $row_user->nachname ($row_user->student_uid) wurde der Gruppe $gruppenbezeichnung zugeordnet";
}
}
}
@@ -448,9 +463,11 @@ class moodle24_user extends basis_db
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users($userstoenroll);
// Wenn User zum Kurs hinzugefuegt werden, muss eine kleine Pause eingelegt werden
// damit sich Moodle wieder beruhigt, sonst werden die Gruppenzuordnungen nicht korrekt gesetzt
// die Pause ist abgaengig von der Anzahl der User die neu angelegt werden
usleep(count($userstoenroll)*1000);
// Die User werden nicht gleich zugeordnet, diese werden nach
// abschluss des SOAP Requests von Moodle noch weiterverarbeitet und
// erst zeitversetzt zugeordnet.
// Die Pause ist abgaengig von der Anzahl der User die hinzugefuegt werden
usleep(count($userstoenroll)*150000);
}
catch (SoapFault $E)
{
@@ -461,11 +478,17 @@ class moodle24_user extends basis_db
if(count($groupmembertoadd)>0)
{
$client = new SoapClient($this->serverurl);
$groupresult = $client->core_group_add_group_members($groupmembertoadd);
//$this->log.="\n\n".print_r($groupmembertoadd,true)."\n".print_r($groupresult,true);
try
{
$client = new SoapClient($this->serverurl);
$groupresult = $client->core_group_add_group_members($groupmembertoadd);
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Zuteilen der Teilnehmer zu Gruppen";
return false;
}
}
return true;
}
else
@@ -480,7 +503,7 @@ class moodle24_user extends basis_db
* existiert
* @param grouid ID der Gruppe
* userid MoodleID des Users
* @return true wenn zugeteilt sonst false
* @return true wenn zugeteilt, -1 wenn nicht, false im Fehlerfall
*/
public function getGroupMember($groupid, $userid)
{
@@ -506,11 +529,13 @@ class moodle24_user extends basis_db
foreach($this->gruppenzuordnungen[$groupid] as $id)
{
if($id==$userid)
if ($id == $userid)
{
return true;
}
}
return false;
return -1;
}
/**
@@ -542,7 +567,7 @@ class moodle24_user extends basis_db
* Holt die ID einer MoodleGruppe
* @param $mdl_course_id ID des Kurses
* $gruppenbezeichnung Name der Gruppe
* @return GruppenID wenn ok, false im Fehlerfall
* @return GruppenID wenn ok, -1 wenn nicht gefunden, false im Fehlerfall
*/
public function getGroup($mdl_course_id, $gruppenbezeichnung)
{
@@ -555,15 +580,15 @@ class moodle24_user extends basis_db
if($row['name']==$gruppenbezeichnung)
return $row['id'];
}
$this->errormsg = "Gruppe wurde nicht gefunden $gruppenbezeichnung";
return -1;
}
catch (SoapFault $E)
{
$this->log.="Fehler beim Laden der Gruppe $mdl_course_id, $gruppenbezeichnung: ".$E->faultstring;
return false;
$this->log.="Fehler beim Laden der Gruppe $mdl_course_id, $gruppenbezeichnung: ".$E->faultstring;
return false;
}
$this->errormsg = "Gruppe wurde nicht gefunden $gruppenbezeichnung";
return false;
}
/**
@@ -628,12 +653,19 @@ class moodle24_user extends basis_db
Dieses wird beim Login nicht verwendet da ueber ldap authentifiziert wird.
Prefix ist noetig damit es nicht zu Problemen kommt wenn
im Moodle die Passwort Policy aktiviert ist
Wenn das Passwort uebergeben wird, dann versucht Moodle das auch
im LDAP zu setzen. Das fuehrt dazu dass der Account nicht mehr funktioniert.
Anlegen eines Users ohne Passwortuebergabe ist jedoch nicht moeglich-
Deshalb wird die Authentifizierungsmethode beim Anlegen auf manual
gesetzt und nach dem anlegen auf ldap geändert
*/
$user->password = "FHCv!A2".hash('sha512', rand());
$user->firstname = $vorname;
$user->lastname = $nachname;
$user->email = $username.'@'.DOMAIN;
$user->auth = 'ldap';
//$user->auth = 'ldap';
$user->auth = 'manual';
$user->idnumber = $username;
$user->lang = 'en';
@@ -646,6 +678,14 @@ class moodle24_user extends basis_db
if(isset($response[0]))
{
$this->mdl_user_id = $response[0]['id'];
// User nach dem anlegen auf LDAP Auth umstellen
$user = new stdClass();
$user->id = $this->mdl_user_id;
$user->auth = 'ldap';
$client = new SoapClient($this->serverurl);
$response = $client->core_user_update_users(array($user));
return true;
}
else
@@ -685,8 +725,9 @@ class moodle24_user extends basis_db
foreach ($users as $row_user)
{
$retval = $this->loaduser($row_user);
//MoodleID des Users holen
if(!$this->loaduser($row_user))
if($retval!==true)
{
$this->errormsg = "Fehler beim Laden des Users $row_user: $this->errormsg";
return false;
@@ -765,14 +806,16 @@ class moodle24_user extends basis_db
{
//Leitung laden die zu diesem Kurs zugeteilt sind
$qry = "SELECT
distinct uid as mitarbeiter_uid
distinct tbl_benutzer.uid as mitarbeiter_uid
FROM
public.tbl_organisationseinheit
JOIN public.tbl_benutzerfunktion USING (oe_kurzbz)
JOIN lehre.tbl_lehrveranstaltung USING(oe_kurzbz)
JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id)
JOIN public.tbl_benutzer ON(tbl_benutzerfunktion.uid=tbl_benutzer.uid)
WHERE
organisationseinheittyp_kurzbz in('Institut','Fachbereich')
tbl_benutzer.aktiv
AND organisationseinheittyp_kurzbz in('Institut','Fachbereich')
AND funktion_kurzbz='Leitung'
AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null)
AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)
@@ -812,7 +855,6 @@ class moodle24_user extends basis_db
{
while($row_ma = $this->db_fetch_object($result_ma))
{
$user_zugeteilt=false;
foreach($enrolled_users as $user)
{
@@ -825,9 +867,9 @@ class moodle24_user extends basis_db
if(!$user_zugeteilt)
{
$retval = $this->loaduser($row_ma->mitarbeiter_uid);
//MoodleID des Users holen bzw ggf neu anlegen
if(!$this->loaduser($row_ma->mitarbeiter_uid))
if($retval===false)
{
//User anlegen
if(!$this->createUser($row_ma->mitarbeiter_uid))
@@ -839,29 +881,32 @@ class moodle24_user extends basis_db
$this->errormsg = '';
}
if($mitarbeiter!='')
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
//Mitarbeiter ist noch nicht zugeteilt.
$data = new stdClass();
$data->roleid=11; // 11=Fachbereichsleiter (selbst definierte rolle)
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
try
if($retval!==-1)
{
if($mitarbeiter!='')
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users(array($data));
//Mitarbeiter ist noch nicht zugeteilt.
$data = new stdClass();
$data->roleid=11; // 11=Fachbereichsleiter (selbst definierte rolle)
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
$this->log.="\nFachbereitsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->log_public.="\nFachbereichsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->sync_create++;
}
catch (SoapFault $E)
{
$this->log.="Fehler beim hinzufügen von FBL: ".$E->faultstring;
try
{
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users(array($data));
$this->log.="\nFachbereitsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->log_public.="\nFachbereichsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->sync_create++;
}
catch (SoapFault $E)
{
$this->log.="Fehler beim hinzufügen von FBL: ".$E->faultstring;
}
}
}
}
+1 -1
View File
@@ -572,7 +572,7 @@ class organisationseinheit extends basis_db
foreach($searchItem as $value)
{
$qry.=' OR (LOWER(oe_kurzbz)=LOWER('.$this->db_add_param($value).'))
OR (LOWER(bezeichnung) LIKE LOWER(\'%'.$value.'%\'))';
OR (LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape($value).'%\'))';
}
$qry.= ' ORDER BY organisationseinheittyp_kurzbz, bezeichnung;';
+22 -24
View File
@@ -67,6 +67,7 @@ class prestudent extends person
public $zgvdoktorort;
public $zgvdoktordatum;
public $zgvdoktornation;
public $gsstudientyp_kurzbz='Intern';
public $status_kurzbz;
public $studiensemester_kurzbz;
@@ -155,6 +156,7 @@ class prestudent extends person
$this->zgvdoktorort = $row->zgvdoktorort;
$this->zgvdoktordatum = $row->zgvdoktordatum;
$this->zgvdoktornation = $row->zgvdoktornation;
$this->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz;
if(!person::load($row->person_id))
return false;
@@ -230,7 +232,7 @@ class prestudent extends person
zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, aufnahmeschluessel, facheinschlberuf,
reihungstest_id, anmeldungreihungstest, reihungstestangetreten, rt_gesamtpunkte,
rt_punkte1, rt_punkte2, rt_punkte3, bismelden, insertamum, insertvon,
updateamum, updatevon, anmerkung, dual, ausstellungsstaat, mentor) VALUES('.
updateamum, updatevon, anmerkung, dual, ausstellungsstaat, mentor, gsstudientyp_kurzbz) VALUES('.
$this->db_add_param($this->aufmerksamdurch_kurzbz).",".
$this->db_add_param($this->person_id).",".
$this->db_add_param($this->studiengang_kz).",".
@@ -261,7 +263,8 @@ class prestudent extends person
$this->db_add_param($this->anmerkung).",".
$this->db_add_param($this->dual, FHC_BOOLEAN).",".
$this->db_add_param($this->ausstellungsstaat).",".
$this->db_add_param($this->mentor).");";
$this->db_add_param($this->mentor).",".
$this->db_add_param($this->gsstudientyp_kurzbz).");";
}
else
{
@@ -293,6 +296,7 @@ class prestudent extends person
' updatevon='.$this->db_add_param($this->updatevon).",".
' anmerkung='.$this->db_add_param($this->anmerkung).",".
' mentor='.$this->db_add_param($this->mentor).",".
' gsstudientyp_kurzbz='.$this->db_add_param($this->gsstudientyp_kurzbz).",".
' dual='.$this->db_add_param($this->dual, FHC_BOOLEAN).",".
' ausstellungsstaat='.$this->db_add_param($this->ausstellungsstaat).
" WHERE prestudent_id=".$this->db_add_param($this->prestudent_id).";";
@@ -335,24 +339,21 @@ class prestudent extends person
}
}
/**
* Falls ZGV vorhanden, setze Ausstellungsstaat (für BIS-Meldung)
* auf Nation der höchsten angegebenen ZGV
*/
private function checkAusstellungsstaat()
{
if ($this->zgvmas_code && $this->zgvmanation) {
$this->ausstellungsstaat = $this->zgvmanation;
} elseif ($this->zgv_code && $this->zgvnation) {
$this->ausstellungsstaat = $this->zgvnation;
}
}
/**
* Falls ZGV vorhanden, setze Ausstellungsstaat (für BIS-Meldung)
* auf Nation der höchsten angegebenen ZGV
*/
private function checkAusstellungsstaat()
{
if ($this->zgvmas_code && $this->zgvmanation)
{
$this->ausstellungsstaat = $this->zgvmanation;
}
elseif ($this->zgv_code && $this->zgvnation)
{
$this->ausstellungsstaat = $this->zgvnation;
}
}
/**
* Laden aller Prestudenten, die an $datum zum Reihungstest geladen sind.
@@ -703,6 +704,7 @@ class prestudent extends person
$ps->bismelden = $this->db_parse_bool($row->bismelden);
$ps->anmerkung = $row->anmerkung;
$ps->dual = $this->db_parse_bool($row->dual);
$ps->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz;
$ps->status_kurzbz = $row->status_kurzbz;
$ps->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -1413,10 +1415,6 @@ class prestudent extends person
}
}
/**
* Liefert ein Array mit den Interessentenzahlen
* @param $studiensemester_kurzbz (optional)
+287 -193
View File
@@ -29,7 +29,7 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
class reihungstest extends basis_db
{
public $new; // boolean
public $done=false; // boolean
public $done = false; // boolean
public $result = array();
//Tabellenspalten
@@ -44,43 +44,44 @@ class reihungstest extends basis_db
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
public $freigeschaltet=false; // boolean
public $oeffentlich=false; // boolean
public $freigeschaltet = false; // boolean
public $oeffentlich = false; // boolean
public $max_teilnehmer; // integer
public $studiensemester_kurzbz; //string
public $stufe; //smallint
public $anmeldefrist; //date
public $stufe; //smallint
public $anmeldefrist; //date
/**
* Konstruktor
* @param $reihungstest_id ID der Adresse die geladen werden soll (Default=null)
* @param int $reihungstest_id ID der Adresse die geladen werden soll (Default=null).
*/
public function __construct($reihungstest_id=null)
public function __construct($reihungstest_id = null)
{
parent::__construct();
if(!is_null($reihungstest_id))
if (!is_null($reihungstest_id))
$this->load($reihungstest_id);
}
/**
* Laedt den Reihungstest mit der ID $reihungstest_id
* @param $reihungstest_id ID des zu ladenden Reihungstests
* @param int $reihungstest_id ID des zu ladenden Reihungstests.
* @return true wenn ok, false im Fehlerfall
*/
public function load($reihungstest_id)
{
if(!is_numeric($reihungstest_id))
if (!is_numeric($reihungstest_id))
{
$this->errormsg = 'Reihungstest_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_reihungstest WHERE reihungstest_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER, false);
$qry = "SELECT * FROM public.tbl_reihungstest
WHERE reihungstest_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER, false);
if($this->db_query($qry))
if ($this->db_query($qry))
{
if($row = $this->db_fetch_object())
if ($row = $this->db_fetch_object())
{
$this->reihungstest_id = $row->reihungstest_id;
$this->studiengang_kz = $row->studiengang_kz;
@@ -96,7 +97,7 @@ class reihungstest extends basis_db
$this->max_teilnehmer = $row->max_teilnehmer;
$this->oeffentlich = $this->db_parse_bool($row->oeffentlich);
$this->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$this->studiensemester_kurzbz =$row->studiensemester_kurzbz;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->stufe = $row->stufe;
$this->anmeldefrist = $row->anmeldefrist;
return true;
@@ -118,17 +119,19 @@ class reihungstest extends basis_db
* Liefert alle Reihungstests
* wenn ein Datum uebergeben wird, dann werden alle Reihungstests ab diesem
* Datum zurueckgeliefert
* @param date $datum Wenn das Datum uebergeben wird, dann werden nur RT von diesem Tag geliefert (optional).
* @return boolean true wenn erfolgreich, false im Fehlerfall
*/
public function getAll($datum=null)
public function getAll($datum = null)
{
$qry = "SELECT * FROM public.tbl_reihungstest ";
if($datum!=null)
$qry.=" WHERE datum>=".$this->db_add_param($datum);
$qry.=" ORDER BY datum DESC, uhrzeit";
if ($datum != null)
$qry .= " WHERE datum>=".$this->db_add_param($datum);
$qry .= " ORDER BY datum DESC, uhrzeit";
if($this->db_query($qry))
if ($this->db_query($qry))
{
while($row = $this->db_fetch_object())
while ($row = $this->db_fetch_object())
{
$obj = new reihungstest();
@@ -146,7 +149,7 @@ class reihungstest extends basis_db
$obj->max_teilnehmer = $row->max_teilnehmer;
$obj->oeffentlich = $this->db_parse_bool($row->oeffentlich);
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$obj->studiensemester_kurzbz =$row->studiensemester_kurzbz;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->stufe = $row->stufe;
$obj->anmeldefrist = $row->anmeldefrist;
@@ -165,21 +168,21 @@ class reihungstest extends basis_db
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
private function validate()
private function __validate()
{
//Zahlenfelder pruefen
if(!is_numeric($this->studiengang_kz))
if (!is_numeric($this->studiengang_kz))
{
$this->errormsg='studiengang_kz enthaelt ungueltige Zeichen';
$this->errormsg = 'studiengang_kz enthaelt ungueltige Zeichen';
return false;
}
//Gesamtlaenge pruefen
if(mb_strlen($this->ort_kurzbz)>32)
if (mb_strlen($this->ort_kurzbz) > 32)
{
$this->errormsg = 'Ort_kurzbz darf nicht länger als 16 Zeichen sein';
return false;
}
if(mb_strlen($this->anmerkung)>64)
if (mb_strlen($this->anmerkung) > 64)
{
$this->errormsg = 'Anmerkung darf nicht länger als 64 Zeichen sein';
return false;
@@ -197,40 +200,41 @@ class reihungstest extends basis_db
*/
public function save()
{
if(!$this->validate())
if (!$this->__validate())
return false;
if($this->new)
if ($this->new)
{
//Neuen Datensatz einfuegen
$qry='BEGIN; INSERT INTO public.tbl_reihungstest (studiengang_kz, ort_kurzbz, anmerkung, datum, uhrzeit,
insertamum, insertvon, updateamum, updatevon, max_teilnehmer, oeffentlich, freigeschaltet, studiensemester_kurzbz, stufe, anmeldefrist) VALUES('.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->ort_kurzbz).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->uhrzeit).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->max_teilnehmer).','.
$this->db_add_param($this->oeffentlich, FHC_BOOLEAN).','.
$this->db_add_param($this->freigeschaltet, FHC_BOOLEAN).','.
$this->db_add_param($this->studiensemester_kurzbz).','.
$this->db_add_param($this->stufe, FHC_INTEGER).','.
$this->db_add_param($this->anmeldefrist).');';
$qry = 'BEGIN; INSERT INTO public.tbl_reihungstest (studiengang_kz, ort_kurzbz, anmerkung, datum, uhrzeit,
insertamum, insertvon, updateamum, updatevon, max_teilnehmer, oeffentlich, freigeschaltet,
studiensemester_kurzbz, stufe, anmeldefrist) VALUES('.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->ort_kurzbz).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->uhrzeit).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->max_teilnehmer).','.
$this->db_add_param($this->oeffentlich, FHC_BOOLEAN).','.
$this->db_add_param($this->freigeschaltet, FHC_BOOLEAN).','.
$this->db_add_param($this->studiensemester_kurzbz).','.
$this->db_add_param($this->stufe, FHC_INTEGER).','.
$this->db_add_param($this->anmeldefrist).');';
}
else
{
$qry='UPDATE public.tbl_reihungstest SET '.
$qry = 'UPDATE public.tbl_reihungstest SET '.
'studiengang_kz='.$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
'ort_kurzbz='.$this->db_add_param($this->ort_kurzbz).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'datum='.$this->db_add_param($this->datum).', '.
'uhrzeit='.$this->db_add_param($this->uhrzeit).', '.
'updateamum= now(), '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'max_teilnehmer='.$this->db_add_param($this->max_teilnehmer).', '.
'updateamum= now(), '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'max_teilnehmer='.$this->db_add_param($this->max_teilnehmer).', '.
'oeffentlich='.$this->db_add_param($this->oeffentlich, FHC_BOOLEAN).', '.
'freigeschaltet='.$this->db_add_param($this->freigeschaltet, FHC_BOOLEAN).', '.
'studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '.
@@ -239,14 +243,14 @@ class reihungstest extends basis_db
'WHERE reihungstest_id='.$this->db_add_param($this->reihungstest_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
if ($this->db_query($qry))
{
if($this->new)
if ($this->new)
{
$qry = "SELECT currval('public.tbl_reihungstest_reihungstest_id_seq') as id";
if($this->db_query($qry))
if ($this->db_query($qry))
{
if($row = $this->db_fetch_object())
if ($row = $this->db_fetch_object())
{
$this->reihungstest_id = $row->id;
$this->db_query('COMMIT');
@@ -278,28 +282,28 @@ class reihungstest extends basis_db
/**
* Liefert die Reihungstests eines Studienganges
*
* @param $studiengang_kz
* @param $order (optional)
* @param int $studiengang_kz Kennzahl des Studiengangs.
* @param string $order Sortierung (optional).
* @param string $studiensemester_kurzbz Studiensemester Kurzbezeichnung.
* @return true wenn ok, sonst false
*/
public function getReihungstest($studiengang_kz,$order=null,$studiensemester_kurzbz=null)
public function getReihungstest($studiengang_kz, $order = null, $studiensemester_kurzbz = null)
{
$qry = "SELECT * FROM public.tbl_reihungstest WHERE 1=1 ";
if (is_numeric($studiengang_kz) && $studiengang_kz!='')
$qry .=" AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
if ($studiensemester_kurzbz!=null)
$qry .=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING, false);
if (is_numeric($studiengang_kz) && $studiengang_kz != '')
$qry .= " AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
if ($studiensemester_kurzbz != null)
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING, false);
if ($order!=null)
$qry .=" ORDER BY ".$order;
if ($order != null)
$qry .= " ORDER BY ".$order;
$qry .= ";";
$qry.= ";";
if($this->db_query($qry))
if ($this->db_query($qry))
{
while($row = $this->db_fetch_object())
while ($row = $this->db_fetch_object())
{
$obj = new reihungstest();
@@ -335,26 +339,53 @@ class reihungstest extends basis_db
/**
* Liefert die Reihungstests der Zukunft und einer bestimmten ID
* Und sortiert diese so, dass die des uebergebenen Studienganges zuerst geliefert werden
* @param $include_id
* @param $studiengang_kz
* @param int $include_id ReihungstestID die zusaetzlich enthalten sein soll.
* @param int $studiengang_kz Kennzahl des Studiengangs.
* @return true wenn ok, sonst false
*/
public function getZukuenftige($include_id, $studiengang_kz)
{
$qry = "
SELECT *, (SELECT count(*) FROM public.tbl_prestudent WHERE reihungstest_id=a.reihungstest_id) as angemeldete_teilnehmer
FROM (
SELECT *, '1' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE datum>=now()-'1 days'::interval AND studiengang_kz=".$this->db_add_param($studiengang_kz)."
SELECT *,
(
SELECT count(*) FROM public.tbl_prestudent
WHERE reihungstest_id=a.reihungstest_id
) as angemeldete_teilnehmer
FROM
(
SELECT *, '1' as sortierung,
(
SELECT upper(typ || kurzbz) FROM public.tbl_studiengang
WHERE studiengang_kz=tbl_reihungstest.studiengang_kz
) as stg
FROM
public.tbl_reihungstest
WHERE
datum>=now()-'1 days'::interval AND studiengang_kz=".$this->db_add_param($studiengang_kz)."
UNION
SELECT *, '2' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE datum>=now()-'1 days'::interval AND studiengang_kz!=".$this->db_add_param($studiengang_kz)."
SELECT *, '2' as sortierung,
(
SELECT upper(typ || kurzbz) FROM public.tbl_studiengang
WHERE studiengang_kz=tbl_reihungstest.studiengang_kz
) as stg
FROM
public.tbl_reihungstest
WHERE datum>=now()-'1 days'::interval AND studiengang_kz!=".$this->db_add_param($studiengang_kz)."
UNION
SELECT *, '0' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE reihungstest_id=".$this->db_add_param($include_id)."
SELECT *, '0' as sortierung,
(
SELECT upper(typ || kurzbz) FROM public.tbl_studiengang
WHERE studiengang_kz=tbl_reihungstest.studiengang_kz
) as stg
FROM
public.tbl_reihungstest
WHERE reihungstest_id=".$this->db_add_param($include_id)."
ORDER BY sortierung, stg, datum
) a";
if($this->db_query($qry))
if ($this->db_query($qry))
{
while($row = $this->db_fetch_object())
while ($row = $this->db_fetch_object())
{
$obj = new reihungstest();
@@ -372,7 +403,7 @@ class reihungstest extends basis_db
$obj->max_teilnehmer = $row->max_teilnehmer;
$obj->oeffentlich = $this->db_parse_bool($row->oeffentlich);
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$obj->studiensemester_kurzbz =$row->studiensemester_kurzbz;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->angemeldete_teilnehmer = $row->angemeldete_teilnehmer;
$obj->stufe = $row->stufe;
$obj->anmeldefrist = $row->anmeldefrist;
@@ -388,17 +419,22 @@ class reihungstest extends basis_db
}
}
/**
* Liefert die Reihungstest eines studiengangs die in der Zukunft liegen
* @param int $stg Kennzahl des Studiengangs.
* @return boolean true wenn ok, false im Fehlerfall
*/
public function getStgZukuenftige($stg)
{
$qry = "SELECT * "
. "FROM public.tbl_reihungstest "
. "WHERE studiengang_kz = ".$this->db_add_param($stg, FHC_INTEGER)." "
. "AND datum>=now()-'1 days'::interval "
. "AND oeffentlich;";
$qry = "SELECT * ".
"FROM public.tbl_reihungstest ".
"WHERE studiengang_kz = ".$this->db_add_param($stg, FHC_INTEGER)." ".
"AND datum>=now()-'1 days'::interval ".
"AND oeffentlich;";
if($result = $this->db_query($qry))
if ($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
while ($row = $this->db_fetch_object($result))
{
$obj = new reihungstest();
@@ -428,51 +464,81 @@ class reihungstest extends basis_db
return false;
}
/**
* Laedt die Anzahl der Teilnehmer zu einem Reihungstest
* @param int $reihungstest_id ID des Reihungstests.
* @return anzahl der Teilnehmer oder false im Fehlerfall
*/
public function getTeilnehmerAnzahl($reihungstest_id)
{
$qry = 'SELECT
count(*) AS anzahl
FROM
public.tbl_rt_person
WHERE
reihungstest_id = '.$this->db_add_param($reihungstest_id, FHC_INTEGER);
$qry = 'SELECT count(*) AS anzahl '
. 'FROM public.tbl_prestudent '
. 'WHERE reihungstest_id = ' . $reihungstest_id;
$result = $this->db_query($qry);
$obj = $this->db_fetch_object($result);
return $obj->anzahl;
if ($result = $this->db_query($qry))
{
if ($row = $this->db_fetch_object($result))
{
return $row->anzahl;
}
else
{
$this->errormsg = 'Fehler beim Laden der Teilnehmer';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Teilnehmer';
return false;
}
}
/**
* Loescht einen Rehungstest
* @param int $reihungstest_id ID des Reihungstests der geloescht werden soll.
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function delete($reihungstest_id)
{
$qry = "DELETE from public.tbl_reihungstest WHERE reihungstest_id=".$this->db_add_param($reihungstest_id);
$qry = "DELETE FROM public.tbl_reihungstest
WHERE reihungstest_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Löschen der Daten';
return false;
}
if (!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Löschen der Daten';
return false;
}
return true;
return true;
}
/**
* Laedt den Reihungstest-Person-Datensatz mit der ID $rt_person_id
* @param integer $rt_person_id ID des zu ladenden Datensatzes
* @param int $rt_person_id ID des zu ladenden Datensatzes.
* @return true wenn ok, false im Fehlerfall
*/
public function loadReihungstestPerson($rt_person_id)
{
if(!is_numeric($rt_person_id))
if (!is_numeric($rt_person_id))
{
$this->errormsg = 'rt_person_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_rt_person WHERE rt_person_id=".$this->db_add_param($rt_person_id, FHC_INTEGER, false);
$qry = "SELECT
*
FROM
public.tbl_rt_person
WHERE
rt_person_id=".$this->db_add_param($rt_person_id, FHC_INTEGER, false);
if($result = $this->db_query($qry))
if ($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
if ($row = $this->db_fetch_object($result))
{
$this->rt_person_id = $row->rt_person_id;
$this->rt_id = $row->rt_id;
@@ -498,6 +564,11 @@ class reihungstest extends basis_db
}
}
/**
* Laedt die Reihungstest Zuordnungen einer Person
* @param int $person_id ID der Person.
* @return boolean true wenn erfolgreich, false im Fehlerfall
*/
public function getReihungstestPerson($person_id)
{
$qry = "SELECT
@@ -506,9 +577,9 @@ class reihungstest extends basis_db
public.tbl_rt_person
WHERE
tbl_rt_person.person_id=".$this->db_add_param($person_id);
if($result = $this->db_query($qry))
if ($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
while ($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
@@ -532,6 +603,12 @@ class reihungstest extends basis_db
}
}
/**
* Liefert die Zuordnung einer Person zu einem Reihungstest
* @param int $person_id ID der Person.
* @param int $rt_id ID des Reihungstests.
* @return boolean true wenn erfolgreich, false im Fehlerfall
*/
public function getPersonReihungstest($person_id, $rt_id)
{
$qry = "SELECT
@@ -541,9 +618,9 @@ class reihungstest extends basis_db
WHERE
tbl_rt_person.person_id=".$this->db_add_param($person_id)."
AND rt_id=".$this->db_add_param($rt_id);
if($result = $this->db_query($qry))
if ($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
if ($row = $this->db_fetch_object($result))
{
$this->rt_person_id = $row->rt_person_id;
$this->rt_id = $row->rt_id;
@@ -570,8 +647,8 @@ class reihungstest extends basis_db
/**
* Liefert die Personen, die einem Ort des Reihungstests zugeteilt sind
* @param integer $rt_id ID des Reihungstests
* @param string $ort_kurzbz Ort des Reihungstests mit der ID $rt_id
* @param int $rt_id ID des Reihungstests.
* @param string $ort_kurzbz Ort des Reihungstests mit der ID $rt_id.
* @return true wenn ok, sonst false
*/
public function getPersonReihungstestOrt($rt_id, $ort_kurzbz)
@@ -583,9 +660,9 @@ class reihungstest extends basis_db
WHERE
tbl_rt_person.rt_id=".$this->db_add_param($rt_id)."
AND tbl_rt_person.ort_kurzbz=".$this->db_add_param($ort_kurzbz);
if($result = $this->db_query($qry))
if ($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
while ($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
@@ -609,11 +686,16 @@ class reihungstest extends basis_db
}
}
/**
* Speichern die Zuordnung einer Person zu einem Reihungstest
* @return boolean true wenn erfolgreich, false im Fehlerfall
*/
public function savePersonReihungstest()
{
if($this->new)
if ($this->new)
{
$qry = "BEGIN;INSERT INTO public.tbl_rt_person(person_id, rt_id, studienplan_id, anmeldedatum, teilgenommen, ort_kurzbz, punkte) VALUES(".
$qry = "BEGIN;INSERT INTO public.tbl_rt_person(person_id, rt_id, studienplan_id, anmeldedatum,
teilgenommen, ort_kurzbz, punkte) VALUES(".
$this->db_add_param($this->person_id, FHC_INTEGER).','.
$this->db_add_param($this->rt_id, FHC_INTEGER).','.
$this->db_add_param($this->studienplan_id, FHC_INTEGER).','.
@@ -625,73 +707,75 @@ class reihungstest extends basis_db
else
{
$qry = "UPDATE public.tbl_rt_person SET ".
' rt_id = '.$this->db_add_param($this->rt_id).','.
' studienplan_id = '.$this->db_add_param($this->studienplan_id).','.
' anmeldedatum='.$this->db_add_param($this->anmeldedatum).','.
' teilgenommen='.$this->db_add_param($this->teilgenommen, FHC_BOOLEAN).','.
' ort_kurzbz='.$this->db_add_param($this->ort_kurzbz).','.
' punkte='.$this->db_add_param($this->punkte).' '.
' WHERE rt_person_id='.$this->db_add_param($this->rt_person_id, FHC_INTEGER);
}
' rt_id = '.$this->db_add_param($this->rt_id).','.
' studienplan_id = '.$this->db_add_param($this->studienplan_id).','.
' anmeldedatum='.$this->db_add_param($this->anmeldedatum).','.
' teilgenommen='.$this->db_add_param($this->teilgenommen, FHC_BOOLEAN).','.
' ort_kurzbz='.$this->db_add_param($this->ort_kurzbz).','.
' punkte='.$this->db_add_param($this->punkte).' '.
' WHERE rt_person_id='.$this->db_add_param($this->rt_person_id, FHC_INTEGER);
}
if($this->db_query($qry))
{
if($this->new)
{
$qry = "SELECT currval('public.tbl_rt_person_rt_person_id_seq') as id";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->rt_person_id = $row->id;
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
if ($this->db_query($qry))
{
if ($this->new)
{
$qry = "SELECT currval('public.tbl_rt_person_rt_person_id_seq') as id";
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
{
$this->rt_person_id = $row->id;
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht einen Person Reihungstest Eintrag
* @param int $rt_person_id ID der PersonReihungstestzuordnung die geloescht werden soll.
* @return boolean true wenn erfolgreich, false im Fehlerfall.
*/
public function deletePersonReihungstest($rt_person_id)
{
$qry = "DELETE FROM public.tbl_rt_person
WHERE rt_person_id=".$this->db_add_param($rt_person_id, FHC_INTEGER);
WHERE rt_person_id=".$this->db_add_param($rt_person_id, FHC_INTEGER);
if($this->db_query($qry))
if ($this->db_query($qry))
{
return true;
}
else
{
$this->erromsg='Fehler beim Löschen der Daten';
$this->erromsg = 'Fehler beim Löschen der Daten';
return false;
}
}
/**
* Liefert die Orte, die einem Reihungstest zugeordnet sind
* @param integer $reihungstest_id ID des Reihungstests, dessen Ort zurueckgegeben werden sollen
* @param int $reihungstest_id ID des Reihungstests, dessen Ort zurueckgegeben werden sollen.
* @return true wenn ok, sonst false
*/
public function getOrteReihungstest($reihungstest_id)
@@ -704,9 +788,9 @@ class reihungstest extends basis_db
tbl_rt_ort.rt_id=".$this->db_add_param($reihungstest_id)."
ORDER BY
ort_kurzbz";
if($result = $this->db_query($qry))
if ($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
while ($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
@@ -733,7 +817,7 @@ class reihungstest extends basis_db
*/
public function saveOrtReihungstest()
{
if($this->new)
if ($this->new)
{
$qry = "INSERT INTO public.tbl_rt_ort(rt_id, ort_kurzbz, uid) VALUES(".
$this->db_add_param($this->rt_id, FHC_INTEGER).','.
@@ -743,13 +827,13 @@ class reihungstest extends basis_db
else
{
$qry = "UPDATE public.tbl_rt_ort SET ".
' ort_kurzbz='.$this->db_add_param($this->ort_kurzbz).','.
' uid='.$this->db_add_param($this->uid).' '.
' WHERE rt_id='.$this->db_add_param($this->rt_id, FHC_INTEGER).' AND '.
' ort_kurzbz='.$this->db_add_param($this->ort_kurzbz);
' ort_kurzbz='.$this->db_add_param($this->ort_kurzbz).','.
' uid='.$this->db_add_param($this->uid).' '.
' WHERE rt_id='.$this->db_add_param($this->rt_id, FHC_INTEGER).' AND '.
' ort_kurzbz='.$this->db_add_param($this->ort_kurzbz);
}
if($this->db_query($qry))
if ($this->db_query($qry))
{
return true;
}
@@ -762,20 +846,23 @@ class reihungstest extends basis_db
/**
* Loescht einen Ort zu einem Reihungstest Eintrag
* @param int $reihungstest_id ID des Reihungstests.
* @param string $ort_kurzbz Kurzbezeichnung des Orts.
* @return boolean true wenn erfolgreich, false im Fehlerfall
*/
public function deleteOrtReihungstest($reihungstest_id, $ort_kurzbz)
{
$qry = "DELETE FROM public.tbl_rt_ort
WHERE rt_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER)."
WHERE rt_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER)."
AND ort_kurzbz=".$this->db_add_param($ort_kurzbz);
if($this->db_query($qry))
if ($this->db_query($qry))
{
return true;
}
else
{
$this->erromsg='Fehler beim Löschen der Daten';
$this->erromsg = 'Fehler beim Löschen der Daten';
return false;
}
}
@@ -788,7 +875,7 @@ class reihungstest extends basis_db
*/
public function saveStudienplanReihungstest()
{
if($this->new)
if ($this->new)
{
$qry = "INSERT INTO public.tbl_rt_studienplan(reihungstest_id, studienplan_id) VALUES(".
$this->db_add_param($this->rt_id, FHC_INTEGER).','.
@@ -802,7 +889,7 @@ class reihungstest extends basis_db
' studienplan_id='.$this->db_add_param($this->studienplan_id);
}
if($this->db_query($qry))
if ($this->db_query($qry))
{
return true;
}
@@ -815,6 +902,7 @@ class reihungstest extends basis_db
/**
* Laedt alle Studienplan IDs, die einem Reihungstest zugeordnet sind
* @param int $reihungstest_id ID des Reihungstests.
* @return true wenn ok, false im Fehlerfall
*/
public function getStudienplaeneReihungstest($reihungstest_id)
@@ -827,9 +915,9 @@ class reihungstest extends basis_db
tbl_rt_studienplan.reihungstest_id=".$this->db_add_param($reihungstest_id)."
ORDER BY
studienplan_id";
if($result = $this->db_query($qry))
if ($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
while ($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
@@ -848,27 +936,33 @@ class reihungstest extends basis_db
/**
* Loescht eine Studienplanzuordnung zu einem Reihungstest Eintrag
* @param $reihungstest_id integer ID des Reihungstests
* @param $studienplan_id integer ID des Studienplans
* @return true wenn ok, false im Fehlerfall
* @param int $reihungstest_id ID des Reihungstests.
* @param int $studienplan_id ID des Studienplans.
* @return true wenn ok, false im Fehlerfall.
*/
public function deleteStudienplanReihungstest($reihungstest_id, $studienplan_id)
{
$qry = "DELETE FROM public.tbl_rt_studienplan
WHERE reihungstest_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER)."
WHERE reihungstest_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER)."
AND studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER);
if($this->db_query($qry))
if ($this->db_query($qry))
{
return true;
}
else
{
$this->erromsg='Fehler beim Löschen der Studienplanzuordnung';
$this->erromsg = 'Fehler beim Löschen der Studienplanzuordnung';
return false;
}
}
/**
* Liefert alle Reihungstests zu den uebergebenen StudienplanIDs
*
* @param array $studienplan_arr Array mit StudienplanIDs zu denen die RT geladen werden sollen.
* @return boolean true wenn erfolgreich, false im Fehlerfall.
*/
public function getReihungstestStudienplan($studienplan_arr)
{
$qry = "SELECT
@@ -878,9 +972,9 @@ class reihungstest extends basis_db
JOIN public.tbl_rt_studienplan USING(reihungstest_id)
WHERE studienplan_id IN(".$this->db_implode4Sql($studienplan_arr).")";
if($this->db_query($qry))
if ($this->db_query($qry))
{
while($row = $this->db_fetch_object())
while ($row = $this->db_fetch_object())
{
$obj = new reihungstest();
@@ -898,7 +992,7 @@ class reihungstest extends basis_db
$obj->max_teilnehmer = $row->max_teilnehmer;
$obj->oeffentlich = $this->db_parse_bool($row->oeffentlich);
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$obj->studiensemester_kurzbz =$row->studiensemester_kurzbz;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->stufe = $row->stufe;
$obj->anmeldefrist = $row->anmeldefrist;
@@ -915,9 +1009,9 @@ class reihungstest extends basis_db
/**
* Laedt Reihungstests die den Suchkriterien entsprechen
* @param $datum Datum
* @param $studiensemester_kurzbz Studiensemester optional
* @param $stufe Stufe optional
* @param date $datum Datum.
* @param string $studiensemester_kurzbz Studiensemester optional.
* @param int $stufe Stufe optional.
* @return boolean true wenn erfolgreich, false im Fehlerfall
*/
public function findReihungstest($datum, $studiensemester_kurzbz = null, $stufe = null)
@@ -929,15 +1023,15 @@ class reihungstest extends basis_db
WHERE
datum=".$this->db_add_param($datum);
if(!is_null($studiensemester_kurzbz))
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if(!is_null($stufe))
$qry.=" AND stufe=".$this->db_add_param($stufe);
$qry .=" ORDER BY reihungstest_id";
if (!is_null($studiensemester_kurzbz))
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if (!is_null($stufe))
$qry .= " AND stufe=".$this->db_add_param($stufe);
$qry .= " ORDER BY reihungstest_id";
if($result = $this->db_query($qry))
if ($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
while ($row = $this->db_fetch_object($result))
{
$obj = new reihungstest();
@@ -955,7 +1049,7 @@ class reihungstest extends basis_db
$obj->max_teilnehmer = $row->max_teilnehmer;
$obj->oeffentlich = $this->db_parse_bool($row->oeffentlich);
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$obj->studiensemester_kurzbz =$row->studiensemester_kurzbz;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->stufe = $row->stufe;
$obj->anmeldefrist = $row->anmeldefrist;
+4 -2
View File
@@ -85,15 +85,17 @@ class sprache extends basis_db
/**
*
* Lädt alle verfügbaren Sprachen
* @param boolean $content Default:null Ist die Sprache relevant fuer die Sprachauswahl
* @param string $order Default:sprache Spalte, nach der die Ergebnisse sortiert werden
* @return true bei Erfolg, false wenn ein Fehler aufgetreten ist.
*/
public function getAll($content=null)
public function getAll($content=null, $order='sprache')
{
$qry = "SELECT *,".$this->getSprachQuery('bezeichnung')." FROM public.tbl_sprache";
if(!is_null($content))
$qry.= " WHERE content=".$this->db_add_param($content, FHC_BOOLEAN);
$qry.=" ORDER BY sprache";
$qry.=" ORDER BY ".$order;
if(!$this->db_query($qry))
{
+1 -1
View File
@@ -108,7 +108,7 @@ class statistik extends basis_db
}
else
{
$this->errormsg = 'Dieser Eintrag wurde nicht gefunden';
$this->errormsg = 'Dieser Eintrag wurde nicht gefunden: ' . $statistik_kurzbz;
return false;
}
}
+52 -11
View File
@@ -226,18 +226,21 @@ class studiengang extends basis_db
return true;
}
/**
* Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann
* @return boolean
*/
public function getAllForBewerbung()
{
/**
* Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann
*
* @param string $order Default: typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC. Spalten, nach denen Sortiert werden soll.
* @return boolean
*/
public function getAllForBewerbung($order = 'typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC')
{
$qry = 'SELECT DISTINCT studiengang_kz, typ, organisationseinheittyp_kurzbz, studiengangbezeichnung, standort, studiengangbezeichnung_englisch, lgartcode, tbl_lgartcode.bezeichnung '
. 'FROM lehre.vw_studienplan '
. 'LEFT JOIN bis.tbl_lgartcode USING (lgartcode) '
. 'WHERE onlinebewerbung IS TRUE '
. 'AND aktiv IS TRUE '
. 'ORDER BY typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC';
. 'FROM lehre.vw_studienplan '
. 'LEFT JOIN bis.tbl_lgartcode USING (lgartcode) '
. 'WHERE onlinebewerbung IS TRUE '
. 'AND aktiv IS TRUE ';
$qry .= ' ORDER BY '.$order;
if(!$result = $this->db_query($qry))
{
@@ -975,4 +978,42 @@ class studiengang extends basis_db
return false;
}
}
/**
* Laedt einen Lehrgangstyp anhand des lgartcodes
* @param integer $lgartcode
* @return boolean true wenn ok sonst false
*/
public function loadLehrgangstyp($lgartcode)
{
if(!is_numeric($lgartcode))
{
$this->errormsg = 'Lgartcode muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM bis.tbl_lgartcode WHERE lgartcode=".$this->db_add_param($lgartcode);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = $this->db_fetch_object())
{
$this->lgartcode = $row->lgartcode;
$this->kurzbz = $row->kurzbz;
$this->bezeichnung = $row->bezeichnung;
$this->beantragung = $this->db_parse_bool($row->beantragung);
$this->lgart_biscode = $row->lgart_biscode;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
return true;
}
}
Regular → Executable
+53
View File
@@ -163,5 +163,58 @@ class studienjahr extends basis_db
return false;
}
}
/**
* Springt von Studienjahr $studienjahr_kurzbz um $wert Studienjahre vor/zurueck
*
* @param string $studienjahr_kurzbz.
* @param int $wert.
* @return string studienjahr_kurzbz
*/
public function jump($studienjahr_kurzbz, $wert)
{
if($wert>0)
{
$op='>=';
$sort='ASC';
}
elseif($wert<0)
{
$op='<=';
$sort='DESC';
}
else
{
$op='=';
$sort='';
}
$qry = "select distinct(studienjahr_kurzbz)
FROM tbl_studiensemester
Where start $op
(
SELECT start
FROM tbl_studiensemester
WHERE studienjahr_kurzbz = ".$this->db_add_param($studienjahr_kurzbz)."
ORDER BY start LIMIT 1
)
ORDER BY studienjahr_kurzbz $sort
offset ".abs($wert)." LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return $row->studienjahr_kurzbz;
}
else
return $studienjahr_kurzbz;
}
else
{
$this->errormsg='Fehler bei einer Abfrage';
return false;
}
}
}
?>
+11 -11
View File
@@ -75,12 +75,12 @@ class studienplan extends basis_db
{
$this->$name=$value;
}
public function __get($name)
{
return $this->$name;
}
/**
* Laedt Studienplan mit der ID $studienplan_id
* @param $studienplan_id ID des zu ladenden Studienplanes
@@ -1139,7 +1139,7 @@ class studienplan extends basis_db
}
return false;
}
/**
* Sucht nach Studienordnungen, die den Kriterien entsprechen
* @param string $searchItems Array aus Suchstrings
@@ -1147,21 +1147,21 @@ class studienplan extends basis_db
public function searchStudienplaene($searchItems)
{
$qry= "
SELECT DISTINCT
SELECT DISTINCT
studienplan_id, tbl_studienplan.bezeichnung
FROM
FROM
lehre.tbl_studienplan
JOIN
JOIN
lehre.tbl_studienordnung USING (studienordnung_id)
JOIN
JOIN
lehre.tbl_studienplan_semester USING (studienplan_id)
JOIN
JOIN
public.tbl_studiengang USING (studiengang_kz)
WHERE
tbl_studienplan.aktiv=true
AND
tbl_studienordnung.status_kurzbz IN ('approved')";
foreach($searchItems as $value)
$qry.=" AND
(
@@ -1182,11 +1182,11 @@ class studienplan extends basis_db
while($row = $this->db_fetch_object($result))
{
$obj = new studienplan();
$obj->studienplan_id = $row->studienplan_id;
$obj->bezeichnung = $row->bezeichnung;
$obj->new=false;
$this->result[] = $obj;
}
return true;
+15
View File
@@ -253,6 +253,21 @@ class studiensemester extends basis_db
}
}
/**
* Liefert das Aktuelle Studiensemester oder das darauffolgende
*
* @param $semester wenn das semester uebergeben wird, dann werden nur die studiensemester
* geliefert die in dieses semester fallen (Bei geradem semester nur SS sonst WS)
* @return Studiensemester oder false wenn es keines gibt
*/
public function getaktorNearest()
{
if($stsem=$this->getakt())
return $stsem;
else
return $this->getNearest();
}
/**
* Liefert das naechstgelegenste Studiensemester
*
+2 -2
View File
@@ -168,7 +168,7 @@ else
$pdf->SetXY(30,30);
//Logo
$pdf->Image("../../skin/styles/tw/logo.jpg","400","25","150","78","jpg","");
$pdf->Image("../../skin/styles/".DEFAULT_STYLE."/logo.jpg","400","25","150","78","jpg","");
$pdf->SetFont('Arial','',12);
$pdf->SetFillColor(190,190,190);
@@ -430,7 +430,7 @@ else
$pdf->SetXY(30,30);
//Logo
$pdf->Image("../../skin/images/logo.jpg","400","25","160","54","jpg","");
$pdf->Image("../../skin/styles/".DEFAULT_STYLE."/logo.jpg","400","25","150","78","jpg","");
$pdf->SetFont('Arial','',12);
$pdf->SetFillColor(190,190,190);
$pdf->SetXY(30,110-$titelabzug);
+6 -4
View File
@@ -77,9 +77,9 @@ $menu=array
(
'name'=>'Moodle', 'permissions'=>array('basis/moodle'),
'Account'=>array('name'=>'Accountverwaltung', 'link'=>'moodle/account_verwaltung24.php', 'target'=>'main'),
'Kursverwaltung'=>array('name'=>'Kurs entfernen', 'link'=>'moodle/kurs_verwaltung24.php', 'target'=>'main'),
'Rollenzuteilung'=>array('name'=>'Rollenzuteilung', 'link'=>'moodle/rollenzuteilung24.php', 'target'=>'main'),
'UserSync'=>array('name'=>'User Sync', 'link'=>'moodle/user_sync24.php', 'target'=>'main'),
'Kursverwaltung'=>array('name'=>'Kurs entfernen', 'link'=>'moodle/kurs_verwaltung24.php', 'target'=>'main'),
'Rollenzuteilung'=>array('name'=>'Rollenzuteilung', 'link'=>'moodle/rollenzuteilung24.php', 'target'=>'main'),
'UserSync'=>array('name'=>'User Sync', 'link'=>'moodle/user_sync24.php', 'target'=>'main'),
'UserMassCreate'=>array('name'=>'User Massenanlage', 'link'=>'moodle/account_masscreate24.php', 'target'=>'main'),
),
'Freifach'=>array
@@ -134,7 +134,7 @@ $menu=array
'AnwesenheitslistenBarcode'=>array('name'=>'Anwesenheitslisten mit Barcodes', 'link'=>'personen/anwesenheitslisten_barcode.php', 'target'=>'main','permissions'=>array('basis/person')),
'Preinteressenten'=>array('name'=>'Preinteressenten', 'link'=>'personen/preinteressent_frameset.html', 'target'=>'_blank','permissions'=>array('admin','preinteressent')),
'Incoming'=>array('name'=>'Incoming', 'link'=>'personen/incoming_frameset.php', 'target'=>'_blank','permissions'=>array('inout/incoming')),
'Outgoing'=>array('name'=>'Outgoing', 'link'=>'personen/outgoing_frameset.php', 'target'=>'_blank','permissions'=>array('inout/outgoing'))
'Outgoing'=>array('name'=>'Outgoing', 'link'=>'personen/outgoing_frameset.php', 'target'=>'_blank','permissions'=>array('inout/outgoing'))
),
'Stammdaten'=> array
(
@@ -167,6 +167,7 @@ $menu=array
'Ferien'=>array('name'=>'Ferien', 'link'=>'lehre/ferienverwaltung.php', 'target'=>'main','permissions'=>array('admin')),
'Service'=>array('name'=>'Service', 'link'=>'stammdaten/service_frameset.html', 'target'=>'main','permissions'=>array('basis/service')),
'Dokumentvorlagen'=>array('name'=>'Dokumentvorlagen', 'link'=>'stammdaten/dokumentvorlagen_verwaltung.php', 'target'=>'main','permissions'=>array('basis/dokumente')),
'GSProgramm'=>array('name'=>'GSProgramm', 'link'=>'stammdaten/gsprogramm.php', 'target'=>'main','permissions'=>array('inout/uebersicht')),
'FH Ausweis'=>array
(
'name'=>'FH Ausweis','permissions'=>array('basis/fhausweis'),
@@ -196,6 +197,7 @@ $menu=array
'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')),
'akteupdate'=>array('name'=>'Akten überschreiben', 'link'=>'personen/akteupdate.php', 'target'=>'main','permissions'=>array('admin')),
),
'Auswertung'=> array
(
+5 -7
View File
@@ -76,7 +76,7 @@ class vorschlag extends basis_db
$this->frage_id = $row->frage_id;
$this->punkte = $row->punkte;
$this->nummer = $row->nummer;
$this->aktiv = $row->aktiv;
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->loadVorschlagSprache($vorschlag_id, $sprache);
return true;
}
@@ -279,10 +279,9 @@ class vorschlag extends basis_db
/**
* Laedt die Vorschlaege zu einer Frage
*
* @param $frage_id
* @param $sprache
* @param $random Wenn true, dann werden die Vorschlaege in zufaelliger
* Reihenfolge geladen, sonst nach nummer sortiert
* @param integer $frage_id
* @param string $sprache
* @param boolean $random Wenn true, dann werden die Vorschlaege in zufaelliger Reihenfolge geladen, sonst nach nummer sortiert
*/
public function getVorschlag($frage_id, $sprache, $random)
{
@@ -291,7 +290,6 @@ class vorschlag extends basis_db
$qry.=" ORDER BY random()";
else
$qry.=" ORDER BY nummer";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
@@ -357,4 +355,4 @@ class vorschlag extends basis_db
}
}
}
?>
?>
+3 -3
View File
@@ -2384,7 +2384,7 @@ class wochenplan extends basis_db
/**
* Unterricht der ueber mehrere Stunden geht wird nicht einzeln Exportiert,
* sondern zusammengeblockt. (in maximal 4er Bloecke)
* sondern zusammengeblockt.
*
* Es wird nur ein Eintrag geschrieben, die restlichen werden uebersprungen.
* Vor dem Ueberspringen des Eintrages werden jedoch noch die dazu Gruppierten Eintraege
@@ -2499,7 +2499,7 @@ class wochenplan extends basis_db
$end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums
echo $this->crlf.'BEGIN:VEVENT'.$this->crlf
.'UID:'.'FH'.str_replace(',',' ',$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$this->crlf)
.'UID:'.'FH'.str_replace(',',' ',$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$end_date_time_ical.$this->crlf)
.'SUMMARY:'.str_replace(',',' ',$lehrfach[$idx].' '.$this->std_plan[$i][$j][$idx]->ort.' - '.$lvb.$this->crlf)
.'DESCRIPTION:'.str_replace(',',' ',$lehrfach[$idx].'\n'.$this->std_plan[$i][$j][$idx]->lektor.'\n'.$lvb.'\n'.$this->std_plan[$i][$j][$idx]->ort.(LVPLAN_ANMERKUNG_ANZEIGEN?'\n'.$this->std_plan[$i][$j][$idx]->anmerkung:'').$this->crlf)
.'LOCATION:'.$this->std_plan[$i][$j][$idx]->ort.$this->crlf
@@ -2541,7 +2541,7 @@ class wochenplan extends basis_db
$start_date_time_ical = $sda[2].$sda[1].$sda[0].'T'.sprintf('%02s',($sta[0])).$sta[1].$sta[2]; //neu gruppieren der Startzeit und des Startdatums
$end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums
$UID = 'FH'.$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical;
$UID = 'FH'.$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$end_date_time_ical;
$Summary = $lehrfach[$idx].' '.$this->std_plan[$i][$j][$idx]->ort.' - '.$lvb;
$description = $lehrfach[$idx].'\n'.$this->std_plan[$i][$j][$idx]->lektor.'\n'.$lvb.'\n'.$this->std_plan[$i][$j][$idx]->ort;