mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Merge branch 'master' into ci
Conflicts: cis/testtool/admin/add_gebiet.php cis/testtool/admin/edit_gebiet.php cis/testtool/admin/index.php config/global.config-default.inc.php content/student/studentDBDML.php content/student/studentdetailoverlay.xul.php include/ablauf.class.php include/frage.class.php include/organisationseinheit.class.php include/studiengang.class.php include/vorschlag.class.php phpci.yml rdf/student.rdf.php system/dbupdate_3.2.php tests/codeception/_support/AcceptanceTester.php tests/codeception/_support/BasisKlasseTest.php tests/codeception/_support/FunctionalTester.php tests/codeception/_support/UnitTester.php tests/codeception/_support/_generated/AcceptanceTesterActions.php tests/codeception/acceptance/AcceptanceTester.php tests/codeception/acceptance/CISLoginPageCept.php tests/codeception/acceptance/_bootstrap.php tests/codeception/codeception.dist.yml tests/codeception/functional/FunctionalTester.php tests/codeception/functional/_bootstrap.php tests/codeception/tests/acceptance.suite.dist.yml tests/codeception/tests/acceptance/CISLoginPage.php tests/codeception/tests/acceptance/CISLoginPageCept.php tests/codeception/tests/api/_bootstrap.php tests/codeception/tests/functional/FunctionalTester.php tests/codeception/tests/functional/_bootstrap.php tests/codeception/tests/unit/BasisKlasseTest.php tests/codeception/tests/unit/UnitTester.php tests/codeception/unit/BasisKlasseTest.php tests/codeception/unit/UnitTester.php
This commit is contained in:
@@ -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
@@ -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;
|
||||
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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())
|
||||
|
||||
@@ -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
@@ -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
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;';
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -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
|
||||
*
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
(
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user