*/
/**
* Menue Addon zur Auswahl von LVs
*
* Dieses Addon erstellt ein Formular zur Auswahl von Studiengang und Semester und zeigt die
* zugehoerigen LVs an
*
* Parameter fuer das Params Array:
* - studiengang_kz
* - semester
* - studiengang_kurzbz_lo 3-stelliges Studiengangskuerzel kleingeschrieben
* - studiengang_kurzbz_hi 3-stelliges Studiengangskuerzel grossgeschrieben
*/
require_once(dirname(__FILE__).'/menu_addon.class.php');
require_once(dirname(__FILE__).'/../../config/cis.config.inc.php');
require_once(dirname(__FILE__).'/../../include/studiengang.class.php');
require_once(dirname(__FILE__).'/../../include/lehrveranstaltung.class.php');
require_once(dirname(__FILE__).'/../../include/organisationsform.class.php');
require_once(dirname(__FILE__).'/../../include/functions.inc.php');
require_once(dirname(__FILE__).'/../../include/phrasen.class.php');
require_once(dirname(__FILE__).'/../../include/student.class.php');
class menu_addon_lehrveranstaltungen extends menu_addon
{
public function __construct()
{
global $params;
parent::__construct();
$this->link=false;
$sprache = getSprache();
$user = get_uid();
$student = new student();
if($student->load($user))
{
$studiengang_kz=$student->studiengang_kz;
$semester=$student->semester;
}
$p = new phrasen($sprache);
if (defined("CIS_LVMENUE_CUTLENGTH"))
$cutlength = CIS_LVMENUE_CUTLENGTH;
else
$cutlength = 21;
$this->block.='
';
$this->block.='
'.$p->t('global/studiengang').':
'.$p->t('global/semester').':
';
$this->block.= '';
$this->block.='
';
if (!$lv_obj = new lehrveranstaltung())
die('Fehler beim Oeffnen der Lehrveranstaltung');
$lv_obj->lehrveranstaltungen=array();
if ($lv_obj->load_lva($studiengang_kz,$semester,null,TRUE,TRUE,'orgform_kurzbz DESC, bezeichnung'))
{
$db = new basis_db();
$qry = "SELECT * FROM lehre.tbl_studienordnung WHERE studiengang_kz=".$this->db_add_param($studiengang_kz)." AND status_kurzbz='approved'";
$genehmigte_sto_vorhanden=false;
if($result_sto = $db->db_query($qry))
{
if($db->db_num_rows($result_sto)>0)
{
$genehmigte_sto_vorhanden=true;
}
}
$lastform=null;
foreach ($lv_obj->lehrveranstaltungen as $row)
{
// Alle LVs herausfiltern die nicht in genehmigten Studienplaenen vorkommen
// Module werden auch herausgefiltert
if($genehmigte_sto_vorhanden)
{
$qry = "SELECT
count(*) as anzahl
FROM
lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehrtyp USING(lehrtyp_kurzbz)
WHERE
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id)."
AND tbl_studienordnung.status_kurzbz='approved'
AND lehrtyp_kurzbz='lv'";
if($result_genehmigt = $db->db_query($qry))
{
if($row_genehmigt = $db->db_fetch_object($result_genehmigt))
{
if($row_genehmigt->anzahl==0)
continue;
}
}
}
else
{
// Wenn es in diesem Studiengang keine genehmigte Studienordnung gibt dann
// alle LVs anzeigen und nur die Module herausfiltern
if($row->lehrtyp_kurzbz!='lv')
continue;
}
if($row->orgform_kurzbz!=$lastform)
{
$orgform = new organisationsform();
$orgform->load($row->orgform_kurzbz);
$this->block.= "