diff --git a/cis/private/lehre/upload.php b/cis/private/lehre/upload.php index aad50cc72..e3a7d0845 100644 --- a/cis/private/lehre/upload.php +++ b/cis/private/lehre/upload.php @@ -627,14 +627,14 @@ { if(copy($_FILES[$file]['tmp_name'], $uploadfile)) { - exec('chmod 664 "'.$uploadfile.'"'); + exec('chmod 664 '.escapeshellarg($uploadfile)); if($islector) { - exec('sudo chown :teacher "'.$uploadfile.'"'); + exec('sudo chown :teacher '.escapeshellarg($uploadfile)); } else { - exec('sudo chown :student "'.$uploadfile.'"'); + exec('sudo chown :student '.escapeshellarg($uploadfile)); } } } @@ -650,14 +650,14 @@ { if(copy($_FILES[$file]['tmp_name'], $uploadfile)) { - exec('chmod 664 "'.$uploadfile.'"'); + exec('chmod 664 '.escapeshellarg($uploadfile)); if($islector) { - exec('sudo chown :teacher "'.$uploadfile.'"'); + exec('sudo chown :teacher '.escapeshellarg($uploadfile)); } else { - exec('sudo chown :student "'.$uploadfile.'"'); + exec('sudo chown :student '.escapeshellarg($uploadfile)); } } } @@ -683,14 +683,14 @@ { if(copy($_FILES[$file]['tmp_name'], $uploadfile)) { - exec('chmod 664 "'.$uploadfile.'"'); + exec('chmod 664 '.escapeshellarg($uploadfile)); if($islector) { - exec('sudo chown :teacher "'.$uploadfile.'"'); + exec('sudo chown :teacher '.escapeshellarg($uploadfile)); } else { - exec('sudo chown :student "'.$uploadfile.'"'); + exec('sudo chown :student '.escapeshellarg($uploadfile)); } } } @@ -706,14 +706,14 @@ { if(copy($_FILES[$file]['tmp_name'], $uploadfile)) { - exec('chmod 664 "'.$uploadfile.'"'); + exec('chmod 664 '.escapeshellarg($uploadfile)); if($islector) { - exec('sudo chown :teacher "'.$uploadfile.'"'); + exec('sudo chown :teacher '.escapeshellarg($uploadfile)); } else { - exec('sudo chown :student "'.$uploadfile.'"'); + exec('sudo chown :student '.escapeshellarg($uploadfile)); } } } @@ -848,15 +848,15 @@ if(!@is_dir($dest_create_dir->path.'/'.$new_dir_name_text) && !@file_exists($dest_create_dir->path.'/'.$new_dir_name_text) && $new_dir_name_text != "") { @mkdir($dest_create_dir->path.'/'.$new_dir_name_text); - exec('chmod 775 "'.$dest_create_dir->path.'/'.$new_dir_name_text.'"'); + exec('chmod 775 '.escapeshellarg($dest_create_dir->path.'/'.$new_dir_name_text)); if($islector) { - exec('sudo chown :teacher "'.$dest_create_dir->path.'/'.$new_dir_name_text.'"'); + exec('sudo chown :teacher '.escapeshellarg($dest_create_dir->path.'/'.$new_dir_name_text)); } else { - exec('sudo chown :student "'.$dest_create_dir->path.'/'.$new_dir_name_text.'"'); + exec('sudo chown :student '.escapeshellarg($dest_create_dir->path.'/'.$new_dir_name_text)); } } } @@ -1112,7 +1112,7 @@ if(@is_dir($dest_dir->path.'/'.$entry)) { writeCISlog('DELETE', 'rm -r "'.$dest_dir->path.'/'.$entry.'"'); - exec('rm -r "'.$dest_dir->path.'/'.$entry.'"'); + exec('rm -r '.escapeshellarg($dest_dir->path.'/'.$entry)); } unset($check_state); @@ -1359,7 +1359,7 @@ if(!@is_dir($dest_dir->path.'/'.$entry)) { writeCISlog('DELETE', 'rm -r "'.$dest_dir->path.'/'.$entry.'"'); - exec('rm -r "'.$dest_dir->path.'/'.$entry.'"'); + exec('rm -r '.escapeshellarg($dest_dir->path.'/'.$entry)); } unset($check_state); diff --git a/cis/private/lvplan/stpl_reserve_list.php b/cis/private/lvplan/stpl_reserve_list.php index 08a02344d..ddb757e38 100644 --- a/cis/private/lvplan/stpl_reserve_list.php +++ b/cis/private/lvplan/stpl_reserve_list.php @@ -24,6 +24,7 @@ require_once('../../../include/functions.inc.php'); require_once('../../../include/datum.class.php'); require_once('../../../include/benutzerberechtigung.class.php'); require_once('../../../include/phrasen.class.php'); +require_once('../../../include/reservierung.class.php'); if (!$db = new basis_db()) die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); @@ -54,23 +55,30 @@ if(!$rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 'suid')) -

- - - - - -
 t('lvplan/lehrveranstaltungsplan');?> >> t('lvplan/reservierungen');?>HELP 
-

+

t('lvplan/lehrveranstaltungsplan');?> >> t('lvplan/reservierungen');?>

db_query($sql_query)) - echo ''.$p->t('lvplan/reservierungWurdeGeloescht').'
'; + + $reservierung = new reservierung(); + if($reservierung->load($id)) + { + if($reservierung->uid==$uid || $rechte->isBerechtigt('lehre/reservierung', null, 'suid')) + { + if($reservierung->delete($id)) + echo ''.$p->t('lvplan/reservierungWurdeGeloescht').'
'; + else + echo $reservierung->errormsg; + } + else + { + echo ''.$p->t('global/keineBerechtigung').'
'; + } + } else echo ''.$p->t('global/fehleraufgetreten').'!
'; } @@ -81,7 +89,7 @@ if(!$rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 'suid')) //EIGENE $sql_query="SELECT * FROM campus.vw_reservierung - WHERE datum>='$datum' AND uid='$uid' + WHERE datum>=".$db->db_add_param($datum)." AND uid=".$db->db_add_param($uid)." ORDER BY datum, titel, ort_kurzbz, stunde"; if (!$erg_res=$db->db_query($sql_query)) @@ -119,12 +127,12 @@ if(!$rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 'suid')) if($insertamum!='') $insertamum = $datum_obj->formatDatum($insertamum, 'd.m.Y H:i:s'); echo ''; - echo ''.$datum1.''; - echo ''.$titel.''; - echo ''.$stunde.''; - echo ''.$ort_kurzbz.''; - echo ''.$pers_uid.''; - echo ''.$beschreibung.' '; + echo ''.$db->convert_html_chars($datum1).''; + echo ''.$db->convert_html_chars($titel).''; + echo ''.$db->convert_html_chars($stunde).''; + echo ''.$db->convert_html_chars($ort_kurzbz).''; + echo ''.$db->convert_html_chars($pers_uid).''; + echo ''.$db->convert_html_chars($beschreibung).' '; $z=$i-1; if (($pers_uid==$uid)|| $rechte->isBerechtigt('lehre/reservierung', null, 'suid')) echo 'Delete'; @@ -142,7 +150,7 @@ if(!$rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 'suid')) //ALLE $sql_query="SELECT * FROM campus.vw_reservierung - WHERE datum>='$datum' + WHERE datum>=".$db->db_add_param($datum)." ORDER BY datum, titel, ort_kurzbz, stunde"; if (!$erg_res=$db->db_query($sql_query)) die($db->db_last_error()); @@ -180,12 +188,12 @@ if(!$rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 'suid')) if($insertamum!='') $insertamum = $datum_obj->formatDatum($insertamum, 'd.m.Y H:i:s'); echo ''; - echo ''.$datum.''; - echo ''.$titel.''; - echo ''.$stunde.''; - echo ''.$ort_kurzbz.''; - echo ''.$pers_uid.''; - echo ''.$beschreibung.' '; + echo ''.$db->convert_html_chars($datum).''; + echo ''.$db->convert_html_chars($titel).''; + echo ''.$db->convert_html_chars($stunde).''; + echo ''.$db->convert_html_chars($ort_kurzbz).''; + echo ''.$db->convert_html_chars($pers_uid).''; + echo ''.$db->convert_html_chars($beschreibung).' '; $z=$i-1; if (($pers_uid==$uid) || $rechte->isBerechtigt('lehre/reservierung', null, 'suid')) echo 'Delete'; diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index bf3d00a77..b46371df7 100755 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -48,6 +48,9 @@ if (!$db = new basis_db()) $user = get_uid(); $datum = new datum(); +// definiert bis zu welchem Datum die Eintragung nicht mehr möglich ist +$gesperrt_bis = '2015-01-31'; +$sperrdatum = date('c', strtotime($gesperrt_bis)); $zeitaufzeichnung_id = (isset($_GET['zeitaufzeichnung_id'])?$_GET['zeitaufzeichnung_id']:''); $projekt_kurzbz = (isset($_POST['projekt'])?$_POST['projekt']:''); @@ -353,54 +356,61 @@ if(isset($_POST['save']) || isset($_POST['edit'])) { $zeit = new zeitaufzeichnung(); - if(isset($_POST['edit'])) - { - if(!$zeit->load($zeitaufzeichnung_id)) - die($p->t("global/fehlerBeimLadenDesDatensatzes")); - - $zeit->new = false; - } + if ($datum->formatDatum($von, $format='Y-m-d H:i:s') < $sperrdatum) + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum'; else { - $zeit->new = true; - $zeit->insertamum = date('Y-m-d H:i:s'); - $zeit->insertvon = $user; - } - - $zeit->uid = $user; - $zeit->aktivitaet_kurzbz = $aktivitaet_kurzbz; - $zeit->start = $datum->formatDatum($von, $format='Y-m-d H:i:s'); - $zeit->ende = $datum->formatDatum($bis, $format='Y-m-d H:i:s'); - $zeit->beschreibung = $beschreibung; - $zeit->oe_kurzbz_1 = $oe_kurzbz_1; - $zeit->oe_kurzbz_2 = $oe_kurzbz_2; - $zeit->updateamum = date('Y-m-d H:i:s'); - $zeit->updatevon = $user; - $zeit->projekt_kurzbz = $projekt_kurzbz; - $zeit->service_id = $service_id; - $zeit->kunde_uid = $kunde_uid; - - if(!$zeit->save()) - { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.''; - } - else - { - echo ''.$p->t("global/datenWurdenGespeichert").''; - // Nach dem Speichern in den neu Modus springen und als Von Zeit - // das Ende des letzten Eintrages eintragen - $zeitaufzeichnung_id = ''; - $uid = $zeit->uid; - $aktivitaet_kurzbz = ''; - $von = date('d.m.Y H:i', $datum->mktime_fromtimestamp($zeit->ende)); - $bis = date('d.m.Y H:i', $datum->mktime_fromtimestamp($zeit->ende)+3600); - $beschreibung = ''; - $oe_kurzbz_1 = ''; - $oe_kurzbz_2 = ''; - $projekt_kurzbz = ''; - $service_id = ''; - $kunde_uid = ''; + if(isset($_POST['edit'])) + { + if(!$zeit->load($zeitaufzeichnung_id)) + die($p->t("global/fehlerBeimLadenDesDatensatzes")); + + $zeit->new = false; + } + else + { + $zeit->new = true; + $zeit->insertamum = date('Y-m-d H:i:s'); + $zeit->insertvon = $user; + } + + $zeit->uid = $user; + $zeit->aktivitaet_kurzbz = $aktivitaet_kurzbz; + $zeit->start = $datum->formatDatum($von, $format='Y-m-d H:i:s'); + $zeit->ende = $datum->formatDatum($bis, $format='Y-m-d H:i:s'); + $zeit->beschreibung = $beschreibung; + $zeit->oe_kurzbz_1 = $oe_kurzbz_1; + $zeit->oe_kurzbz_2 = $oe_kurzbz_2; + $zeit->updateamum = date('Y-m-d H:i:s'); + $zeit->updatevon = $user; + $zeit->projekt_kurzbz = $projekt_kurzbz; + $zeit->service_id = $service_id; + $zeit->kunde_uid = $kunde_uid; + + if(!$zeit->save()) + { + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.''; + } + else + { + echo ''.$p->t("global/datenWurdenGespeichert").''; + + // Nach dem Speichern in den neu Modus springen und als Von Zeit + // das Ende des letzten Eintrages eintragen + $zeitaufzeichnung_id = ''; + $uid = $zeit->uid; + $aktivitaet_kurzbz = ''; + $von = date('d.m.Y H:i', $datum->mktime_fromtimestamp($zeit->ende)); + $bis = date('d.m.Y H:i', $datum->mktime_fromtimestamp($zeit->ende)+3600); + $beschreibung = ''; + $oe_kurzbz_1 = ''; + $oe_kurzbz_2 = ''; + $projekt_kurzbz = ''; + $service_id = ''; + $kunde_uid = ''; + } + } } @@ -411,15 +421,21 @@ if(isset($_GET['type']) && $_GET['type']=='delete') if($zeit->load($zeitaufzeichnung_id)) { - if($zeit->uid==$user) - { - if($zeit->delete($zeitaufzeichnung_id)) - echo ''.$p->t("global/eintragWurdeGeloescht").''; - else - echo ''.$p->t("global/fehlerBeimLoeschenDesEintrags").''; - } + + if ($zeit->start < $sperrdatum) + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum'; else - echo ''.$p->t("global/keineBerechtigung").'!'; + { + if($zeit->uid==$user) + { + if($zeit->delete($zeitaufzeichnung_id)) + echo ''.$p->t("global/eintragWurdeGeloescht").''; + else + echo ''.$p->t("global/fehlerBeimLoeschenDesEintrags").''; + } + else + echo ''.$p->t("global/keineBerechtigung").'!'; + } } else echo ''.$p->t("global/datensatzWurdeNichtGefunden").''; @@ -774,7 +790,11 @@ if($projekt->getProjekteMitarbeiter($user)) '.$p->t("zeitaufzeichnung/pause").' '.($pflichtpause==false?$p->t("zeitaufzeichnung/inklusivePflichtpause"):'').': '.$tagessaldo.'
'.date('H:i', ($pausesumme-3600)).' - <-'; + '; + if ($tag > $sperrdatum) + echo '<-'; + + echo ''; $tag=$datumtag; $tagessumme='00:00'; @@ -874,11 +894,11 @@ if($projekt->getProjekteMitarbeiter($user)) '.$db->convert_html_chars($row->diff).' beschreibung)).'">'.StringCut($db->convert_html_chars($row->beschreibung),20,null,'...').' '; - if(!isset($_GET['filter']) || $row->uid==$user) + if(!isset($_GET['filter']) && ($row->uid==$user && $row->datum > $sperrdatum)) echo ''.$p->t("global/bearbeiten").''; echo "\n"; echo " "; - if(!isset($_GET['filter']) || $row->uid==$user) + if(!isset($_GET['filter']) && ($row->uid==$user && $row->start > $sperrdatum)) echo ''.$p->t("global/loeschen").''; echo "\n"; echo " \n"; diff --git a/content/student/studentnotenoverlay.xul.php b/content/student/studentnotenoverlay.xul.php index 3d20ec071..c979fa4cd 100644 --- a/content/student/studentnotenoverlay.xul.php +++ b/content/student/studentnotenoverlay.xul.php @@ -110,6 +110,14 @@ echo " +