Das Löschen von Noten von LVs zu denen der Student nicht
+zugeordnet ist führt jetzt nicht mehr zu einem einfrieren des
+Programms
+10.03.2008 oesi
+
+
+
Hochgeladene Bilder können jetzt auch wieder gelöscht
+werden.
+10.03.2008 oesi
+
+
Neue Filter beim Mitarbeitermodul: "Inaktive Personen mit
Verwendung", "Aktive Personen ohne Verwendung", der "Karenziert" Filter
liefert jetzt nur noch aktive karenzierte Mitarbeiter, Der Filter
diff --git a/content/bildupload.php b/content/bildupload.php
index 42f41408a..47d27548b 100644
--- a/content/bildupload.php
+++ b/content/bildupload.php
@@ -162,7 +162,7 @@ if(isset($_POST['submitbild']))
$person->foto = $content;
$person->new = false;
if($person->save())
- echo "Bild wurde erfolgreich gespeichert ";
+ echo "Bild wurde erfolgreich gespeichert ";
else
echo ''.$person->errormsg.' ';
}
diff --git a/content/lvplanung/timetable-week.xul.php b/content/lvplanung/timetable-week.xul.php
index 7548fc718..cf588ca3a 100644
--- a/content/lvplanung/timetable-week.xul.php
+++ b/content/lvplanung/timetable-week.xul.php
@@ -8,6 +8,7 @@ include('../../include/berechtigung.class.php');
include('../../include/lehreinheit.class.php');
include('../../include/zeitwunsch.class.php');
include('../../include/wochenplan.class.php');
+include('../../include/reservierung.class.php');
echo '';
echo '';
@@ -173,6 +174,15 @@ if ($aktion=='stpl_move' || $aktion=='stpl_single_search' || $aktion=='stpl_set'
}
$name_stpl_idx='x'.++$j.'stundenplan_id0';
}
+
+ //ReservierungsIDs
+ $i=0;
+ $name_res_id='reservierung_id'.$i;
+ while ($i<100 && isset($_GET[$name_res_id]))
+ {
+ $res_id[]=$_GET[$name_res_id];
+ $name_res_id='reservierung_id'.++$i;
+ }
}
// ****************************************************************************
@@ -232,6 +242,13 @@ elseif ($aktion=='stpl_delete_single' || $aktion=='stpl_delete_block')
$lehrstunde->delete($stundenplan_id,$db_stpl_table);
$error_msg.=$lehrstunde->errormsg;
}
+
+ $reservierung=new reservierung($conn);
+ foreach ($res_id as $reservierung_id)
+ {
+ $reservierung->delete($reservierung_id);
+ $error_msg.=$reservierung->errormsg;
+ }
}
// ******************** Lehrveranstaltung setzen ******************************
elseif ($aktion=='lva_single_set')
diff --git a/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php b/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php
index afba97415..9107a1c07 100644
--- a/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php
+++ b/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php
@@ -49,6 +49,7 @@ echo '';
@@ -163,11 +164,12 @@ echo '';
+
-
+
diff --git a/content/mitarbeiter/mitarbeiteroverlay.js.php b/content/mitarbeiter/mitarbeiteroverlay.js.php
index 8c347ca92..8cba06c56 100644
--- a/content/mitarbeiter/mitarbeiteroverlay.js.php
+++ b/content/mitarbeiter/mitarbeiteroverlay.js.php
@@ -411,6 +411,7 @@ function MitarbeiterDetailDisableFields(val)
document.getElementById('mitarbeiter-detail-menulist-familienstand').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-anzahlderkinder').disabled=val;
document.getElementById('mitarbeiter-detail-button-image-upload').disabled=val;
+ document.getElementById('mitarbeiter-detail-button-image-delete').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-anmerkung').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-homepage').disabled=val;
@@ -687,6 +688,45 @@ function MitarbeiterImageUpload()
alert('Es wurde keine Person ausgewaehlt');
}
+// ****
+// * Loescht das Bild aus der DB
+// ****
+function MitarbeiterImageDelete()
+{
+ person_id = document.getElementById('mitarbeiter-detail-textbox-person_id').value;
+ if(person_id!='')
+ {
+ var url = 'content/fasDBDML.php';
+ var req = new phpRequest(url,'','');
+
+ req.add('type', 'imagedelete');
+ req.add('person_id', person_id);
+ req.add('studiengang_kz', '');
+
+ var response = req.executePOST();
+
+ var val = new ParseReturnValue(response)
+
+ if (!val.dbdml_return)
+ {
+ if(val.dbdml_errormsg=='')
+ alert(response)
+ else
+ alert(val.dbdml_errormsg)
+ }
+ else
+ {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ uid = document.getElementById('mitarbeiter-detail-textbox-uid').value;
+ MitarbeiterSelectUid=uid;
+ MitarbeiterTreeDatasource.Refresh(false); //non blocking
+ SetStatusBarText('Bild wurde geloescht');
+ }
+ }
+ else
+ alert('Es wurde keine Person ausgewaehlt');
+}
+
// ****
// * Speichert die Mitarbeiterdaten
// ****
diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php
index 51ee10913..a8cde3dd8 100644
--- a/content/student/studentoverlay.js.php
+++ b/content/student/studentoverlay.js.php
@@ -185,13 +185,15 @@ var StudentIOTreeListener =
// ****
var StudentNotenTreeSinkObserver =
{
- onBeginLoad : function(pSink) {},
+ onBeginLoad : function(pSink)
+ {
+ StudentNotenTreeloaded=false;
+ },
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
- StudentNotenTreeloaded=false;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('student-noten-tree').builder.rebuild();
}
@@ -3081,6 +3083,13 @@ function StudentNoteDetailDisableFields(val)
// ***
function StudentNotenAuswahl()
{
+ //Beim Refresh des Trees wird das onselect event ausgeloest wenn der
+ //vorher markierte Eintrag nach dem Refresh nicht mehr in der Liste ist
+ //daher soll die funktion nur ausgefuehrt werden, wenn der tree
+ //tatsaechlich fertig geladen wurde
+ if(!StudentNotenTreeloaded)
+ return false;
+
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-noten-tree');
@@ -3096,6 +3105,14 @@ function StudentNotenAuswahl()
var col = tree.columns ? tree.columns["student-noten-tree-studiensemester_kurzbz"] : "student-noten-tree-studiensemester_kurzbz";
var studiensemester_kurzbz=tree.view.getCellText(tree.currentIndex,col);
+ //Falls einer der Parameter leer ist wird abgebrochen da sonst ein sehr grosses rdf geladen wird
+ //Sollte eigentlich nie eintreffen, tut es aber trotzdem
+ if(lehrveranstaltung_id=='' || student_uid=='' || studiensemester_kurzbz=='')
+ {
+ debug('unerwarteter Fehler in StudentNotenAuswahl() in studentoverlay.js.php');
+ return false;
+ }
+
//Daten holen
var url = 'rdf/zeugnisnote.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+'&uid='+student_uid+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&'+gettimestamp();
diff --git a/include/datum.class.php b/include/datum.class.php
index 02582504a..ad14de97b 100644
--- a/include/datum.class.php
+++ b/include/datum.class.php
@@ -159,5 +159,55 @@ class datum
else
return false;
}
+
+ /**
+ * Liefert ein Datum im angegeben Format
+ * ToDo: Liefert aktuellen Timestamp wenn Sonderzeichen uebergeben werden
+ * zB '---'
+ * @param $datum
+ * @param $format
+ * @return Formatierten Timestamp wenn ok, false im Fehlerfall
+ */
+ function formatDatum($datum, $format='Y-m-d H:i:s')
+ {
+ if(trim($datum)=='')
+ return '';
+
+ $ts='';
+
+ //2008-12-31
+ if(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$datum, $regs))
+ $ts = mktime(0,0,0,$regs[2],$regs[3],$regs[1]);
+
+ //2008-12-31 12:30
+ if(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
+ $ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[3],$regs[1]);
+
+ //2008-12-31 12:30:15
+ if(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
+ $ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]);
+
+ //1.12.2008
+ if(ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})",$datum, $regs))
+ $ts = mktime(0,0,0,$regs[2],$regs[1],$regs[3]);
+
+ //1.12.2008 12:30
+ if(ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
+ $ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[1],$regs[3]);
+
+ //1.12.2008 12:30:15
+ if(ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
+ $ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[1],$regs[3]);
+
+ if($ts=='')
+ {
+ $ts = strtotime($datum);
+ }
+
+ if($ts!='' && $ts>0)
+ return date($format, $ts);
+
+ return false;
+ }
}
?>
\ No newline at end of file
diff --git a/include/person.class.php b/include/person.class.php
index 87ff99789..533f510a4 100644
--- a/include/person.class.php
+++ b/include/person.class.php
@@ -403,8 +403,8 @@ class person
' familienstand='.$this->addslashes($this->familienstand).','.
' anzahlkinder='.$this->addslashes($this->anzahlkinder).','.
' aktiv='.($this->aktiv?'true':'false').','.
- ' insertamum=now(),'.
- ' insertvon='.$this->addslashes($this->insertvon).','.
+ //' insertamum='.$this->addslashes($this->insertamum).','.
+ //' insertvon='.$this->addslashes($this->insertvon).','.
' updateamum=now(),'.
' updatevon='.$this->addslashes($this->updatevon).','.
' geschlecht='.$this->addslashes($this->geschlecht).','.
diff --git a/include/reservierung.class.php b/include/reservierung.class.php
index 06e90e3d9..b548239ac 100644
--- a/include/reservierung.class.php
+++ b/include/reservierung.class.php
@@ -212,5 +212,29 @@ class reservierung
return false;
}
}
+
+ // ************************************************************
+ // * Loescht eine Reservierung
+ // * @param reservierung_id ID der zu leoschenden Reservierung
+ // * @return true wenn ok, false im Fehlerfall
+ // ************************************************************
+ function delete($reservierung_id)
+ {
+ if(!is_numeric($reservierung_id))
+ {
+ $this->errormsg = 'Reservierung_id muss eine gueltige Zahl sein';
+ return false;
+ }
+
+ $qry = "DELETE FROM campus.tbl_reservierung WHERE reservierung_id='$reservierung_id'";
+
+ if(pg_query($this->conn, $qry))
+ return true;
+ else
+ {
+ $this->errormsg = 'Fehler beim Loeschen der Reservierung';
+ return false;
+ }
+ }
}
?>
\ No newline at end of file
diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php
index 05e679478..502418a87 100644
--- a/include/wochenplan.class.php
+++ b/include/wochenplan.class.php
@@ -292,8 +292,8 @@ class wochenplan
$mtag=substr($this->wochenplan->lehrstunden[$i]->datum, 8,2);
$month=substr($this->wochenplan->lehrstunden[$i]->datum, 5,2);
$jahr=substr($this->wochenplan->lehrstunden[$i]->datum, 0,4);
- $tag=date("w",mktime(12,0,0,$month,$mtag,$jahr));
- if ($tag==0)
+ $tag=date("w",mktime(12,0,0,$month,$mtag,$jahr));
+ if ($tag==0)
$tag=7; //Sonntag
//echo $tag.':'.$this->wochenplan->lehrstunden[$i]->datum.' ';
$stunde=$this->wochenplan->lehrstunden[$i]->stunde;
@@ -924,7 +924,7 @@ class wochenplan
echo '