From 12c6c7207dae166a15ab03ba2c804f42932567a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 4 Jul 2011 13:47:38 +0000 Subject: [PATCH] =?UTF-8?q?-=20Anpassungen=20Men=C3=BC=20Addons=20-=20Revi?= =?UTF-8?q?ew=20Button=20setzt=20Content=20jetzt=20sichtbar=20-=20=C3=9Cbe?= =?UTF-8?q?rarbeitung=20=20CMS=20Handbuch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cms/admin.php | 289 +++++++++--------- cms/menu.inc.php | 23 +- cms/menu/menu_addon.class.php | 74 ++++- cms/menu/menu_addon_freifaecher.inc.php | 73 +++++ .../menu_addon_lehrveranstaltungen.inc.php | 51 +++- cms/menu/menu_addon_meinelv.inc.php | 37 ++- cms/menu/menu_addon_test.inc.php | 32 +- cms/menu/menu_addon_urlaub.inc.php | 91 ++++++ cms/menu/menu_addon_zeitsperren.inc.php | 26 +- locale/cms/de-AT/menu.php | 10 + locale/cms/en-US/menu.php | 10 + 11 files changed, 549 insertions(+), 167 deletions(-) create mode 100755 cms/menu/menu_addon_freifaecher.inc.php create mode 100755 cms/menu/menu_addon_urlaub.inc.php create mode 100755 locale/cms/de-AT/menu.php create mode 100755 locale/cms/en-US/menu.php diff --git a/cms/admin.php b/cms/admin.php index 207e6b8a8..3635d9f81 100644 --- a/cms/admin.php +++ b/cms/admin.php @@ -134,6 +134,7 @@ if(!is_null($method)) switch($method) { case 'content_sperre': + //Sperren und Freigeben von Content if(!isset($_GET['contentsprache_id'])) die('Falsche Parameteruebergabe'); @@ -166,6 +167,7 @@ if(!is_null($method)) } break; case 'add_new_content': + //Anlegen von neuem Content if(!$rechte->isBerechtigt('basis/cms', null, 'sui')) { $message.='Sie haben keine Berechtigung fuer diese Aktion'; @@ -214,6 +216,7 @@ if(!is_null($method)) break; case 'add_uebersetzung': + //Anlegen von Uebersetzungen if(!$rechte->isBerechtigt('basis/cms', null, 'sui')) { $message.='Sie haben keine Berechtigung fuer diese Aktion'; @@ -245,6 +248,7 @@ if(!is_null($method)) break; case 'add_newversion': + //Neue Version anlegen if(!$rechte->isBerechtigt('basis/cms', null, 'sui')) { $message.='Sie haben keine Berechtigung fuer diese Aktion'; @@ -277,6 +281,7 @@ if(!is_null($method)) break; case 'rights_add_group': + //Gruppe fuer Berechtigung hinzufuegen if(!$rechte->isBerechtigt('basis/cms', null, 'su')) { $message.='Sie haben keine Berechtigung fuer diese Aktion'; @@ -299,6 +304,7 @@ if(!is_null($method)) break; case 'rights_delete_group': + //Gruppe fuer Berechtigung entfernen if(!$rechte->isBerechtigt('basis/cms', null, 'su')) { $message.='Sie haben keine Berechtigung fuer diese Aktion'; @@ -316,6 +322,7 @@ if(!is_null($method)) break; case 'prefs_save': + //Einstellungen speichern if(!$rechte->isBerechtigt('basis/cms', null, 'su')) { $message.='Sie haben keine Berechtigung fuer diese Aktion'; @@ -355,160 +362,165 @@ if(!is_null($method)) $message.=''.$content->errormsg.''; break; case 'prefs_reviewed': - $bf = new benutzerfunktion(); - if($bf->benutzerfunktion_exists($user, 'review')) - { - $content = new content(); - $content->getContent($content_id, $sprache, $version); - - $content->reviewamum = date('Y-m-d H:i:s'); - $content->reviewvon = $user; - - if($content->saveContentSprache(false)) - $message.='Erfolgreich reviewed'; - else - $message.=''.$content->errormsg.''; - } - else - { - $message.='Sie dürfen kein Review durchführen'; - } - break; - case 'prefs_requestreview': + //Review und sichtbar schalten + $bf = new benutzerfunktion(); + if($bf->benutzerfunktion_exists($user, 'review') || $rechte->isBerechtigt('basis/cms_review')) + { $content = new content(); $content->getContent($content_id, $sprache, $version); + + $content->reviewamum = date('Y-m-d H:i:s'); + $content->reviewvon = $user; + $content->sichtbar = true; + + if($content->saveContentSprache(false)) + $message.='Erfolgreich reviewed'; + else + $message.=''.$content->errormsg.''; + } + else + { + $message.='Sie dürfen kein Review durchführen'; + } + break; + case 'prefs_requestreview': + //Review beantragen + $content = new content(); + $content->getContent($content_id, $sprache, $version); - $oe = new organisationseinheit(); - $oe_arr = $oe->getParents($content->oe_kurzbz); - - foreach($oe_arr as $organisationseinheit) - { - echo $organisationseinheit; - $fkt = new benutzerfunktion(); - $fkt->getBenutzerFunktionen('review', $organisationseinheit); - if(count($fkt->result)>0) - break; - } - - if(count($fkt->result)==0) - $fkt->getBenutzerFunktionen('review'); - $to=''; - foreach($fkt->result as $row) - { - if($to!='') - $to.=','; - $to .= $row->uid.'@'.DOMAIN; - } + $oe = new organisationseinheit(); + $oe_arr = $oe->getParents($content->oe_kurzbz); + + foreach($oe_arr as $organisationseinheit) + { + echo $organisationseinheit; + $fkt = new benutzerfunktion(); + $fkt->getBenutzerFunktionen('review', $organisationseinheit); + if(count($fkt->result)>0) + break; + } + + if(count($fkt->result)==0) + $fkt->getBenutzerFunktionen('review'); + $to=''; + foreach($fkt->result as $row) + { if($to!='') + $to.=','; + $to .= $row->uid.'@'.DOMAIN; + } + if($to!='') + { + $from = 'no-reply@'.DOMAIN; + $subject = 'CMS Review Request'; + $text = "Dies ist eine automatisch generierte E-Mail.\n\n + Es wurde ein Review für die Seite '$content->titel' ($sprache, Version $version) angefordert.\n + \n + (um den Link anzuzeigen müssen Sie in die HTML Ansicht wechseln) + \n + \n + Mit freundlichen Grüßen\n + \n + FH Technikum Wien\n + Hoechstaedtplatz 5, 1200 Wien, AUSTRIA"; + $texthtml = "Dies ist eine automatisch generierte E-Mail.

+ Es wurde ein Review für die Seite '$content->titel' ($sprache, Version $version) angefordert.
+
+ content_id."&sprache=$sprache&version=$version&action=content\">zum Artikel +
+
+ Mit freundlichen Grüßen
+
+ FH Technikum Wien
+ Hoechstaedtplatz 5, 1200 Wien, AUSTRIA + "; + + $mail = new mail($to, $from, $subject, $text); + $mail->setHTMLContent($texthtml); + if($mail->send()) { - $from = 'no-reply@'.DOMAIN; - $subject = 'CMS Review Request'; - $text = "Dies ist eine automatisch generierte E-Mail.\n\n - Es wurde ein Review für die Seite '$content->titel' ($sprache, Version $version) angefordert.\n - \n - (um den Link anzuzeigen müssen Sie in die HTML Ansicht wechseln) - \n - \n - Mit freundlichen Grüßen\n - \n - FH Technikum Wien\n - Hoechstaedtplatz 5, 1200 Wien, AUSTRIA"; - $texthtml = "Dies ist eine automatisch generierte E-Mail.

- Es wurde ein Review für die Seite '$content->titel' ($sprache, Version $version) angefordert.
-
- content_id."&sprache=$sprache&version=$version&action=content\">zum Artikel -
-
- Mit freundlichen Grüßen
-
- FH Technikum Wien
- Hoechstaedtplatz 5, 1200 Wien, AUSTRIA - "; - - $mail = new mail($to, $from, $subject, $text); - $mail->setHTMLContent($texthtml); - if($mail->send()) - { - $message.='Review Anforderung wurde an '.$to.' versendet'; - } - else - { - $message.='Fehler beim Senden des Mails an '.$to.''; - } + $message.='Review Anforderung wurde an '.$to.' versendet'; } else { - $message.='Es ist kein Review Team vorhanden'; + $message.='Fehler beim Senden des Mails an '.$to.''; } + } + else + { + $message.='Es ist kein Review Team vorhanden'; + } break; case 'prefs_requesttranslate': - $content = new content(); - $content->getContent($content_id, $sprache, $version); + //Uebersetzer Informieren + $content = new content(); + $content->getContent($content_id, $sprache, $version); - $oe = new organisationseinheit(); - $oe_arr = $oe->getParents($content->oe_kurzbz); - - foreach($oe_arr as $organisationseinheit) - { - echo $organisationseinheit; - $fkt = new benutzerfunktion(); - $fkt->getBenutzerFunktionen('translate', $organisationseinheit); - if(count($fkt->result)>0) - break; - } - - if(count($fkt->result)==0) - $fkt->getBenutzerFunktionen('translate'); - $to=''; - foreach($fkt->result as $row) - { - if($to!='') - $to.=','; - $to .= $row->uid.'@'.DOMAIN; - } + $oe = new organisationseinheit(); + $oe_arr = $oe->getParents($content->oe_kurzbz); + + foreach($oe_arr as $organisationseinheit) + { + echo $organisationseinheit; + $fkt = new benutzerfunktion(); + $fkt->getBenutzerFunktionen('translate', $organisationseinheit); + if(count($fkt->result)>0) + break; + } + + if(count($fkt->result)==0) + $fkt->getBenutzerFunktionen('translate'); + $to=''; + foreach($fkt->result as $row) + { if($to!='') + $to.=','; + $to .= $row->uid.'@'.DOMAIN; + } + if($to!='') + { + $from = 'no-reply@'.DOMAIN; + $subject = 'CMS Review Request'; + $text = "Dies ist eine automatisch generierte E-Mail.\n\n + Es wurde ein Artikel angelegt/bearbeitet. Dieser kann nun übersetzt werden: '$content->titel'.\n + \n + (um den Link anzuzeigen müssen Sie in die HTML Ansicht wechseln) + \n + \n + Mit freundlichen Grüßen\n + \n + FH Technikum Wien\n + Hoechstaedtplatz 5, 1200 Wien, AUSTRIA"; + $texthtml = "Dies ist eine automatisch generierte E-Mail.

+ Es wurde ein Artikel angelegt/bearbeitet. Dieser kann nun übersetzt werden: '$content->titel'
+
+ content_id."&sprache=$sprache&version=$version)&action=content\">zum Artikel +
+
+ Mit freundlichen Grüßen
+
+ FH Technikum Wien
+ Hoechstaedtplatz 5, 1200 Wien, AUSTRIA + "; + + $mail = new mail($to, $from, $subject, $text); + $mail->setHTMLContent($texthtml); + if($mail->send()) { - $from = 'no-reply@'.DOMAIN; - $subject = 'CMS Review Request'; - $text = "Dies ist eine automatisch generierte E-Mail.\n\n - Es wurde ein Artikel angelegt/bearbeitet. Dieser kann nun übersetzt werden: '$content->titel'.\n - \n - (um den Link anzuzeigen müssen Sie in die HTML Ansicht wechseln) - \n - \n - Mit freundlichen Grüßen\n - \n - FH Technikum Wien\n - Hoechstaedtplatz 5, 1200 Wien, AUSTRIA"; - $texthtml = "Dies ist eine automatisch generierte E-Mail.

- Es wurde ein Artikel angelegt/bearbeitet. Dieser kann nun übersetzt werden: '$content->titel'
-
- content_id."&sprache=$sprache&version=$version)&action=content\">zum Artikel -
-
- Mit freundlichen Grüßen
-
- FH Technikum Wien
- Hoechstaedtplatz 5, 1200 Wien, AUSTRIA - "; - - $mail = new mail($to, $from, $subject, $text); - $mail->setHTMLContent($texthtml); - if($mail->send()) - { - $message.='Übersetzungsanforderung wurde an '.$to.' versendet'; - } - else - { - $message.='Fehler beim Senden des Mails an '.$to.''; - } + $message.='Übersetzungsanforderung wurde an '.$to.' versendet'; } else { - $message.='Es ist kein Übersetzer eingetragen'; + $message.='Fehler beim Senden des Mails an '.$to.''; } + } + else + { + $message.='Es ist kein Übersetzer eingetragen'; + } break; case 'childs_add': + //Untereintraege zuordnen if(!$rechte->isBerechtigt('basis/cms', null, 'su')) { $message.='Sie haben keine Berechtigung fuer diese Aktion'; @@ -528,6 +540,7 @@ if(!is_null($method)) $message.=''.$content->errormsg.''; break; case 'childs_delete': + //Untereintraege entfernen if(!$rechte->isBerechtigt('basis/cms', null, 'su')) { $message.='Sie haben keine Berechtigung fuer diese Aktion'; @@ -549,6 +562,7 @@ if(!is_null($method)) } break; case 'childs_sort_up': + //hochsortieren von Untereintraegen if(!$rechte->isBerechtigt('basis/cms', null, 'su')) { $message.='Sie haben keine Berechtigung fuer diese Aktion'; @@ -570,6 +584,7 @@ if(!is_null($method)) } break; case 'childs_sort_down': + //runtersortieren von Untereintraegen if(!$rechte->isBerechtigt('basis/cms', null, 'su')) { $message.='Sie haben keine Berechtigung fuer diese Aktion'; @@ -935,7 +950,7 @@ function print_childs() */ function print_prefs() { - global $content_id, $sprache, $version, $user; + global $content_id, $sprache, $version, $user, $rechte; $content = new content(); if(!$content->getContent($content_id, $sprache, $version)) @@ -1019,8 +1034,8 @@ function print_prefs() echo '      '; echo ''; $bf = new benutzerfunktion(); - if($bf->benutzerfunktion_exists($user, 'review')) - echo ''; + if($bf->benutzerfunktion_exists($user, 'review') || $rechte->isBerechtigt('basis/cms_review')) + echo ''; echo ''; diff --git a/cms/menu.inc.php b/cms/menu.inc.php index 5e42f8ae8..15522f8d0 100755 --- a/cms/menu.inc.php +++ b/cms/menu.inc.php @@ -25,6 +25,14 @@ require_once(dirname(__FILE__).'/../include/functions.inc.php'); require_once(dirname(__FILE__).'/../include/content.class.php'); +//Parameter fuer Redirect URLS +$params = array(); +foreach($_REQUEST as $key=>$value) + $params[$key]=$value; + +//Parameter fuer Include Addons +$includeparams = array(); + /** * Zeichnet einen Menueeintrag aus dem CMS System * @@ -143,7 +151,8 @@ function DrawLink($link, $target, $name, $content_id=null) */ function Redirect($content_id, $name) { - global $sprache; + global $sprache, $params; + $content = new content(); $content->getContent($content_id, $sprache, null, true, true); @@ -159,7 +168,7 @@ function Redirect($content_id, $name) $url=''; //Variablen Ersetzen - foreach($_REQUEST as $key=>$value) + foreach($params as $key=>$value) { $url = str_replace('$'.$key,addslashes($value),$url); } @@ -180,7 +189,7 @@ function Redirect($content_id, $name) */ function IncludeMenuAddon($content_id) { - global $sprache; + global $sprache, $includeparams; $content = new content(); $content->getContent($content_id, $sprache, null, true, true); @@ -195,11 +204,7 @@ function IncludeMenuAddon($content_id) $url=''; if($url!='') { - DrawLink('#open','_self',$content->titel,$content_id); - echo ' -
'; - include(dirname(__FILE__).'/menu/'.$url); - echo '
'; - + $includeparams['content']=$content; + include(dirname(__FILE__).'/menu/'.$url); } } \ No newline at end of file diff --git a/cms/menu/menu_addon.class.php b/cms/menu/menu_addon.class.php index 0c3a57599..25fada51d 100755 --- a/cms/menu/menu_addon.class.php +++ b/cms/menu/menu_addon.class.php @@ -17,35 +17,95 @@ * * Authors: Andreas Oesterreicher */ +/** + * Basisklasse fuer Menue Addons + * + * Diese Klasse dient als Basisklasse fuer alle Menue Addons des CMS Systems + */ require_once(dirname(__FILE__).'/../../include/basis_db.class.php'); class menu_addon extends basis_db { - protected $items=array(); //title, link, target, name + /** + * Konfigurationsarray fuer die Linkliste + * $items[0] = array ('title'=>'title des links', + * 'link'=>'url des links', + * 'target'=>'target des links', + * 'name'=>'Anzeigename des Links'); + */ + protected $items=array(); + + /** + * HTML Code fuer direkte Ausgabe + */ protected $block; + /** + * Wenn true, wird der HauptLink im Menue angezeigt, sonst nicht + */ + protected $link=true; + + /** + * Konfigurationsarray fuer den HauptLink + * array ('name'=>'name des links', + * 'link'=>'url des links', + * 'target'=>'target des links', + * 'content_id'=>'content_id des submenues das aufklappen soll'); + */ + protected $linkitem = array(); + /** * Konstruktor */ public function __construct() { + global $includeparams; + + $content = $includeparams['content']; + + $this->linkitem = array('name'=>$content->titel, + 'link'=>'#open', + 'target'=>'_self', + 'content_id'=>$content->content_id); } + /** + * Ausgabe der Daten + */ + public function output() + { + global $includeparams; + $content = $includeparams['content']; + + if($this->link) + DrawLink($this->linkitem['link'],$this->linkitem['target'],$this->linkitem['name'],$this->linkitem['content_id']); + echo ' +
'; + + $this->outputBlock(); + $this->outputItems(); + + echo '
'; + } + /** * Gibt alle Items als Linkliste aus * */ public function outputItems() { - echo ''; } /** diff --git a/cms/menu/menu_addon_freifaecher.inc.php b/cms/menu/menu_addon_freifaecher.inc.php new file mode 100755 index 000000000..ded28e433 --- /dev/null +++ b/cms/menu/menu_addon_freifaecher.inc.php @@ -0,0 +1,73 @@ + + */ +/** + * Menue Addon fuer die Darstellung der Freifaecher + * + * Es wird eine Link-Liste mit allen aktuellen Freifaechern erstellt + */ +require_once(dirname(__FILE__).'/menu_addon.class.php'); +require_once(dirname(__FILE__).'/../../include/functions.inc.php'); +require_once(dirname(__FILE__).'/../../include/lehrveranstaltung.class.php'); + +class menu_addon_freifaecher extends menu_addon +{ + public function __construct() + { + parent::__construct(); + + $this->link=false; + + $sprache = getSprache(); + + $lv_obj = new lehrveranstaltung(); + if(!$lv_obj->load_lva('0',null, null,true,false,'bezeichnung')) + echo "$lv_obj->errormsg"; + + foreach($lv_obj->lehrveranstaltungen AS $row) + { + $this->items[] = array('title'=>$row->bezeichnung, + 'target'=>'content', + 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id, + 'name'=>'aktiv?' style="color:gray;" ':' style=" font-weight: bold;"').'>'.$this->CutString($row->bezeichnung, 21).'' + ); + } + + $this->block.= ''; + + $this->output(); + } + + private function CutString($strVal, $limit) + { + if(mb_strlen($strVal) > $limit+3) + { + return mb_substr($strVal, 0, $limit) . "..."; + } + else + { + return $strVal; + } + } +} + +new menu_addon_freifaecher(); +?> \ No newline at end of file diff --git a/cms/menu/menu_addon_lehrveranstaltungen.inc.php b/cms/menu/menu_addon_lehrveranstaltungen.inc.php index e8b5d88bf..1fc428d08 100755 --- a/cms/menu/menu_addon_lehrveranstaltungen.inc.php +++ b/cms/menu/menu_addon_lehrveranstaltungen.inc.php @@ -1,4 +1,32 @@ + */ +/** + * Menue Addon zur Auswahl von LVs + * + * Dieses Addon erstellt ein Formular zur Auswahl von Studiengang und Semester und zeigt die + * zugehoerigen LVs an + * + * Parameter fuer das Params Array: + * - studiengang_kz + * - semester + */ require_once(dirname(__FILE__).'/menu_addon.class.php'); require_once(dirname(__FILE__).'/../../include/studiengang.class.php'); require_once(dirname(__FILE__).'/../../include/lehrveranstaltung.class.php'); @@ -11,6 +39,12 @@ class menu_addon_lehrveranstaltungen extends menu_addon { public function __construct() { + global $params; + + parent::__construct(); + + $this->link=false; + $sprache = getSprache(); $user = get_uid(); $student = new student(); @@ -45,11 +79,11 @@ class menu_addon_lehrveranstaltungen extends menu_addon $stg_obj = new studiengang(); $stg_obj->getAll('typ, kurzbz'); - if(isset($_GET['studiengang_kz']) && is_numeric($_GET['studiengang_kz'])) - $studiengang_kz=$_GET['studiengang_kz']; + if(isset($params['studiengang_kz']) && is_numeric($_params['studiengang_kz'])) + $studiengang_kz=$params['studiengang_kz']; - if(isset($_GET['semester']) && is_numeric($_GET['semester'])) - $semester=$_GET['semester']; + if(isset($params['semester']) && is_numeric($params['semester'])) + $semester=$params['semester']; else $semester=1; @@ -73,7 +107,7 @@ class menu_addon_lehrveranstaltungen extends menu_addon } } } - + $this->block.=' @@ -95,6 +129,11 @@ class menu_addon_lehrveranstaltungen extends menu_addon } if($semester>$max) $semester=1; + + $params['studiengang_kz'] = $studiengang_kz; + $params['semester'] = $semester; + $params['studiengang_kurzbz'] = $short; + for($i=0;$i<$max;$i++) { if(($i+1)==$semester) @@ -144,7 +183,7 @@ class menu_addon_lehrveranstaltungen extends menu_addon } } $this->block.=''; - $this->outputBlock(); + $this->output(); } private function CutString($strVal, $limit) diff --git a/cms/menu/menu_addon_meinelv.inc.php b/cms/menu/menu_addon_meinelv.inc.php index a895f8a64..7e3247b3a 100755 --- a/cms/menu/menu_addon_meinelv.inc.php +++ b/cms/menu/menu_addon_meinelv.inc.php @@ -1,13 +1,39 @@ + */ +/** + * Menue Addon zur Anzeige der zugeordneten LVs + * + * Zeigt eine Liste mit den LVs zu denen der Lektor oder Student zugeordnet ist. + */ require_once(dirname(__FILE__).'/menu_addon.class.php'); require_once(dirname(__FILE__).'/../../include/functions.inc.php'); require_once(dirname(__FILE__).'/../../include/phrasen.class.php'); require_once(dirname(__FILE__).'/../../include/studiensemester.class.php'); +require_once(dirname(__FILE__).'/../../include/studiengang.class.php'); class menu_addon_meinelv extends menu_addon { public function __construct() { + parent::__construct(); + $sprache = getSprache(); $user = get_uid(); @@ -15,13 +41,17 @@ class menu_addon_meinelv extends menu_addon $p = new phrasen($sprache); $cutlength=21; + //Meine LVs Student if(!$is_lector) { if ($stsemobj = new studiensemester()) { $stsem = $stsemobj->getAktorNext(); - $qry = "SELECT distinct lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, lehre, lehreverzeichnis from campus.vw_student_lehrveranstaltung WHERE uid='$user' AND studiensemester_kurzbz='$stsem' AND lehre=true AND lehreverzeichnis<>'' ORDER BY studiengang_kz, semester, bezeichnung"; + $qry = "SELECT distinct lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, lehre, + lehreverzeichnis from campus.vw_student_lehrveranstaltung + WHERE uid='".addslashes($user)."' AND studiensemester_kurzbz='".addslashes($stsem)."' + AND lehre=true AND lehreverzeichnis<>'' ORDER BY studiengang_kz, semester, bezeichnung"; if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) @@ -62,7 +92,8 @@ class menu_addon_meinelv extends menu_addon $qry = "SELECT distinct bezeichnung, studiengang_kz, semester, lehreverzeichnis, tbl_lehrveranstaltung.lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND - mitarbeiter_uid='$user' AND tbl_lehreinheit.studiensemester_kurzbz='$stsem'"; + mitarbeiter_uid='".addslashes($user)."' AND tbl_lehreinheit.studiensemester_kurzbz='".addslashes($stsem)."'"; + if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) @@ -97,7 +128,7 @@ class menu_addon_meinelv extends menu_addon echo "Fehler Semester beim Auslesen der LV"; } } - $this->outputItems(); + $this->output(); } private function CutString($strVal, $limit) diff --git a/cms/menu/menu_addon_test.inc.php b/cms/menu/menu_addon_test.inc.php index d139d12bf..07e561213 100755 --- a/cms/menu/menu_addon_test.inc.php +++ b/cms/menu/menu_addon_test.inc.php @@ -1,10 +1,36 @@ + */ +/** + * Dies ist eine Vorlage fuer die Verwendung von Menue Addons + */ require_once(dirname(__FILE__).'/menu_addon.class.php'); class menu_addon_test extends menu_addon { public function __construct() { + parent::__construct(); + + //Link ausgeben oder nicht + $this->link=true; + //Liste mit Links $this->items[]=array('title'=>'Testlink 1', 'target'=>'content', @@ -18,8 +44,6 @@ class menu_addon_test extends menu_addon 'target'=>'content', 'link'=>'lesson.php', 'name'=>'tl3'); - $this->outputItems(); - // Eigener Codeblock $this->block=' @@ -34,7 +58,9 @@ class menu_addon_test extends menu_addon '; if(isset($_POST['stg_kz'])) $this->block.='KZ:'.$_POST['stg_kz']; - $this->outputBlock(); + + + $this->output(); } } diff --git a/cms/menu/menu_addon_urlaub.inc.php b/cms/menu/menu_addon_urlaub.inc.php new file mode 100755 index 000000000..d1dbcba5c --- /dev/null +++ b/cms/menu/menu_addon_urlaub.inc.php @@ -0,0 +1,91 @@ + + */ +/** + * Menu Addon fuer Urlaube + * + * Zeigt eine Liste der untergebenen Mitarbeiter mit deren Urlaube + */ +require_once(dirname(__FILE__).'/menu_addon.class.php'); +require_once(dirname(__FILE__).'/../../include/functions.inc.php'); +require_once(dirname(__FILE__).'/../../include/phrasen.class.php'); +require_once(dirname(__FILE__).'/../../include/mitarbeiter.class.php'); + +class menu_addon_urlaub extends menu_addon +{ + public function __construct() + { + parent::__construct(); + + $sprache = getSprache(); + $user = get_uid(); + + $p = new phrasen($sprache); + + //Untergebene holen + $mitarbeiter = new mitarbeiter(); + $mitarbeiter->getUntergebene($user); + $untergebene = ''; + + foreach ($mitarbeiter->untergebene as $u_uid) + { + if($untergebene!='') + $untergebene.=','; + + $untergebene.="'".addslashes($u_uid)."'"; + } + + if($untergebene!='') + { + $qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid in($untergebene) AND aktiv ORDER BY nachname, vorname"; + + $this->linkitem['link']='private/profile/urlaubsfreigabe.php'; + $this->linkitem['target']='content'; + + if($result = $this->db_query($qry)) + { + $this->items[] = array('title'=>$p->t('menu/urlaubAlle'), + 'target'=>'content', + 'link'=>'private/profile/urlaubsfreigabe.php', + 'name'=>$p->t('menu/urlaubAlle') + ); + while($row = $this->db_fetch_object($result)) + { + $name = $row->nachname.' '.$row->vorname.' '.$row->titelpre.' '.$row->titelpost; + $title = $row->nachname.' '.$row->vorname.' '.$row->titelpre.' '.$row->titelpost; + + if($row->fixangestellt=='f') + $name = ''.$name.''; + + $this->items[] = array('title'=>$title, + 'target'=>'content', + 'link'=>'private/profile/urlaubsfreigabe.php?uid='.$row->uid, + 'name'=>$name + ); + + } + } + } + + $this->output(); + } +} + +new menu_addon_urlaub(); +?> \ No newline at end of file diff --git a/cms/menu/menu_addon_zeitsperren.inc.php b/cms/menu/menu_addon_zeitsperren.inc.php index 22e2eada3..d4a6a31f6 100755 --- a/cms/menu/menu_addon_zeitsperren.inc.php +++ b/cms/menu/menu_addon_zeitsperren.inc.php @@ -1,4 +1,25 @@ + */ +/** + * Menu Addon fuer Zeitsperren + */ require_once(dirname(__FILE__).'/menu_addon.class.php'); require_once(dirname(__FILE__).'/../../include/functions.inc.php'); require_once(dirname(__FILE__).'/../../include/phrasen.class.php'); @@ -9,6 +30,8 @@ class menu_addon_zeitsperren extends menu_addon { public function __construct() { + parent::__construct(); + $sprache = getSprache(); $user = get_uid(); @@ -67,10 +90,9 @@ class menu_addon_zeitsperren extends menu_addon 'link' => 'private/profile/zeitsperre.php?funktion=lkt&stg_kz='.$row->studiengang_kz, 'name' => $p->t('menu/lektoren').' '.$row->kurzbzlang ); - } } - $this->outputItems(); + $this->output(); } } diff --git a/locale/cms/de-AT/menu.php b/locale/cms/de-AT/menu.php new file mode 100755 index 000000000..33dff5446 --- /dev/null +++ b/locale/cms/de-AT/menu.php @@ -0,0 +1,10 @@ +phrasen['menu/zeitsperren']='Zeitsperren'; +$this->phrasen['menu/resturlaub']='Resturlaub'; +$this->phrasen['menu/fixangestellte']='Fixangestellte'; +$this->phrasen['menu/fixelektoren']='Fixe Lektoren'; +$this->phrasen['menu/organisationseinheit']='Organisationseinheit'; +$this->phrasen['menu/lektoren']='Lektoren'; +$this->phrasen['menu/urlaubAlle']='Alle'; + +?> diff --git a/locale/cms/en-US/menu.php b/locale/cms/en-US/menu.php new file mode 100755 index 000000000..b711e98eb --- /dev/null +++ b/locale/cms/en-US/menu.php @@ -0,0 +1,10 @@ +phrasen['menu/zeitsperren']='Absenteeism'; +$this->phrasen['menu/resturlaub']='Remaining leave'; +$this->phrasen['menu/fixangestellte']='Salaried'; +$this->phrasen['menu/fixelektoren']='salaried Lector'; +$this->phrasen['menu/organisationseinheit']='Organization Units'; +$this->phrasen['menu/lektoren']='Lector'; +$this->phrasen['menu/urlaubAlle']='All'; + +?>