This commit is contained in:
Gerald Simane
2009-09-25 09:40:34 +00:00
parent 57cdea7d53
commit fffe7388db
2 changed files with 1393 additions and 0 deletions
+671
View File
@@ -0,0 +1,671 @@
<?php
//@version $Id: kurs_verwaltung.php 2799 2009-07-16 11:56:39Z simane $
/* Copyright (C) 2008 Technikum-Wien
*
* 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: Christian Paminger < christian.paminger@technikum-wien.at >
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
/*
* Dieses Programm listet nach Selektinskreterien alle Moodelkurse zu einem Studiengang oder Lehreinheit auf.
* Jede MoodleID kann invididuell zu einem Studiengang oder Lehreinheit zugeteilt werden.
*/
header('Content-Type: text/html;charset=UTF-8');
// ***********************************************************************************************
// Include Dateien
// ***********************************************************************************************
#define("DB_HOST","theseus.technikum-wien.at");
#define("DB_NAME","fhcomplete");
require_once('../../config/vilesci.config.inc.php');
#@ob_end_clean();
include_once('../../include/basis_db.class.php');
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
// ---------------- Standart Include Dateien einbinden
require_once('../../include/functions.inc.php');
require_once('../../include/globals.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/lehrveranstaltung.class.php');
require_once('../../include/lehreinheit.class.php');
require_once('../../include/lehreinheitgruppe.class.php');
require_once('../../include/lehreinheitmitarbeiter.class.php');
include_once('../../include/moodle_course.class.php');
// ***********************************************************************************************
// Datenbankverbindungen zu Moodle und Vilesci und Classen
// ***********************************************************************************************
if (!$objMoodle = new moodle_course())
die('Fehler beim Oeffnen der Moodleverbindung');
if (!$le_obj = new lehreinheit())
die('Fehler beim Oeffnen der Lehreinheit');
if (!$legrp_obj = new lehreinheitgruppe())
die('Fehler beim Oeffnen der Lehreinheitgruppe');
if (!$lv_obj = new lehrveranstaltung())
die('Fehler beim Oeffnen der Lehrveranstaltung');
if (!$stg_obj = new studiengang())
die('Fehler beim Oeffnen der Studieng&auml;nge');
if (!$stsem = new studiensemester())
die('Fehler beim Oeffnen der Studiensemester');
// @$studiensemester_kurzbz Studiensemester xxJJJJ - xx fuer SS Sommer oder WW Winter
if (!$stsem_aktuell = $stsem->getakt())
$stsem_aktuell = $stsem->getaktorNext();
// ***********************************************************************************************
// Variable Initialisieren
// ***********************************************************************************************
// AusgabeStream
$content='';
$errormsg=array();
// @bDebug Anzeige der xml-rfc Daten moegliche Stufen sind 0,1,2,3
$bDebug= (isset($_REQUEST['debug'])?$_REQUEST['debug']:0);
// @$lehrveranstaltung_id Lehrveranstaltung
$studiensemester_kurzbz=(isset($_REQUEST['studiensemester_kurzbz'])?trim($_REQUEST['studiensemester_kurzbz']):$stsem_aktuell);
// @$lehreinheit_id Lehreinheit
$lehreinheit_id=(isset($_REQUEST['leid'])?trim($_REQUEST['leid']):(isset($_REQUEST['lehreinheit_id'])?trim($_REQUEST['lehreinheit_id']):''));
$lehrveranstaltung_id=(isset($_REQUEST['lvid'])?trim($_REQUEST['lvid']):(isset($_REQUEST['lehrveranstaltung_id'])?trim($_REQUEST['lehrveranstaltung_id']):''));
// @$studiengang_kz Studiengang
$studiengang_kz=(isset($_REQUEST['studiengang_kz'])?trim($_REQUEST['studiengang_kz']):227);
// @$semester Semester des Studienganges
$semester=(isset($_REQUEST['semester'])?trim($_REQUEST['semester']):1);
// @$moodle_id Moodle SubKurs (Unterkat.) ID zu Moodle Kurs ID (mdl_course_id)
$moodle_id=(isset($_REQUEST['moodle_id'])?$_REQUEST['moodle_id']:'');
// @$mdl_course_id Moodle - ID suche
$mdl_course_id=(isset($_REQUEST['mdl_course_id'])?trim($_REQUEST['mdl_course_id']):'');
// @bAnzeige der xml-rfc Daten moegliche Stufen sind 0,1,2,3
$bAnzeige=(isset($_REQUEST['anzeige'])?trim($_REQUEST['anzeige']):false);
// ***********************************************************************************************
// Datenbankabfragen
// ***********************************************************************************************
//---------------------------------------------------------------------------
// Check Moodle
$mdl_course_stat='';
if (!empty($mdl_course_id))
{
$bAnzeige=true;
if(!$objMoodle->getAllMoodleVariant($mdl_course_id,'','','','','',false))
{
$bAnzeige=false;
$errormsg[]='Problem beim Lehre Moodle-Kurs '.addslashes($mdl_course_id).' lesen '.$objMoodle->errormsg;
}
// Lehre Moodle-Kurs gefunden
if(isset($objMoodle->result) && isset($objMoodle->result[0]))
{
$mdl_course_stat='*';
$moodle_id=$objMoodle->result[0]->moodle_id;
$lehrveranstaltung_id=$objMoodle->result[0]->moodle_lehrveranstaltung_id;
$lehreinheit_id=$objMoodle->result[0]->moodle_lehreinheit_id;
$studiensemester_kurzbz=$objMoodle->result[0]->studiensemester_kurzbz;
}
// suchen Kurs in Moodle direkt - neue Vilesci - Lehre anlage notwendig
else
{
$bAnzeige=false;
// Wenn kein Eintrag in der Lehre vorhanden ist pruefen ob ein Moodlekurs vorhanden ist
if ($objMoodle->load($mdl_course_id))
{
$mdl_course_stat='+';
}
else
{
$errormsg[]='Moodle-Kurs wurde nicht gefunden '.addslashes($mdl_course_id).' '.$objMoodle->errormsg;
}
}
}
//---------------------------------------------------------------------------
// @$lehreinheit_id Lehreinheit
if ($lehreinheit_id)
{
if ($le_obj->load($lehreinheit_id))
{
$lehrveranstaltung_id = $le_obj->lehrveranstaltung_id;
$studiensemester_kurzbz = $le_obj->studiensemester_kurzbz;
}
else
{
$bAnzeige=false;
$errormsg[]='Lehreinheit wurde nicht gefunden '.addslashes($lehreinheit_id).' '.$le_obj->errormsg;
}
}
//---------------------------------------------------------------------------
// @$lehrveranstaltung_id Lehrveranstaltung
if ($lehrveranstaltung_id)
{
if ($lv_obj->load($lehrveranstaltung_id))
{
$studiengang_kz = $lv_obj->studiengang_kz;
$semester = $lv_obj->semester;
}
else
{
$bAnzeige=false;
$errormsg[]='Lehrveranstaltung wurde nicht gefunden '.addslashes($lehreinheit_id).' '.$lv_obj->errormsg;
}
}
// ***********************************************************************************************
// HTML Auswahlfelder (Teil 1)
// ***********************************************************************************************
#echo "<p> $studiensemester_kurzbz.$studiengang_kz.$lehrveranstaltung_id.$lehreinheit_id.$semester </p>";
// FormName erzeugen
$cFormName='searchMoodleCurse'.$studiensemester_kurzbz.$studiengang_kz.$lehrveranstaltung_id.$lehreinheit_id.$semester;
$content.='<h2>Moodle - Kursverwaltung</h2>
<form accept-charset="UTF-8" name="'.$cFormName.'" method="POST" target="_self" action="'.$_SERVER['PHP_SELF'].'" >
<table class="liste">
<tr>
<th>&nbsp;Studiensemester&nbsp;</th>
<th>&nbsp;Studiengang&nbsp;</th>
<th>&nbsp;Semster&nbsp;</th>
<th>&nbsp;Lehrveranstaltung&nbsp;</th>
<th>&nbsp;Lehreinheiten&nbsp;</th>
<th colspan="3">&nbsp;Moodlekurs&nbsp;</th>
<td>&nbsp;</td>
</tr>';
//---------------------------------------------------------------------------
// Auswahlfelder
$content.='<tr>';
// Studiensemester public.tbl_studiensemester_kurzbz
$content.='<td><select onchange="document.'.$cFormName.'.lehrveranstaltung_id.value=\'\';document.'.$cFormName.'.lehreinheit_id.value=\'\';document.'.$cFormName.'.mdl_course_id.value=\'\';document.'.$cFormName.'.submit();" name="studiensemester_kurzbz"><option value="">&nbsp;Alle&nbsp;</option>';
$stsem->studiensemester=array();
if ($stsem->getAll())
{
foreach ($stsem->studiensemester as $row)
{
$content.='<option value="'.$row->studiensemester_kurzbz.'" '.(("$studiensemester_kurzbz"=="$row->studiensemester_kurzbz")?' selected="selected" ':'').'>&nbsp;'.$row->studiensemester_kurzbz.'&nbsp;</option>';
}
}
else
{
$errormsg[]='Studiensemester wurden nicht gefunden! '.$stsem->errormsg;
}
$content.='</select></td>';
//---------------------------------------------------------------------------
// Studiengang public.tbl_studiengang_kz
$content.='<td><select onchange="document.'.$cFormName.'.lehrveranstaltung_id.value=\'\';document.'.$cFormName.'.lehreinheit_id.value=\'\';document.'.$cFormName.'.mdl_course_id.value=\'\';document.'.$cFormName.'.submit();" name="studiengang_kz">';
if ($studiengang_kz=='*')
{
$studiengang_kz='';
$content.='<option value="" '.(empty($studiengang_kz)?' selected="selected" ':'').'>&nbsp;-&nbsp;</option>';
}
$stsem->result=array();
if ($stg_obj->getAll('typ, kurzbz',true))
{
$max_semester=0;
$arrStudiengang='';
foreach ($stg_obj->result as $row)
{
if (empty($studiengang_kz) && !isset($_REQUEST['studiengang_kz']) )
{
$studiengang_kz=$row->studiengang_kz;
$semester=1;
}
if ($studiengang_kz==$row->studiengang_kz)
{
$arrStudiengang=$row;
$max_semester=$row->max_semester;
}
$content.='<option value="'.$row->studiengang_kz.'" '.(("$studiengang_kz"=="$row->studiengang_kz")?' selected="selected" ':'').'>&nbsp;'.$row->kuerzel.($bDebug?'&nbsp;('.$row->studiengang_kz.')':'').'</option>';
}
}
else
{
$content.='<option value="" '.(empty($studiengang_kz)?' selected="selected" ':'').'>&nbsp;'.$stg_obj->errormsg.'&nbsp;</option>';
$errormsg[]='Studieng&auml;nge wurden nicht gefunden! '.$stg_obj->errormsg;
}
$content.='</select></td>';
//---------------------------------------------------------------------------
// Semster public.tbl_studiengang_kz - max Semester des Selektierten Studiengangs
$content.='<td><select onchange="document.'.$cFormName.'.lehrveranstaltung_id.value=\'\';document.'.$cFormName.'.lehreinheit_id.value=\'\';document.'.$cFormName.'.mdl_course_id.value=\'\';document.'.$cFormName.'.submit();" name="semester">';
$content.='<option value="" '.(empty($semester)?' selected="selected" ':'').'>&nbsp;-&nbsp;</option>';
if ($studiengang_kz!='')
{
for($i=0;$i<=$max_semester;$i++)
{
$content.='<option value="'.($i).'" '.(("$semester"=="$i")?' selected="selected" ':'').'>&nbsp;'.($i).'&nbsp;</option>';
}
}
$content.='</select></td>';
//---------------------------------------------------------------------------
// Lehrveranstaltungen
$content.='<td><select onchange="document.'.$cFormName.'.lehreinheit_id.value=\'\';document.'.$cFormName.'.mdl_course_id.value=\'\';document.'.$cFormName.'.submit();" name="lehrveranstaltung_id">';
$content.='<option value="" '.(empty($lehrveranstaltung_id)?' selected="selected" ':'').'>&nbsp;-&nbsp;</option>';
$lv_obj->lehrveranstaltungen=array();
if ($lv_obj->load_lva($studiengang_kz, $semester,null,null,null,'bezeichnung'))
{
foreach ($lv_obj->lehrveranstaltungen as $row)
{
$content.='<option value="'.$row->lehrveranstaltung_id.'" '.(("$lehrveranstaltung_id"=="$row->lehrveranstaltung_id")?' selected="selected" ':'').'>&nbsp;'.($bDebug?CutString($row->bezeichnung, 21).' '.$row->lehrform_kurzbz.'&nbsp;(Lv ID '.$row->lehrveranstaltung_id.')': CutString($row->bezeichnung, 35) ) .'</option>';
}
}
else
{
$content.='<option value="" '.(empty($studiengang_kz)?' selected="selected" ':'').'>&nbsp;'.$stg_obj->errormsg.'&nbsp;</option>';
$errormsg[]='Lehrveranstaltungen wurden nicht gefunden! '.$lv_obj->errormsg;
}
$content.='</select></td>';
//---------------------------------------------------------------------------
// Lehreinheit
$content.='<td><select onchange="document.'.$cFormName.'.mdl_course_id.value=\'\';document.'.$cFormName.'.submit();" name="lehreinheit_id">';
$content.='<option value="" '.(empty($lehreinheit_id)?' selected="selected" ':'').'>&nbsp;-&nbsp;</option>';
$le_obj->lehreinheiten=array();
if (!empty($lehrveranstaltung_id))
{
$le_obj->load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz);
foreach ($le_obj->lehreinheiten as $row)
{
//Gruppen laden
$gruppen = '';
if (!$legrp_obj = new lehreinheitgruppe())
die('Fehler beim Oeffnen der Lehreinheitgruppe');
if ($legrp_obj->getLehreinheitgruppe($row->lehreinheit_id))
{
foreach ($legrp_obj->lehreinheitgruppe as $grp)
{
if($grp->gruppe_kurzbz=='')
$gruppen.=' '.$grp->semester.$grp->verband.$grp->gruppe;
else
$gruppen.=' '.$grp->gruppe_kurzbz;
}
}
$content.='<option value="'.$row->lehreinheit_id.'" '.($lehreinheit_id==$row->lehreinheit_id?' selected="selected" ':'').'>&nbsp;'.$row->lehrform_kurzbz.' '.$gruppen.($bDebug?'&nbsp;(Le ID '.$row->lehreinheit_id.')':'').'</option>';
}
}
$content.='</select></td>';
$content.='<td><b>oder</b></td>';
//---------------------------------------------------------------------------
// ---- Moodle mdl_course_id
$content.='<td>Kurs ID</td><td><input size="4" maxlength="8" name="mdl_course_id" value="'.$mdl_course_id.'">'.$mdl_course_stat;
//---------------------------------------------------------------------------
// ---- Submitknopf
$content.='
<td>
<input style="padding: 2px 20px 2px 20px;" name="anzeigen" type="submit" value="anzeigen">
<input style="display:none" type="text" name="anzeige" value="anzeige" />
<input style="display:none" type="text" name="debug" value="'.$bDebug.'" />
</td>
</tr></table>
</form>';
$content.='<hr>';
// ***********************************************************************************************
// HTML Listenanzeige (Teil 2) Detailkursdaten
// ***********************************************************************************************
if ($bAnzeige)
{
// Moodle ID eingabe wurde bereits am Anfang gelesen
if (!$mdl_course_id)
{
if ($lehreinheit_id)
$lehrveranstaltung_id='';
#echo "<hr> $mdl_course_id,$studiengang_kz,$lehreinheit_id,$lehrveranstaltung_id,$studiensemester_kurzbz,$semester <hr>";
if(!$objMoodle->getAllMoodleVariant($mdl_course_id,$lehrveranstaltung_id,$studiensemester_kurzbz,$lehreinheit_id,$studiengang_kz,$semester,false))
$errormsg[]=$objMoodle->errormsg;
}
// Aufbau der Moodlekurs - Tabelle
if (is_array($objMoodle->result) && count($objMoodle->result)>0)
$content.=writeMoodlekursHTML($objMoodle->result,$bDebug,$errormsg);
}
// ***********************************************************************************************
// HTML Header und Foot zum Content (Ausgabestring) hinzufuegen, und Anzeigen
// ***********************************************************************************************
$content='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Moodle - Kurszuteilungverwalten</title>
<base target="main">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head>
<body>
<!-- MoodleKurs Content Start -->
'.$content.'
<!-- MoodleKurs Content Ende -->
<iframe style="height:300px;width: 100%;padding: 0px 0px 0px 0px;margin: 0px 0px 0px 0px;border: 0px;" id="zuteilung_warten" src="zuteilung_warten.php'.($mdl_course_stat=='+'?'?mdl_course_id='.$mdl_course_id:'').'" name="zuteilung_warten" frameborder="0">
No iFrames
</iframe>
<p class="error">'.implode('<br>',$errormsg).'</p>
</body>
</html>';
exit($content);
// ***********************************************************************************************
// erzeugen HTML Output der Moodlekursdaten
// ***********************************************************************************************
function writeMoodlekursHTML($arrMoodlekurs,$bDebug,&$errormsg)
{
$content='';
if (!is_array($arrMoodlekurs) || count($arrMoodlekurs)<1)
return $content;
if (!$objMoodle = new moodle_course())
die('Fehler beim Oeffnen der Moodleverbindung');
if (!$le_obj = new lehreinheit())
die('Fehler beim Oeffnen der Lehreinheit');
if (!$legrp_obj = new lehreinheitgruppe())
die('Fehler beim Oeffnen der Lehreinheitgruppe');
if (!$lv_obj = new lehrveranstaltung())
die('Fehler beim Oeffnen der Lehrveranstaltung');
if (!$stg_obj = new studiengang())
die('Fehler beim Oeffnen der Studieng&auml;nge');
if (!$stsem = new studiensemester())
die('Fehler beim Oeffnen der Studiensemester');
// Header Top mit Anzahl der gelisteten Kurse
$content.='<div style="height:300px;overflow:auto;">';
$content.='<table class="liste">';
// Header Teil Information der Funktion
// Headerinformation der Tabellenfelder
$content.='<tr class="liste" align="center">';
$content.='<th colspan="5">&nbsp;Studiengang&nbsp;</th>';
$content.='<th>&nbsp;Sem&nbsp;</th>';
$content.='<th colspan="2">&nbsp;Lehrveranstaltung&nbsp;</th>';
$content.='<th colspan="2">&nbsp;Lehreinheit&nbsp;</th>';
$content.='<th colspan="2">&nbsp;Moodle Kurs&nbsp;</th>';
$content.='<td>&nbsp;bearbeiten&nbsp;</td>';
$content.='</tr>';
// Alle Moodlekurse in einer Schleife anzeigen.
for($i=0;$i<count($arrMoodlekurs);$i++)
{
$cFormName='workMoodleCurseDetail'.$i;
// ZeilenCSS (gerade/ungerade) zur besseren Ansicht
if ($i%2)
$showCSS=' class="liste0" style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 2px 1px 2px; background:#FEFFEC" ';
else
$showCSS=' class="liste1" style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 2px 1px 2px; background:#FCFCFC" ';
// Listenzeile
$content.='<tr '.$showCSS.' align="center">';
$content.='<td align="left">';
$content.='<table><tr>';
$content.= '<td align="left" id="detail'.$i.'_on" onclick="this.className=\'ausblenden\';document.getElementById(\'detail'.$i.'_off\').className=\'einblenden\';document.getElementById(\'detail'.$i.'\').className=\'einblenden\';"><img height="15" src="../../skin/images/bullet_arrow_right.png" border="0" title="Detailansicht" alt="bullet_arrow_down.png" />&nbsp;</td>';
$content.= '<td align="left" id="detail'.$i.'_off" onclick="this.className=\'ausblenden\';document.getElementById(\'detail'.$i.'_on\').className=\'einblenden\';document.getElementById(\'detail'.$i.'\').className=\'ausblenden\';" class="ausblenden"><img height="15" src="../../skin/images/bullet_arrow_down.png" border="0" title="Detailansicht" alt="bullet_arrow_down.png" />&nbsp;</td>';
$content.='</tr></table>';
$content.='</td>';
$content.='<td '.$showCSS.'>'.$arrMoodlekurs[$i]->studiensemester_kurzbz.'</td>';
if (!$stg_obj->load($arrMoodlekurs[$i]->lehrveranstaltung_studiengang_kz))
{
$stg_obj->kuerzel='';
$stg_obj->bezeichnung='Fehler Studiengang ';
$stg_obj->kurzbzlang=$stg_obj->errormsg;
$stg_obj->studiengang_kz=$arrMoodlekurs[$i]->lehrveranstaltung_studiengang_kz;
}
$content.='<td '.$showCSS.'>'.$stg_obj->kuerzel.'&nbsp;</td>';
$content.='<td '.$showCSS.'>'.$stg_obj->bezeichnung.'&nbsp;('.$stg_obj->kurzbzlang.')&nbsp;</td>';
$content.='<td '.$showCSS.'>'.$stg_obj->studiengang_kz.'&nbsp;</td>';
$content.='<td '.$showCSS.'>'.$arrMoodlekurs[$i]->lehrveranstaltung_semester.'&nbsp;</td>';
// Lehrveranstaltung
#var_dump($arrMoodlekurs[$i]);
if ($arrMoodlekurs[$i]->moodle_lehrveranstaltung_id)
{
$lvID=$arrMoodlekurs[$i]->moodle_lehrveranstaltung_id;
if ($lv_obj->load($arrMoodlekurs[$i]->moodle_lehrveranstaltung_id))
{
$kurzbz='<b>'.$lv_obj->kurzbz.'</b>, '.$lv_obj->bezeichnung;
}
else
{
$kurzbz='Fehler Lehrveranstaltung '.$lv_obj->errormsg;
}
}
else
{
$kurzbz='<b>zur Lehreinheit - '.$lv_obj->kurzbz.'</b>, '.$lv_obj->bezeichnung;
$lvID='*'.$arrMoodlekurs[$i]->lehrveranstaltung_id;
if (!$lv_obj->load($arrMoodlekurs[$i]->lehrveranstaltung_id))
{
$kurzbz='Fehler Lehrveranstaltung '.$lv_obj->errormsg;
}
}
# var_dump($lv_obj);
$content.='<td colspan="2" title="'.(isset($lv_obj->bezeichnung)?$lv_obj->bezeichnung.' Kurzbz:'.$lv_obj->kurzbz.' LV Kurzbz:'.$lv_obj->lehrform_kurzbz.' ID:'.$lv_obj->lehrveranstaltung_id:$lv_obj->errormsg).'" '.$showCSS.'>';
$content.=$kurzbz. ($bDebug?' '.$lvID:'').'&nbsp;</td>';
// Lehreinheit
$leID=$arrMoodlekurs[$i]->lehreinheit_id;
if ($arrMoodlekurs[$i]->moodle_lehreinheit_id)
{
if ( $le_obj->loadLE($arrMoodlekurs[$i]->moodle_lehreinheit_id))
{
//Gruppen laden
$gruppen = $le_obj->lehrform_kurzbz.'&nbsp;';
if (!$legrp_obj = new lehreinheitgruppe())
die('Fehler beim Oeffnen der Lehreinheitgruppe');
#var_dump($le_obj);
$legrp_obj->getLehreinheitgruppe($arrMoodlekurs[$i]->lehreinheit_id);
foreach ($legrp_obj->lehreinheitgruppe as $grp)
{
if($grp->gruppe_kurzbz=='')
$gruppen.=' '.$grp->semester.$grp->verband.$grp->gruppe;
else
$gruppen.=' '.$grp->gruppe_kurzbz;
}
}
else
{
$gruppen='Fehler Lehreinheit '.$lv_obj->errormsg;
}
}
else
{
$leID='-';
$gruppen='zur kpl.LV';
}
$content.='<td '.$showCSS.'>'.$gruppen.'&nbsp;</td>';
$content.='<td '.$showCSS.'>'.($bDebug?$leID:'').'&nbsp;</td>';
// Moodle
if (empty($arrMoodlekurs[$i]->mdl_shortname))
$arrMoodlekurs[$i]->mdl_shortname=$arrMoodlekurs[$i]->mdl_fullname;
$content.='<td onclick="document.'.$cFormName.'.submit();" '.$showCSS.'>'.$arrMoodlekurs[$i]->mdl_shortname.'&nbsp;</td>';
$content.='<td onclick="document.'.$cFormName.'.submit();" '.$showCSS.'>'.$arrMoodlekurs[$i]->mdl_course_id.'&nbsp;</td>';
// Bearbeitung Submit
if ($arrMoodlekurs[$i]->mdl_course_id)
{
$content.= '<td style="cursor: pointer;" onclick="document.'.$cFormName.'.submit();">';
$content.='<form style="display: inline;border:0px;" name="'.$cFormName.'" method="POST" target="zuteilung_warten" action="zuteilung_warten.php">';
$content.= '<input style="display:none" type="text" name="mdl_course_id" value="'.$arrMoodlekurs[$i]->mdl_course_id.'" />';
$content.= '<input style="display:none" type="text" name="wartung" value="wartung" />';
$content.= '<input style="display:none" type="text" name="debug" value="'.$bDebug.'" />';
$content.= '<img height="15" src="../../skin/images/table_row_delete.png" border="0" title="MoodleKurs entfernen" alt="table_row_delete.png" />';
$content.= '<input onclick="this.checked=false;" onblur="this.checked=false;" type="checkbox" value="" style="'.(!stristr($_SERVER['HTTP_USER_AGENT'],'OPERA') && !stristr($_SERVER['HTTP_USER_AGENT'],'Safari')?'display:none;':'').'font-size: 4px;border:0px solid transparent;text-decoration:none; background-color: transparent;" name="check_va_detail_kal'.$i.'" />';
$content.= '&auml;ndern';
$content.='</form>';
$content.= '</td>';
}
else
{
$content.= '<td>&nbsp;</td>';
}
$content.='</tr>';
$content.='<tr>
<td '.$showCSS.' colspan="19">
<table id="detail'.$i.'" class="ausblenden" >
<tr><td>&nbsp;</td></tr>';
$content.='<tr onclick="document.getElementById(\'detail'.$i.'\').className=\'ausblenden\'">
<td colspan="3" class="topbar" colspan="2">Detailanzeige Moodelkurs '.$arrMoodlekurs[$i]->mdl_course_id.'</td>
</tr>';
// Moodle
$content.='<tr>';
$content.='<td></td><th>&nbsp;Moodle Kurs&nbsp;</th><td>'.$arrMoodlekurs[$i]->mdl_fullname.'<br />&nbsp;'. $arrMoodlekurs[$i]->mdl_shortname.',&nbsp;</td>';
$content.='</tr>';
$content.='<tr>
<td colspan="3"><hr /></td>
</tr>';
$content.='<tr>';
$content.='<td>&nbsp;</td><th>&nbsp;Studiensemester&nbsp;</th>';
$content.='<td>'.$arrMoodlekurs[$i]->studiensemester_kurzbz.'</td>';
$content.='</tr>';
$content.='<tr>';
$content.='<td>&nbsp;</td><th>&nbsp;Studiengang&nbsp;</th>';
$content.='<td>'.$stg_obj->kuerzel.'&nbsp;'.$stg_obj->bezeichnung.'&nbsp;('.$stg_obj->kurzbzlang.'),&nbsp;'.$stg_obj->studiengang_kz.'&nbsp;</td>';
$content.='</tr>';
$content.='<tr>';
$content.='<td></td><th>&nbsp;Semester&nbsp;</th>';
$content.='<td>'.$arrMoodlekurs[$i]->lehrveranstaltung_semester.'&nbsp;</td>';
$content.='</tr>';
$content.='<tr>';
$content.='<td></td><th>&nbsp;Lehrveranstaltung&nbsp;</th>';
$content.='<td>'.(isset($lv_obj->bezeichnung)?$lv_obj->bezeichnung.'&nbsp;&nbsp;Kurzbz:&nbsp;'.$lv_obj->kurzbz.'&nbsp;,&nbsp;Lehrform Kurzbz:'.$lv_obj->lehrform_kurzbz:$lv_obj->errormsg).',&nbsp;ID&nbsp;'.$arrMoodlekurs[$i]->lehrveranstaltung_id.'&nbsp;</td>';
$content.='</tr>';
$content.='<tr>';
$content.='<td></td><th valign="top">&nbsp;Lehreinheit&nbsp;</th>';
if ($arrMoodlekurs[$i]->moodle_lehrveranstaltung_id)
{
$content.='<td valign="top">';
$le_obj->lehreinheiten=array(); // Init
$le_obj->load_lehreinheiten($arrMoodlekurs[$i]->lehrveranstaltung_id, $arrMoodlekurs[$i]->studiensemester_kurzbz);
foreach ($le_obj->lehreinheiten as $row)
{
//Gruppen laden
$gruppen = '';
if (!$legrp_obj = new lehreinheitgruppe())
die('Fehler beim Oeffnen der Lehreinheitgruppe');
if ($legrp_obj->getLehreinheitgruppe($row->lehreinheit_id))
{
foreach ($legrp_obj->lehreinheitgruppe as $grp)
{
if($grp->gruppe_kurzbz=='')
$gruppen.=' '.$grp->semester.$grp->verband.$grp->gruppe;
else
$gruppen.=' '.$grp->gruppe_kurzbz;
}
}
//Lektoren laden
$lektoren='';
$lehreinheitmitarbeiter = new lehreinheitmitarbeiter();
$lehreinheitmitarbeiter->getLehreinheitmitarbeiter($row->lehreinheit_id);
foreach ($lehreinheitmitarbeiter->lehreinheitmitarbeiter as $ma)
{
$lektoren.= '&nbsp;'.$ma->mitarbeiter_uid;
}
$content.=$row->lehrform_kurzbz.'&nbsp;'.$gruppen.'&nbsp;ID&nbsp;'.$row->lehreinheit_id.'&nbsp;'.$lektoren;
$content.='<br />';
}
$content.='</td>';
}
else
{
$content.='<td>'.$gruppen.',&nbsp;'.($arrMoodlekurs[$i]->lehreinheit_id?$arrMoodlekurs[$i]->lehreinheit_id:'').'</td>';
}
$content.='</tr>';
$content.='<tr><td>&nbsp;</td></tr>';
// Bearbeitung Submit
$content.='<tr>';
if ($arrMoodlekurs[$i]->mdl_course_id)
{
$cFormName='workMoodleCurseDetail'.$i;
$content.= '<th colspan="3" style="cursor: pointer;" onclick="document.'.$cFormName.'.submit();">';
$content.= '<img height="15" src="../../skin/images/table_row_delete.png" border="0" title="MoodleKurs entfernen" alt="table_row_delete.png" />';
$content.= '<input onclick="this.checked=false;" onblur="this.checked=false;" type="checkbox" value="" style="'.(!stristr($_SERVER['HTTP_USER_AGENT'],'OPERA') && !stristr($_SERVER['HTTP_USER_AGENT'],'Safari')?'display:none;':'').'font-size: 4px;border:0px solid transparent;text-decoration:none; background-color: transparent;" name="check_va_detail_kal'.$i.'" />';
$content.= '&auml;ndern';
$content.= '</th>';
}
else
{
$content.= '<td>&nbsp;</td>';
}
$content.= '</tr>';
$content.='</table></td></tr>';
} // Ende Moodlekurse in einer Schleife anzeigen.
$content.= '</table>';
$content.='</div>';
return $content;
}
// ***********************************************************************************************
// String auf Laenge abschneiden
// ***********************************************************************************************
function CutString($strVal, $limit)
{
if(strlen($strVal) > $limit+3)
{
return substr($strVal, 0, $limit) . "...";
}
else
{
return $strVal;
}
}
?>
+722
View File
@@ -0,0 +1,722 @@
<?php
//@version $Id: kurs_verwaltung.php 2799 2009-07-16 11:56:39Z simane $
/* Copyright (C) 2008 Technikum-Wien
*
* 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: Christian Paminger < christian.paminger@technikum-wien.at >
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
/*
* Dieses Programm listet nach Selektinskreterien alle Moodelkurse zu einem Studiengang oder Lehreinheit auf.
* Jede MoodleID kann invididuell zu einem Studiengang oder Lehreinheit zugeteilt werden.
*/
header('Content-Type: text/html;charset=UTF-8');
// Ohne einer Moodlekurs ID hier beenden
$mdl_course_id=(isset($_REQUEST['mdl_course_id'])?trim($_REQUEST['mdl_course_id']):'');
if (empty($mdl_course_id))
exit();
// ***********************************************************************************************
// Include Dateien
// ***********************************************************************************************
require_once('../../config/vilesci.config.inc.php');
# include_once('../../include/basis_db.class.php');
// ---------------- Standart Include Dateien einbinden
require_once('../../include/functions.inc.php');
require_once('../../include/globals.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/lehrveranstaltung.class.php');
require_once('../../include/lehreinheit.class.php');
require_once('../../include/lehreinheitgruppe.class.php');
require_once('../../include/lehreinheitmitarbeiter.class.php');
include_once('../../include/moodle_course.class.php');
// ***********************************************************************************************
// Datenbankverbindungen zu Moodle und Vilesci und Classen
// ***********************************************************************************************
if (!$objMoodle = new moodle_course())
die('Fehler beim Oeffnen der Moodleverbindung');
if (!$le_obj = new lehreinheit())
die('Fehler beim Oeffnen der Lehreinheit');
if (!$legrp_obj = new lehreinheitgruppe())
die('Fehler beim Oeffnen der Lehreinheitgruppe');
if (!$lv_obj = new lehrveranstaltung())
die('Fehler beim Oeffnen der Lehrveranstaltung');
if (!$stg_obj = new studiengang())
die('Fehler beim Oeffnen der Studieng&auml;nge');
if (!$stsem = new studiensemester())
die('Fehler beim Oeffnen der Studiensemester');
// @$studiensemester_kurzbz Studiensemester xxJJJJ - xx fuer SS Sommer oder WW Winter
if (!$stsem_aktuell = $stsem->getakt())
$stsem_aktuell = $stsem->getaktorNext();
// ***********************************************************************************************
// Variable Initialisieren
// ***********************************************************************************************
// AusgabeStream
$content='';
$errormsg=array();
// ***********************************************************************************************
// POST oder GET Parameter einlesen
// ***********************************************************************************************
// @$mdl_course_id Moodle - ID suche
$mdl_course_id=(isset($_REQUEST['mdl_course_id'])?trim($_REQUEST['mdl_course_id']):'');
//---------------------------------------------------------------------------
// Pruefen vor dem Datenlesen ob die Verarbeitung bereits erfolgen muss
$bNeuAufbau=(isset($_REQUEST['aendern'])?trim($_REQUEST['aendern']):false);
if ($mdl_course_id && $bNeuAufbau)
{
$bWartung=(isset($_REQUEST['aenderung'])?trim($_REQUEST['aenderung']):false);
$bKopieren=(isset($_REQUEST['kopieren'])?trim($_REQUEST['kopieren']):false);
if ($bWartung || $bKopieren)
moodlekurswartung($mdl_course_id,$errormsg );
}
//---------------------------------------------------------------------------
// Check Moodle
$mdl_course_stat='';
if(!$objMoodle->getAllMoodleVariant($mdl_course_id,'','','','','',false))
{
die('Moodle-Kurs '.$objMoodle->mdl_course_id.' wurde in Lehre nicht gefunden! '.$objMoodle->errormsg);
}
// es wurden Vilescidaten gefunden
if(isset($objMoodle->result) && isset($objMoodle->result[0]))
{
$new=false;
$mdl_course_stat='*';
$moodle_id=$objMoodle->result[0]->moodle_id;
$studiengang_kz=$objMoodle->result[0]->lehrveranstaltung_studiengang_kz;
$studiensemester_kurzbz=$objMoodle->result[0]->studiensemester_kurzbz;
$semester=$objMoodle->result[0]->lehrveranstaltung_semester;
$lehrveranstaltung_id=$objMoodle->result[0]->lehrveranstaltung_id;
$lehreinheit_id=$objMoodle->result[0]->lehreinheit_id;
$gruppen=$objMoodle->result[0]->gruppen;
$bezeichnung=$objMoodle->result[0]->mdl_fullname;
$kurzbezeichnung=$objMoodle->result[0]->mdl_shortname;
$lehrveranstaltung_id_moodle=$objMoodle->result[0]->moodle_lehrveranstaltung_id;
}
// es wurden Moodledaten gefunden
else if ($objMoodle->load($mdl_course_id))
{
$new=true;
$mdl_course_stat='+';
$errormsg[]='Neuzuteilung zu Moodlekurs '.$objMoodle->mdl_course_id.' m&ouml;glich';
$moodle_id='?';
$studiengang_kz=227;
$studiensemester_kurzbz=$stsem_aktuell;
$semester=1;
$lehrveranstaltung_id='';
$lehreinheit_id='';
$gruppen=false;
$bezeichnung=$objMoodle->result[0]->fullname;
$kurzbezeichnung=$objMoodle->result[0]->shortname;
$lehrveranstaltung_id_moodle=false;
}
else
{
die('Moodle-Kurs '.$objMoodle->mdl_course_id.' wurde nicht gefunden! '.$objMoodle->errormsg);
}
// ***********************************************************************************************
// Restliche POST oder GET Parameter der Dateneingabe einlesen
// ***********************************************************************************************
// @bDebug Anzeige der xml-rfc Daten moegliche Stufen sind 0,1,2,3
$bDebug= (isset($_REQUEST['debug'])?$_REQUEST['debug']:0);
$aendern_studiensemester_kurzbz=(isset($_REQUEST['aendern_studiensemester_kurzbz'])?trim($_REQUEST['aendern_studiensemester_kurzbz']):$studiensemester_kurzbz);
$aendern_studiengang_kz=(isset($_REQUEST['aendern_studiengang_kz'])?trim($_REQUEST['aendern_studiengang_kz']):$studiengang_kz);
$aendern_semester=(isset($_REQUEST['aendern_semester'])?trim($_REQUEST['aendern_semester']):$semester);
$sel_lehrveranstaltung_id=(isset($_REQUEST['sel_lehrveranstaltung_id'])?trim($_REQUEST['sel_lehrveranstaltung_id']):$lehrveranstaltung_id);
$aendern_lehrveranstaltung_id=(isset($_REQUEST['aendern_lehrveranstaltung_id']) && !empty($_REQUEST['aendern_lehrveranstaltung_id'])?trim($_REQUEST['aendern_lehrveranstaltung_id']):$sel_lehrveranstaltung_id);
$aendern_lehreinheit_id=(isset($_REQUEST['aendern_lehreinheit_id'])?$_REQUEST['aendern_lehreinheit_id']:(isset($_REQUEST['aendern_studiensemester_kurzbz'])?'':$lehreinheit_id));
$aendern_bezeichnung=(isset($_REQUEST['aendern_bezeichnung'])?trim($_REQUEST['aendern_bezeichnung']):$bezeichnung);
$aendern_kurzbezeichnung=(isset($_REQUEST['aendern_kurzbezeichnung'])?trim($_REQUEST['aendern_kurzbezeichnung']):$kurzbezeichnung);
$aendern_gruppen=(isset($_REQUEST['aendern_gruppen']) && !empty($_REQUEST['aendern_gruppen'])?true:(isset($_REQUEST['aendern_gruppen'])?1:$gruppen));
// ***********************************************************************************************
// HTML Auswahlfelder (Teil 1)
// ***********************************************************************************************
//---------------------------------------------------------------------------
// Fuer bestehende Vilescidaten wird eine Detailinformation angezeigt
if (!$new )
{
// Header
$content.='<h2>Moodle Kurs '.$objMoodle->result[0]->mdl_course_id.($aendern_lehrveranstaltung_id?' zur Lehrveranstaltung ':' zu Lehreinheiten ').'&nbsp;-&nbsp;'.$objMoodle->result[0]->mdl_fullname .'&nbsp;-&nbsp;'.$objMoodle->result[0]->mdl_shortname.'</h2>';
}
else
{
$content.='<h2>Moodle Kurs Neuzuteilung '.$mdl_course_id.'&nbsp;-&nbsp;'.$objMoodle->result[0]->fullname.'&nbsp;-&nbsp;'.$objMoodle->result[0]->shortname.'</h2>';
}
// ***********************************************************************************************
// HTML Listenanzeige (Teil 2) Aenderungsdaten
// ***********************************************************************************************
// FormName erzeugen
$cFormName='workMoodleCurse'.$mdl_course_id;
$content.='
<form accept-charset="UTF-8" name="'.$cFormName.'" method="POST" target="_self" action="'.$_SERVER['PHP_SELF'].'" >
<table class="liste">
<tr><td>&nbsp;</td></tr>
<tr>
<td>&nbsp;Studiensemester&nbsp;</td>
<td>&nbsp;Studiengang&nbsp;</td>
<td>&nbsp;Semster&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>';
//---------------------------------------------------------------------------
// Studiensemester public.tbl_studiensemester_kurzbz
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.aendern_bezeichnung.value=\'\';document.'.$cFormName.'.aendern_lehrveranstaltung_id.checked=false;uncheckLE();generateLEText();document.'.$cFormName.'.submit();" name="aendern_studiensemester_kurzbz">';
if ($stsem->getAll())
{
foreach ($stsem->studiensemester as $row)
{
$content.='<option value="'.$row->studiensemester_kurzbz.'" '.(("$aendern_studiensemester_kurzbz"=="$row->studiensemester_kurzbz")?' selected="selected" ':'').'>&nbsp;'.$row->studiensemester_kurzbz.'&nbsp;</option>';
}
}
else
{
$errormsg[]='Studiensemester wurden nicht gefunden! '.$stsem->errormsg;
}
$content.='</select></td>';
//---------------------------------------------------------------------------
// Studiengang public.tbl_studiengang_kz
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.aendern_bezeichnung.value=\'\';document.'.$cFormName.'.aendern_lehrveranstaltung_id.checked=false;uncheckLE();generateLEText();document.'.$cFormName.'.submit();" name="aendern_studiengang_kz">';
$aendern_studiengang_name='';
if ($stg_obj->getAll('typ, kurzbz',true))
{
$max_semester=0;
$arrStudiengang='';
foreach ($stg_obj->result as $row)
{
if (empty($aendern_studiengang_kz) )
{
$aendern_studiengang_kz=$row->studiengang_kz;
$aendern_semester=1;
}
if ($aendern_studiengang_kz==$row->studiengang_kz)
{
$aendern_studiengang_name=$row->kuerzel;
$arrStudiengang=$row;
$max_semester=$row->max_semester;
}
$content.='<option title="'.$row->kuerzel.'" value="'.$row->studiengang_kz.'" '.(("$aendern_studiengang_kz"=="$row->studiengang_kz")?' selected="selected" ':'').'>&nbsp;'.$row->kuerzel.'&nbsp;</option>';
}
}
else
{
$content.='<option value="" >&nbsp;'.$stg_obj->errormsg.'&nbsp;</option>';
$errormsg[]='Studiengang wurde nicht gefunden! '.$stg_obj->errormsg;
}
$content.='</select></td>';
//---------------------------------------------------------------------------
// Semster public.tbl_studiengang_kz - max Semester des Selektierten Studiengangs
$content.='<td valign="top"><select onchange="document.'.$cFormName.'.aendern_bezeichnung.value=\'\';document.'.$cFormName.'.aendern_lehrveranstaltung_id.checked=false;uncheckLE();generateLEText();document.'.$cFormName.'.submit();" name="aendern_semester">';
if ($aendern_studiengang_kz!='')
{
for($i=0;$i<=$max_semester;$i++)
{
$content.='<option value="'.($i).'" '.("$aendern_semester"=="$i"?' selected="selected" ':'').'>&nbsp;'.($i).'&nbsp;</option>';
}
}
$content.='</select></td>';
$content.='<td valign="top">';
$content.='<table><tr>';
//---------------------------------------------------------------------------
// Lehrveranstaltungen
$content.='<th valign="top">&nbsp;Lehrveranstaltung&nbsp;</th>';
$content.='<td><select onchange="document.'.$cFormName.'.aendern_bezeichnung.value=\'\';document.'.$cFormName.'.aendern_lehrveranstaltung_id.value=this.value;document.'.$cFormName.'.aendern_lehrveranstaltung_id.checked=false;uncheckLE();generateLEText();document.'.$cFormName.'.submit();" name="sel_lehrveranstaltung_id">';
$lv_bez='';
$lv_kurz_bez='';
$lv_obj->lehrveranstaltungen=array();
if ($lv_obj->load_lva($aendern_studiengang_kz, $aendern_semester,null,null,true,'bezeichnung',true))
{
foreach ($lv_obj->lehrveranstaltungen as $row)
{
if (empty($sel_lehrveranstaltung_id))
$sel_lehrveranstaltung_id=$row->lehrveranstaltung_id;
if ("$sel_lehrveranstaltung_id"=="$row->lehrveranstaltung_id")
{
$lv_kurz_bez=trim($row->kurzbz);
if (!$aendern_bezeichnung)
$aendern_bezeichnung=$row->bezeichnung;
}
$content.='<option value="'.$row->lehrveranstaltung_id.'" '.("$sel_lehrveranstaltung_id"=="$row->lehrveranstaltung_id"?' selected="selected" ':'').'>&nbsp;'.CutString($row->bezeichnung, 35).'&nbsp;'.($row->kurzbz?CutString($row->kurzbz,7).', ':'').'&nbsp;(LvID '.$row->lehrveranstaltung_id.($row->lehrform_kurzbz?CutString(', '.$row->lehrform_kurzbz,5):'').')</option>';
}
}
else
{
$content.='<option value="" >&nbsp;'.$stg_obj->errormsg.'&nbsp;</option>';
$errormsg[]='Lehrveranstaltung wurde nicht gefunden! '.$lv_obj->errormsg;
}
$content.='</select></td>';
$bChecked=($aendern_lehrveranstaltung_id?true:false);
$content.='<th title="'.$lv_kurz_bez.'" valign="top"><input onchange="if(this.checked) {uncheckLE();};generateLEText();" name="aendern_lehrveranstaltung_id" value="'.$aendern_lehrveranstaltung_id.'" type="Checkbox" '.($bChecked?' checked="checked" ':'').'>&nbsp;Moodle Kurs f&uuml;r die gesamte LV anlegen</th>';
$content.='</tr>';
//---------------------------------------------------------------------------
// Lehreinheit
$content.='<tr>';
$content.='<th valign="top">&nbsp;Lehreinheiten&nbsp;</th>';
$content.='<td valign="top"><table>';
# $content.='<tr><th>Moodlekurs zu LV '.$aendern_studiensemester_kurzbz.'/'.$aendern_lehrveranstaltung_id.' </th></tr>';
$le_obj->lehreinheiten=array();
$le_obj->load_lehreinheiten($sel_lehrveranstaltung_id, $aendern_studiensemester_kurzbz);
if (!is_array($le_obj->lehreinheiten) || count($le_obj->lehreinheiten)<1)
{
$content.='<tr>';
$content.='<td valign="top" class="error">Achtung ! Es gibt keine Lehreinheit f&uuml;r '.$aendern_studiensemester_kurzbz.'-'.$aendern_bezeichnung.' '.$lv_kurz_bez.'</td>';
$content.='</tr>';
}
else
{
foreach ($le_obj->lehreinheiten as $row)
{
//Gruppen laden
$gruppen = '';
if (!$legrp_obj = new lehreinheitgruppe())
die('Fehler beim Oeffnen der Lehreinheitgruppe');
if ($legrp_obj->getLehreinheitgruppe($row->lehreinheit_id))
{
foreach ($legrp_obj->lehreinheitgruppe as $grp)
{
if($grp->gruppe_kurzbz=='')
$gruppen.=' '.$grp->semester.$grp->verband.$grp->gruppe;
else
$gruppen.=' '.$grp->gruppe_kurzbz;
}
}
//Lektoren laden
$lektoren='';
$lehreinheitmitarbeiter = new lehreinheitmitarbeiter();
$lehreinheitmitarbeiter->getLehreinheitmitarbeiter($row->lehreinheit_id);
foreach ($lehreinheitmitarbeiter->lehreinheitmitarbeiter as $ma)
{
$lektoren.= '&nbsp;'.$ma->mitarbeiter_uid;
}
// LE Text
$content.='<tr>';
$content.='<td>'.$row->lehrform_kurzbz.'&nbsp;</td><td>'.$gruppen.'&nbsp;</td><td>'.$row->lehreinheit_id.'&nbsp;</td>';
$le_gefunden=false;
if (!$aendern_lehrveranstaltung_id && isset($aendern_lehreinheit_id) && is_array($aendern_lehreinheit_id))
{
reset($aendern_lehreinheit_id);
for ($ii=0;$ii<count($aendern_lehreinheit_id);$ii++)
{
if (isset($aendern_lehreinheit_id[$ii]) && $aendern_lehreinheit_id[$ii]==$row->lehreinheit_id)
$le_gefunden=true;
}
}
else if ($new || $aendern_lehrveranstaltung_id)
{
$le_gefunden=false;
}
else
{
reset($objMoodle->result);
for ($ii=0;$ii<count($objMoodle->result);$ii++)
{
if ($objMoodle->result[$ii]->moodle_lehreinheit_id==$row->lehreinheit_id)
$le_gefunden=true;
}
}
// LE Checkbox
$content.='<td valign="top"><input onchange="if(this.checked) {document.'.$cFormName.'.aendern_lehrveranstaltung_id.checked=false;};generateLEText();" id="aendern_lehreinheit_id[]" name="aendern_lehreinheit_id[]" value="'.$row->lehreinheit_id.'" type="Checkbox" '.($le_gefunden?' checked="checked" ':'').'>&nbsp;'.$lektoren.'</td>';
$content.='</tr>';
}
}
$bGefundenLehreinheit=(count($le_obj->lehreinheiten)?true:false);
$content.='<tr><td>&nbsp;</td></tr></table></td>';
$content.='</tr>';
$content.='</table></td></tr>';
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// ---- Submitknopf
$content.='<tr><td colspan="4"><table>
<tr>
<th align="left">Moodle :
<br />Kurs-Bezeichnung :&nbsp;<input name="aendern_bezeichnung" maxlength="254" size="60" type="Text" value="'. $aendern_bezeichnung.'">
<br />Kurz-Bezeichnung.:&nbsp;<input name="aendern_kurzbezeichnung" maxlength="254" size="60" type="Text" value="'. $aendern_kurzbezeichnung.'">
</th>
<td>&nbsp;</td>
<th>Gruppen übernehmen: <input type="checkbox" value="1" name="aendern_gruppen" '.($aendern_gruppen?' checked="checked" ':'').' ><br /></th>
<th>
<input style="display:none" type="text" name="mdl_course_id" value="'.$mdl_course_id.'">
<input style="display:none" type="text" name="aendern" value="aendern" />
<input style="display:none" type="text" name="debug" value="'.$bDebug.'" />
<input style="padding: 2px 20px 2px 20px;" name="aenderung" type="submit" value="neu zuteilen">
<input style="padding: 2px 20px 2px 20px;" name="kopieren" type="submit" value="hinzuf&uuml;gen">
</th>';
if (!$new )
{
// Header
$content.='<td><table border="0">';
$content.='<tr id="aktuell_on" onclick="this.className=\'ausblenden\';document.getElementById(\'aktuell\').className=\'einblenden\';document.getElementById(\'aktuell_off\').className=\'einblenden\';" class="einblenden"><td><img height="15" src="../../skin/images/bullet_arrow_right.png" border="0" title="Detailansicht" alt="bullet_arrow_down.png" /></td><td><b>anzeigen</b> aktuelle '.($objMoodle->result[0]->moodle_lehrveranstaltung_id?' Lehrveranstaltung ':' Lehreinheiten').'</td></tr>';
$content.='<tr id="aktuell_off" onclick="this.className=\'ausblenden\';document.getElementById(\'aktuell\').className=\'ausblenden\';document.getElementById(\'aktuell_on\').className=\'einblenden\';" class="ausblenden"><td><img height="15" src="../../skin/images/bullet_arrow_down.png" border="0" title="Detailansicht" alt="bullet_arrow_down.png" /></td><td><b>ausblenden</b> ktuelle '.($objMoodle->result[0]->moodle_lehrveranstaltung_id?' Lehrveranstaltung ':' Lehreinheiten').'</td></tr>';
$content.='</table></td>';
}
$content.='</tr></table></td>';
$content.='</tr></table>
</form>
<hr>';
//---------------------------------------------------------------------------
// Fuer bestehende Vilescidaten wird eine Detailinformation angezeigt
if (!$new )
{
$content.='<table border="0" id="aktuell" class="ausblenden" >';
//---------------------------------------------------------------------------
// @studiengang_kz Studiengang
if ($studiengang_kz)
{
if ($stg_obj->load($studiengang_kz))
{
$content.='<tr>';
$content.='<th>Studiengang</th>
<td rowspan="5">&nbsp;&nbsp;&nbsp;</td>
<td>
<table class="liste" summary="Studiengang">
<tr>
<td>'.(isset($objMoodle->result[0]) && isset($objMoodle->result[0]->studiensemester_kurzbz)?$objMoodle->result[0]->studiensemester_kurzbz:'').'&nbsp; </td>
<td>'.$stg_obj->kuerzel.'&nbsp;</td>
<td>'.$stg_obj->bezeichnung.'&nbsp;</td>
<td>('.$stg_obj->kurzbzlang.')&nbsp;</td>
<td>ID&nbsp;'.$studiengang_kz.'&nbsp;</td>
</tr>
</table>
</td>';
$content.='</tr>';
}
else
{
$errormsg[]='Studieng '.$studiengang_kz.' wurden nicht gefunden! '.$stg_obj->errormsg;
}
}
else
{
$content.='<tr><td>-</td></tr>';
}
$content.='<tr>';
$content.='<th valign="top">Lehrveranstaltung</th>
<td valign="top">'.(isset($objMoodle->result[0]) && isset($objMoodle->result[0]->lehrveranstaltung_bezeichnung)?$objMoodle->result[0]->lehrveranstaltung_bezeichnung:' - ').'</td>
<td valign="top"><input disabled name="lehrveranstaltung_id" value="'.$objMoodle->result[0]->lehrveranstaltung_id.'" type="Checkbox" '.($objMoodle->result[0]->moodle_lehrveranstaltung_id?' checked="checked" ':'').'>&nbsp;ID&nbsp;'.$objMoodle->result[0]->lehrveranstaltung_id.'</td>
';
$content.='<th valign="top">Lehreinheiten</th>';
$content.='<td><table>';
$le_obj->lehreinheiten=array(); // Init
$le_obj->load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz);
foreach ($le_obj->lehreinheiten as $row)
{
//Gruppen laden
$gruppen = '';
if (!$legrp_obj = new lehreinheitgruppe())
die('Fehler beim Oeffnen der Lehreinheitgruppe');
if ($legrp_obj->getLehreinheitgruppe($row->lehreinheit_id))
{
foreach ($legrp_obj->lehreinheitgruppe as $grp)
{
if($grp->gruppe_kurzbz=='')
$gruppen.=' '.$grp->semester.$grp->verband.$grp->gruppe;
else
$gruppen.=' '.$grp->gruppe_kurzbz;
}
}
//Lektoren laden
$lektoren='';
$lehreinheitmitarbeiter = new lehreinheitmitarbeiter();
$lehreinheitmitarbeiter->getLehreinheitmitarbeiter($row->lehreinheit_id);
foreach ($lehreinheitmitarbeiter->lehreinheitmitarbeiter as $ma)
{
$lektoren.= '&nbsp;'.$ma->mitarbeiter_uid;
}
$content.='<tr>';
$content.='<td>'.$row->lehrform_kurzbz.'&nbsp;</td><td>'.$gruppen.'&nbsp;</td><td>ID&nbsp;'.$row->lehreinheit_id.'&nbsp;</td>';
$le_gefunden=false;
reset($objMoodle->result);
for ($ii=0;$ii<count($objMoodle->result);$ii++)
{
if ($objMoodle->result[$ii]->moodle_lehreinheit_id==$row->lehreinheit_id)
$le_gefunden=true;
}
$content.='<td valign="top"><input id="lehreinheit_id" disabled name="lehreinheit_id[]" value="'.$row->lehreinheit_id.'" type="Checkbox" '.($le_gefunden?' checked="checked" ':'').'>&nbsp;'.$lektoren.'</td>';
$content.='</tr>';
}
$content.='</table></td>';
$content.='</tr>';
$content.='</table>';
}
// ***********************************************************************************************
// HTML Header und Foot zum Content (Ausgabestring) hinzufuegen, und wartung
// ***********************************************************************************************
$content='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Moodle - Kurszuteilungverwalten</title>
<base target="main">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<script type="text/javascript" language="JavaScript">
<!-- Begin
function generateLEText()
{
document.'.$cFormName.'.aendern_kurzbezeichnung.value=document.'.$cFormName.'.aendern_studiensemester_kurzbz.value+"-'.(isset($aendern_studiengang_name)?$aendern_studiengang_name:'???').'-"+document.'.$cFormName.'.aendern_semester.value+"'.($lv_kurz_bez?'-'.$lv_kurz_bez:'').'";
if ("'.($bGefundenLehreinheit?'X':'').'"=="" || document.'.$cFormName.'.aendern_lehrveranstaltung_id.checked==true)
{
return;
}
var bez="";
document.'.$cFormName.'.aendern_kurzbezeichnung.bez;
var no;
var m=document.'.$cFormName.';
if (no=m.elements["aendern_lehreinheit_id[]"].length)
{
for(i=0;i<no;i++)
{
if (m.elements["aendern_lehreinheit_id[]"][i].checked==true)
{
if (bez!="")
{
bez=bez+"/";
}
bez=bez+m.elements["aendern_lehreinheit_id[]"][i].value;
}
}
}
if (bez!="")
{
document.'.$cFormName.'.aendern_kurzbezeichnung.value=document.'.$cFormName.'.aendern_studiensemester_kurzbz.value+"-'.(isset($aendern_studiengang_name)?$aendern_studiengang_name:'???').'-"+document.'.$cFormName.'.aendern_semester.value+"-"+bez;
}
}
function uncheckLE()
{
'.($bGefundenLehreinheit?'':' return; '). '
var no;
var m=document.'.$cFormName.';
if (no=m.elements["aendern_lehreinheit_id[]"].length)
{
for(i=0;i<no;i++)
{
m.elements["aendern_lehreinheit_id[]"][i].checked=false;
}
}
}
//-->
</script>
</head>
<body class="background_main">
<!-- MoodleKurs Content Start -->
'.$content.'<p class="error">'.implode('<br>',$errormsg).'</p>
<br />
</body>
</html>';
echo $content;
exit;
// ***********************************************************************************************
// String auf Laenge abschneiden
// ***********************************************************************************************
function CutString($strVal, $limit)
{
if(strlen($strVal) > $limit+3)
{
return substr($strVal, 0, $limit) . "...";
}
else
{
return $strVal;
}
}
function moodlekurswartung($mdl_course_id,&$errormsg)
{
if (!$objMoodle = new moodle_course())
die('Fehler beim Oeffnen der Moodleverbindung');
if (!$le_obj = new lehreinheit())
die('Fehler beim Oeffnen der Lehreinheit');
if (!$legrp_obj = new lehreinheitgruppe())
die('Fehler beim Oeffnen der Lehreinheitgruppe');
if (!$lv_obj = new lehrveranstaltung())
die('Fehler beim Oeffnen der Lehrveranstaltung');
if (!$stg_obj = new studiengang())
die('Fehler beim Oeffnen der Studieng&auml;nge');
if (!$stsem = new studiensemester())
die('Fehler beim Oeffnen der Studiensemester');
$bWartung=(isset($_REQUEST['aenderung']) && !empty($_REQUEST['aenderung'])?true:false);
$bKopieren=(isset($_REQUEST['kopieren']) && !empty($_REQUEST['kopieren'])?true:false);
$aendern_studiensemester_kurzbz=(isset($_REQUEST['aendern_studiensemester_kurzbz'])?trim($_REQUEST['aendern_studiensemester_kurzbz']):'');
$aendern_studiengang_kz=(isset($_REQUEST['aendern_studiengang_kz'])?trim($_REQUEST['aendern_studiengang_kz']):'');
$aendern_semester=(isset($_REQUEST['aendern_semester'])?trim($_REQUEST['aendern_semester']):'');
$aendern_lehrveranstaltung_id=(isset($_REQUEST['aendern_lehrveranstaltung_id'])?trim($_REQUEST['aendern_lehrveranstaltung_id']):(isset($_REQUEST['aendern_studiensemester_kurzbz'])?'':''));
$sel_lehrveranstaltung_id=(isset($_REQUEST['sel_lehrveranstaltung_id'])?trim($_REQUEST['sel_lehrveranstaltung_id']):'');
$aendern_lehreinheit_id=(isset($_REQUEST['aendern_lehreinheit_id'])?$_REQUEST['aendern_lehreinheit_id']:(isset($_REQUEST['aendern_studiensemester_kurzbz'])?'':''));
$aendern_bezeichnung=(isset($_REQUEST['aendern_bezeichnung'])?trim($_REQUEST['aendern_bezeichnung']):'');
$aendern_kurzbezeichnung=(isset($_REQUEST['aendern_kurzbezeichnung'])?trim($_REQUEST['aendern_kurzbezeichnung']):'');
$aendern_gruppen=(isset($_REQUEST['aendern_gruppen']) && !empty($_REQUEST['aendern_gruppen'])?true:(isset($_REQUEST['aendern_gruppen'])?1:0));
// Original Moodlekurs lesen
if(!$objMoodle->getAllMoodleVariant($mdl_course_id,'','','','','',false))
{
die('Moodle-Kurs '.$objMoodle->mdl_course_id.' wurde in Lehre nicht gefunden! '.$objMoodle->errormsg);
}
if(isset($objMoodle->result) && isset($objMoodle->result[0]))
{
$new=false;
$objMoodle->new=false;
}
else if ($objMoodle->load($mdl_course_id) && !$bKopieren)
{
$new=true;
$objMoodle->new=true; // Datensatz anlegen
}
else
{
die('Moodle-Kurs '.$mdl_course_id.' wurde nicht gefunden! '.$objMoodle->errormsg);
}
if ($aendern_lehrveranstaltung_id)
{
$objMoodle->lehrveranstaltung_id=$aendern_lehrveranstaltung_id;
$objMoodle->lehreinheit_id=null;
}
else if ((!is_array($aendern_lehreinheit_id) && !empty($aendern_lehreinheit_id))
|| (is_array($aendern_lehreinheit_id) && count($aendern_lehreinheit_id)>0) )
{
$objMoodle->lehrveranstaltung_id=null;
$objMoodle->lehreinheit_id=$aendern_lehreinheit_id;
}
else
{
$errormsg[]='LV oder LE wurde nicht ausgew&auml;hlt!';
return false;
}
$objMoodle->mdl_course_id=$mdl_course_id;
$objMoodle->studiensemester_kurzbz=$aendern_studiensemester_kurzbz;
// Kurztext des Moodlekurses neu ermitteln
$objMoodle->mdl_fullname=$aendern_bezeichnung;
$objMoodle->mdl_shortname=$aendern_kurzbezeichnung;
$objMoodle->insertamum=(!$new && isset($objMoodle->result[0]->insertamum)?$objMoodle->result[0]->insertamum:date('Y-m-d H:i:s'));
if (!$user=get_uid())
{
$errormsg[]='Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden !';
return false;
}
$objMoodle->insertvon=(!$new && isset($objMoodle->result[0]->insertvon)?$objMoodle->result[0]->insertvon:$user);
$objMoodle->gruppen=($aendern_gruppen?1:0);
if (!$objMoodle->update_vilesci())
{
$errormsg[]='Fehler Vilesci Moodle-Kurs '.$mdl_course_id.' '.$objMoodle->result[0]->mdl_fullname.' zugeordnet '.$objMoodle->errormsg;
return false;
}
$errormsg[]='Vilesci Moodle-Kurs '.$mdl_course_id.' '.$aendern_bezeichnung.' '.$aendern_kurzbezeichnung.($objMoodle->new?' angelegt ':' geaendert ').$objMoodle->errormsg;
if ($bKopieren || $new)
return true;
// Moodle aenderungen nur bei Wechsel der LV
if ( (($aendern_lehrveranstaltung_id && isset($objMoodle->result[0]->lehrveranstaltung_id) && $objMoodle->result[0]->lehrveranstaltung_id!=$aendern_lehrveranstaltung_id)
|| ( $aendern_bezeichnung!=$objMoodle->result[0]->mdl_fullname || $aendern_kurzbezeichnung!=$objMoodle->result[0]->mdl_shortname )))
{
if (is_array($objMoodle->lehreinheit_id))
$objMoodle->lehreinheit_id=$objMoodle->lehreinheit_id[0];
if (!$objMoodle->update_moodle())
{
$errormsg[]='Fehler Moodle-Kurs aendern '.$mdl_course_id.' '.$aendern_bezeichnung.' '.$aendern_kurzbezeichnung.' '.$objMoodle->errormsg;
return false;
}
$errormsg[]='Moodle-Kurs '.$mdl_course_id.' geaendert auf '.$aendern_bezeichnung.' '.$aendern_kurzbezeichnung.' '.$objMoodle->errormsg;
}
return true;
}
?>