diff --git a/addons/.gitignore b/addons/.gitignore index 0988e3f76..8674d2623 100644 --- a/addons/.gitignore +++ b/addons/.gitignore @@ -1,6 +1,6 @@ #ignore all addons * #except template addon -!template/* +!template**/** !CodingGuidelines.txt !index.html diff --git a/addons/template/vilesci/menu.inc.php b/addons/template/vilesci/menu.inc.php new file mode 100644 index 000000000..77e9c8ec3 --- /dev/null +++ b/addons/template/vilesci/menu.inc.php @@ -0,0 +1,44 @@ +, + */ +/** + * Hier koennen neue Menuepunkte im Vilesci definiert werden + */ + +// Hauptmenuepunkt hinzufuegen +$menu_addon = array +( + 'Template'=>array + ( + 'name'=>'Template', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('basis/addon'), 'image'=>'../../skin/images/vilesci_addons.png', + 'link'=>'left.php?categorie=Template', 'target'=>'nav', + 'TemplateEntry1'=>array('name'=>'Template Entry1', 'link'=>'../addons/template/vilesci/index.php', 'target'=>'main'), + 'TemplateEntry2'=>array('name'=>'Template Entry2', 'link'=>'../addons/template/vilesci/index.php', 'target'=>'main') + ) +); +$menu = array_merge($menu,$menu_addon); + +// Submenuepunkt hinzufuegen unter dem Hauptmenue Punkt "Admin" +$menu_addon = array +( + 'TemplateSubmenu'=>array('name'=>'Template', 'link'=>'../addons/template/vilesci/index.php', 'target'=>'main','permissions'=>array('basis/addon')), + +); +$menu['Admin'] = array_merge($menu['Admin'],$menu_addon); +?> diff --git a/cis/private/lehre/moodle2_4_wartung.php b/cis/private/lehre/moodle2_4_wartung.php index 966b90378..7619b0e04 100644 --- a/cis/private/lehre/moodle2_4_wartung.php +++ b/cis/private/lehre/moodle2_4_wartung.php @@ -37,23 +37,23 @@ require_once('../../../include/moodle.class.php'); require_once('../../../include/moodle19_course.class.php'); require_once('../../../include/moodle19_user.class.php'); -$sprache = getSprache(); -$p = new phrasen($sprache); +$sprache = getSprache(); +$p = new phrasen($sprache); if (!$db = new basis_db()) die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); if (!$user=get_uid()) die($p->t('moodle/sieSindNichtAngemeldet').' !'); - + if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) $lvid=$_GET['lvid']; -else +else die($p->t('moodle/lvidMussUebergebenWerden')); - + if(isset($_GET['stsem']) && check_stsem($_GET['stsem'])) $stsem = $_GET['stsem']; -else +else die($p->t('moodle/esWurdeKeinStudiensemesterUebergeben')); $art = (isset($_POST['art'])?$_POST['art']:'lv'); @@ -71,6 +71,9 @@ $rechte->getBerechtigungen($user); if($rechte->isBerechtigt('admin')) $berechtigt=true; +if(!$berechtigt) + die('Sie haben keine Berechtigung für diese Seite'); + $lv = new lehrveranstaltung(); $lv->load($lvid); @@ -86,7 +89,7 @@ function togglediv() var block = "table-row"; if (navigator.appName.indexOf("Microsoft") > -1) block = "block"; - + if(document.getElementById("radiole").checked) document.getElementById("lehreinheitencheckboxen").style.display = block; else @@ -107,15 +110,15 @@ if(isset($_POST['neu'])) { echo ''.$p->t('benotungstool/bezeichnungMussEingegebenWerden').'
'; } - else + else { $lehrveranstaltung = new lehrveranstaltung(); $lehrveranstaltung->load($lvid); $studiengang = new studiengang(); $studiengang->load($lehrveranstaltung->studiengang_kz); - + $orgform = ($lehrveranstaltung->orgform_kurzbz!=''?$lehrveranstaltung->orgform_kurzbz:$studiengang->orgform_kurzbz); - + //Kurzbezeichnung generieren Format: STSEM-STG-SEM-LV/LEID/LEID/LEID... //$shortname = $stsem.'-'.$studiengang->kuerzel.'-'.$lehrveranstaltung->semester.'-'.$lehrveranstaltung->kurzbz; $shortname = $studiengang->kuerzel.'-'.$orgform.'-'.$lehrveranstaltung->semester.'-'.$stsem.'-'.$lehrveranstaltung->kurzbz; @@ -124,7 +127,7 @@ if(isset($_POST['neu'])) if($art=='lv') { $mdl_course = new moodle24_course(); - + $mdl_course->lehrveranstaltung_id = $lvid; $mdl_course->studiensemester_kurzbz = $stsem; $mdl_course->mdl_fullname = $_POST['bezeichnung']; @@ -132,18 +135,18 @@ if(isset($_POST['neu'])) $mdl_course->insertamum = date('Y-m-d H:i:s'); $mdl_course->insertvon = $user; $mdl_course->gruppen = isset($_POST['gruppen']); - + //Moodlekurs anlegen if($mdl_course->create_moodle()) { //Eintrag in der Vilesci DB $mdl_course->create_vilesci(); - + $mdl_user = new moodle24_user(); //Lektoren Synchronisieren if(!$mdl_user->sync_lektoren($mdl_course->mdl_course_id)) echo $mdl_user->errormsg; - + $mdl_user = new moodle24_user(); //Studenten Synchronisieren if(!$mdl_user->sync_studenten($mdl_course->mdl_course_id)) @@ -157,7 +160,7 @@ if(isset($_POST['neu'])) elseif($art=='le') //Getrennte Kurse fuer die Lehreinheiten { $lehreinheiten=array(); - + foreach ($_POST as $key=>$value) { if(mb_strstr($key, 'lehreinheit_')) @@ -166,11 +169,11 @@ if(isset($_POST['neu'])) $lehreinheiten[]=$value; } } - + if(count($lehreinheiten)>0) { $mdl_course = new moodle24_course(); - + $mdl_course->mdl_fullname = $_POST['bezeichnung']; $mdl_course->mdl_shortname = $shortname; $mdl_course->studiensemester_kurzbz = $stsem; @@ -178,7 +181,7 @@ if(isset($_POST['neu'])) $mdl_course->insertvon = $user; $mdl_course->lehreinheit_id=$lehreinheiten[0]; $mdl_course->gruppen = isset($_POST['gruppen']); - + //Kurs im Moodle anlegen if($mdl_course->create_moodle()) { @@ -189,24 +192,24 @@ if(isset($_POST['neu'])) if(!$mdl_course->create_vilesci()) echo '
'.$p->t('moodle/fehlerBeimAnlegenAufgetreten').':'.$mdl_course->errormsg; } - + $mdl_user = new moodle24_user(); //Lektoren Synchronisieren if(!$mdl_user->sync_lektoren($mdl_course->mdl_course_id)) echo $mdl_user->errormsg; - - $mdl_user = new moodle24_user(); + + $mdl_user = new moodle24_user(); //Studenten Synchronisieren if(!$mdl_user->sync_studenten($mdl_course->mdl_course_id)) echo $mdl_user->errormsg; } } - else + else { echo ''.$p->t('moodle/esMussMindestensEineLehreinheitMarkiertSein').'
'; } } - else + else die($p->t('moodle/artIstUnbekannt')); } } @@ -218,10 +221,10 @@ if(isset($_POST['changegruppe'])) $mcourse = new moodle24_course(); if($mcourse->updateGruppenSync($_POST['moodle_id'], isset($_POST['gruppen']))) echo ''.$p->t('moodle/datenWurdenAktualisiert').'
'; - else + else echo ''.$p->t('global/fehlerBeimAktualisierenDerDaten').''; } - else + else { echo ''.$p->t('moodle/esWurdeKeineGueltigeIdUebergeben').''; } @@ -237,12 +240,12 @@ if(isset($_GET['action']) && $_GET['action']=='createtestkurs') $lehrveranstaltung->load($lvid); $studiengang = new studiengang(); $studiengang->load($lehrveranstaltung->studiengang_kz); - + //$orgform = ($lehrveranstaltung->orgform_kurzbz!=''?$lehrveranstaltung->orgform_kurzbz:$studiengang->orgform_kurzbz); - + //Kurzbezeichnung generieren Format: STSEM-STG-SEM-LV/LEID/LEID/LEID... $shortname = mb_strtoupper('TK-'.$stsem.'-'.$studiengang->kuerzel.'-'.$lehrveranstaltung->semester.'-'.$lehrveranstaltung->kurzbz); - + $mdl_course->lehrveranstaltung_id = $lvid; $mdl_course->studiensemester_kurzbz = $stsem; $mdl_course->mdl_fullname = 'Testkurs - '.$lehrveranstaltung->bezeichnung; @@ -253,7 +256,7 @@ if(isset($_GET['action']) && $_GET['action']=='createtestkurs') { $id=$mdl_course->mdl_course_id; $errormsg=''; - + $mdl_user = new moodle24_user(); //Lektoren zuweisen if(!$mdl_user->sync_lektoren($id, $lvid, $stsem)) @@ -261,14 +264,14 @@ if(isset($_GET['action']) && $_GET['action']=='createtestkurs') //Teststudenten zuweisen if(!$mdl_user->createTestStudentenZuordnung($id)) $errormsg.=$p->t('moodle/fehlerBeiDerStudentenZuordnung').':'.$mdl_user->errormsg.'
'; - + if($errormsg!='') echo $errormsg; else echo ''.$p->t('moodle/testkursWurdeErfolgreichAngelegt').'
'; } } - else + else { echo ''.$p->t('moodle/esExistiertBereitsEinTestkurs').'
'; } @@ -279,13 +282,13 @@ if($moodle->course_exists_for_lv($lvid, $stsem) || $moodle->course_exists_for_al { echo $p->t('moodle/esIstBereitsEinMoodleKursVorhanden'); } -else +else { //wenn bereits ein Moodle Kurs fuer eine Lehreinheit angelegt wurde, dann dass //anlegen fuer die Lehrveranstaltung verhindern - $qry = "SELECT 1 FROM lehre.tbl_moodle - WHERE lehreinheit_id in(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit - WHERE lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." + $qry = "SELECT 1 FROM lehre.tbl_moodle + WHERE lehreinheit_id in(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit + WHERE lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($stsem).")"; $disable_lv=''; if($result = $db->db_query($qry)) @@ -297,13 +300,13 @@ else if($art=='lv') $art='le'; } - + echo ''.$p->t('moodle/moodleKursAnlegen').':

einen Moodle Kurs für die gesamte LV anlegen
einen Moodle Kurs für einzelne Lehreinheiten anlegen '; - + $le = new lehreinheit(); $le->load_lehreinheiten($lv->lehrveranstaltung_id, $stsem); echo ''; - + $studiengang = new studiengang(); $studiengang->load($lv->studiengang_kz); $orgform = ($lv->orgform_kurzbz!=''?$lv->orgform_kurzbz:$studiengang->orgform_kurzbz); $longbezeichnung = $studiengang->kuerzel.'-'.$orgform.'-'.$lv->semester.'-'.$stsem.' - '.$lv->bezeichnung; - + echo '
'.$p->t('moodle/kursbezeichnung').': '; echo '
'.$p->t('moodle/gruppenUebernehmen').': '; echo '

@@ -379,7 +382,7 @@ foreach ($moodle->result as $course) // echo "gruppen?'checked':'').">Gruppen übernehmen
"; echo ''; break; - default: + default: echo 'Moodle v'.$course->moodle_version.' - '.$course->mdl_course_id.''; break; } @@ -394,7 +397,7 @@ if($mdlcourse->loadTestkurs($lvid, $stsem)) { echo ''.$db->convert_html_chars($mdlcourse->mdl_fullname).''; } -else +else { echo "".$p->t('moodle/klickenSieHierUmTestkursErstellen').""; } diff --git a/cis/private/lehre/moodle_wartung.php b/cis/private/lehre/moodle_wartung.php index fbecdbea1..72b324776 100644 --- a/cis/private/lehre/moodle_wartung.php +++ b/cis/private/lehre/moodle_wartung.php @@ -39,23 +39,23 @@ require_once('../../../include/moodle19_user.class.php'); require_once('../../../include/moodle24_course.class.php'); require_once('../../../include/moodle24_user.class.php'); -$sprache = getSprache(); -$p = new phrasen($sprache); +$sprache = getSprache(); +$p = new phrasen($sprache); if (!$db = new basis_db()) die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); if (!$user=get_uid()) die($p->t('moodle/sieSindNichtAngemeldet').' !'); - + if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) $lvid=$_GET['lvid']; -else +else die($p->t('moodle/lvidMussUebergebenWerden')); - + if(isset($_GET['stsem']) && check_stsem($_GET['stsem'])) $stsem = $_GET['stsem']; -else +else die($p->t('moodle/esWurdeKeinStudiensemesterUebergeben')); $art = (isset($_POST['art'])?$_POST['art']:'lv'); @@ -79,6 +79,9 @@ $rechte->getBerechtigungen($user); if($rechte->isBerechtigt('admin')) $berechtigt=true; +if(!$berechtigt) + die('Sie haben keine Berechtigung für diese Seite'); + $lv = new lehrveranstaltung(); $lv->load($lvid); @@ -94,7 +97,7 @@ function togglediv() var block = "table-row"; if (navigator.appName.indexOf("Microsoft") > -1) block = "block"; - + if(document.getElementById("radiole").checked) document.getElementById("lehreinheitencheckboxen").style.display = block; else @@ -115,15 +118,15 @@ if(isset($_POST['neu'])) { echo ''.$p->t('benotungstool/bezeichnungMussEingegebenWerden').'
'; } - else + else { $lehrveranstaltung = new lehrveranstaltung(); $lehrveranstaltung->load($lvid); $studiengang = new studiengang(); $studiengang->load($lehrveranstaltung->studiengang_kz); - + $orgform = ($lehrveranstaltung->orgform_kurzbz!=''?$lehrveranstaltung->orgform_kurzbz:$studiengang->orgform_kurzbz); - + //Kurzbezeichnung generieren Format: STSEM-STG-SEM-LV/LEID/LEID/LEID... //$shortname = $stsem.'-'.$studiengang->kuerzel.'-'.$lehrveranstaltung->semester.'-'.$lehrveranstaltung->kurzbz; $shortname = $studiengang->kuerzel.'-'.$orgform.'-'.$lehrveranstaltung->semester.'-'.$stsem.'-'.$lehrveranstaltung->kurzbz; @@ -132,7 +135,7 @@ if(isset($_POST['neu'])) if($art=='lv') { $mdl_course = new moodle19_course(); - + $mdl_course->lehrveranstaltung_id = $lvid; $mdl_course->studiensemester_kurzbz = $stsem; $mdl_course->mdl_fullname = $_POST['bezeichnung']; @@ -140,18 +143,18 @@ if(isset($_POST['neu'])) $mdl_course->insertamum = date('Y-m-d H:i:s'); $mdl_course->insertvon = $user; $mdl_course->gruppen = isset($_POST['gruppen']); - + //Moodlekurs anlegen if($mdl_course->create_moodle()) { //Eintrag in der Vilesci DB $mdl_course->create_vilesci(); - + $mdl_user = new moodle19_user(); //Lektoren Synchronisieren if(!$mdl_user->sync_lektoren($mdl_course->mdl_course_id)) echo $mdl_user->errormsg; - + $mdl_user = new moodle19_user(); //Studenten Synchronisieren if(!$mdl_user->sync_studenten($mdl_course->mdl_course_id)) @@ -165,7 +168,7 @@ if(isset($_POST['neu'])) elseif($art=='le') //Getrennte Kurse fuer die Lehreinheiten { $lehreinheiten=array(); - + foreach ($_POST as $key=>$value) { if(mb_strstr($key, 'lehreinheit_')) @@ -174,11 +177,11 @@ if(isset($_POST['neu'])) $lehreinheiten[]=$value; } } - + if(count($lehreinheiten)>0) { $mdl_course = new moodle19_course(); - + $mdl_course->mdl_fullname = $_POST['bezeichnung']; $mdl_course->mdl_shortname = $shortname; $mdl_course->studiensemester_kurzbz = $stsem; @@ -197,24 +200,24 @@ if(isset($_POST['neu'])) if(!$mdl_course->create_vilesci()) echo '
'.$p->t('moodle/fehlerBeimAnlegenAufgetreten').':'.$mdl_course->errormsg; } - + $mdl_user = new moodle19_user(); //Lektoren Synchronisieren if(!$mdl_user->sync_lektoren($mdl_course->mdl_course_id)) echo $mdl_user->errormsg; - - $mdl_user = new moodle19_user(); + + $mdl_user = new moodle19_user(); //Studenten Synchronisieren if(!$mdl_user->sync_studenten($mdl_course->mdl_course_id)) echo $mdl_user->errormsg; } } - else + else { echo ''.$p->t('moodle/esMussMindestensEineLehreinheitMarkiertSein').'
'; } } - else + else die($p->t('moodle/artIstUnbekannt')); } } @@ -226,10 +229,10 @@ if(isset($_POST['changegruppe'])) $mcourse = new moodle19_course(); if($mcourse->updateGruppenSync($_POST['moodle_id'], isset($_POST['gruppen']))) echo ''.$p->t('moodle/datenWurdenAktualisiert').'
'; - else + else echo ''.$p->t('global/fehlerBeimAktualisierenDerDaten').''; } - else + else { echo ''.$p->t('moodle/esWurdeKeineGueltigeIdUebergeben').''; } @@ -245,12 +248,12 @@ if(isset($_GET['action']) && $_GET['action']=='createtestkurs') $lehrveranstaltung->load($lvid); $studiengang = new studiengang(); $studiengang->load($lehrveranstaltung->studiengang_kz); - + //$orgform = ($lehrveranstaltung->orgform_kurzbz!=''?$lehrveranstaltung->orgform_kurzbz:$studiengang->orgform_kurzbz); - + //Kurzbezeichnung generieren Format: STSEM-STG-SEM-LV/LEID/LEID/LEID... $shortname = 'TK-'.$stsem.'-'.$studiengang->kuerzel.'-'.$lehrveranstaltung->semester.'-'.$lehrveranstaltung->kurzbz; - + $mdl_course->lehrveranstaltung_id = $lvid; $mdl_course->studiensemester_kurzbz = $stsem; $mdl_course->mdl_fullname = 'Testkurs - '.$lehrveranstaltung->bezeichnung; @@ -261,7 +264,7 @@ if(isset($_GET['action']) && $_GET['action']=='createtestkurs') { $id=$mdl_course->mdl_course_id; $errormsg=''; - + $mdl_user = new moodle19_user(); //Lektoren zuweisen if(!$mdl_user->sync_lektoren($id, $lvid, $stsem)) @@ -269,14 +272,14 @@ if(isset($_GET['action']) && $_GET['action']=='createtestkurs') //Teststudenten zuweisen if(!$mdl_user->createTestStudentenZuordnung($id)) $errormsg.=$p->t('moodle/fehlerBeiDerStudentenZuordnung').':'.$mdl_user->errormsg.'
'; - + if($errormsg!='') echo $errormsg; else echo ''.$p->t('moodle/testkursWurdeErfolgreichAngelegt').'
'; } } - else + else { echo ''.$p->t('moodle/esExistiertBereitsEinTestkurs').'
'; } @@ -292,12 +295,12 @@ if(isset($_GET['action']) && $_GET['action']=='createtestkurs24') $lehrveranstaltung->load($lvid); $studiengang = new studiengang(); $studiengang->load($lehrveranstaltung->studiengang_kz); - + //$orgform = ($lehrveranstaltung->orgform_kurzbz!=''?$lehrveranstaltung->orgform_kurzbz:$studiengang->orgform_kurzbz); - + //Kurzbezeichnung generieren Format: STSEM-STG-SEM-LV/LEID/LEID/LEID... $shortname = 'TK-'.$stsem.'-'.$studiengang->kuerzel.'-'.$lehrveranstaltung->semester.'-'.$lehrveranstaltung->kurzbz; - + $mdl_course24->lehrveranstaltung_id = $lvid; $mdl_course24->studiensemester_kurzbz = $stsem; $mdl_course24->mdl_fullname = 'Testkurs - '.$lehrveranstaltung->bezeichnung; @@ -308,7 +311,7 @@ if(isset($_GET['action']) && $_GET['action']=='createtestkurs24') { $id=$mdl_course24->mdl_course_id; $errormsg=''; - + $mdl_user24 = new moodle24_user(); //Lektoren zuweisen if(!$mdl_user24->sync_lektoren($id, $lvid, $stsem)) @@ -316,14 +319,14 @@ if(isset($_GET['action']) && $_GET['action']=='createtestkurs24') //Teststudenten zuweisen if(!$mdl_user24->createTestStudentenZuordnung($id)) $errormsg.=$p->t('moodle/fehlerBeiDerStudentenZuordnung').':'.$mdl_user24->errormsg.'
'; - + if($errormsg!='') echo $errormsg; else echo ''.$p->t('moodle/testkursWurdeErfolgreichAngelegt').'
'; } } - else + else { echo ''.$p->t('moodle/esExistiertBereitsEinTestkurs').'
'; } @@ -336,12 +339,12 @@ if($moodle->course_exists_for_lv($lvid, $stsem) || $moodle->course_exists_for_al { echo $p->t('moodle/esIstBereitsEinMoodleKursVorhanden'); } -else +else { //wenn bereits ein Moodle Kurs fuer eine Lehreinheit angelegt wurde, dann dass //anlegen fuer die Lehrveranstaltung verhindern - $qry = "SELECT 1 FROM lehre.tbl_moodle - WHERE lehreinheit_id in(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit + $qry = "SELECT 1 FROM lehre.tbl_moodle + WHERE lehreinheit_id in(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id=".$db->db_add_param($lvid)." AND studiensemester_kurzbz=".$db->db_add_param($stsem).")"; $disable_lv=''; @@ -360,7 +363,7 @@ else einen Moodle Kurs für die gesamte LV anlegen
einen Moodle Kurs für einzelne Lehreinheiten anlegen '; - + $le = new lehreinheit(); $le->load_lehreinheiten($lv->lehrveranstaltung_id, $stsem); echo ''; - + $studiengang = new studiengang(); $studiengang->load($lv->studiengang_kz); $orgform = ($lv->orgform_kurzbz!=''?$lv->orgform_kurzbz:$studiengang->orgform_kurzbz); $longbezeichnung = $studiengang->kuerzel.'-'.$orgform.'-'.$lv->semester.'-'.$stsem.' - '.$lv->bezeichnung; - + echo '
'.$p->t('moodle/kursbezeichnung').': '; echo '
'.$p->t('moodle/gruppenUebernehmen').': '; echo '

@@ -452,7 +455,7 @@ if($mdlcourse->loadTestkurs($lvid, $stsem)) { echo ''.$mdlcourse->mdl_fullname.''; } -else +else { echo "".$p->t('moodle/klickenSieHierUmTestkursErstellen').""; } @@ -463,7 +466,7 @@ if($mdlcourse24->loadTestkurs($lvid, $stsem)) { echo ''.$mdlcourse24->mdl_fullname.''; } -else +else { echo "".$p->t('moodle/klickenSieHierUmTestkursErstellen24').""; } diff --git a/cis/private/pdfExport.php b/cis/private/pdfExport.php index 1ce3c0029..d791768da 100644 --- a/cis/private/pdfExport.php +++ b/cis/private/pdfExport.php @@ -160,7 +160,7 @@ if (isset($_GET['output']) && $_GET['output']!='pdf') else $output = $_GET['output']; } -else +else $output = 'pdf'; @@ -248,7 +248,8 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin')) $buffer = $proc->transformToXml($xml_doc); //echo $buffer; //exit; - $tempfolder = '/tmp/'.uniqid(); + $tmp = sys_get_temp_dir(); + $tempfolder = $tmp.'/FHC'.uniqid(); mkdir($tempfolder); chdir($tempfolder); file_put_contents('content.xml', $buffer); @@ -388,8 +389,8 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin')) fclose($handle); unlink('content.xml'); - if(isset($_GET['style_xsl'])) - unlink('styles.xml'); + if(file_exists('styles.xml')) + unlink('styles.xml'); unlink($tempname_zip); if($output=='pdf' || $output=='doc') unlink($tempPdfName); diff --git a/content/pdfExport.php b/content/pdfExport.php index 7f0abbe53..4ed918c74 100644 --- a/content/pdfExport.php +++ b/content/pdfExport.php @@ -409,7 +409,8 @@ if (!isset($_REQUEST["archive"])) $buffer = $proc->transformToXml($xml_doc); //echo $buffer; //exit; - $tempfolder = '/tmp/'.uniqid(); + $tmp = sys_get_temp_dir(); + $tempfolder = $tmp.'/FHC'.uniqid(); mkdir($tempfolder); chdir($tempfolder); file_put_contents('content.xml', $buffer); @@ -672,7 +673,8 @@ else $buffer = $proc->transformToXml($xml_doc); //echo $buffer; //exit; - $tempfolder = '/tmp/'.uniqid(); + $tmp = sys_get_temp_dir(); + $tempfolder = $tmp.'/FHC'.uniqid(); mkdir($tempfolder); chdir($tempfolder); file_put_contents('content.xml', $buffer); @@ -766,7 +768,8 @@ else { echo('Failed to generate PDF'); } - $file = "/tmp/".$filename.".pdf"; + $tmp = sys_get_temp_dir(); + $file = $tmp."/FHC".$filename.".pdf"; } } diff --git a/include/benutzerberechtigung.class.php b/include/benutzerberechtigung.class.php index f5b158d17..2868853e9 100644 --- a/include/benutzerberechtigung.class.php +++ b/include/benutzerberechtigung.class.php @@ -1059,17 +1059,17 @@ class benutzerberechtigung extends basis_db } } } - + /** * Laedt die Benutzer zu einer Berechtigung. Wenn $inklusiveRollen true ist (default), wird ein UNION mit der tbl_rolleberechtigung ausgefuehrt - * + * * @param string $berechtigung_kurzbz Kurzbezeichnung der Berechtigung, deren Rollen geladen werden sollen * @param boolean $inklusiveRollen Default TRUE. Wenn true, wird ein UNION SELECT mit der tbl_rolleberechtigung ausgefuehrt - * @return boolean true wenn ok, false im Fehlerfall + * @return boolean true wenn ok, false im Fehlerfall */ - public function getBenutzerFromBerechtigung($berechtigung_kurzbz, $inklusiveRollen = true) + public function getBenutzerFromBerechtigung($berechtigung_kurzbz, $inklusiveRollen = true, $oe_kurzbz = null) { - $qry = "SELECT + $qry = "SELECT benutzerberechtigung_id, rolle_kurzbz, funktion_kurzbz, @@ -1078,11 +1078,16 @@ class benutzerberechtigung extends basis_db berechtigung_kurzbz, start, ende - FROM - system.tbl_benutzerrolle - WHERE + FROM + system.tbl_benutzerrolle + WHERE berechtigung_kurzbz = ".$this->db_add_param($berechtigung_kurzbz); - + + if(!is_null($oe_kurzbz)) + { + $qry.=" AND oe_kurzbz=".$this->db_add_param($oe_kurzbz); + } + if ($inklusiveRollen == true) { $qry .= " UNION SELECT @@ -1126,7 +1131,7 @@ class benutzerberechtigung extends basis_db return false; } } - + /** * Laedt die Benutzer zu einer Rolle. * @@ -1143,13 +1148,13 @@ class benutzerberechtigung extends basis_db rolle_kurzbz = ".$this->db_add_param($rolle_kurzbz); $qry.= " ORDER BY rolle_kurzbz NULLS LAST, funktion_kurzbz NULLS LAST, uid"; - + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) { $obj = new benutzerberechtigung(); - + $obj->benutzerberechtigung_id = $row->benutzerberechtigung_id; $obj->rolle_kurzbz = $row->rolle_kurzbz; $obj->berechtigung_kurzbz = $row->berechtigung_kurzbz; @@ -1167,7 +1172,7 @@ class benutzerberechtigung extends basis_db $obj->insertvon = $row->insertvon; $obj->kostenstelle_id = $row->kostenstelle_id; $obj->anmerkung = $row->anmerkung; - + $this->result[] = $obj; } return true; diff --git a/include/dokument_export.class.php b/include/dokument_export.class.php index ede3a6153..624866ad0 100644 --- a/include/dokument_export.class.php +++ b/include/dokument_export.class.php @@ -36,6 +36,7 @@ class dokument_export private $images=array(); private $sourceDir; public $errormsg; + private $unoconv_version; /** * Konstruktor @@ -45,6 +46,12 @@ class dokument_export if(!isset($vorlage)) return; + exec('unoconv --version',$ret_arr); + if(isset($ret_arr[0])) + $this->unoconv_version = explode(' ',$ret_arr[0])[1]; + else + die('Unoconv not found'); + //Vorlage aus der Datenbank holen $this->vorlage = new vorlage(); if(!$this->vorlage->getAktuelleVorlage($oe_kurzbz, $vorlage, $version)) @@ -261,7 +268,14 @@ class dokument_export case 'doc': $this->temp_filename = $this->temp_folder . '/out.' . $this->outputformat; - $command = 'unoconv -e IsSkipEmptyPages=false -f ' . $this->outputformat . ' --output %s %s 2>&1'; + // Unoconv Version 0.6 hat eine Bug wodurch die Berechtigungen des PDF/Doc nicht korrekt gesetzt + // werden. Deshalb wird dies hier speziell behandelt. + // Die 2. Variante hat den Vorteil dass hier eine bessere Fehlerbehandlung moeglich ist + if($this->unoconv_version=='0.6') + $command = 'unoconv -e IsSkipEmptyPages=false -f ' . $this->outputformat . ' %2$s > %1$s'; + else + $command = 'unoconv -e IsSkipEmptyPages=false -f ' . $this->outputformat . ' --output %s %s 2>&1'; + $command = sprintf($command, $this->temp_filename, $tempname_zip); exec($command, $out, $ret); @@ -411,7 +425,10 @@ class dokument_export */ public function convert($inFile, $outFile, $format = "pdf") { - $command = 'unoconv -f %s --output %s %s 2>&1'; + if($this->unoconv_version=='0.6') + $command = 'unoconv -f %1$s %3$s > %2$s'; + else + $command = 'unoconv -f %s --output %s %s 2>&1'; $command = sprintf($command, $format, $outFile, $inFile); exec($command, $out, $ret); diff --git a/include/moodle24_course.class.php b/include/moodle24_course.class.php index 888d84eb7..9b012ef11 100644 --- a/include/moodle24_course.class.php +++ b/include/moodle24_course.class.php @@ -401,6 +401,7 @@ class moodle24_course extends basis_db $stsem->load($this->studiensemester_kurzbz); $datum_obj = new datum(); $data->startdate=$datum_obj->mktime_fromdate($stsem->start); + $data->enddate=$datum_obj->mktime_fromdate($stsem->ende); $response = $client->core_course_create_courses(array($data)); if(isset($response[0])) diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index 895cb2cef..ba82a46e5 100755 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -231,13 +231,7 @@ $menu=array 'Cronjobs'=>array('name'=>'Cronjobs', 'link'=>'stammdaten/cronjobverwaltung.php', 'target'=>'main','permissions'=>array('basis/cronjob')), 'Vorlagen'=>array('name'=>'Vorlagen', 'link'=>'../index.ci.php/system/Vorlage', 'target'=>'main','permissions'=>array('basis/cronjob')), 'Phrasen'=>array('name'=>'Phrasen', 'link'=>'../index.ci.php/system/Phrases', 'target'=>'main','permissions'=>array('basis/cronjob')) - ), - 'SD-Tools'=> array - ( - 'name'=>'SD-Tools', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('sdTools'), 'image'=>'vilesci_sdtools.png', - 'link'=>'https://sdtools.technikum-wien.at', 'target'=>'_blank', ) - ); require_once(dirname(__FILE__).'/../statistik.class.php'); @@ -261,6 +255,8 @@ if($addon_obj->loadAddons()) foreach($addon_obj->result as $row) { $menu['Addons'][$row->kurzbz]=array('name'=>$row->addon_name, 'link'=>'../addons/'.$row->kurzbz.'/vilesci/index.php', 'target'=>'main'); + if(file_exists('../addons/'.$row->kurzbz.'/vilesci/menu.inc.php')) + include('../addons/'.$row->kurzbz.'/vilesci/menu.inc.php'); } } } diff --git a/skin/images/vilesci_sdtools.png b/skin/images/vilesci_sdtools.png deleted file mode 100644 index 565f406dd..000000000 Binary files a/skin/images/vilesci_sdtools.png and /dev/null differ diff --git a/system/environment.php b/system/environment.php index ea94ccd8e..dc4e6b992 100644 --- a/system/environment.php +++ b/system/environment.php @@ -73,20 +73,20 @@ echo ' '; // Apache -printVersion("Apache", apache_get_version()); +printValue("Apache", apache_get_version()); // PHP version -printVersion("php", phpversion()); +printValue("php", version_compare(phpversion(),'5.6','>='), 'minimum php 5.6 required'); // PHP module -printVersion("php-xsl", phpversion('xsl')); -printVersion("php-gd", phpversion('gd')); -printVersion("php-pgsql", phpversion('pgsql')); -printVersion("php-ldap", phpversion('ldap')); -printVersion("php-mcrypt", phpversion('mcrypt')); -printVersion("php-mbstring", phpversion('mbstring')); -printVersion("php-soap", phpversion('soap')); -printVersion("php-curl", phpversion('curl')); +printValue("php-xsl", extension_loaded('xsl')); +printValue("php-gd", extension_loaded('gd')); +printValue("php-pgsql", extension_loaded('pgsql')); +printValue("php-ldap", extension_loaded('ldap')); +printValue("php-mcrypt", extension_loaded('mcrypt')); +printValue("php-mbstring", extension_loaded('mbstring')); +printValue("php-soap", extension_loaded('soap')); +printValue("php-curl", extension_loaded('curl')); // Unoconv version $returnArray = array(); @@ -94,50 +94,45 @@ exec('unoconv --version',$returnArray); if(isset($returnArray[0])) $unoconvVersion = explode(' ',$returnArray[0])[1]; else - $unoconvVersion = null; + $unoconvVersion = false; -printVersion("Unoconv", $unoconvVersion, "0.7"); +printValue("Unoconv", $unoconvVersion, "0.7"); // Codeigniter Environment Variable CI_ENV $CI_ENV = getenv('CI_ENV'); -printVersion("CI_ENV", $CI_ENV); +printValue("CI_ENV", ($CI_ENV!=''?$CI_ENV:false),'not set -> defaults to development'); // ZIP -printVersion("zip", checkInstalled('zip')); +printValue("zip", checkInstalled('zip')); // Composer -printVersion("composer", checkInstalled('composer')); +printValue("composer", checkInstalled('composer')); // Composer / Vendor $vendorFileExists = file_exists('../vendor/codeigniter/framework/index.php'); -printVersion("Composer Status", ($vendorFileExists?'ok':'out of date')); +printValue("Composer Status", $vendorFileExists, 'out of date'); // Config Files $ConfigExists = file_exists('../config/cis.config.inc.php'); if(!$ConfigExists) $ConfigExists = file_exists('../config/vilesci.config.inc.php'); -printVersion("ConfigFile CIS/Vilesci", ($ConfigExists?'ok':'missing')); +printValue("ConfigFile CIS/Vilesci", $ConfigExists); $ConfigExists = file_exists('../config/global.config.inc.php'); -printVersion("ConfigFile Global", ($ConfigExists?'ok':'missing')); +printValue("ConfigFile Global", $ConfigExists); if($CI_ENV == '') - $CI_ENV = 'production'; + $CI_ENV = 'development'; $ConfigExists = file_exists('../application/config/'.$CI_ENV.'/config.php'); -printVersion("ConfigFile Codeigniter", ($ConfigExists?'ok':'missing')); +printValue("ConfigFile Codeigniter", $ConfigExists); // Htaccess Files -$htaccessExists = file_exists('../cis/private/.htaccess'); -printVersion("htaccess File CIS", ($htaccessExists?'ok':'missing')); -$htaccessExists = file_exists('../content/.htaccess'); -printVersion("htaccess File Content", ($htaccessExists?'ok':'missing')); -$htaccessExists = file_exists('../vilesci/.htaccess'); -printVersion("htaccess File Vilesci", ($htaccessExists?'ok':'missing')); -$htaccessExists = file_exists('../system/.htaccess'); -printVersion("htaccess File System", ($htaccessExists?'ok':'missing')); -$htaccessExists = file_exists('../rdf/.htaccess'); -printVersion("htaccess File RDF", ($htaccessExists?'ok':'missing')); +printValue("htaccess File CIS", file_exists('../cis/private/.htaccess'), 'missing htaccess File'); +printValue("htaccess File Content", file_exists('../content/.htaccess'), 'missing htaccess File'); +printValue("htaccess File Vilesci", file_exists('../vilesci/.htaccess'), 'missing htaccess File'); +printValue("htaccess File System", file_exists('../system/.htaccess'), 'missing htaccess File'); +printValue("htaccess File RDF", file_exists('../rdf/.htaccess'), 'missing htaccess File'); echo ' @@ -145,24 +140,24 @@ echo ' '; -function printVersion($module, $currentVersion, $expectedVersion = '') +function printValue($module, $status_ok, $message='') { - $failed = false; - - if ($currentVersion == null) - $failed = true; - - if ($currentVersion == '') - $currentVersion = 'missing'; - if ($expectedVersion != '' && $currentVersion != $expectedVersion) - $failed = true; + if(!is_bool($status_ok)) + { + $output = $status_ok; + $status_ok = true; + } + else + { + $output = ($status_ok?'ok':'failed'); + } echo ' '.$module.' - '.$currentVersion.''; - if($failed && $expectedVersion != '') - echo ' (should be '.$expectedVersion.')'; + '.$output.''; + if(!$status_ok && $message!='') + echo ' '.$message; echo ''; echo ''; }