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/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 " +