diff --git a/application/controllers/organisation/Studienjahr.php b/application/controllers/organisation/Studienjahr.php new file mode 100644 index 000000000..46f6145ba --- /dev/null +++ b/application/controllers/organisation/Studienjahr.php @@ -0,0 +1,140 @@ +load->model("organisation/Studienjahr_model", "StudienjahrModel"); + } + + public function index() + { + $this->listStudienjahr(); + } + + public function listStudienjahr() + { + $studienjahr = $this->StudienjahrModel->load(); + if ($studienjahr->error) + { + show_error($studienjahr->retval); + } + + $data = array( + "studienjahr" => $studienjahr->retval + ); + $this->load->view("organisation/studienjahr.php", $data); + } + + public function editStudienjahr($studienjahr_kurzbez) + { + $studienjahr_kurzbez = str_replace("_", "/", $studienjahr_kurzbez); + $studienjahr = $this->StudienjahrModel->load($studienjahr_kurzbez); + if ($studienjahr->error) + { + show_error($studienjahr->retval); + } + $data = array( + "studienjahr" => $studienjahr->retval + ); + $this->load->view("organisation/studienjahrEdit.php", $data); + } + + public function newStudienjahr() + { + $this->StudienjahrModel->addOrder('studienjahr_kurzbz', "DESC"); + $allstudienjahrkurzbz = $this->StudienjahrModel->load(); + if ($allstudienjahrkurzbz->error) + { + show_error($allstudienjahrkurzbz->retval); + } + $studienjahrkurzbz = $allstudienjahrkurzbz->retval[0]->studienjahr_kurzbz; + $years = $this->__getYearsFromStudienjahr($studienjahrkurzbz); + $data = array( + "studienjahrkurzbz" => ($years[0] + 1)."/".($years[1] + 1) + ); + $this->load->view("organisation/studienjahrNew.php", $data); + } + + private function __getYearsFromStudienjahr($studienjahr_kurzbez) + { + $firstyear = intval(substr($studienjahr_kurzbez, 0, 4)); + $secondyear = intval(substr($studienjahr_kurzbez, 5, 2)); + return array($firstyear, $secondyear); + } + + public function insStudienjahr() + { + $data = $this->__retrieveStudienjahrData(); + $studienjahr = $this->StudienjahrModel->insert($data); + + if ($studienjahr->error) + { + show_error($studienjahr->retval); + } + + redirect("/organisation/studienjahr/editStudienjahr/".str_replace("/", "_", $data['studienjahr_kurzbz']."?saved=true")); + } + + private function __retrieveStudienjahrData(){ + $studienjahr_kurzbz = $this->input->post("studienjahrkurzbz"); + $bezeichnung = $this->input->post("studienjahrbz"); + + $data = array( + "studienjahr_kurzbz" => $studienjahr_kurzbz, + "bezeichnung" => $bezeichnung, + ); + + $validation = $this->_validate($data); + if (isSuccess($validation)) + { + return $data; + } else + { + show_error($validation->retval); + } + } + + private function _validate($data) + { + $studienjahr_kurzbz = $data['studienjahr_kurzbz']; + $years = $this->__getYearsFromStudienjahr($studienjahr_kurzbz); + //if not desired form or second year comes not right after the first + $correctyears = $years[0] % 100 == $years[1] - 1; + if (!preg_match("/^\d{4}\/\d{2}$/", $studienjahr_kurzbz) || !$correctyears) + return error("Studienjahrbezeichnung muss folgende Form haben: Jahreszahl/letzeZweiZahlenDesNächstenJahres, z.B. 2017/18"); + return success("Semesterdaten sind valide"); + } + + public function saveStudienjahr() + { + $data = $this->__retrieveStudienjahrData(); + $studienjahr = $this->StudienjahrModel->update($data['studienjahr_kurzbz'], $data); + + if ($studienjahr->error) + { + show_error($studienjahr->retval); + } + + redirect("/organisation/studienjahr/editStudienjahr/".str_replace("/", "_", $data['studienjahr_kurzbz']."?saved=true")); + } + + public function deleteStudienjahr($studienjahr_kurzbez) + { + $studienjahr_kurzbez = str_replace("_", "/", $studienjahr_kurzbez); + $studienjahr = $this->StudienjahrModel->delete($studienjahr_kurzbez); + + if ($studienjahr->error) + { + show_error($studienjahr->retval); + } + + redirect("/organisation/studienjahr/listStudienjahr"); + } + + +} \ No newline at end of file diff --git a/application/controllers/organisation/Studiensemester.php b/application/controllers/organisation/Studiensemester.php new file mode 100644 index 000000000..242335bc7 --- /dev/null +++ b/application/controllers/organisation/Studiensemester.php @@ -0,0 +1,166 @@ +load->model("organisation/Studiensemester_model", "StudiensemesterModel"); + $this->load->model("organisation/Studienjahr_model", "StudienjahrModel"); + } + + public function index() + { + $this->listStudiensemester(); + } + + public function listStudiensemester() + { + $semester = $this->StudiensemesterModel->load(); + if ($semester->error) + { + show_error($semester->retval); + } + + $data = array( + "semester" => $semester->retval + ); + $this->load->view("organisation/studiensemester.php", $data); + } + + public function editStudiensemester($semester_kurzbez) + { + $semester = $this->StudiensemesterModel->load($semester_kurzbez); + if ($semester->error) + { + show_error($semester->retval); + } + $this->StudienjahrModel->addOrder('studienjahr_kurzbz', "DESC"); + $allstudienjahre = $this->StudienjahrModel->load(); + if ($allstudienjahre->error) + { + show_error($allstudienjahre->retval); + } + $data = array( + "semester" => $semester->retval, + "allstudienjahre" => $allstudienjahre->retval + ); + + $this->load->view("organisation/studiensemesterEdit.php", $data); + } + + public function newStudiensemester() + { + $this->StudienjahrModel->addOrder('studienjahr_kurzbz', "DESC"); + $allstudienjahre = $this->StudienjahrModel->load(); + if ($allstudienjahre->error) + { + show_error($allstudienjahre->retval); + } + + $data = array( + "allstudienjahre" => $allstudienjahre->retval + ); + + $this->load->view("organisation/studiensemesterNew.php", $data); + } + + /** + * inserts a Studiensemester + * formats dates in english as required by database + */ + public function insStudiensemester() + { + $data = $this->__retrieveStudiensemesterData(); + $semester = $this->StudiensemesterModel->insert($data); + + if ($semester->error) + { + show_error($semester->retval); + } + + redirect("/organisation/studiensemester/editStudiensemester/".$data['studiensemester_kurzbz']."?saved=true"); + } + + + private function __retrieveStudiensemesterData() + { + $studiensemester_kurzbz = $this->input->post("semkurzbz"); + $bezeichnung = $this->input->post("sembz"); + $start = $this->input->post("semstart"); + $ende = $this->input->post("semende"); + $studienjahr_kurzbz = $this->input->post("studienjahrkurzbz"); + $beschreibung = $this->input->post("beschreibung"); + $onlinebewerbung = $this->input->post("onlinebewerbung"); + $onlinebewerbung = isset($onlinebewerbung); + + $data = array( + "studiensemester_kurzbz" => $studiensemester_kurzbz, + "bezeichnung" => $bezeichnung, + "start" => $start, + "ende" => $ende, + "studienjahr_kurzbz" => $studienjahr_kurzbz, + "beschreibung" => $beschreibung, + "onlinebewerbung" => $onlinebewerbung + ); + + $validation = $this->_validate($data); + if (isSuccess($validation)) + { + //dateconversion + $data["start"] = date_format(date_create($start), "Y-m-d"); + $data["ende"] = date_format(date_create($ende), "Y-m-d"); + return $data; + } else + { + show_error($validation->retval); + } + } + + private function _validate($data) + { + $datepattern = "/^\d{2}.\d{2}.\d{4}$/"; + + if (!preg_match("/^(WS|SS)\d{4}$/", $data['studiensemester_kurzbz'])) + return error("Semesterkurzbezeichnung muss mit WS oder SS beginnen und mit einer Jahreszahl enden, z.B. SS2017"); + if (!preg_match($datepattern, $data['start'])) + return error("Falsches Startdatumsformat. Richtiges Format: dd.mm.yyyy"); + if (!preg_match($datepattern, $data['ende'])) + return error("Falsches Enddatumsformat. Richtiges Format: dd.mm.yyyy"); + return success("Semesterdaten sind valide"); + } + + public function saveStudiensemester() + { + $data = $this->__retrieveStudiensemesterData(); + $semester = $this->StudiensemesterModel->update($data['studiensemester_kurzbz'], $data); + + if ($semester->error) + { + show_error($semester->retval); + } + + redirect("/organisation/studiensemester/editStudiensemester/".$data['studiensemester_kurzbz']."?saved=true"); + } + + public function deleteStudiensemester($semester_kurzbez) + { + $semester = $this->StudiensemesterModel->delete($semester_kurzbez); + + if ($semester->error) + { + show_error($semester->retval); + } + + redirect("/organisation/studiensemester/listStudiensemester"); + } + +} diff --git a/application/models/organisation/Studienjahr_model.php b/application/models/organisation/Studienjahr_model.php index 902d61ba2..ace9c1525 100644 --- a/application/models/organisation/Studienjahr_model.php +++ b/application/models/organisation/Studienjahr_model.php @@ -10,5 +10,6 @@ class Studienjahr_model extends DB_Model parent::__construct(); $this->dbTable = 'public.tbl_studienjahr'; $this->pk = 'studienjahr_kurzbz'; + $this->hasSequence = false; } } diff --git a/application/models/organisation/Studiensemester_model.php b/application/models/organisation/Studiensemester_model.php index 484956e05..1c5119b2a 100644 --- a/application/models/organisation/Studiensemester_model.php +++ b/application/models/organisation/Studiensemester_model.php @@ -10,6 +10,7 @@ class Studiensemester_model extends DB_Model parent::__construct(); $this->dbTable = 'public.tbl_studiensemester'; $this->pk = 'studiensemester_kurzbz'; + $this->hasSequence = false; } public function getLastOrAktSemester($days = 60) diff --git a/application/views/organisation/studienjahr.php b/application/views/organisation/studienjahr.php new file mode 100644 index 000000000..c57761e6f --- /dev/null +++ b/application/views/organisation/studienjahr.php @@ -0,0 +1,47 @@ +load->view('templates/header', array('title' => 'StudienjahrList', 'tablesort' => true, 'tableid' => 't1', 'headers' => '2:{sorter:false}, 3:{sorter:false}', 'sortList' =>'0,1')); +?> + +
+
+

Studienjahr

+ + Neues Studienjahr anlegen + + + + + + + + + + + + studienjahr_kurzbz); + ?> + + + + + + + + +
KurzbezBezeichnung
studienjahr_kurzbz; ?>bezeichnung; ?> + + Bearbeiten + + + + Löschen + +
+
+
+ + + + + diff --git a/application/views/organisation/studienjahrEdit.php b/application/views/organisation/studienjahrEdit.php new file mode 100644 index 000000000..0da943d12 --- /dev/null +++ b/application/views/organisation/studienjahrEdit.php @@ -0,0 +1,20 @@ +load->view('templates/header', array('title' => 'StudienjahrEdit', 'jquery' => true)); +?> + +
+
+
+

Studienjahr bearbeiten: bezeichnung; ?>

+
"> + + + + + + + + + + \ No newline at end of file diff --git a/application/views/organisation/studienjahrForm.php b/application/views/organisation/studienjahrForm.php new file mode 100644 index 000000000..17524a4f8 --- /dev/null +++ b/application/views/organisation/studienjahrForm.php @@ -0,0 +1,49 @@ +bezeichnung))?$jahr->bezeichnung:(isset($studienjahrkurzbz)?"Studienjahr ".$studienjahrkurzbz:""); +?> + + + + + + + + + + + + + + + + + + + + + + + +
+   +
+ Bezeichnung:

+
+
+   +
+ + + + + +
+   +
+ + + +
+
+
+
\ No newline at end of file diff --git a/application/views/organisation/studienjahrNew.php b/application/views/organisation/studienjahrNew.php new file mode 100644 index 000000000..ccc420e70 --- /dev/null +++ b/application/views/organisation/studienjahrNew.php @@ -0,0 +1,40 @@ +load->view('templates/header', array('title' => 'StudienjahrNew', 'jqueryComposer' => true)); +?> + + +
+
+
+

Neues Studienjahr anlegen

+
" id="newStudienjahrForm"> + + + + + + + + + + + + diff --git a/application/views/organisation/studiensemester.php b/application/views/organisation/studiensemester.php new file mode 100644 index 000000000..3e12df906 --- /dev/null +++ b/application/views/organisation/studiensemester.php @@ -0,0 +1,55 @@ +load->view('templates/header', array('title' => 'StudiensemesterList', 'tablesort' => true, 'tableid' => 't1', 'headers' => '7:{sorter:false}, 8:{sorter:false}', 'sortList' =>'4,1')); +?> + +
+
+ Kurzbezeichnung:

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KurzbezBezeichnungStartEndeStudienjahrBeschreibungOnlinebewerbung
studiensemester_kurzbz; ?>bezeichnung; ?>start), "d.m.Y"); ?>ende), "d.m.Y"); ?>studienjahr_kurzbz; ?>beschreibung; ?>onlinebewerbung) ? "Ja" : "Nein"; ?> + + Bearbeiten + + + + Löschen + +
+
+
+ + + + + diff --git a/application/views/organisation/studiensemesterEdit.php b/application/views/organisation/studiensemesterEdit.php new file mode 100644 index 000000000..2a8c36902 --- /dev/null +++ b/application/views/organisation/studiensemesterEdit.php @@ -0,0 +1,19 @@ +load->view('templates/header', array('title' => 'StudiensemesterEdit', 'datepicker' => true, 'datepickerclass' => 'dateinput')); +?> + +
+
+
+

Studiensemester bearbeiten: studiensemester_kurzbz; ?>

+
"> + + + + + + + + + diff --git a/application/views/organisation/studiensemesterForm.php b/application/views/organisation/studiensemesterForm.php new file mode 100644 index 000000000..193e3d4d2 --- /dev/null +++ b/application/views/organisation/studiensemesterForm.php @@ -0,0 +1,103 @@ +bezeichnung) ? $sem->bezeichnung : ""); +$start = (isset($sem->start) ? date_format(date_create($sem->start), "d.m.Y") : ""); +$ende = (isset($sem->ende) ? date_format(date_create($sem->ende), "d.m.Y") : ""); +$studienjahr_kurzbz = (isset($sem->studienjahr_kurzbz) ? $sem->studienjahr_kurzbz : ""); +$beschreibung = (isset($sem->beschreibung) ? $sem->beschreibung : ""); +$onlinebewerbung = (isset($sem->onlinebewerbung) ? $sem->onlinebewerbung : ""); +?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Bezeichnung:

+
+
+   +
+ Datum start:

+
+
+   +
+ Datum ende:

+
+
+   +
+ Studienjahr:

+ + + + +
+   +
+ Beschreibung:

+ +
+
+   +
+ Onlinebewerbung +
+
+ /> +
+   +
+ + + + + +
+
+
+
\ No newline at end of file diff --git a/application/views/organisation/studiensemesterNew.php b/application/views/organisation/studiensemesterNew.php new file mode 100644 index 000000000..dfda83df9 --- /dev/null +++ b/application/views/organisation/studiensemesterNew.php @@ -0,0 +1,79 @@ +load->view('templates/header', array('title' => 'StudiensemesterNew', 'jqueryComposer' => true, 'datepicker' => true, 'datepickerclass' => 'dateinput')); +?> + + +
+
+
+

Neues Studiensemester anlegen

+
" + id="newSemesterForm"> + + + + + + + + + + + + + + + diff --git a/application/views/templates/header.php b/application/views/templates/header.php index a32817227..a1f042b7b 100644 --- a/application/views/templates/header.php +++ b/application/views/templates/header.php @@ -3,6 +3,8 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); isset($title) ? $title = 'VileSci - '.$title : $title = 'VileSci'; !isset($jquery) ? $jquery = false : $jquery = $jquery; +!isset($jqueryComposer) ? $jqueryComposer = false : $jqueryComposer = $jqueryComposer; +!isset($jqueryui) ? $jqueryui = false : $jqueryui = $jqueryui; !isset($jquery_checkboxes) ? $jquery_checkboxes = false : $jquery_checkboxes = $jquery_checkboxes; !isset($jquery_custom) ? $jquery_custom = false : $jquery_custom = $jquery_custom; !isset($tablesort) ? $tablesort = false : $tablesort = $tablesort; @@ -14,9 +16,20 @@ isset($title) ? $title = 'VileSci - '.$title : $title = 'VileSci'; !isset($jsonforms) ? $jsonforms = false : $jsonforms = $jsonforms; !isset($textile) ? $textile = false : $textile = $textile; !isset($widgetsCSS) ? $widgetsCSS = false : $widgetsCSS = $widgetsCSS; +!isset($datepicker) ? $datepicker = false : $datepicker = $datepicker; if ($tablesort || $jquery_checkboxes || $jquery_custom) $jquery = true; + +if($datepicker) + $jqueryui = true; + +if($jqueryui) + $jqueryComposer = true; + +if($jquery && $jqueryComposer) + show_error("Two JQuery versions used: composer and includefolderversion"); + ?> @@ -33,6 +46,15 @@ if ($tablesort || $jquery_checkboxes || $jquery_custom) + + + + + + + + + @@ -54,6 +76,19 @@ if ($tablesort || $jquery_checkboxes || $jquery_custom) }); + + + + + diff --git a/cis/private/lehre/benotungstool/anwesenheitsliste.php b/cis/private/lehre/benotungstool/anwesenheitsliste.php index 5493fc11a..2a5845c7f 100644 --- a/cis/private/lehre/benotungstool/anwesenheitsliste.php +++ b/cis/private/lehre/benotungstool/anwesenheitsliste.php @@ -15,7 +15,7 @@ * 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 , + * Authors: Christian Paminger , * Andreas Oesterreicher and * Rudolf Hangl . */ @@ -54,9 +54,9 @@ if(isset($_GET['uebung_id']) && is_numeric($_GET['uebung_id'])) } else { - if(!isset($_GET['all'])) + if(!isset($_GET['all'])) die('Fehlerhafte Parameteruebergabe'); - else + else { $lehreinheit_id = $_GET['lehreinheit_id']; $lehreinheit_obj = new lehreinheit($lehreinheit_id); @@ -78,11 +78,11 @@ if (isset($_GET["download_abgabe"])){ exit; } /* -$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE +$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE tbl_lehreinheit.lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER)." AND mitarbeiter_uid=".$db->db_add_param($user); */ -$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE +$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE tbl_lehreinheit.lehrveranstaltung_id in(Select lehrveranstaltung_id from lehre.tbl_lehreinheit where lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER).") AND mitarbeiter_uid=".$db->db_add_param($user); @@ -91,12 +91,12 @@ if(!$result = $db->db_query($qry)) $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); - + if(!($db->db_num_rows($result)>0 || $rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lehreinheit_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lehreinheit_obj->studiengang_kz))) die('Sie haben keine Berechtigung für diesen Bereich'); // Beteiligte Gruppen laden -$gruppen = ''; +$gruppen = ''; $qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER); if($result_gruppen = $db->db_query($qry_gruppen)) { @@ -122,33 +122,33 @@ if(isset($_GET['output']) && $_GET['output']=='xls') //EXCEL VERSION / ALLE Kreuzerllisten $le_obj = new lehreinheit(); $le_obj->load($lehreinheit_id); - + $lv_obj = new lehrveranstaltung(); $lv_obj->load($le_obj->lehrveranstaltung_id); - + // Creating a workbook $workbook = new Spreadsheet_Excel_Writer(); $workbook->setVersion(8); // sending HTTP headers $workbook->send("Kreuzerlliste_Gesamt_".$lv_obj->lehreverzeichnis. "_" . date("d_m_Y") . ".xls"); - + // Creating a worksheet $worksheet =& $workbook->addWorksheet("Kreuzerltool"); $worksheet->setInputEncoding('utf-8'); - + $format_bold =& $workbook->addFormat(); $format_bold->setBold(); - + $format_title =& $workbook->addFormat(); $format_title->setBold(); // let's merge $format_title->setAlign('merge'); - - - + + + $worksheet->write(0,0,'Gesamtübersicht '.$lv_obj->bezeichnung.' vom '.date('d.m.Y'), $format_bold); $maxlength = array(); - + //Ueberschrift $i=0; $worksheet->write(1,$i,"Vorname", $format_title); @@ -174,7 +174,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') $maxlength[$i]=strlen('Punkte insgesamt'); $worksheet->write(1,++$i,"Unterschrift", $format_title); $maxlength[$i]=strlen('Unterschrift')+5; - + if(isset($_GET['gruppe']) && $_GET['gruppe']!='') { $gruppe = $_GET['gruppe']; @@ -188,49 +188,49 @@ if(isset($_GET['output']) && $_GET['output']=='xls') $gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz; $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz)." AND studiensemester_kurzbz = ".$db->db_add_param($stsem)." ORDER BY nachname, vorname"; } - else + else { $gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student - WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)." + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student + WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)." AND semester=".$db->db_add_param($row->semester). ($row->verband!=''?" AND verband=".$db->db_add_param($row->verband):''). ($row->gruppe!=''?" AND gruppe=".$db->db_add_param($row->gruppe):''). " ORDER BY nachname, vorname"; } - + } else die('Gruppe konnte nicht ermittelt werden'); } - else + else die('Gruppe konnte nicht ermittelt werden'); } - else + else { if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='') { $lehreinheit_id = $_GET['lehreinheit_id']; $gruppe_bez = 'Alle Studienrende'; //Alle Studenten die dieser Lehreinheit zugeordnet sind - $qry_stud = "SELECT - vw_student.uid, vorname, nachname, matrikelnr, - tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe - FROM - campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe, + $qry_stud = "SELECT + vw_student.uid, vorname, nachname, matrikelnr, + tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe + FROM + campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband, lehre.tbl_lehreinheit - WHERE - tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND + WHERE + tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitgruppe.lehreinheit_id AND vw_student.uid = tbl_benutzergruppe.uid AND tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz AND vw_student.uid=tbl_studentlehrverband.student_uid AND tbl_studentlehrverband.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz UNION - SELECT - vw_student.uid, vorname, nachname, matrikelnr, tbl_studentlehrverband.semester, - tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe - FROM + SELECT + vw_student.uid, vorname, nachname, matrikelnr, tbl_studentlehrverband.semester, + tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe + FROM campus.vw_student, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband, lehre.tbl_lehreinheit WHERE tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND @@ -239,29 +239,29 @@ if(isset($_GET['output']) && $_GET['output']=='xls') tbl_studentlehrverband.student_uid=vw_student.uid AND tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitgruppe.lehreinheit_id AND tbl_lehreinheit.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz AND - ((tbl_lehreinheitgruppe.verband<>'' AND - tbl_lehreinheitgruppe.gruppe<>'' AND + ((tbl_lehreinheitgruppe.verband<>'' AND + tbl_lehreinheitgruppe.gruppe<>'' AND trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband) AND trim(tbl_lehreinheitgruppe.gruppe) = trim(tbl_studentlehrverband.gruppe)) OR - (tbl_lehreinheitgruppe.verband<>'' AND + (tbl_lehreinheitgruppe.verband<>'' AND (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband)) OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null) ) ORDER BY nachname, vorname"; } - else + else die('Fehler bei der Parameteruebergabe'); $gruppe=''; } - + if($result_stud = $db->db_query($qry_stud)) { $zeile=3; - + while($row_stud = $db->db_fetch_object($result_stud)) - { + { $spalte=0; $summe=0; //vorname @@ -275,15 +275,15 @@ if(isset($_GET['output']) && $_GET['output']=='xls') //matrikelnr $worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"'); if(strlen($row_stud->matrikelnr)>$maxlength[$spalte]) - $maxlength[$spalte]=strlen($row_stud->matrikelnr); + $maxlength[$spalte]=strlen($row_stud->matrikelnr); //Gruppe $worksheet->write($zeile,++$spalte,$row_stud->semester.$row_stud->verband.$row_stud->gruppe); if(strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe)>$maxlength[$spalte]) $maxlength[$spalte]=strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe); - + foreach($ueb_obj->uebungen as $row_ueb) { - $qry = "SELECT sum(punkte) as punkte FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) + $qry = "SELECT sum(punkte) as punkte FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($row_ueb->uebung_id)." AND student_uid=".$db->db_add_param($row_stud->uid)." AND vorbereitet=true"; if($result = $db->db_query($qry)) { @@ -292,67 +292,67 @@ if(isset($_GET['output']) && $_GET['output']=='xls') $punkte = $row->punkte; $summe +=$punkte; } - else + else $punkte = 'failed'; } - else + else $punkte='failed'; //punkte auf uebung $worksheet->write($zeile,++$spalte,($punkte!=''?$punkte:'0')); } - + //summe $worksheet->write($zeile,++$spalte,$summe); - + //mitarbeit - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($row_stud->uid); if($result = $db->db_query($qry)) if($row = $db->db_fetch_object($result)) - $mitarbeit=$row->mitarbeit; - else + $mitarbeit=$row->mitarbeit; + else $mitarbeit='failed'; - else + else $mitarbeit='failed'; - + $worksheet->write($zeile,++$spalte,($row->mitarbeit!=''?$mitarbeit:'0')); //punkte insgesamt $worksheet->write($zeile,++$spalte,($summe+$mitarbeit), $format_bold); - - $zeile++; + + $zeile++; } for($i=0;$isetColumn(0, $i, $maxlength[$i]); } } - + $workbook->close(); } - else + else { //EXCEL VERSION / Einzelne Kreuzerlliste - + // Creating a workbook $workbook = new Spreadsheet_Excel_Writer(); $workbook->setVersion(8); - + // sending HTTP headers $workbook->send("Kreuzerltool". "_" . date("d_m_Y") . ".xls"); - + // Creating a worksheet $worksheet =& $workbook->addWorksheet("Kreuzerltool"); $worksheet->setInputEncoding('utf-8'); - + $format_bold =& $workbook->addFormat(); $format_bold->setBold(); - + $format_title =& $workbook->addFormat(); $format_title->setBold(); // let's merge $format_title->setAlign('merge'); - + $worksheet->write(0,0,$uebung_obj->bezeichnung.' am '.date('d.m.Y').' '.$gruppen, $format_bold); $maxlength = array(); //Ueberschrift @@ -382,7 +382,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') $maxlength[$i]=strlen('Mitarbeit insgesamt'); $worksheet->write(1,++$i,"Unterschrift", $format_title); $maxlength[$i]=strlen('Unterschrift')+5; - + if(isset($_GET['gruppe']) && $_GET['gruppe']!='') { $gruppe = $_GET['gruppe']; @@ -394,60 +394,60 @@ if(isset($_GET['output']) && $_GET['output']=='xls') if($row->gruppe_kurzbz!='') { $gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe - FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe + FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz)." AND studiensemester_kurzbz=".$db->db_add_param($stsem)." ORDER BY nachname, vorname"; } - else + else { $gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student - WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)." + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student + WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)." AND semester=".$db->db_add_param($row->semester). ($row->verband!=''?" AND verband=".$db->db_add_param($row->verband):''). ($row->gruppe!=''?" AND gruppe=".$db->db_add_param($row->gruppe):''). " ORDER BY nachname, vorname"; } - + } else die('Gruppe konnte nicht ermittelt werden'); } - else + else die('Gruppe konnte nicht ermittelt werden'); - - + + $lehreinheit_id = $uebung_obj->lehreinheit_id; } - else + else { if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='') { $lehreinheit_id = $_GET['lehreinheit_id']; $gruppe_bez = 'Alle Studienrende'; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname"; - + //Alle Studenten die dieser Lehreinheit zugeordnet sind /* - $qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe - FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe - WHERE tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND + $qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe + FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe + WHERE tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND vw_student.uid = tbl_benutzergruppe.uid AND tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz UNION - SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe + SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND tbl_lehreinheitgruppe.semester = vw_student.semester AND - ((tbl_lehreinheitgruppe.verband<>'' AND - tbl_lehreinheitgruppe.gruppe<>'' AND + ((tbl_lehreinheitgruppe.verband<>'' AND + tbl_lehreinheitgruppe.gruppe<>'' AND trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe)) OR - (tbl_lehreinheitgruppe.verband<>'' AND + (tbl_lehreinheitgruppe.verband<>'' AND (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband)) OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null) @@ -455,7 +455,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') ORDER BY nachname, vorname"; */ } - else + else die('Fehler bei der Parameteruebergabe'); $gruppe=''; } @@ -463,9 +463,9 @@ if(isset($_GET['output']) && $_GET['output']=='xls') if($result_stud = $db->db_query($qry_stud)) { $zeile=3; - + while($row_stud = $db->db_fetch_object($result_stud)) - { + { $spalte=0; $punkte_heute=0; //vorname @@ -480,7 +480,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') $worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"'); if(strlen($row_stud->matrikelnr)>$maxlength[$spalte]) $maxlength[$spalte]=strlen($row_stud->matrikelnr); - + //Gruppe /* $worksheet->write($zeile,++$spalte,$row_stud->semester.$row_stud->verband.$row_stud->gruppe); @@ -493,27 +493,27 @@ if(isset($_GET['output']) && $_GET['output']=='xls') $studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id); if($studentbeispiel_obj->vorbereitet) $punkte = $row_bsp->punkte; - else + else $punkte = 0; $punkte_heute +=$punkte; //punkte auf uebung $worksheet->write($zeile,++$spalte,$punkte); } - + //punkte heute $worksheet->write($zeile,++$spalte,$punkte_heute); - + //mitarbeit heute - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($row_stud->uid); if($result = $db->db_query($qry)) if($row = $db->db_fetch_object($result)) $worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0')); - else + else $worksheet->write($zeile,++$spalte,'failed'); - else + else $worksheet->write($zeile,++$spalte,'failed'); - + //punkte insgesamt $qry = "SELECT sum(tbl_beispiel.punkte) AS gesamt_ohne_mitarbeit FROM campus.tbl_uebung, campus.tbl_beispiel, campus.tbl_studentbeispiel WHERE tbl_studentbeispiel.student_uid=".$db->db_add_param($row_stud->uid)." AND @@ -525,32 +525,32 @@ if(isset($_GET['output']) && $_GET['output']=='xls') if($result = $db->db_query($qry)) if($row = $db->db_fetch_object($result)) $worksheet->write($zeile,++$spalte,($row->gesamt_ohne_mitarbeit!=''?$row->gesamt_ohne_mitarbeit:'0')); - else + else $worksheet->write($zeile,++$spalte,'failed'); - else + else $worksheet->write($zeile,++$spalte,'failed'); - + //mitarbeit insgesamt - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE student_uid=".$db->db_add_param($row_stud->uid)." AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER); if($result = $db->db_query($qry)) if($row = $db->db_fetch_object($result)) $worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0')); - else + else $worksheet->write($zeile,++$spalte,'failed'); - else + else $worksheet->write($zeile,++$spalte,'failed'); - - $zeile++; + + $zeile++; } for($i=0;$isetColumn(0, $i, $maxlength[$i]); } - + $workbook->close(); } } -else +else { //HTML VERSION ?> @@ -561,7 +561,7 @@ else Kreuzerltool
+ Kurzbezeichnung:

+
+
+   +