Performanceproblem beim Infoterminal behoben; Unnötige Datenbankzugriffe in Klasse Studiengang minimiert;

This commit is contained in:
Andreas Österreicher
2014-04-25 15:26:26 +00:00
parent db0063ef90
commit 8a87e28aff
14 changed files with 289 additions and 278 deletions
+1 -26
View File
@@ -21,7 +21,7 @@
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/authentication.class.php');
require_once('betriebsmittelperson.class.php');
require_once(dirname(__FILE__).'/betriebsmittelperson.class.php');
// Auth: Benutzer des Webportals
/**
@@ -122,31 +122,6 @@ function check_lektor($uid)
return 0;
}
function check_lektor_lehreinheit($uid, $lehreinheit_id)
{
$db = new basis_db();
// uid von View 'Lektor' holen
$sql_query="SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter
WHERE mitarbeiter_uid='".addslashes($uid)."' AND lehreinheit_id = '".addslashes($lehreinheit_id)."'";
//echo $sql_query;
if($db->db_query($sql_query))
{
$num_rows = $db->db_num_rows();
// Wenn kein ergebnis return 0 sonst ID
if ($num_rows>0)
{
$row = $db->db_fetch_object();
return $row->mitarbeiter_uid;
}
else
return 0;
}
else
return 0;
}
function check_lektor_lehrveranstaltung($uid, $lehrveranstaltung_id, $studiensemester_kurzbz)
{
$db = new basis_db();
+14 -1
View File
@@ -75,7 +75,7 @@ class studiengang extends basis_db
if(!is_null($studiengang_kz))
$this->load($studiengang_kz);
$this->getAllTypes();
//$this->getAllTypes();
/* $this->studiengang_typ_arr["b"] = "Bachelor";
$this->studiengang_typ_arr["d"] = "Diplom";
$this->studiengang_typ_arr["m"] = "Master";
@@ -83,6 +83,19 @@ class studiengang extends basis_db
$this->studiengang_typ_arr["e"] = "Erhalter"; */
}
public function __get($value)
{
switch($value)
{
case 'studiengang_typ_arr':
if(count($this->studiengang_typ_arr)==0)
{
$this->getAllTypes();
}
}
return $this->$value;
}
/**
* Laedt einen Studiengang
* @param studiengang_kz KZ des Studienganges der zu Laden ist
+1 -1
View File
@@ -406,7 +406,7 @@ class zeugnisnote extends basis_db
tbl_note.bezeichnung as note_bezeichnung, tbl_zeugnisnote.bemerkung, tbl_lehrveranstaltung.lvnr
FROM
lehre.tbl_lehrveranstaltung
LEFT JOIN lehre.tbl_zeugnisnote ON(tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND student_uid=".$this->db_add_param($student_uid).")
LEFT JOIN lehre.tbl_zeugnisnote ON(tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=".$this->db_add_param($student_uid)." AND tbl_zeugnisnote.studiensemester_kurzbz IN(".$stsem."))
LEFT JOIN lehre.tbl_studienplan_lehrveranstaltung ON(tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id AND tbl_studienplan_lehrveranstaltung.studienplan_id=".$this->db_add_param($studienplan_id).")
LEFT JOIN lehre.tbl_note USING(note)
WHERE