diff --git a/CHANGELOG.md b/CHANGELOG.md index 62e6cfc71..6f9567085 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## [Unreleased] + +### Added +- **[FAS]** Verwaltung von Rechnungsadressen +- **[CIS]** Mitarbeiter und Studierende können nach dem Login im CIS zur Passwortänderung umgeleitet werden wenn dieses seit über einem Jahr nicht geändert wurde +- **[FAS]** Bei Statuswechsel von Studierenden können Gründe für den Statuswechsel angegeben werden + ## [3.2] ### Added @@ -26,7 +33,7 @@ - **[FAS]** Es ist möglich bei Statusänderungen im FAS automatisierte Nachrichten an die Studierenden zu senden - **[FAS]** Bewerberakt - Erstellung eines Akts mit allen hochgeladenen Dokumenten einer Person - **[FAS]** Bewerbungsfristen für einzelen Studienpläne -- **[FAS]** Beim Statuswechsel kann ein Statusgrund hinterlegt werden. +- **[FAS]** Beim Statuswechsel kann ein Statusgrund hinterlegt werden. - **[FAS]** Es kann pro Studiengang hinterlegt werden ob ein Dokument nachreichbar ist oder nicht - **[FAS]** Arbeitsplätze bei Räumen (zB für EDV Säle mit 50 Plätzen aber nur 25 PCs) - **[FAS]** Zuteilung von Prestudenten zu Aufnahmegruppen @@ -56,7 +63,7 @@ - **[FAS]** Mehrsprachigkeitsspalte tbl_status.bezeichnung_mehrsprachig wird durch das Updatescript automatisch in den ersten beiden Sprachen mit der status_kurzbz vorbefüllt. Übersetzungen sind anzupassen. - **[MOODLE]** Neue Webservicefunktion core_user_update_users wird benötigt - **[CORE]** Kommune wurde aus Core entfernt -- **[DEPRECATED]]** WaWi wurde in ein Addon (FHC-ADDON-WAWI) ausgelagert. Die Funktionalität im Core wird demnächst entfernt. +- **[DEPRECATED]]** WaWi wurde in ein Addon (FHC-ADDON-WAWI) ausgelagert. Die Funktionalität im Core wird demnächst entfernt. - **[DEPRECATED]]** LV-Informationen (FHC-ADDON-LVINFO) wurde in ein Addon ausgelagert. Die Funktionalität im Core wird demnächst entfernt - **[DEPRECATED]]** Punkte1, Punkte2 und Punkte3 in tbl_prestudent werden nicht mehr verwendet und in zukünftigen Versionen entfernt. Diese werden jetzt in tbl_rt_person gespeichert - **[DEPRECATED]]** anmeldungreihungstest in tbl_prestudent wird nicht mehr verwendet und in zukünftigen Versionen entfernt diff --git a/application/core/DB_Model.php b/application/core/DB_Model.php index 4a7e561d8..db6e11408 100644 --- a/application/core/DB_Model.php +++ b/application/core/DB_Model.php @@ -429,6 +429,29 @@ class DB_Model extends FHC_Model return success(true); } + /** --------------------------------------------------------------- + * Add a table in the from clause + * + * @return void + */ + public function addFrom($table, $alias = null) + { + $tmpTable = trim($table); + + // Check parameters + if (empty($tmpTable)) + return error(FHC_MODEL_ERROR, FHC_MODEL_ERROR); + + if (!empty($alias)) + { + $tmpTable .= ' AS ' . $alias; + } + + $this->db->from($tmpTable); + + return success(true); + } + /** --------------------------------------------------------------- * Reset the query builder state * diff --git a/application/models/organisation/Studiengang_model.php b/application/models/organisation/Studiengang_model.php index acd571df3..c37f1a892 100644 --- a/application/models/organisation/Studiengang_model.php +++ b/application/models/organisation/Studiengang_model.php @@ -244,14 +244,15 @@ class Studiengang_model extends DB_Model if (($isEntitled = $this->isEntitled('public.tbl_prestudent', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true) return $isEntitled; + $this->addFrom( + '(SELECT * FROM public.tbl_reihungstest LEFT JOIN public.tbl_rt_studienplan USING(reihungstest_id))', + 'tbl_reihungstest' + ); + $this->addJoin('lehre.tbl_studienordnung', 'studiengang_kz'); $this->addJoin('lehre.tbl_studienplan', 'studienordnung_id'); - $this->addJoin('public.tbl_rt_studienplan', 'studienplan_id'); - - $this->addJoin('public.tbl_reihungstest', 'reihungstest_id'); - $this->addJoin('public.tbl_prestudentstatus', 'studienplan_id'); $this->addJoin('public.tbl_prestudent', 'prestudent_id'); @@ -263,6 +264,8 @@ class Studiengang_model extends DB_Model array('tbl_reihungstest'), 'tbl_prestudentstatus.status_kurzbz = \'Interessent\' AND (tbl_prestudentstatus.rt_stufe = tbl_reihungstest.stufe OR tbl_reihungstest.stufe IS NULL) + AND (tbl_prestudent.aufnahmegruppe_kurzbz = tbl_reihungstest.aufnahmegruppe_kurzbz OR tbl_reihungstest.aufnahmegruppe_kurzbz IS NULL) + AND (tbl_prestudentstatus.studienplan_id = tbl_reihungstest.studienplan_id OR tbl_reihungstest.studienplan_id IS NULL) AND tbl_reihungstest.oeffentlich = TRUE AND tbl_reihungstest.datum > NOW() AND tbl_reihungstest.anmeldefrist >= NOW() diff --git a/cis/index.php b/cis/index.php index 4d6453788..8fa3d3cc5 100644 --- a/cis/index.php +++ b/cis/index.php @@ -22,12 +22,48 @@ * */ require_once('../config/cis.config.inc.php'); +require_once('../config/global.config.inc.php'); require_once('../include/functions.inc.php'); require_once('../include/sprache.class.php'); require_once('../include/phrasen.class.php'); require_once('../include/mail.class.php'); require_once('../include/student.class.php'); +$redirectPasswordChange=false; +if(defined('CIS_CHECK_PASSWORD_CHANGE') && CIS_CHECK_PASSWORD_CHANGE==true) +{ + require_once('../addons/ldap/vilesci/ldap.class.php'); + $user = get_uid(); + $password = $_SERVER['PHP_AUTH_PW']; + $ldap = new ldap(); + $ldap->connect(); + $userdn = $ldap->GetUserDN($user); + $ldap = new ldap(); + if($ldap->connect(LDAP_SERVER, LDAP_PORT, $userdn, $password)) + { + $lastchange = $ldap->getEntry($user,'shadowLastChange'); + if(isset($lastchange[0]) + && isset($lastchange[0]['shadowlastchange']) + && isset($lastchange[0]['shadowlastchange'][0])) + { + $shadowlastchange = $lastchange[0]['shadowlastchange'][0]; + } + else + $shadowlastchange = 0; + + // get unix timestamp 1 year ago + $dt = new DateTime(); + $dt1year = $dt->sub(new DateInterval('P12M')); + $ux1year = $dt1year->format('U'); + + if($shadowlastchange <= $ux1year) + $redirectPasswordChange = true; + else + $redirectPasswordChange = false; + } + else + die('Bind Failed'.$ldap->errormsg); +} /** * Prueft die URL damit keine boesen URLS uebergeben werden koennen * @param $param @@ -46,9 +82,9 @@ function validURLCheck($param) $text.="\nFolgende URL wurde versucht aufzurufen: \n".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; $text.="\n\nIP des Aufrufers: ".$_SERVER['REMOTE_ADDR']; $text.="\n\nUserAgent: ".$_SERVER['HTTP_USER_AGENT']; - + $text.="\n\nAuffälliger Value: $param"; - + $mail = new mail(MAIL_ADMIN, 'no-reply@'.DOMAIN, 'Versuchte XSS Attacke', $text); $mail->send(); die('Invalid URL detected'); @@ -74,7 +110,7 @@ if(isset($_GET['content_id'])) } else $id = ''; - + if(isset($_GET['menu'])) { $menu = $_GET['menu']; @@ -82,7 +118,7 @@ if(isset($_GET['menu'])) } else $menu = 'menu.php?content_id='.$id; - + $user = get_uid(); $student = new student(); if($student->load($user)) @@ -113,14 +149,17 @@ else else $content = '../cms/news.php?studiengang_kz='.$studiengang_kz.'&semester='.$semester.''; } - + +if($redirectPasswordChange) + $content = '../cis/private/profile/change_password.php?requiredtochange=true'; + $sprache = getSprache(); $p = new phrasen($sprache); $db = new basis_db(); ?> - + CIS - <?php echo CAMPUS_NAME; ?> @@ -137,7 +176,7 @@ function changeSprache(sprache) content = document.getElementById('content').contentWindow.location.href; menu = escape(menu); content = escape(content); - + window.location.href="index.php?sprache="+sprache+"&content_id=convert_html_chars($id);?>&menu="+menu+"&content="+content; } function gettimestamp() @@ -163,20 +202,20 @@ function loadampel() - +
  -
+
t('lvplan/lvPlan'); ?>  | - getAll(true); foreach($sprache->result as $row) @@ -187,12 +226,12 @@ function loadampel()
- + - + @@ -231,8 +270,8 @@ function loadampel() - - + + -->';*/ diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php index 33a3cb86e..666644407 100755 --- a/cis/private/lehre/anwesenheitsliste.pdf.php +++ b/cis/private/lehre/anwesenheitsliste.pdf.php @@ -39,12 +39,12 @@ $berechtigung->getBerechtigungen($user); if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) $lvid = $_GET['lvid']; -else +else die('Eine gueltige LvID muss uebergeben werden'); if(isset($_GET['stsem'])) $studiensemester = $_GET['stsem']; -else +else die('Eine Studiensemester muss uebergeben werden'); if(!$berechtigung->isBerechtigt('admin') && !$berechtigung->isBerechtigt('assistenz') && !check_lektor_lehrveranstaltung($user,$lvid,$studiensemester)) @@ -56,7 +56,6 @@ if(isset($_GET['output']) && ($output='odt' || $output='doc')) $output=$_GET['output']; isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL; -isset($_GET['semester']) ? $semester = $_GET['semester'] : $semester = NULL; isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL; $lv = new lehrveranstaltung(); @@ -65,17 +64,17 @@ $lv->load($lvid); $doc = new dokument_export('Anwesenheitslist'); // Teilnehmende Gruppen laden -$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz) - UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, - semester, - verband, - gruppe, - gruppe_kurzbz - FROM campus.vw_lehreinheit - WHERE lehrveranstaltung_id='".addslashes($lvid)."' - AND studiensemester_kurzbz='".addslashes($studiensemester)."'"; +$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz) + UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, + semester, + verband, + gruppe, + gruppe_kurzbz + FROM campus.vw_lehreinheit + WHERE lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." + AND studiensemester_kurzbz=".$db->db_add_param($studiensemester); if($lehreinheit!='') - $qry.=" AND lehreinheit_id='".addslashes($lehreinheit)."'"; + $qry.=" AND lehreinheit_id=".$db->db_add_param($lehreinheit, FHC_INTEGER); $gruppen_string = ''; if($result = $db->db_query($qry)) @@ -115,36 +114,39 @@ $data = array( //Lehrende der LV laden und in ein Array schreiben $lehrende = new lehreinheitmitarbeiter(); $lehrende->getMitarbeiterLV($lvid, $studiensemester, $lehreinheit); - +$arr_lehrende = array(); if (isset($lehrende->result)) { foreach($lehrende->result AS $row) + { $data[]=array('lehrende'=>array('uid'=>$row->uid,'name'=>$row->vorname.' '.$row->nachname)); + $arr_lehrende[]=mb_strtoupper($row->uid); + } } //Studierende der LV laden und in ein Array schreiben -$qry = "SELECT - distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, +$qry = 'SELECT + distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student, tbl_zeugnisnote.note, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr - FROM - campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) - JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid) - LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) + FROM + campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) + JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid) + LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) - WHERE - vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND - vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($studiensemester)."'"; + WHERE + vw_student_lehrveranstaltung.lehrveranstaltung_id='.$db->db_add_param($lvid, FHC_INTEGER).' AND + vw_student_lehrveranstaltung.studiensemester_kurzbz='.$db->db_add_param($studiensemester); if($lehreinheit!='') - $qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id='".addslashes($lehreinheit)."'"; - + $qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$db->db_add_param($lehreinheit, FHC_INTEGER); + $qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC'; $stsem_obj = new studiensemester(); @@ -161,30 +163,30 @@ $datum = new datum(); $zusatz = ''; if($result = $db->db_query($qry)) -{ +{ while($row = $db->db_fetch_object($result)) { if($row->status!='Abbrecher' && $row->status!='Unterbrecher') { $anzahl_studierende++; - + if($row->status=='Incoming') //Incoming $zusatz='(i)'; - else + else $zusatz=''; - + if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing $zusatz.='(o)(ab '.$datum->formatDatum($row->von,'d.m.Y').')'; - + if($row->note==6) //angerechnet $zusatz.='(ar)'; - + if($row->mitarbeiter_uid!='') //mitarbeiter $zusatz.='(ma)'; - + if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende $zusatz.='(a.o.)'; - + $data[]=array('student'=>array( 'vorname'=>$row->vorname, 'nachname'=>$row->nachname, @@ -202,38 +204,18 @@ if($result = $db->db_query($qry)) $data['anzahl_studierende'] = $anzahl_studierende; $data = array_reverse($data, true); } -//var_dump($data); -//$files=array(); -/* -foreach($codes_obj->result as $code) -{ - $filename='/tmp/fhc_lveval_code'.$code->lvevaluierung_code_id.'.png'; - $files[]=$filename; - - // QRCode ertellen und speichern - QRcode::png($url_detail.'?code='.$code->code, $filename); - - // QRCode zu Dokument hinzufuegen - $doc->addImage($filename, $code->lvevaluierung_code_id.'.png', 'image/png'); - $data[]=array('code'=>array('lvevaluierung_code_id'=>$code->lvevaluierung_code_id,'code'=>$code->code)); - - -}*/ $doc->addDataArray($data,'anwesenheitsliste'); +if($lehreinheit!='') +{ + $lehrende = '_'.implode('_',array_unique($arr_lehrende)); +} +else + $lehrende = ''; -//header("Content-type: application/xhtml+xml"); -//echo $doc->ConvertArrayToXML($data,'anwesenheitsliste'); -//exit; - +$doc->setFilename('Anwesenheitsliste_'.$studiensemester.'_'.$stg->kuerzel.'_'.$lv->semester.'_'.$lv->kurzbz.$lehrende); if(!$doc->create($output)) die($doc->errormsg); $doc->output(); $doc->close(); -/* -// QR Codes aus Temp Ordner entfernen -foreach($files as $file) - unlink($file); -*/ - ?> diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php index 32dd01b34..889d705f7 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -127,6 +127,8 @@ switch($method) $data = getPrestudenten($uid, $aktStudiensemester); break; default: + $data['error']='true'; + $data['errormsg']="unknown method: ".$method; break; } diff --git a/cis/private/profile/change_password.php b/cis/private/profile/change_password.php index 3cdc0bb1c..b45504496 100644 --- a/cis/private/profile/change_password.php +++ b/cis/private/profile/change_password.php @@ -1,22 +1,22 @@ * Alexander Nimmervoll @@ -52,12 +52,15 @@ echo '

'.$p->t('passwort/PasswortAenderFuer',array($db->convert_html_chars($b if(!isset($_SERVER['HTTPS']) || (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='off')) { - + $httpspath = str_replace('http://','https://',APP_ROOT).'cis/private/profile/change_password.php'; echo '
'.$p->t('passwort/NoHttps').'
'.$p->t('passwort/ZuHttpsWechseln').'

'; } - +if(isset($_GET['requiredtochange'])) +{ + echo ''.$p->t('passwort/RequiredToChangeInfo').'

'; +} echo $p->t('passwort/InfotextPolicy').'

@@ -84,7 +87,7 @@ echo $p->t('passwort/InfotextPolicy').' if(isset($_POST['change'])) { - if(!isset($_POST['passwort_alt']) + if(!isset($_POST['passwort_alt']) || !isset($_POST['passwort_neu']) || !isset($_POST['passwort_neu_check'])) { @@ -99,7 +102,7 @@ if(isset($_POST['change'])) if($passwort_neu==$passwort_neu_check) { // Passwort Policy pruefen - if(($errormsg = check_policy($passwort_neu, $p))===true) + if(($errormsg = check_policy($passwort_neu, $p, $passwort_alt))===true) { // Passwort aendern if(($msg = change_password($passwort_alt, $passwort_neu, $uid))===true) diff --git a/cis/testtool/admin/gebieteAnheangen.php b/cis/testtool/admin/gebieteAnheangen.php index ece778d59..877ba4a8b 100644 --- a/cis/testtool/admin/gebieteAnheangen.php +++ b/cis/testtool/admin/gebieteAnheangen.php @@ -133,7 +133,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'save') isset($_POST['reihung']) && $_POST['reihung'] != '' && isset($_POST['gewicht']) && $_POST['gewicht'] != '' && isset($_POST['semester']) && $_POST['semester'] != '' && - isset($_POST['studienplan']) && $_POST['studienplan'] != '') + isset($_POST['studienplan'])) { $ablauf = new ablauf(); $ablauf->studiengang_kz = $_POST['stg_kz']; @@ -179,10 +179,10 @@ if (isset($_GET['action']) && $_GET['action'] == 'edit') $ablauf_id = $ablauf->result[0]; $ablauf = new ablauf($ablauf_id); $ablauf = $ablauf->result[0]; - + $gebiet = new gebiet($_POST['gebiet_id']); $studiengang = new studiengang($stg_kz); - + echo ' @@ -215,7 +215,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'editsave') $ablauf->semester = $_POST['semester']; if (isset($_POST['studienplan_id'])) // && $_POST['studienplan_id'] != '' $ablauf->studienplan_id = $_POST['studienplan_id']; - + if (!$ablauf->save(false)) echo $ablauf->errormsg; } @@ -263,7 +263,7 @@ if ($stg_kz != -1) '; } - + $gebiet->getAll(); echo '"; $allevorschlaege .= $vs->vorschlag_id.","; } diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index 34b1d6751..ba24752e3 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -47,6 +47,10 @@ define('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN',true); // Anzeige des LV-Plan Links bei globaler Suche define('CIS_SUCHE_LVPLAN_ANZEIGEN',true); +// Soll geprueft werden ob das Passwort innerhalb des letzten Jahres geaendert wurde true|false +// Wenn dies nicht geaendert wurde wird nach dem Login auf die Passwort aendern Seite umgeleitet +define('CIS_CHECK_PASSWORD_CHANGE',false); + // Link zu den Excel Notenlisten im CIS Anzeigen define('CIS_ANWESENHEITSLISTE_NOTENLISTE_ANZEIGEN',true); diff --git a/content/adressedialog.js.php b/content/adressedialog.js.php index 2c2c64692..6f4eaf5fe 100644 --- a/content/adressedialog.js.php +++ b/content/adressedialog.js.php @@ -33,23 +33,23 @@ loadVariables($user); function AdresseInit(adresse_id, person_id) { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - + if(adresse_id!='') { //Daten holen var url = 'rdf/adresse.rdf.php?adresse_id='+adresse_id+'&'+gettimestamp(); - + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"]. getService(Components.interfaces.nsIRDFService); - + var dsource = rdfService.GetDataSourceBlocking(url); - + var subject = rdfService.GetResource("http://www.technikum-wien.at/adresse/" + adresse_id); - + var predicateNS = "http://www.technikum-wien.at/adresse/rdf"; - + //RDF parsen - + person_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_id" )); name = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#name" )); strasse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#strasse" )); @@ -61,6 +61,8 @@ function AdresseInit(adresse_id, person_id) heimatadresse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#heimatadresse" )); zustelladresse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zustelladresse" )); firma_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#firma_id" )); + rechnungsadresse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rechnungsadresse" )); + anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" )); neu = false; } else @@ -77,8 +79,10 @@ function AdresseInit(adresse_id, person_id) heimatadresse='Ja'; zustelladresse='Ja'; firma_id=''; - } - + rechnungsadresse='Nein'; + anmerkung=''; + } + document.getElementById('adresse-checkbox-neu').checked=neu; document.getElementById('adresse-textbox-person_id').value=person_id; document.getElementById('adresse-textbox-adresse_id').value=adresse_id; @@ -95,12 +99,17 @@ function AdresseInit(adresse_id, person_id) document.getElementById('adresse-checkbox-heimatadresse').checked=true; else document.getElementById('adresse-checkbox-heimatadresse').checked=false; - + if(zustelladresse=='Ja') document.getElementById('adresse-checkbox-zustelladresse').checked=true; else document.getElementById('adresse-checkbox-zustelladresse').checked=false; document.getElementById('adresse-menulist-firma').value=firma_id; + document.getElementById('adresse-textbox-anmerkung').value=anmerkung; + if(rechnungsadresse=='Ja') + document.getElementById('adresse-checkbox-rechnungsadresse').checked=true; + else + document.getElementById('adresse-checkbox-rechnungsadresse').checked=false; } // **** @@ -120,7 +129,7 @@ function AdresseSpeichern() function AdresseLoadGemeinde(blocking) { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - + menulist_gemeinde = document.getElementById('adresse-textbox-gemeinde'); if(document.getElementById('adresse-menulist-nation').value=='A') { @@ -128,11 +137,11 @@ function AdresseLoadGemeinde(blocking) document.getElementById('adresse-textbox-ort').value=''; } plz = document.getElementById('adresse-textbox-plz').value; - + if(plz.length>3) { var url = 'rdf/gemeinde.rdf.php?plz='+plz+'&'+gettimestamp(); - + var oldDatasources = menulist_gemeinde.database.GetDataSources(); while(oldDatasources.hasMoreElements()) { @@ -149,7 +158,7 @@ function AdresseLoadGemeinde(blocking) datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); menulist_gemeinde.database.AddDataSource(datasource); - + menulist_gemeinde.builder.rebuild(); } } @@ -168,11 +177,11 @@ function AdresseLoadOrtschaft(blocking) menulist_ort.value=''; } plz = document.getElementById('adresse-textbox-plz').value; - + if(plz.length>3 && gemeinde!='') { var url = 'rdf/gemeinde.rdf.php?plz='+plz+'&gemeinde='+encodeURIComponent(gemeinde)+'&'+gettimestamp(); - + var oldDatasources = menulist_ort.database.GetDataSources(); while(oldDatasources.hasMoreElements()) { @@ -180,7 +189,7 @@ function AdresseLoadOrtschaft(blocking) } //Refresh damit die entfernten DS auch wirklich entfernt werden menulist_ort.builder.rebuild(); - + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); if(blocking) var datasource1 = rdfService.GetDataSourceBlocking(url); @@ -189,7 +198,7 @@ function AdresseLoadOrtschaft(blocking) datasource1.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); datasource1.QueryInterface(Components.interfaces.nsIRDFXMLSink); menulist_ort.database.AddDataSource(datasource1); - + menulist_ort.builder.rebuild(); } } \ No newline at end of file diff --git a/content/adressedialog.xul.php b/content/adressedialog.xul.php index 69d91377c..11dfdd915 100644 --- a/content/adressedialog.xul.php +++ b/content/adressedialog.xul.php @@ -31,15 +31,15 @@ echo ''."\n"; echo ''; echo ''; - + if(isset($_GET['adresse_id']) && is_numeric($_GET['adresse_id'])) $adresse_id=$_GET['adresse_id']; -else +else $adresse_id=''; - + if(isset($_GET['person_id']) && is_numeric($_GET['person_id'])) $person_id=$_GET['person_id']; -else +else $person_id=''; ?> @@ -69,12 +69,13 @@ else @@ -82,12 +83,12 @@ else
Studiengang_kz:
Gebiet:
"; echo ""; // Pruefen ob uebergebene StudienplanID in Auswahl enthalten @@ -460,9 +460,9 @@ function drawStudienplanDropdown($stg_kz, $db, $name = '', $autosubmitform = nul foreach ($studienordnung_arr as $stoid => $row_sto) { $selected = ''; - + echo ''; - + foreach ($studienplan_arr[$stoid] as $stpid => $row_stp) { if (isset($_GET['stp_id']) && $_GET['stp_id'] == $stpid) diff --git a/cis/testtool/admin/index.php b/cis/testtool/admin/index.php index 3b8631b16..48727e997 100644 --- a/cis/testtool/admin/index.php +++ b/cis/testtool/admin/index.php @@ -37,7 +37,7 @@ if (!$db = new basis_db()) $PHP_SELF = $_SERVER['PHP_SELF']; session_cache_limiter('none'); -//session_start(); +session_start(); $user = get_uid(); $rechte = new benutzerberechtigung(); @@ -168,10 +168,10 @@ font-size: 10pt;

Testtool - Administrationsseite

@@ -295,6 +295,8 @@ if (isset($_POST['submitdata'])) { $frage->new = false; } + else + $frage->new = true; if (isset($_POST['text'])) $frage->text = $_POST['text']; @@ -563,7 +565,7 @@ if (isset($_GET['type']) && $_GET['type'] == 'vorschlaegeaktiv') $checkedVorschlaege = $_POST['vorschlagaktiv']; $allevorschlaege = array(); $allevorschlaege = explode(",", rtrim($_POST['allevorschlaege'], ",")); - + foreach ($allevorschlaege as $vorschlag) { $vs->load($vorschlag, $sprache); @@ -583,7 +585,7 @@ if (isset($_GET['type']) && $_GET['type'] == 'vorschlaegeaktiv') { $allevorschlaege = array(); $allevorschlaege = explode(",", rtrim($_POST['allevorschlaege'], ",")); - + foreach ($allevorschlaege as $vorschlag) { $vs->load($vorschlag, $sprache); @@ -697,7 +699,7 @@ if (($anzahl !== 0) || ($stg_kz == '-1') && ($stg_kz !== '')) { $link = ""; echo ' - aktiv + aktiv inaktiv'; } @@ -720,7 +722,7 @@ if (($anzahl !== 0) || ($stg_kz == '-1') && ($stg_kz !== '')) { if ($nummer == '') $nummer = $row->nummer; - + $style = ''; if ($db->db_parse_bool($row->aktiv) == false) $style = 'style="color: lightgrey"'; @@ -901,8 +903,13 @@ if ($frage_id != '') { $fragef1 = new frage(); $fragef1->getFragen($_GET['gebiet_id'], $_GET['nummer']); - $vorschlag->getVorschlag($fragef1->result[0]->frage_id, $sprache, false, false); - echo "
Nummer:"; //@Todo: Count ($vorschlag->result) liefert die naechste Nummer nur dann richtig, falls keine Zahl dazwischen fehlt (1,3,4,..). Hier sollte die letzte Nummer ermittelt werden. + if(isset($fragef1->result[0])) + { + $vorschlag->getVorschlag($fragef1->result[0]->frage_id, $sprache, false, false); + echo "
Nummer:"; //@Todo: Count ($vorschlag->result) liefert die naechste Nummer nur dann richtig, falls keine Zahl dazwischen fehlt (1,3,4,..). Hier sollte die letzte Nummer ermittelt werden. + } + else + echo "
Nummer:"; } else { @@ -1009,7 +1016,7 @@ if ($frage_id != '') $vss = new vorschlag(); $vss->load($vs->vorschlag_id); if ($vss->aktiv == true) echo "checked='checked'"; - + echo "/>