diff --git a/cis/private/lehre/pruefung/pruefung.js b/cis/private/lehre/pruefung/pruefung.js index 620f20db0..801854f19 100644 --- a/cis/private/lehre/pruefung/pruefung.js +++ b/cis/private/lehre/pruefung/pruefung.js @@ -446,6 +446,34 @@ function openDialog(lehrveranstaltung_id, termin_id, lvBezeichnung, terminVon, t }); $("#studienverpflichtung").html(html); }); + + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "getPrestudenten" + }, + error: loadError + }).success(function(data) + { + if(data.error !== false) + { + var html = ""; + + console.log(html); + + $("#studiengang").html("t('pruefung/AnrechnungInStudiengang'); ?>:"+html+""); + } + }); var start = terminVon; var ende = terminBis; @@ -487,6 +515,10 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id) var studienverpflichtung_id = null; if($("#studienverpflichtung").length) studienverpflichtung_id = $("#studienverpflichtung option:selected").val(); + + var studiengang_kz = null; + if($('#prestudent_studiengang').length) + studiengang_kz = $('#prestudent_studiengang option:selected').val(); $.ajax({ dataType: 'json', @@ -498,7 +530,8 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id) lehrveranstaltung_id: lehrveranstaltung_id, bemerkung: bemerkungen, uid: uid, - studienverpflichtung_id: studienverpflichtung_id + studienverpflichtung_id: studienverpflichtung_id, + studiengang_kz: studiengang_kz }, error: loadError }).success(function(data){ diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php index 9f4fa48a9..d1be2e8bb 100755 --- a/cis/private/lehre/pruefung/pruefung.js.php +++ b/cis/private/lehre/pruefung/pruefung.js.php @@ -491,6 +491,32 @@ function openDialog(lehrveranstaltung_id, termin_id, lvBezeichnung, terminVon, t $("#studienverpflichtung").html(html); }); + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "getPrestudenten" + }, + error: loadError + }).success(function(data) + { + if(data.error !== false) + { + //show if more than 1 active prestudent exists + if(data.result.length > 1) + { + var html = ""; + + $("#studiengang").html("t('pruefung/AnrechnungInStudiengang'); ?>:"+html+""); + } + } + }); + var start = terminVon; var ende = terminBis; start = start.split(' '); @@ -532,6 +558,10 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id) if($("#studienverpflichtung").length) studienverpflichtung_id = $("#studienverpflichtung option:selected").val(); + var studiengang_kz = null; + if($('#prestudent_studiengang').length) + studiengang_kz = $('#prestudent_studiengang option:selected').val(); + $.ajax({ dataType: 'json', url: "./pruefungsanmeldung.json.php", @@ -542,7 +572,8 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id) lehrveranstaltung_id: lehrveranstaltung_id, bemerkung: bemerkungen, uid: uid, - studienverpflichtung_id: studienverpflichtung_id + studienverpflichtung_id: studienverpflichtung_id, + studiengang_kz: studiengang_kz }, error: loadError }).success(function(data){ diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php index 2e306de94..395046298 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -118,8 +118,11 @@ switch($method) break; case 'getLvKompatibel': $lvid = filter_input(INPUT_POST, "lehrveranstaltung_id"); - $data = getLvKompatibel($lvid); + $data = getLvKompatibel($lvid, $uid); break; + case 'getPrestudenten': + $data = getPrestudenten($uid, $aktStudiensemester); + break; default: break; } @@ -376,6 +379,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $stdsem = $studiensemester->getLastOrAktSemester(0); $lv_besucht = false; $studienverpflichtung_id = filter_input(INPUT_POST, "studienverpflichtung_id"); + $studiengang_kz = filter_input(INPUT_POST, "studiengang_kz"); //Defaulteinstellung für Anzahlprüfungsversuche (wird durch Addon "ktu" überschrieben) $maxAnzahlVersuche = 0; @@ -539,7 +543,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $konto = new konto(); $creditPoints = $konto->getCreditPointsOfStudiensemester($uid, $pruefungsfenster->studiensemester_kurzbz); - if(($creditPoints != false)) + if(($creditPoints !== false)) { $cpVerbleibend = $creditPoints - $ects_verwendet; if(($lehrveranstaltung->ects > $cpVerbleibend)) @@ -549,7 +553,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) return $data; } } - else + elseif($konto->errormsg !== null) { $data['error'] = 'true'; $data['errormsg'] = 'Fehler beim Laden der Credit Points.'; @@ -583,6 +587,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $anrechnung = new anrechnung(); $lv_komp = new lehrveranstaltung($studienverpflichtung_id); + $lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]); $person = new person(); $person->getPersonFromBenutzer($uid); $prestudent = new prestudent(); @@ -592,39 +597,92 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) if ($aktStudiensemester) $stdsem = $aktStudiensemester; - if(count($prestudent->result) > 0) + $prestudenten = array(); + + foreach ($prestudent->result as $ps) { - $prestudent_id = ""; - foreach($prestudent->result as $ps) - { - if($ps->getLaststatus($ps->prestudent_id, $stdsem)) - { - if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) - { - $prestudent_id = $ps->prestudent_id; - } - else - { - if($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) - { - if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) - { - $prestudent_id = $ps->prestudent_id; - } - } - } - } - else - { - if($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) - { - if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) - { - $prestudent_id = $ps->prestudent_id; - } - } - } - } + if ($ps->getLaststatus($ps->prestudent_id, $stdsem)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + array_push($prestudenten, $ps); + } + } + } + + if (count($prestudenten) > 0) + { + $prestudent_id = ""; + if (count($prestudenten) != 1) + { + foreach ($prestudenten as $ps) + { + if($ps->studiengang_kz === $studiengang_kz) + { + if ($ps->getLaststatus($ps->prestudent_id, $stdsem)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + else + { + if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + } + } + } + else + { + if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + } + } + } + } + } + else + { + foreach ($prestudenten as $ps) + { + if ($ps->getLaststatus($ps->prestudent_id, $stdsem)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + else + { + if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + } + } + } + else + { + if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + } + } + } + } + if($prestudent_id != "") { $anrechungSaveResult = false; @@ -1162,21 +1220,75 @@ function saveRaum($terminId, $ort_kurzbz, $uid) return $data; } -function getLvKompatibel($lvid) +function getLvKompatibel($lvid, $uid) { - $lv = new lehrveranstaltung(); - if($lv->getLVkompatibel($lvid)) + $person = new person(); + $person->getPersonFromBenutzer($uid); + $prestudent = new prestudent(); + $prestudent->getPrestudenten($person->person_id); + + $stplIds = array(); + + foreach ($prestudent->result as $ps) { - $data['result']=$lv->lehrveranstaltungen; - $data['error']='false'; - $data['errormsg']=''; + if ($ps->getLaststatus($ps->prestudent_id)) + { + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + array_push($stplIds, $ps->studienplan_id); + } + } + } + + $lv = new lehrveranstaltung(); + if($lv->getLVkompatibelTo($lvid, $stplIds)) + { + $data['result']=$lv->lehrveranstaltungen; + $data['error']='false'; + $data['errormsg']=''; } else { - $data['result']=""; - $data['error']='true'; - $data['errormsg']=$lv->errormsg; + $data['result']=""; + $data['error']='true'; + $data['errormsg']=$lv->errormsg; } return $data; } + +function getPrestudenten($uid, $aktStudiensemester) +{ + $person = new person(); + $person->getPersonFromBenutzer($uid); + $prestudent = new prestudent(); + $prestudent->getPrestudenten($person->person_id); + $result = array(); + + if (count($prestudent->result) > 0) + { + foreach ($prestudent->result as $key=>$ps) + { + if ($ps->getLaststatus($ps->prestudent_id)) + { + if(($ps->status_kurzbz === 'Student') || ($ps->status_kurzbz == 'Unterbrecher')) + { + $studiengang = new studiengang($ps->studiengang_kz); + array_push($result, $studiengang); + } + } + } + + $data['result']=$result; + $data['error']='false'; + $data['errormsg']=''; + } + else + { + $data['result']=""; + $data['error']='true'; + $data['errormsg']=$lv->errormsg; + } + + return $data; +} ?> diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.php b/cis/private/lehre/pruefung/pruefungsanmeldung.php index 5551adb70..1a9c43875 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.php @@ -40,6 +40,17 @@ $p = new phrasen($sprache); //TODO $uid = get_uid(); +if(isset($_GET['uid'])) +{ + // Administratoren duerfen die UID als Parameter uebergeben um den Studienplan + // von anderen Personen anzuzeigen + + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($uid); + if($rechte->isBerechtigt('admin')) + $uid=$_GET['uid']; +} + $db = new basis_db(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); @@ -302,6 +313,9 @@ $studiensemester->getAll(); + + + t('global/anmerkung'); ?>: diff --git a/cis/private/profile/zeitwunsch.php b/cis/private/profile/zeitwunsch.php index 4f394036f..ce0bfe1fe 100644 --- a/cis/private/profile/zeitwunsch.php +++ b/cis/private/profile/zeitwunsch.php @@ -127,7 +127,7 @@ if(!$person->load($uid)) { if(elem[i].name.match("^wunsch")) { - if(!elem[i].value.match("[12]")) + if(!elem[i].value.match("^\-?[1-2]\d{0,0}$")) error=true; } } diff --git a/composer.json b/composer.json index c1a9c48ed..941baa536 100755 --- a/composer.json +++ b/composer.json @@ -1,39 +1,39 @@ { - "repositories": - [ + "repositories": + [ { "type": "package", "package": - { + { "name": "jsoneditor", "version": "5.5.6", "dist": - { + { "url": "https://github.com/josdejong/jsoneditor/archive/v5.5.6.zip", "type": "zip" } } } - ], - - - - "require": - { - "components/jquery": "2.1.4", - "components/angular.js": "1.3.16", - "components/bootstrap": "3.3.5", - "michelf/php-markdown": "1.5.0", - "netcarver/textile": "^3.5", - "jsoneditor": "5.5.6" - }, - "require-dev": - { - "squizlabs/php_codesniffer": "2.*", - "fzaninotto/faker": "1.*" - }, - "config": - { - "bin-dir": "bin" - } + ], + + + + "require": + { + "components/jquery": "2.1.4", + "components/angular.js": "1.3.16", + "components/bootstrap": "3.3.5", + "michelf/php-markdown": "1.5.0", + "netcarver/textile": "^3.5", + "jsoneditor": "5.5.6" + }, + "require-dev": + { + "squizlabs/php_codesniffer": "2.*", + "fzaninotto/faker": "1.*" + }, + "config": + { + "bin-dir": "bin" + } } diff --git a/content/statistik/studentenexport.xls.php b/content/statistik/studentenexport.xls.php old mode 100644 new mode 100755 index 07a93a2ae..cdc5d2cc2 --- a/content/statistik/studentenexport.xls.php +++ b/content/statistik/studentenexport.xls.php @@ -37,7 +37,7 @@ $db = new basis_db(); $user = get_uid(); $datum_obj = new datum(); loadVariables($user); - + //Parameter holen $data = $_POST['data']; $studiensemester_kurzbz = $_GET['studiensemester_kurzbz']; @@ -46,7 +46,7 @@ loadVariables($user); $zeile=1; $zgv_arr=array(); $zgvmas_arr=array(); - + //ZGV laden $qry = "SELECT * FROM bis.tbl_zgv ORDER BY zgv_kurzbz"; if($result = $db->db_query($qry)) @@ -56,7 +56,7 @@ loadVariables($user); $zgv_arr[$row->zgv_code]=$row->zgv_kurzbz; } } - + //ZGV Master laden $qry = "SELECT * FROM bis.tbl_zgvmaster ORDER BY zgvmas_kurzbz"; if($result = $db->db_query($qry)) @@ -66,7 +66,7 @@ loadVariables($user); $zgvmas_arr[$row->zgvmas_code]=$row->zgvmas_kurzbz; } } - + // Creating a workbook $workbook = new Spreadsheet_Excel_Writer(); $workbook->setVersion(8); @@ -76,7 +76,7 @@ loadVariables($user); // Creating a worksheet $worksheet =& $workbook->addWorksheet("Studenten"); $worksheet->setInputEncoding('utf-8'); - + $format_bold =& $workbook->addFormat(); $format_bold->setBold(); @@ -88,7 +88,7 @@ loadVariables($user); //Zeilenueberschriften ausgeben $i=0; $zeile=1; - + $worksheet->write($zeile,$i,"ANREDE", $format_bold); $maxlength[$i]=6; $worksheet->write($zeile,++$i,"TITELPRE", $format_bold); @@ -109,6 +109,8 @@ loadVariables($user); $maxlength[$i]=3; $worksheet->write($zeile,++$i,"ORT", $format_bold); $maxlength[$i]=3; + $worksheet->write($zeile,++$i,"GEMEINDE", $format_bold); + $maxlength[$i]=9; $worksheet->write($zeile,++$i,"NATION", $format_bold); $maxlength[$i]=6; $worksheet->write($zeile,++$i,"GEBURTSDATUM", $format_bold); @@ -127,7 +129,7 @@ loadVariables($user); $maxlength[$i]=17; $worksheet->write($zeile,++$i,"GESCHLECHT", $format_bold); $maxlength[$i]=10; - + $worksheet->write($zeile,++$i,"STUDIENGANG", $format_bold); $maxlength[$i]=11; $worksheet->write($zeile,++$i,"SEMESTER IM $studiensemester_kurzbz", $format_bold); @@ -138,7 +140,7 @@ loadVariables($user); $maxlength[$i]=7; $worksheet->write($zeile,++$i,"GRUPPE", $format_bold); $maxlength[$i]=6; - + $worksheet->write($zeile,++$i,"ZGV", $format_bold); $maxlength[$i]=10; $worksheet->write($zeile,++$i,"ZGV Ort", $format_bold); @@ -151,7 +153,7 @@ loadVariables($user); $maxlength[$i]=14; $worksheet->write($zeile,++$i,"ZGV Master Datum", $format_bold); $maxlength[$i]=16; - + $worksheet->write($zeile,++$i,"STATUS", $format_bold); $maxlength[$i]=6; $worksheet->write($zeile,++$i,"EMail Intern", $format_bold); @@ -175,13 +177,13 @@ loadVariables($user); $maxlength[$i]=8; $worksheet->write($zeile,++$i,"PRESTUDENTID", $format_bold); $maxlength[$i]=12; - + $zeile++; - + $ids = explode(';',$data); $prestudent_ids = ''; - - foreach ($ids as $id) + + foreach ($ids as $id) { if($id!='') { @@ -190,12 +192,12 @@ loadVariables($user); $prestudent_ids .= "'".addslashes($id)."'"; } } - + if($prestudent_ids!='') { // Student holen $qry = "SELECT *, (SELECT UPPER(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_prestudent.studiengang_kz) as stgbez FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student USING(prestudent_id) WHERE prestudent_id in($prestudent_ids) ORDER BY nachname, vorname"; - + if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) @@ -205,7 +207,7 @@ loadVariables($user); } } } - + function draw_content($row) { global $maxlength, $datum_obj; @@ -213,97 +215,102 @@ loadVariables($user); global $zgv_arr, $zgvmas_arr; global $studiensemester_kurzbz; $db = new basis_db(); - + $prestudent = new prestudent(); $prestudent->getLastStatus($row->prestudent_id); $status = $prestudent->status_kurzbz; $orgform = $prestudent->orgform_kurzbz; - + $i=0; - + //Anrede if(mb_strlen($row->anrede)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->anrede); $worksheet->write($zeile,$i, $row->anrede); $i++; - + //Titelpre if(mb_strlen($row->titelpre)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->titelpre); $worksheet->write($zeile,$i, $row->titelpre); $i++; - + //Nachname if(mb_strlen($row->nachname)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->nachname); $worksheet->write($zeile,$i, $row->nachname); $i++; - + //Vorname if(mb_strlen($row->vorname)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->vorname); $worksheet->write($zeile,$i, $row->vorname); $i++; - + //Titelpost if(mb_strlen($row->titelpost)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->titelpost); $worksheet->write($zeile,$i, $row->titelpost); $i++; - + //Email Privat //ZustellEmailAdresse aus der Datenbank holen und dazuhaengen $qry_1 = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email' AND person_id='$row->person_id' AND zustellung=true ORDER BY kontakt_id DESC LIMIT 1"; if($result_1 = $db->db_query($qry_1)) { if($row_1 = $db->db_fetch_object($result_1)) - { + { if(mb_strlen($row_1->kontakt)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->kontakt); $worksheet->write($zeile,$i, $row_1->kontakt); } } $i++; - + //Zustelladresse //Zustelladresse aus der Datenbank holen und dazuhaengen $qry_1 = "SELECT * FROM public.tbl_adresse WHERE person_id='$row->person_id' AND zustelladresse=true LIMIT 1"; if($result_1 = $db->db_query($qry_1)) { if($row_1 = $db->db_fetch_object($result_1)) - { + { if(mb_strlen($row_1->strasse)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->strasse); $worksheet->write($zeile,$i, $row_1->strasse); $i++; - + if(mb_strlen($row_1->plz)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->plz); $worksheet->writeString($zeile,$i, $row_1->plz); $i++; - + if(mb_strlen($row_1->ort)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->ort); $worksheet->write($zeile,$i, $row_1->ort); $i++; - + + if(mb_strlen($row_1->gemeinde)>$maxlength[$i]) + $maxlength[$i]=mb_strlen($row_1->gemeinde); + $worksheet->write($zeile,$i, $row_1->gemeinde); + $i++; + if(mb_strlen($row_1->nation)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->nation); $worksheet->write($zeile,$i, $row_1->nation); $i++; } - else - $i+=4; + else + $i+=5; } - else - $i+=4; - + else + $i+=5; + //Geburtsdatum if(mb_strlen($row->gebdatum)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->gebdatum); $worksheet->write($zeile,$i, $datum_obj->convertISODate($row->gebdatum)); $i++; - + //Geburtsort if(mb_strlen($row->gebort)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->gebort); @@ -315,7 +322,7 @@ loadVariables($user); $maxlength[$i] = mb_strlen($row->geburtsnation); $worksheet->write($zeile,$i,$row->geburtsnation); $i++; - + //Personenkennzeichen if(isset($row->matrikelnr)) { @@ -324,37 +331,37 @@ loadVariables($user); $worksheet->writeString($zeile,$i, $row->matrikelnr); } $i++; - + //Staatsbuergerschaft if(mb_strlen($row->staatsbuergerschaft)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->staatsbuergerschaft); $worksheet->write($zeile,$i, $row->staatsbuergerschaft); $i++; - + //SVNR if(mb_strlen($row->svnr)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->svnr); $worksheet->write($zeile,$i, $row->svnr); $i++; - + //Ersatzkennzeichen if(mb_strlen($row->ersatzkennzeichen)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->ersatzkennzeichen); $worksheet->write($zeile,$i, $row->ersatzkennzeichen); $i++; - + //Geschlecht if(mb_strlen($row->geschlecht)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->geschlecht); $worksheet->write($zeile,$i, $row->geschlecht); $i++; - - //Studiengang + + //Studiengang if(mb_strlen($row->stgbez)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->stgbez); $worksheet->write($zeile,$i, $row->stgbez); $i++; - + $qry = "SELECT tbl_studentlehrverband.semester AS semester_studiensemester, tbl_student.semester AS semester_aktuell,* FROM public.tbl_studentlehrverband JOIN public.tbl_student USING(student_uid) WHERE prestudent_id='$row->prestudent_id' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; if($result_sem = $db->db_query($qry)) { @@ -365,7 +372,7 @@ loadVariables($user); $verband = $row_sem->verband; $gruppe = $row_sem->gruppe; } - else + else { $qry = "SELECT public.tbl_prestudentstatus.ausbildungssemester FROM public.tbl_prestudentstatus WHERE prestudent_id='$row->prestudent_id' AND (status_kurzbz='Interessent' OR status_kurzbz='Bewerber') ORDER BY datum DESC LIMIT 1"; if (($result_sem = $db->db_query($qry)) && ($row_sem = $db->db_fetch_object($result_sem))) @@ -377,10 +384,10 @@ loadVariables($user); $semester_aktuell = ''; $verband = ''; $gruppe = ''; - } + } } } - //Semester im eingestellten Studiensemester + //Semester im eingestellten Studiensemester if(isset($semester_studiensemester)) { if(mb_strlen($semester_studiensemester)>$maxlength[$i]) @@ -388,8 +395,8 @@ loadVariables($user); $worksheet->write($zeile,$i, $semester_studiensemester); } $i++; - - //Semester aktuell + + //Semester aktuell if(isset($semester_aktuell)) { if(mb_strlen($semester_aktuell)>$maxlength[$i]) @@ -397,7 +404,7 @@ loadVariables($user); $worksheet->write($zeile,$i, $semester_aktuell); } $i++; - + //Verband if(isset($verband)) { @@ -406,7 +413,7 @@ loadVariables($user); $worksheet->write($zeile,$i, $verband); } $i++; - + //Gruppe if(isset($gruppe)) { @@ -415,8 +422,8 @@ loadVariables($user); $worksheet->write($zeile,$i, $gruppe); } $i++; - - //ZGV + + //ZGV if($row->zgv_code!='' && isset($zgv_arr[$row->zgv_code])) { if(mb_strlen($zgv_arr[$row->zgv_code])>$maxlength[$i]) @@ -424,19 +431,19 @@ loadVariables($user); $worksheet->write($zeile,$i, $zgv_arr[$row->zgv_code]); } $i++; - + //ZGV Ort if(mb_strlen($row->zgvort)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->zgvort); $worksheet->write($zeile,$i, $row->zgvort); $i++; - + //ZGV Datum if(mb_strlen($row->zgvdatum)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->zgvdatum); $worksheet->write($zeile,$i, $row->zgvdatum); $i++; - + //ZGV Master if($row->zgvmas_code!='' && isset($zgvmas_arr[$row->zgvmas_code])) { @@ -445,25 +452,25 @@ loadVariables($user); $worksheet->write($zeile,$i, $zgvmas_arr[$row->zgvmas_code]); } $i++; - + //ZGV Master Ort if(mb_strlen($row->zgvmaort)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->zgvmaort); $worksheet->write($zeile,$i, $row->zgvmaort); $i++; - + //ZGV Master Datum if(mb_strlen($row->zgvmadatum)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->zgvmadatum); $worksheet->write($zeile,$i, $row->zgvmadatum); $i++; - - //Status + + //Status if(mb_strlen($status)>$maxlength[$i]) $maxlength[$i] = mb_strlen($status); $worksheet->write($zeile,$i, $status); $i++; - + //Email Intern if(isset($row->student_uid)) { @@ -472,35 +479,35 @@ loadVariables($user); $worksheet->write($zeile,$i, $row->student_uid.'@'.DOMAIN); } $i++; - + //Nebenwohnsitz //Nebenwohnsitz aus der Datenbank holen und dazuhaengen $qry_1 = "SELECT * FROM public.tbl_adresse WHERE person_id='$row->person_id' AND typ='n' LIMIT 1"; if($result_1 = $db->db_query($qry_1)) { if($row_1 = $db->db_fetch_object($result_1)) - { + { if(mb_strlen($row_1->strasse)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->strasse); $worksheet->write($zeile,$i, $row_1->strasse); $i++; - + if(mb_strlen($row_1->plz)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->plz); $worksheet->writeString($zeile,$i, $row_1->plz); $i++; - + if(mb_strlen($row_1->ort)>$maxlength[$i]) $maxlength[$i]=mb_strlen($row_1->ort); $worksheet->write($zeile,$i, $row_1->ort); $i++; } - else + else $i+=3; } - else + else $i+=3; - + //Telefon $qry_1 = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp in('mobil','telefon','so.tel') AND person_id='$row->person_id' AND zustellung=true LIMIT 1"; if($result_1 = $db->db_query($qry_1)) @@ -513,7 +520,7 @@ loadVariables($user); } } $i++; - + //Spezialgruppen $grps=''; $qry_1 = "SELECT gruppe_kurzbz FROM public.tbl_student JOIN public.tbl_benutzergruppe ON (student_uid=uid) WHERE tbl_student.prestudent_id='$row->prestudent_id' AND tbl_benutzergruppe.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; @@ -523,7 +530,7 @@ loadVariables($user); { if($grps!='') $grps.=','; - + $grps.=$row_1->gruppe_kurzbz; } } @@ -531,7 +538,7 @@ loadVariables($user); $maxlength[$i]=mb_strlen($grps); $worksheet->write($zeile,$i, $grps); $i++; - + //UID if(isset($row->student_uid)) { @@ -540,31 +547,31 @@ loadVariables($user); $worksheet->write($zeile,$i, $row->student_uid); } $i++; - + //Orgform if(mb_strlen($orgform)>$maxlength[$i]) $maxlength[$i] = mb_strlen($orgform); $worksheet->write($zeile,$i, $orgform); $i++; - + //Vornamen if(mb_strlen($row->vornamen)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->vornamen); $worksheet->write($zeile,$i, $row->vornamen); $i++; - + //PrestudentID if(mb_strlen($row->prestudent_id)>$maxlength[$i]) $maxlength[$i] = mb_strlen($row->prestudent_id); $worksheet->write($zeile,$i, $row->prestudent_id); $i++; } - + //Die Breite der Spalten setzen foreach($maxlength as $i=>$breite) $worksheet->setColumn($i, $i, $breite+2); - + $workbook->close(); ?> diff --git a/include/betriebsmittel.class.php b/include/betriebsmittel.class.php index d409a76bc..8bfdee7d7 100644 --- a/include/betriebsmittel.class.php +++ b/include/betriebsmittel.class.php @@ -818,7 +818,7 @@ class betriebsmittel extends basis_db * @return Daten Objekt wenn ok, false im Fehlerfall */ - function betriebsmittel_inventar($order=null,$inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null) + function betriebsmittel_inventar($order=null,$inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null,$anlage_jahr_monat=null) { // Init $this->errormsg=''; @@ -853,7 +853,7 @@ class betriebsmittel extends basis_db LEFT JOIN public.tbl_firma ON(tbl_firma.firma_id=tbl_bestellung.firma_id )'; $qry.=" WHERE not tbl_betriebsmittel.betriebsmittel_id is null "; - $where=$this->betriebsmittel_inventar_get_where($inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id); + $where=$this->betriebsmittel_inventar_get_where($inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id,$anlage_jahr_monat); if ($where!='' && !$where) return $this->result; @@ -957,7 +957,7 @@ class betriebsmittel extends basis_db * @param $betriebsmittel_id * @return unknown */ - public function betriebsmittel_inventar_get_where($inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null) + public function betriebsmittel_inventar_get_where($inventarnummer=null,$ort_kurzbz=null,$betriebsmittelstatus_kurzbz=null,$betriebsmitteltyp=null,$bestellung_id=null,$bestelldetail_id=null,$bestellnr=null,$hersteller=null,$afa=null,$jahr_monat=null,$firma_id=null,$inventur_jahr=null,$beschreibung=null,$oe_kurzbz=null,$seriennummer=null,$person_id=null,$betriebsmittel_id=null,$anlage_jahr_monat=null) { $where=''; // Inventarnummer oder Betriebsmittelnummer @@ -1115,11 +1115,24 @@ class betriebsmittel extends basis_db $jahr_monat=mb_strtoupper(trim(str_replace(array('-','.','/','*','%',"'",'"'),'',trim($jahr_monat)))); $jm=''; if (!empty($jahr_monat) && is_numeric($jahr_monat) && strlen($jahr_monat)>6) - $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMMDD') = ".$this->db_add_param($jahr_monat)." "; + $jm=" and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYYMMDD') = ".$this->db_add_param($jahr_monat)." "; elseif (!empty($jahr_monat) && is_numeric($jahr_monat) && strlen($jahr_monat)>4) - $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMM') = ".$this->db_add_param($jahr_monat)." "; + $jm=" and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYYMM') = ".$this->db_add_param($jahr_monat)." "; elseif (!is_null($jahr_monat) && !empty($jahr_monat)) - $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYY') = ".$this->db_add_param($jahr_monat)." "; + $jm=" and to_char(tbl_betriebsmittel_betriebsmittelstatus.datum, 'YYYY') = ".$this->db_add_param($jahr_monat)." "; + $where.=$jm; + $where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null ". $jm ." group by betriebsmittel_id) "; + } + elseif (!is_null($anlage_jahr_monat) && $anlage_jahr_monat!='') + { + $anlage_jahr_monat=mb_strtoupper(trim(str_replace(array('-','.','/','*','%',"'",'"'),'',trim($anlage_jahr_monat)))); + $jm=''; + if (!empty($anlage_jahr_monat) && is_numeric($anlage_jahr_monat) && strlen($anlage_jahr_monat)>6) + $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMMDD') = ".$this->db_add_param($anlage_jahr_monat)." "; + elseif (!empty($anlage_jahr_monat) && is_numeric($anlage_jahr_monat) && strlen($anlage_jahr_monat)>4) + $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYYMM') = ".$this->db_add_param($anlage_jahr_monat)." "; + elseif (!is_null($anlage_jahr_monat) && !empty($anlage_jahr_monat)) + $jm=" and to_char(tbl_betriebsmittel.insertamum, 'YYYY') = ".$this->db_add_param($anlage_jahr_monat)." "; $where.=$jm; $where.=" and tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id in ( select max(betriebsmittelbetriebsmittelstatus_id) from wawi.tbl_betriebsmittel_betriebsmittelstatus where not betriebsmittelbetriebsmittelstatus_id is null ". $jm ." group by betriebsmittel_id) "; } diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index ced930158..2d80db09a 100755 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -1592,6 +1592,91 @@ class lehrveranstaltung extends basis_db } } + /** + * Lädt alle Lehrveranstaltungen zu denen die übergebene LV ID kompatibel ist + * @param $lehrveranstaltung_id ID der Lehrveranstaltung + */ + public function getLVkompatibelTo($lehrveranstaltung_id, $studienplan_ids=array()) + { + if (!is_numeric($lehrveranstaltung_id)) + { + $this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein'; + return false; + } + + if((!is_array($studienplan_ids)) && (count($studienplan_ids) < 1)) + { + $this->errormsg = 'Es muss ein Array von Studienplan_IDs mit mindestens einem Element übergeben werden.'; + return false; + } + + $studienplaene = ""; + foreach($studienplan_ids as $stplId) + { + $studienplaene .= $stplId.","; + } + $studienplaene = rtrim($studienplaene, ","); + + $qry = "SELECT * FROM lehre.tbl_lehrveranstaltung + JOIN lehre.tbl_studienplan_lehrveranstaltung USING (lehrveranstaltung_id) + WHERE lehrveranstaltung_id IN ( + SELECT lehrveranstaltung_id + FROM lehre.tbl_lehrveranstaltung_kompatibel + WHERE lehrveranstaltung_id_kompatibel=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).") + AND studienplan_id IN(".$studienplaene.");"; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $lv_obj = new lehrveranstaltung(); + + $lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $lv_obj->studiengang_kz = $row->studiengang_kz; + $lv_obj->bezeichnung = $row->bezeichnung; + $lv_obj->kurzbz = $row->kurzbz; + $lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz; + $lv_obj->semester = $row->semester; + $lv_obj->ects = $row->ects; + $lv_obj->semesterstunden = $row->semesterstunden; + $lv_obj->anmerkung = $row->anmerkung; + $lv_obj->lehre = $this->db_parse_bool($row->lehre); + $lv_obj->lehreverzeichnis = $row->lehreverzeichnis; + $lv_obj->aktiv = $this->db_parse_bool($row->aktiv); + $lv_obj->ext_id = $row->ext_id; + $lv_obj->insertamum = $row->insertamum; + $lv_obj->insertvon = $row->insertvon; + $lv_obj->planfaktor = $row->planfaktor; + $lv_obj->planlektoren = $row->planlektoren; + $lv_obj->planpersonalkosten = $row->planpersonalkosten; + $lv_obj->plankostenprolektor = $row->plankostenprolektor; + $lv_obj->updateamum = $row->updateamum; + $lv_obj->updatevon = $row->updatevon; + $lv_obj->sprache = $row->sprache; + $lv_obj->sort = $row->sort; + $lv_obj->incoming = $row->incoming; + $lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis); + $lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit); + $lv_obj->koordinator = $row->koordinator; + $lv_obj->bezeichnung_english = $row->bezeichnung_english; + $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->farbe = $row->farbe; + $lv_obj->benotung = $this->db_parse_bool($row->benotung); + $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); + $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); + + $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; + $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; + if ($lv_obj->bezeichnung_arr['English'] == '') + $lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German']; + + $this->lehrveranstaltungen[] = $lv_obj; + } + return true; + } + } + /** * Speichert eine Kombination aus LV und ihrer kompatiblen Lehrveranstaltung * @param $lehrveranstaltung_id ID der Lehrveranstaltung diff --git a/include/pruefungCis.class.php b/include/pruefungCis.class.php old mode 100644 new mode 100755 index 9f4ef58c2..1ddf88443 --- a/include/pruefungCis.class.php +++ b/include/pruefungCis.class.php @@ -2,22 +2,22 @@ /* * Copyright 2014 fhcomplete.org - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. - * + * * * Authors: Stefan Puraner */ @@ -28,7 +28,7 @@ class pruefungCis extends basis_db { public $new; public $result = array(); - + public $pruefung_id; //bigint public $mitarbeiter_uid; //varchar(32) public $studiensemester_kurzbz; //varchar(16) @@ -44,15 +44,15 @@ class pruefungCis extends basis_db public $updatevon; //varcahr(32) public $updateamum; //timestamp without timezone public $pruefungsintervall; //smallint - + public $lehrveranstaltungen = array(); //Lehrveranstaltungen zur Prüfung public $termine = array(); //Termine zur Prüfung - + /** * Konstruktor * @param pruefung_id ID der zu ladenden Prüfung */ - public function __construct($pruefung_id = null) + public function __construct($pruefung_id = null) { parent::__construct(); @@ -87,52 +87,52 @@ class pruefungCis extends basis_db { return $this->$name; } - + /** * Prüft Attribute auf Ihre Richtigkeit * @return boolean true, wenn alle Prüfungen positiv verlaufen, andernfalls false */ public function validate() - { + { if(!is_numeric($this->pruefungsfenster_id) && $this->pruefungsfenster_id != null) { $this->errormsg = "pruefungsfenster_id muss eine gültige Zahl sein."; return false; } - + if(mb_strlen($this->mitarbeiter_uid) > 32) { $this->errormsg = "mitarbeiter_uid darf nicht länger als 32 Zeichen sein."; return false; } - + if(mb_strlen($this->studiensemester_kurzbz) > 16 && $this->studiensemester_kurzbz != null) { $this->errormsg = "studiensemester_kurzbz darf nicht länger als 16 Zeichen sein."; return false; } - + if(mb_strlen($this->pruefungstyp_kurzbz) > 16 && $this->pruefungstyp_kurzbz != null) { $this->errormsg = "pruefungstyp_kurzbz darf nicht länger als 16 Zeichen sein."; return false; } - + if(mb_strlen($this->titel) > 256) { $this->errormsg = "pruefungstyp_kurzbz darf nicht länger als 256 Zeichen sein."; return false; } - + if(mb_strlen($this->methode) > 64) { $this->errormsg = "methode darf nicht länger als 64 Zeichen sein."; return false; } - + return true; } - + /** * speichert einen Prüfungs-Datensatz * @param boolean $new gibt an ob es ich um einen neuen Datensatz (true) oder um ein update (false) handelt @@ -178,15 +178,15 @@ class pruefungCis extends basis_db . 'pruefungsintervall='.$this->db_add_param($this->pruefungsintervall).' ' . 'WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';'; } - + if($this->db_query($qry)) { - if ($new) + if ($new) { $qry = "SELECT currval('campus.seq_pruefung_pruefung_id') as id"; - if ($this->db_query($qry)) + if ($this->db_query($qry)) { - if ($row = $this->db_fetch_object()) + if ($row = $this->db_fetch_object()) { $this->pruefung_id = $row->id; foreach ($this->lehrveranstaltungen as $lv) @@ -209,7 +209,7 @@ class pruefungCis extends basis_db } $this->db_query('COMMIT;'); return true; - } + } else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; @@ -217,7 +217,7 @@ class pruefungCis extends basis_db return false; } } - else + else { $this->errormsg = 'Fehler beim Auslesen der Sequence'; $this->db_query('ROLLBACK'); @@ -259,7 +259,7 @@ class pruefungCis extends basis_db return false; } } - + /** * Lädt einen Datensatz aus der Datenbank * @param integer $pruefung_id ID der zu ladenden Prüfung @@ -272,14 +272,14 @@ class pruefungCis extends basis_db $this->errormsg = "Prüfung ID ist keine gültige Zahl"; return false; } - + $qry = 'SELECT * FROM campus.tbl_pruefung WHERE pruefung_id='.$this->db_add_param($pruefung_id).';'; - + if(!$this->db_query($qry)) { $this->errormsg = "Prüfung konnte nicht geladen werden"; return false; - } + } else { if($row = $this->db_fetch_object()) @@ -299,7 +299,7 @@ class pruefungCis extends basis_db return true; } } - + /** * Lädt alle Prüfungen zu einer UID * @param String $uid UID deren Prüfungen geladen werden sollen @@ -318,8 +318,8 @@ class pruefungCis extends basis_db { $qry .= ' ORDER BY '.$order; } - $qry .= ';'; - + $qry .= ';'; + if(!$this->db_query($qry)) { $this->errormsg = "Prüfungen konnten nicht geladen werden"; @@ -347,7 +347,7 @@ class pruefungCis extends basis_db return true; } } - + /** * speichert die zugehörigen LVs zu einer Prüfung * @param Integer $lehrveranstaltung_id ID einer Lehrveranstaltung @@ -361,17 +361,17 @@ class pruefungCis extends basis_db $this->errormsg = "Lehrveranstaltung ID muss eine gültige Zahl sein"; return false; } - + if(!is_numeric($pruefung_id)) { $this->errormsg = "Prüfung ID muss eine gültige Zahl sein"; return false; } - + $qry = 'INSERT INTO campus.tbl_lehrveranstaltung_pruefung (lehrveranstaltung_id, pruefung_id) VALUES (' .$this->db_add_param($lehrveranstaltung_id).', ' .$this->db_add_param($pruefung_id).');'; - + if(!$this->db_query($qry)) { $this->errormsg = "Lehrveranstaltungen konnten nicht gespeichert werden."; @@ -379,7 +379,7 @@ class pruefungCis extends basis_db } return true; } - + /** * lädt alle zum Objekt gehörenden Lehrveranstaltungen * @return boolean true, wenn ok; false, im Fehlerfall @@ -387,7 +387,7 @@ class pruefungCis extends basis_db public function getLehrveranstaltungenByPruefung() { $qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';'; - + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) @@ -405,7 +405,7 @@ class pruefungCis extends basis_db $this->errormsg = "Zugehörige Lehrveranstaltungen konnten nicht geladen werden."; return false; } - + } /** @@ -424,7 +424,7 @@ class pruefungCis extends basis_db $this->errormsg = "Pruefung ID muss eine gültige Zahl sein"; return false; } - + $qry = 'INSERT INTO campus.tbl_pruefungstermin (pruefung_id, von, bis, teilnehmer_max, teilnehmer_min, sammelklausur) VALUES (' . $this->db_add_param($pruefung_id).', ' . $this->db_add_param($beginn).', ' @@ -432,7 +432,7 @@ class pruefungCis extends basis_db . $this->db_add_param($max).', ' . $this->db_add_param($min).', ' . $this->db_add_param($sammelklausur).');'; - + if(!$this->db_query($qry)) { $this->errormsg = "Termine konnten nicht gespeichert werden!"; @@ -440,15 +440,16 @@ class pruefungCis extends basis_db } return true; } - + /** * Lädt alle Termine zum Prüfungs-Objekt * @return boolean true, wenn ok; false, im Fehlerfall */ public function getTermineByPruefung() { - $qry = 'SELECT * FROM campus.tbl_pruefungstermin WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';'; - + //$qry = 'SELECT * FROM campus.tbl_pruefungstermin WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';'; + $fromdate = date("Y-m-d", strtotime("-2 months")); + $qry = "SELECT * FROM campus.tbl_pruefungstermin WHERE pruefung_id=".$this->db_add_param($this->pruefung_id)."and von > '".$fromdate."';"; if($this->db_query($qry)) { while($row = $this->db_fetch_object()) @@ -473,9 +474,9 @@ class pruefungCis extends basis_db $this->errormsg = "Zugehörige Termine konnten nicht geladen werden."; return false; } - + } - + /** * ändert einen Termin zur Prüfung * @param integer $pruefungstermin_id ID eines Prüfungstermins @@ -493,7 +494,7 @@ class pruefungCis extends basis_db $this->errormsg = "Pruefungstermin ID muss eine gültige Zahl sein."; return false; } - + $qry = 'UPDATE campus.tbl_pruefungstermin SET ' . 'pruefung_id='.$this->db_add_param($pruefung_id).', ' . 'von='.$this->db_add_param($beginn).', ' @@ -501,7 +502,7 @@ class pruefungCis extends basis_db . 'teilnehmer_max='.$this->db_add_param($max).', ' . 'teilnehmer_min='.$this->db_add_param($min).' ' . 'WHERE pruefungstermin_id='.$this->db_add_param($pruefungstermin_id).';'; - + if(!$this->db_query($qry)) { $this->errormsg = "Termin konnte nicht geändert werden."; @@ -509,7 +510,7 @@ class pruefungCis extends basis_db } return true; } - + /** * Setzt den Storniert-Status einer Prüfung auf True * @param integer $pruefung_id ID einer Prüfung @@ -522,9 +523,9 @@ class pruefungCis extends basis_db $this->errormsg = "Pruefung ID muss eine gültige Zahl sein."; return false; } - + $qry = 'UPDATE campus.tbl_pruefung SET storniert=true WHERE pruefung_id='.$this->db_add_param($pruefung_id).';'; - + if(!$this->db_query($qry)) { $this->errormsg = "Prüfung konnte nicht storniert werden."; @@ -532,7 +533,7 @@ class pruefungCis extends basis_db } return true; } - + /** * löscht die Verknüpfung zwischen einer Lehrveranstaltung und einer Prüfung * @param integer $lehrveranstaltung_id ID einer Lehrveranstaltung @@ -550,9 +551,9 @@ class pruefungCis extends basis_db $this->errormsg = "Prüfung ID muss eine gültige Zahl sein."; return false; } - + $qry = 'DELETE FROM campus.tbl_lehrveranstaltung_pruefung WHERE lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id).' AND pruefung_id='.$this->db_add_param($pruefung_id).';'; - + if(!$this->db_query($qry)) { $this->errormsg = 'Lehrveranstaltung konnte nicht gelöscht werden.'; @@ -560,7 +561,7 @@ class pruefungCis extends basis_db } return true; } - + /** * löscht einen Prüfungstermin einer Prüfung * @param integer $pruefungstermin_id ID eines Prüfungstermins @@ -573,9 +574,9 @@ class pruefungCis extends basis_db $this->errormsg = "Pruefungstermin ID muss eine gültige Zahl sein."; return false; } - + $qry = 'DELETE FROM campus.tbl_pruefungstermin WHERE pruefungstermin_id='.$this->db_add_param($pruefungstermin_id).';'; - + if(!$this->db_query($qry)) { $this->errormsg = 'Termin konnte nicht gelöscht werden.'; @@ -583,7 +584,7 @@ class pruefungCis extends basis_db } return true; } - + /** * Lädt alle Prüfungen zur angebenen Lehrveranstaltung * @param String|Array $lehrveranstaltung_IDs einzelne ID einer Lehrveranstaltung oder ein Array von IDs @@ -596,7 +597,7 @@ class pruefungCis extends basis_db $this->errormsg = "Keine Lehrveranstaltungen übergeben.
"; return false; } - + $in = ""; if (is_array($lehrveranstaltung_IDs)) { @@ -610,9 +611,9 @@ class pruefungCis extends basis_db { $in = $lehrveranstaltung_IDs; } - + $qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung WHERE lehrveranstaltung_id IN ('.$in.');'; - + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) @@ -627,7 +628,7 @@ class pruefungCis extends basis_db } return false; } - + /** * Lädt alle Prüfung-Lehrveranstaltung Kombinationen * @return boolean true, wenn ok; false, im Fehlerfall @@ -635,7 +636,7 @@ class pruefungCis extends basis_db public function getAll() { $qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung;'; - + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) @@ -650,7 +651,7 @@ class pruefungCis extends basis_db } return false; } - + /** * Lädt alle Prüfungen * @param String $mitarbeiter_uid UID des Mitarbeiters (optional) @@ -659,14 +660,14 @@ class pruefungCis extends basis_db public function getAllPruefungen($mitarbeiter_uid = NULL) { $qry = 'SELECT * FROM campus.tbl_pruefung'; - + if(!is_null($mitarbeiter_uid)) { $qry .= ' WHERE mitarbeiter_uid='.$this->db_add_param($mitarbeiter_uid); } - + $qry .= ';'; - + if(!$this->db_query($qry)) { $this->errormsg = "Prüfungen konnten nicht geladen werden"; @@ -694,17 +695,17 @@ class pruefungCis extends basis_db return true; } } - + /** * Lädt den Wert des letzten Studenten in der Anmeldereihung * @param type $pruefungstermin_id Id eines Prüfungstermines - * @return boolean|integer Wert des Letzten in der Reihung oder false, wenn ein Fehler auftritt + * @return boolean|integer Wert des Letzten in der Reihung oder false, wenn ein Fehler auftritt */ public function getLastOfReihung($pruefungstermin_id) { $qry = 'SELECT MAX(reihung) FROM campus.tbl_pruefungsanmeldung WHERE ' . 'pruefungstermin_id='.$this->db_add_param($pruefungstermin_id).';'; - + if($this->db_query($qry)) { $row = $this->db_fetch_object(); @@ -716,4 +717,4 @@ class pruefungCis extends basis_db return false; } } -} \ No newline at end of file +} diff --git a/include/statistik.class.php b/include/statistik.class.php index 46fcef12f..744a6b121 100644 --- a/include/statistik.class.php +++ b/include/statistik.class.php @@ -32,8 +32,6 @@ class statistik extends basis_db public $bezeichnung; public $url; public $sql; - public $php; - public $r; public $gruppe; public $publish; public $insertamum; @@ -92,8 +90,6 @@ class statistik extends basis_db $this->bezeichnung = $row->bezeichnung; $this->url = $row->url; $this->sql = $row->sql; - $this->php = $row->php; - $this->r = $row->r; $this->gruppe = $row->gruppe; $this->publish = $this->db_parse_bool($row->publish); $this->insertamum = $row->insertamum; @@ -141,8 +137,6 @@ class statistik extends basis_db $obj->bezeichnung = $row->bezeichnung; $obj->url = $row->url; $obj->sql = $row->sql; - $obj->php = $row->php; - $obj->r = $row->r; $obj->gruppe = $row->gruppe; $obj->publish = $this->db_parse_bool($row->publish); $obj->insertamum = $row->insertamum; @@ -187,8 +181,6 @@ class statistik extends basis_db $obj->bezeichnung = $row->bezeichnung; $obj->url = $row->url; $obj->sql = $row->sql; - $obj->php = $row->php; - $obj->r = $row->r; $obj->gruppe = $row->gruppe; $obj->publish = $this->db_parse_bool($row->publish); $obj->insertamum = $row->insertamum; @@ -267,14 +259,12 @@ class statistik extends basis_db if($new) { $qry = 'INSERT INTO public.tbl_statistik(statistik_kurzbz, content_id, bezeichnung, url, sql, - php, r, gruppe, publish, insertamum, insertvon, updateamum, updatevon, preferences, berechtigung_kurzbz) VALUES('. + gruppe, publish, insertamum, insertvon, updateamum, updatevon, preferences, berechtigung_kurzbz) VALUES('. $this->db_add_param($this->statistik_kurzbz).','. $this->db_add_param($this->content_id,FHC_INTEGER).','. $this->db_add_param($this->bezeichnung).','. $this->db_add_param($this->url).','. $this->db_add_param($this->sql).','. - $this->db_add_param($this->php).','. - $this->db_add_param($this->r).','. $this->db_add_param($this->gruppe).','. $this->db_add_param($this->publish, FHC_BOOLEAN).','. $this->db_add_param($this->insertamum).','. @@ -294,8 +284,6 @@ class statistik extends basis_db ' statistik_kurzbz='.$this->db_add_param($this->statistik_kurzbz).','. ' url='.$this->db_add_param($this->url).','. ' sql='.$this->db_add_param($this->sql).','. - ' php='.$this->db_add_param($this->php).','. - ' r='.$this->db_add_param($this->r).','. ' gruppe='.$this->db_add_param($this->gruppe).','. ' publish='.$this->db_add_param($this->publish, FHC_BOOLEAN).','. ' insertamum='.$this->db_add_param($this->insertamum).','. diff --git a/include/vendor_custom/easyui/easyui.css b/include/vendor_custom/easyui/easyui.css index 586eb7cb7..36c786139 100644 --- a/include/vendor_custom/easyui/easyui.css +++ b/include/vendor_custom/easyui/easyui.css @@ -6,12 +6,17 @@ .panel-body-noheader { border-top-width: 1px; } -.panel-header, -.panel-body { + +.panel { + background-color: #EEE; + color: #333; border-color: #888; + border: 1px solid #888; } + .panel-body { background-color: #EEE; color: #333; font-size: 12px; + border: none; } diff --git a/include/vendor_custom/easyui/icon.css b/include/vendor_custom/easyui/icon.css index 38967a835..c4813ce99 100755 --- a/include/vendor_custom/easyui/icon.css +++ b/include/vendor_custom/easyui/icon.css @@ -1,12 +1,12 @@ .icon-fhc-chart{ background:url('../../../skin/images/Chart.svg') no-repeat center center; - background-size: 16px 16px; + background-size: 11px 16px; } .icon-fhc-report{ background:url('../../../skin/images/Report.svg') no-repeat center center; - background-size: 16px 16px; + background-size: 11px 16px; } .icon-fhc-statistik{ background:url('../../../skin/images/Statistik.svg') no-repeat center center; - background-size: 16px 16px; + background-size: 11px 16px; } diff --git a/locale/de-AT/pruefung.php b/locale/de-AT/pruefung.php index 19114ac1c..38b41cf9c 100755 --- a/locale/de-AT/pruefung.php +++ b/locale/de-AT/pruefung.php @@ -149,5 +149,7 @@ Die Prüfung zur LV %1$s wurde verschoben. Der neue Termin für die Prüfung ist am %2$s um %3$s Uhr.'; $this->phrasen['pruefung/emailVerschiebungSubject'] = 'Verschiebung einer Prüfung'; +$this->phrasen['pruefung/AnrechnungInStudiengang'] = 'Studiengang für Anrechnung'; + ?> diff --git a/locale/it-IT/upload.php b/locale/it-IT/upload.php index e14e96bd2..a7e73aeb5 100755 --- a/locale/it-IT/upload.php +++ b/locale/it-IT/upload.php @@ -4,7 +4,7 @@ $this->phrasen['upload/auswaehlen']=''; $this->phrasen['upload/benutzerKonnteNichtZugeordnetWerden']=''; $this->phrasen['upload/dateiAufServerDateiformat']='Errore: il formato del file che si vuole caricare sul server non viene supportato'; $this->phrasen['upload/dateien']=''; -$this->phrasen['upload/dateienAutomatischUeberschreiben']=''; +$this->phrasen['upload/dateienAutomatischUeberschreiben']='sovrascrivere file omonimi'; $this->phrasen['upload/dateienImOrdner']=''; $this->phrasen['upload/dateienInOrdnern']=''; $this->phrasen['upload/dateiExistiertBereits']='Errore: il file è già esistente! Si prega di utilizzare l\'opzione "sovrascrivere automaticamente i file'; @@ -21,18 +21,18 @@ $this->phrasen['upload/keineOrdnerGefunden']='impossibile trovare cartelle corri $this->phrasen['upload/keineSemesterDefiniert']=''; $this->phrasen['upload/keineStudiengaengeDefiniert']=''; $this->phrasen['upload/leeren']=''; -$this->phrasen['upload/maxUploadgroesse']=''; +$this->phrasen['upload/maxUploadgroesse']='Grandezza massima per file'; $this->phrasen['upload/name']=''; -$this->phrasen['upload/neuesVerzeichnisErstellen']=''; +$this->phrasen['upload/neuesVerzeichnisErstellen']='crea nuova cartella'; $this->phrasen['upload/studentenUploadEinsehen']=''; $this->phrasen['upload/studentenUploadVerwalten']=''; $this->phrasen['upload/studentenUploadverzeichnis']=''; $this->phrasen['upload/studentenUploadverzeichnisLeeren']=''; -$this->phrasen['upload/umEinenOrdnerOderEineDatei']=''; +$this->phrasen['upload/umEinenOrdnerOderEineDatei']='Per cancellare o modificare un file o una cartella barrare la corrispettiva casella.'; $this->phrasen['upload/unterordnerVon']=''; $this->phrasen['upload/upload']=''; $this->phrasen['upload/verzeichnisErstellen']=''; -$this->phrasen['upload/verzeichnisname']=''; +$this->phrasen['upload/verzeichnisname']='Nome cartella'; $this->phrasen['upload/verzeichnisnameDarfNurBuchstaben']=''; $this->phrasen['upload/wollenSieOrdnerWirklichLoeschen']=''; $this->phrasen['upload/wollenSieUploadWirklichLeeren']=''; diff --git a/skin/images/Chart.svg b/skin/images/Chart.svg index 91beaf369..60014c146 100644 --- a/skin/images/Chart.svg +++ b/skin/images/Chart.svg @@ -10,12 +10,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="100mm" + width="75mm" height="100mm" - viewBox="0 0 100 100" + viewBox="0 0 75 100" version="1.1" id="svg4517" - inkscape:version="0.92pre2 r" + inkscape:version="0.92pre3 r" sodipodi:docname="Chart.svg"> @@ -51,7 +51,8 @@ y1="291.10629" x2="84.106262" y2="202.89375" - gradientUnits="userSpaceOnUse" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" /> + + + + + + image/svg+xml - + @@ -99,67 +154,70 @@ id="layer1" transform="translate(0,-197)"> + width="73.04982" + height="98.049828" + x="0.97508752" + y="197.97508" /> + style="fill:url(#linearGradient5783);fill-opacity:1" + transform="matrix(1.0709151,0,0,1.111518,-16.04575,-27.544968)"> + style="opacity:1;fill:url(#linearGradient8743);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.43855953;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="opacity:1;fill:url(#linearGradient8745);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.06855869;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="opacity:1;fill:url(#linearGradient8747);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.76675367;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="opacity:1;fill:url(#linearGradient8749);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.43856001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="opacity:1;fill:url(#linearGradient8751);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.0755415;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> - - - + style="opacity:1;fill:url(#linearGradient8753);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.43856001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + C diff --git a/skin/images/Filter.svg b/skin/images/Filter.svg index 7667ca554..381aea499 100644 --- a/skin/images/Filter.svg +++ b/skin/images/Filter.svg @@ -10,12 +10,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="100mm" + width="75mm" height="100mm" - viewBox="0 0 100 100" + viewBox="0 0 75 100" version="1.1" id="svg4517" - inkscape:version="0.92pre2 r" + inkscape:version="0.92pre3 r" sodipodi:docname="Filter.svg"> @@ -51,7 +51,8 @@ y1="291.10629" x2="84.106262" y2="202.89375" - gradientUnits="userSpaceOnUse" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" /> image/svg+xml - + @@ -99,27 +101,29 @@ id="layer1" transform="translate(0,-197)"> - - - + width="73.04982" + height="98.049828" + x="0.97508752" + y="197.97508" /> + F diff --git a/skin/images/Report.svg b/skin/images/Report.svg index 422faa343..a74afe212 100644 --- a/skin/images/Report.svg +++ b/skin/images/Report.svg @@ -10,12 +10,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="100mm" + width="75mm" height="100mm" - viewBox="0 0 100 100" + viewBox="0 0 75 100" version="1.1" id="svg4517" - inkscape:version="0.92pre2 r" + inkscape:version="0.92pre3 r" sodipodi:docname="Report.svg"> @@ -51,7 +51,8 @@ y1="291.10629" x2="84.106262" y2="202.89375" - gradientUnits="userSpaceOnUse" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml - + @@ -105,196 +556,197 @@ id="layer1" transform="translate(0,-197)"> + width="73.04982" + height="98.049828" + x="0.97508752" + y="197.97508" /> + style="fill:url(#linearGradient4924);fill-opacity:1" + transform="matrix(1.0709151,0,0,1.111518,-16.04575,-27.544968)"> + style="fill:url(#linearGradient8695);fill-opacity:1"> + style="fill:url(#linearGradient8697);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80505168;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8699);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80505168;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8701);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80505168;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8703);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8705);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8707);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8709);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8711);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8713);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.6148684;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8721);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8723);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8725);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> + style="fill:url(#linearGradient8727);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.61486834;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.97089945" /> - - - - - + R diff --git a/skin/images/Statistik.svg b/skin/images/Statistik.svg index 8df81c229..668a030ab 100644 --- a/skin/images/Statistik.svg +++ b/skin/images/Statistik.svg @@ -10,12 +10,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="100mm" + width="75mm" height="100mm" - viewBox="0 0 100 100" + viewBox="0 0 75 100" version="1.1" id="svg4517" - inkscape:version="0.92pre2 r" + inkscape:version="0.92pre3 r" sodipodi:docname="Statistik.svg"> @@ -72,7 +72,8 @@ y1="291.10629" x2="84.106262" y2="202.89375" - gradientUnits="userSpaceOnUse" /> + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0709151,0,0,1.111518,-16.045751,-27.544968)" /> image/svg+xml - + @@ -354,15 +355,15 @@ id="layer1" transform="translate(0,-197)"> + width="73.04982" + height="98.049828" + x="0.97508752" + y="197.97508" /> - - - + x="419.58417" + y="338.6937" + id="text4505">S diff --git a/system/dbupdate_3.2.php b/system/dbupdate_3.2.php index be5a92cc7..cc9612dde 100755 --- a/system/dbupdate_3.2.php +++ b/system/dbupdate_3.2.php @@ -1431,6 +1431,33 @@ if($result = @$db->db_query("SELECT 1 FROM kommune.tbl_match")) echo 'kommune schema is dropped
'; } + + +// Removing column "r" from tbl_statistik +if ($result = @$db->db_query("SELECT r FROM public.tbl_statistik LIMIT 1;")) +{ + $qry = "ALTER TABLE public.tbl_statistik DROP COLUMN r;"; + + if (!$db->db_query($qry)) + echo 'public.tbl_statistik: ' . $db->db_last_error() . '
'; + else + echo ' public.tbl_statistik: Spalte r entfernt.
'; +} + + +// Removing column "php" from tbl_statistik +if ($result = @$db->db_query("SELECT php FROM public.tbl_statistik LIMIT 1;")) +{ + $qry = "ALTER TABLE public.tbl_statistik DROP COLUMN php;"; + + if (!$db->db_query($qry)) + echo 'public.tbl_statistik: ' . $db->db_last_error() . '
'; + else + echo ' public.tbl_statistik: Spalte php entfernt.
'; +} + + + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -1643,7 +1670,7 @@ $tabellen=array( "public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id"), "public.tbl_sprache" => array("sprache","locale","flagge","index","content","bezeichnung"), "public.tbl_standort" => array("standort_id","adresse_id","kurzbz","bezeichnung","insertvon","insertamum","updatevon","updateamum","ext_id", "firma_id","code"), - "public.tbl_statistik" => array("statistik_kurzbz","bezeichnung","url","r","gruppe","sql","php","content_id","insertamum","insertvon","updateamum","updatevon","berechtigung_kurzbz","publish","preferences"), + "public.tbl_statistik" => array("statistik_kurzbz","bezeichnung","url","gruppe","sql","content_id","insertamum","insertvon","updateamum","updatevon","berechtigung_kurzbz","publish","preferences"), "public.tbl_student" => array("student_uid","matrikelnr","prestudent_id","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_studentlehrverband" => array("student_uid","studiensemester_kurzbz","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_studiengang" => array("studiengang_kz","kurzbz","kurzbzlang","typ","bezeichnung","english","farbe","email","telefon","max_semester","max_verband","max_gruppe","erhalter_kz","bescheid","bescheidbgbl1","bescheidbgbl2","bescheidgz","bescheidvom","orgform_kurzbz","titelbescheidvom","aktiv","ext_id","zusatzinfo_html","moodle","sprache","testtool_sprachwahl","studienplaetze","oe_kurzbz","lgartcode","mischform","projektarbeit_note_anzeige", "onlinebewerbung"), diff --git a/vilesci/bis/personalmeldung.php b/vilesci/bis/personalmeldung.php index f278f18f6..1ed40dc97 100644 --- a/vilesci/bis/personalmeldung.php +++ b/vilesci/bis/personalmeldung.php @@ -26,6 +26,7 @@ require_once('../../include/studiensemester.class.php'); require_once('../../include/datum.class.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/functions.inc.php'); +require_once('../../include/studiengang.class.php'); $uid = get_uid(); @@ -86,23 +87,50 @@ if($result = $db->db_query($qry)) } } +$ba1_arr = array(); +$qry = "SELECT * FROM bis.tbl_beschaeftigungsart1"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $ba1_arr[$row->ba1code]=$row->ba1kurzbz; + +$ba2_arr = array(); +$qry = "SELECT * FROM bis.tbl_beschaeftigungsart2"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $ba2_arr[$row->ba2code]=$row->ba2bez; + +$verwendung_arr = array(); +$qry = "SELECT * FROM bis.tbl_verwendung"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $verwendung_arr[$row->verwendung_code]=$row->verwendungbez; + +$ausmass_arr = array(); +$qry = "SELECT * FROM bis.tbl_beschaeftigungsausmass"; +if($result = $db->db_query($qry)) + while($row = $db->db_fetch_object($result)) + $ausmass_arr[$row->beschausmasscode]=$row->beschausmassbez; + +$stg_obj = new studiengang(); +$stg_obj->getAll(null,false); + $qry=" - SELECT DISTINCT ON (UID) * - FROM - public.tbl_mitarbeiter + SELECT DISTINCT ON (UID) * + FROM + public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_bisverwendung USING(mitarbeiter_uid) - WHERE - bismelden - AND personalnummer>0 + WHERE + bismelden + AND personalnummer>0 AND (tbl_bisverwendung.ende is NULL OR tbl_bisverwendung.ende>".$db->db_add_param($bisprevious).") ORDER BY uid, nachname,vorname "; if($result = $db->db_query($qry)) { - + $datei.=" ".$erhalter." @@ -111,7 +139,7 @@ if($result = $db->db_query($qry)) while($row = $db->db_fetch_object($result)) { $mitarbeiter_data=array(); - + $error_person = false; $person_content=''; $qryet="SELECT * FROM bis.tbl_entwicklungsteam WHERE mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid).";"; @@ -123,7 +151,7 @@ if($result = $db->db_query($qry)) } } $error_log=''; - + if($row->gebdatum=='' || $row->gebdatum==NULL) { $error_log.=($error_log!=''?', ':'')."Geburtsdatum ('".$row->gebdatum."')"; @@ -140,7 +168,9 @@ if($result = $db->db_query($qry)) $mitarbeiter_data['personalnummer']=sprintf("%015s",$row->personalnummer); $mitarbeiter_data['vorname']=$row->vorname; $mitarbeiter_data['nachname']=$row->nachname; - + $mitarbeiter_data['fixangestellt']=($row->fixangestellt=='t'?true:false); + $mitarbeiter_data['lektor']=($row->lektor=='t'?true:false); + $person_content.=" ".sprintf("%015s",$row->personalnummer)." @@ -202,17 +232,17 @@ if($result = $db->db_query($qry)) $verwendung_data[$key]['ba2code']=$rowvw->ba2code; $verwendung_data[$key]['beschausmasscode']=$rowvw->beschausmasscode; $verwendung_data[$key]['verwendung_code']=$rowvw->verwendung_code; - - - + + + //Studiengangsleiter - $qryslt="SELECT - tbl_benutzerfunktion.*, tbl_studiengang.studiengang_kz - FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz) - WHERE - uid=".$db->db_add_param($row->mitarbeiter_uid)." - AND funktion_kurzbz='Leitung' - AND (datum_von<".$db->db_add_param($bisdatum)." OR datum_von is null) + $qryslt="SELECT + tbl_benutzerfunktion.*, tbl_studiengang.studiengang_kz + FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz) + WHERE + uid=".$db->db_add_param($row->mitarbeiter_uid)." + AND funktion_kurzbz='Leitung' + AND (datum_von<".$db->db_add_param($bisdatum)." OR datum_von is null) AND (datum_bis>".$db->db_add_param($bisprevious)." OR datum_bis is NULL) AND studiengang_kz>0 AND studiengang_kz<10000;"; @@ -259,7 +289,7 @@ if($result = $db->db_query($qry)) $error_log.=($error_log!=''?', ':'')."BesondereQualifikationCode ('".$eteam[$rowfkt->studiengang_kz]."')"; } } - + $verwfkt_found=false; // Wenn mehrere Verwendungen vorhanden sind fuer und funktionen fuer die gleichen Studiengaenge @@ -287,7 +317,7 @@ if($result = $db->db_query($qry)) } } } - + $mitarbeiter_data['verwendung']=$verwendung_data; //Verwendungen ausgeben foreach($verwendung_data as $row_verwendung) { @@ -297,7 +327,7 @@ if($result = $db->db_query($qry)) ".$row_verwendung['ba2code']." ".$row_verwendung['beschausmasscode']." ".$row_verwendung['verwendung_code'].""; - + if(isset($row_verwendung['stgltg'])) { foreach($row_verwendung['stgltg'] as $row_stgl) @@ -340,14 +370,14 @@ if($result = $db->db_query($qry)) } $person_content.=" "; - } + } } $person_content.=" "; } - + } - else + else { $qry_count="SELECT 1 FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid); if($result_count=$db->db_query($qry_count)) @@ -384,7 +414,7 @@ if($result = $db->db_query($qry)) if($error_person) $v.=''; } - else + else { if(!$error_person) { @@ -400,7 +430,10 @@ if($result = $db->db_query($qry)) echo ' BIS - Meldung Mitarbeiter - + '; + include('../../include/meta/jquery.php'); + include('../../include/meta/jquery-tablesorter.php'); +echo ' '; echo "

BIS - Mitarbeiterdaten werden überprüft (für Meldung ".$stsem." / $bisprevious - $bisdatum)


"; echo "Anzahl Mitarbeiter: Gesamt: ".$mitarbeiterzahl." / echter Dienstvertrag: ".$echt." / freier Dienstvertrag: ".$frei."

"; @@ -416,13 +449,30 @@ fclose($dateiausgabe); echo '

Folgende Personen werden gemeldet

Anzahl:'.count($mitarbeiter_gesamt).' - + +
+ + + + + + + '; @@ -434,6 +484,57 @@ foreach($mitarbeiter_gesamt as $row) echo ''; echo ''; echo ''; + echo ''; + echo ''; + foreach($row['verwendung'] as $row_verwendung) + { + // Ba1Code + if(isset($ba1_arr[$row_verwendung['ba1code']])) + echo ''; + else + echo ''; + + // Ba2Code + if(isset($ba2_arr[$row_verwendung['ba2code']])) + echo ''; + else + echo ''; + + // Ausmass + if(isset($ausmass_arr[$row_verwendung['beschausmasscode']])) + echo ''; + else + echo ''; + + // Verwendung + if(isset($verwendung_arr[$row_verwendung['verwendung_code']])) + echo ''; + else + echo ''; + + echo ''; + } echo ''; } echo '
UID Vorname Nachname PersonalnummerFixangestelltLektorBeschaeftigungsArt1BeschaeftigungsArt2AusmassVerwendungDetails (Funktion/Lehre)
'.$row['vorname'].''.$row['nachname'].''.$row['personalnummer'].''.($row['fixangestellt']?'Ja':'Nein').''.($row['lektor']?'Ja':'Nein').''.$ba1_arr[$row_verwendung['ba1code']].''.$row_verwendung['ba1code'].''.$ba2_arr[$row_verwendung['ba2code']].''.$row_verwendung['ba2code'].''.$ausmass_arr[$row_verwendung['beschausmasscode']].''.$row_verwendung['beschausmasscode'].''.$verwendung_arr[$row_verwendung['verwendung_code']].''.$row_verwendung['verwendung_code'].''; + // Details + if(isset($row_verwendung['stgltg'])) + { + + foreach($row_verwendung['stgltg'] as $row_stgl) + { + echo 'Leitung:'.$stg_obj->kuerzel_arr[$row_stgl]; + echo '
'; + } + } + + if(isset($row_verwendung['fkt'])) + { + foreach($row_verwendung['fkt'] as $row_fkt) + { + echo $stg_obj->kuerzel_arr[$row_fkt['stgkz']].': '.$row_fkt['sws'].' SWS'; + echo '
'; + } + } + + echo '

'; diff --git a/vilesci/inventar/inventar.php b/vilesci/inventar/inventar.php index c984e51fb..2dbec17e2 100644 --- a/vilesci/inventar/inventar.php +++ b/vilesci/inventar/inventar.php @@ -72,6 +72,7 @@ if (!$uid = get_uid()) $jahr_monat=trim(isset($_REQUEST['jahr_monat']) ? $_REQUEST['jahr_monat']:''); $afa=trim(isset($_REQUEST['afa']) ? $_REQUEST['afa']:''); $inventur_jahr=trim(isset($_REQUEST['inventur_jahr']) ? $_REQUEST['inventur_jahr']:''); + $anlage_jahr_monat=trim(isset($_REQUEST['anlage_jahr_monat']) ? $_REQUEST['anlage_jahr_monat']:''); $person_id=trim(isset($_REQUEST['person_id']) ? $_REQUEST['person_id']:''); if (!empty($person_id) && !is_numeric($person_id)) @@ -503,6 +504,28 @@ if (!$uid = get_uid())   +   +   +  suchen suchen  @@ -824,12 +847,12 @@ if (!$uid = get_uid()) if (empty($bestellung_id) && empty($bestellnr) ) $bestelldetail_id=''; - $check=$inventarnummer.$ort_kurzbz.$betriebsmittelstatus_kurzbz.$betriebsmitteltyp.$bestellung_id.$bestelldetail_id.$bestellnr.$hersteller.$afa.$jahr_monat.$firma_id.$inventur_jahr.$beschreibung.$oe_kurzbz.$seriennummer.$person_id.$betriebsmittel_id; + $check=$inventarnummer.$ort_kurzbz.$betriebsmittelstatus_kurzbz.$betriebsmitteltyp.$bestellung_id.$bestelldetail_id.$bestellnr.$hersteller.$afa.$jahr_monat.$firma_id.$inventur_jahr.$beschreibung.$oe_kurzbz.$seriennummer.$person_id.$betriebsmittel_id.$anlage_jahr_monat; $order=null; // Sortierung $oBetriebsmittel->result=array(); $oBetriebsmittel->errormsg=''; - if ($check!='' && !$oBetriebsmittel->betriebsmittel_inventar($order,$inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id)) + if ($check!='' && !$oBetriebsmittel->betriebsmittel_inventar($order,$inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id, $anlage_jahr_monat)) $errormsg[]=$oBetriebsmittel->errormsg; echo '
@@ -851,6 +874,7 @@ if (!$uid = get_uid()) +
'; diff --git a/vilesci/inventar/inventarliste.php b/vilesci/inventar/inventarliste.php index f6562c9aa..d330165ae 100644 --- a/vilesci/inventar/inventarliste.php +++ b/vilesci/inventar/inventarliste.php @@ -57,6 +57,7 @@ $afa=trim(isset($_REQUEST['afa']) ? $_REQUEST['afa']:''); $inventur_jahr=trim(isset($_REQUEST['inventur_jahr']) ? $_REQUEST['inventur_jahr']:''); $order = trim(isset($_REQUEST['order']) ? $_REQUEST['order']:''); $person_id = trim(isset($_REQUEST['person_id']) ? $_REQUEST['person_id']:''); +$anlage_jahr_monat=trim(isset($_REQUEST['anlage_jahr_monat']) ? $_REQUEST['anlage_jahr_monat']:''); $debug = false; $schreib_recht_administration=false; @@ -70,7 +71,7 @@ $oBetriebsmittelstatus->result=array(); $resultBetriebsmittelstatus=$oBetriebsmittelstatus->result; $oBetriebsmittel = new betriebsmittel(); -if (!$oBetriebsmittel->betriebsmittel_inventar($order,$inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id)) +if (!$oBetriebsmittel->betriebsmittel_inventar($order,$inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id,$anlage_jahr_monat)) $errormsg[]=$oBetriebsmittel->errormsg; $resultBetriebsmittel = $oBetriebsmittel->result; diff --git a/vilesci/stammdaten/statistik_details.php b/vilesci/stammdaten/statistik_details.php index ee89633dd..4e5af8f5e 100644 --- a/vilesci/stammdaten/statistik_details.php +++ b/vilesci/stammdaten/statistik_details.php @@ -71,8 +71,6 @@ if(!$rechte->isBerechtigt('basis/statistik')) $sql = (isset($_POST['sql']) ? $_POST['sql'] : die('SQL fehlt')); $gruppe = (isset($_POST['gruppe']) ? $_POST['gruppe'] : die('Gruppe fehlt')); $content_id = (isset($_POST['content_id']) ? $_POST['content_id'] : die('ContentID fehlt')); - $php = (isset($_POST['php']) ? $_POST['php'] : die('PHP fehlt')); - $r = (isset($_POST['r']) ? $_POST['r'] : die('R fehlt')); $publish = (isset($_POST['publish']) ? true : false); $berechtigung_kurzbz = (isset($_POST['berechtigung_kurzbz']) ? $_POST['berechtigung_kurzbz'] : die('Berechtigungkurzbz fehlt')); $preferences = (isset($_POST['preferences']) ? $_POST['preferences'] : die('preferences fehlt')); @@ -91,8 +89,6 @@ if(!$rechte->isBerechtigt('basis/statistik')) $statistik->sql = $sql; $statistik->gruppe = $gruppe; $statistik->content_id = $content_id; - $statistik->php = $php; - $statistik->r = $r; $statistik->publish = $publish; $statistik->updateamum = date('Y-m-d H:i:s'); $statistik->updatevon = $user; @@ -177,14 +173,6 @@ EOT; SQL - R - - - - - PHP - - Publish @@ -192,14 +180,18 @@ EOT; + Preferences - + +
+ +
diff --git a/vilesci/statistik/filter_details.php b/vilesci/statistik/filter_details.php index b26fba89f..f70877a8e 100644 --- a/vilesci/statistik/filter_details.php +++ b/vilesci/statistik/filter_details.php @@ -15,7 +15,8 @@ * 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 > + * Authors: Christian Paminger < christian.paminger@technikum-wien.at > and + * Andreas Moik < moik@technikum-wien.at >. */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/globals.inc.php'); @@ -50,41 +51,37 @@ $filter->htmlattr = ''; $filter->insertvon = $user; $filter->updatevon = $user; - - if(isset($_POST["action"]) && isset($_REQUEST["filter_id"])) + + if(isset($_POST["save"]) && isset($_REQUEST["filter_id"])) { if(!$rechte->isBerechtigt('basis/statistik', null, 'suid')) die('Sie haben keine Berechtigung fuer diese Aktion'); - - if ($_POST["action"]=='save') + + if ($_REQUEST["filter_id"]!='') { - if ($_REQUEST["filter_id"]!='') + if($filter->load($_REQUEST["filter_id"])) { - if($filter->load($_REQUEST["filter_id"])) - { - $filter->updatevon=$user; - } - else - die('Fehlgeschlagen:'.$filter->errormsg); + $filter->updatevon=$user; } - - $filter->kurzbz = $_POST["kurzbz"]; - $filter->valuename = $_POST["valuename"]; - $filter->sql = $_POST["sql"]; - $filter->showvalue = isset($_POST["showvalue"]); - $filter->type = $_POST["type"]; - $filter->htmlattr = $_POST["htmlattr"]; - - if(!$filter->save()) - { - $errorstr .= $filter->errormsg; - } - - $reloadstr .= "\n"; - //echo '
'.var_dump($filter).'
'; + else + die('Fehlgeschlagen:'.$filter->errormsg); } + + $filter->kurzbz = $_POST["kurzbz"]; + $filter->valuename = $_POST["valuename"]; + $filter->sql = $_POST["sql"]; + $filter->showvalue = isset($_POST["showvalue"]); + $filter->type = $_POST["type"]; + $filter->htmlattr = $_POST["htmlattr"]; + + if(!$filter->save()) + { + $errorstr .= $filter->errormsg; + } + + $reloadstr .= "\n"; } if ((isset($_REQUEST['filter_id'])) && ((!isset($_REQUEST['neu'])) || ($_REQUEST['neu']!= "true")) && is_numeric($_REQUEST['filter_id'])) @@ -94,12 +91,12 @@ die($filter->errormsg); } - if($filter->filter_id > 0) - $htmlstr .= "
Filter ".$filter->filter_id."
\n"; - else - $htmlstr .="
Neuer Filter
\n"; - - if($filter->showvalue) + if($filter->filter_id > 0) + $htmlstr .= "
Filter ".$filter->filter_id."
\n"; + else + $htmlstr .="
Neuer Filter
\n"; + + if($filter->showvalue) $chk = "checked"; else $chk = ''; @@ -126,8 +123,7 @@ $htmlstr .= "
\n"; $htmlstr .= " \n"; $htmlstr .= " "; - $htmlstr .= " \n"; - $htmlstr .= " \n"; + $htmlstr .= " \n"; $htmlstr .= "
"; $htmlstr .= ""; $htmlstr .= "
".$errorstr."
" @@ -139,13 +135,6 @@