diff --git a/addons/template/cis/index.html b/addons/template/cis/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/addons/template/cis/init.js.php b/addons/template/cis/init.js.php new file mode 100644 index 000000000..174f620ed --- /dev/null +++ b/addons/template/cis/init.js.php @@ -0,0 +1,44 @@ + + */ +/** + * Initialisierung des Addons + */ +?> +if(typeof addon =='undefined') + var addon=Array(); + +addon.push( +{ + init: function(page, params) + { + // Diese Funktion wird nach dem Laden der Seite im CIS aufgerufen + + /* + switch(page) + { + case 'cis/private/tools/zeitaufzeichnung.php': + break; + + default: + break; + } + */ + } +}); diff --git a/addons/template/cis/vorlage_profil_array.php b/addons/template/cis/vorlage_profil_array.php new file mode 100644 index 000000000..3b4a04a65 --- /dev/null +++ b/addons/template/cis/vorlage_profil_array.php @@ -0,0 +1,55 @@ + + */ +/** + * Diese Datei fügt zusätzliche Links im CIS Profil ein + * Dazu muss die Datei umbenannt werden in profil_array.php + * + * Dazu wird ein Array aufgebaut welches die Links enthaelt. + * + * $menu = array('MeinLink'=>array('name'=>'Name des Links','link'=>'../path/to/file.php','target'='content')); + */ + + +// Unterschiedliche Links für Studierende und Mitarbeiter +if($type=='student') +{ + if(!$ansicht) + $menu['Notenliste']=array('name'=>$p->t('profil/leistungsbeurteilung'), 'link'=>'../lehre/notenliste.php', 'target'=>'content'); + $menu['LVPlan']=array('name'=>$p->t('profil/lvplanVon').' '.$user->nachname, 'link'=>'../lvplan/stpl_week.php?pers_uid='.$user->uid.'&type=student', 'target'=>'content'); +} +else +{ + if(!$ansicht) + { + $menu['Zeitwunsch']=array('name'=>$p->t('profil/zeitwuensche'), 'link'=>'zeitwunsch.php?uid='.$user->uid, 'target'=>'content'); + $menu['Lehrveranstaltungen']=array('name'=>$p->t('lvaliste/lehrveranstaltungen'), 'link'=>'lva_liste.php?uid='.$user->uid, 'target'=>'content'); + } + + if(check_lektor(get_uid())) + { + $menu['Zeitsperren']=array('name'=>$p->t('profil/zeitsperrenVon').' '.$user->nachname, 'link'=>'zeitsperre_days.php?days=30&lektor='.$user->uid, 'target'=>'content'); + } + + if($uid!=get_uid()) + { + $menu['LVPlan']=array('name'=>$p->t('profil/lvplanVon').' '.$user->nachname, 'link'=>'../lvplan/stpl_week.php?pers_uid='.$user->uid.'&type=lektor', 'target'=>'content'); + } +} +?> diff --git a/addons/template/content/index.html b/addons/template/content/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/addons/template/content/init.js.php b/addons/template/content/init.js.php new file mode 100644 index 000000000..4209c2f12 --- /dev/null +++ b/addons/template/content/init.js.php @@ -0,0 +1,90 @@ + + */ +/** + * Initialisierung des Addons + */ +?> +addon.push( +{ + init: function() + { + // Diese Funktion wird nach dem Laden des FAS aufgerufen + + /* + + // Hinzufuegen eines zusaetzlichen Tabs bei Mitarbeitern mit einem Label darin + var tabitem = document.createElement("tab"); + tabitem.setAttribute("id","addon-template-tab"); + tabitem.setAttribute("label","Template"); + + var mitarbeitertabs = document.getElementById("mitarbeiter-tabs"); + mitarbeitertabs.appendChild(tabitem); + + var tabpanelitem = document.createElement("vbox"); + tabpanelitem.setAttribute("id","addon-template-tabpannel-vbox"); + var label = document.createElement("label"); + label.setAttribute("value","Template"); + tabpanelitem.appendChild(label); + + var mitarbeitertabpanels=document.getElementById("mitarbeiter-tabpanels-main"); + mitarbeitertabpanels.appendChild(tabpanelitem); + + // zusaetzliche Funktion beim klicken des Suchen Button bei Mitarbeitern hinzufuegen + searchbutton = document.getElementById("mitarbeiter-toolbar-button-search"); + searchbutton.addEventListener("command",AddonTemplateMitarbeiterSearch, true); + + // Menuepunkt hinzufuegen + statistikmenue = document.getElementById("menu-statistic-popup"); + + var menuentry = document.createElement("menuitem"); + menuentry.setAttribute("id","addons-template-mymenuentry"); + menuentry.setAttribute("label","Addon Template Menu Entry"); + menuentry.addEventListener("command",AddonTemplateMenuEntry, true); + + statistikmenue.appendChild(menuentry); + + */ + }, + selectMitarbeiter: function(person_id, mitarbeiter_uid) + { + }, + selectStudent: function(person_id, prestudent_id, student_uid) + { + }, + selectVerband: function(item) + { + }, + selectInstitut: function(institut) + { + }, + selectLektor: function(lektor) + { + } +}); + +function AddonTemplateMitarbeiterSearch() +{ + alert("AddonTemplateSearchButtonClicked"); +} + +function AddonTemplateMenuEntry() +{ + alert("AddonTemplateMenuEntry clicked"); +} diff --git a/addons/template/dbcheck.php b/addons/template/dbcheck.php new file mode 100644 index 000000000..a5f9e8b30 --- /dev/null +++ b/addons/template/dbcheck.php @@ -0,0 +1,101 @@ + + + + + + + Addon Datenbank Check + + +

Addon Datenbank Check

'; + +$uid = get_uid(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($uid); + +if(!$rechte->isBerechtigt('basis/addon', null, 'suid')) +{ + exit('Sie haben keine Berechtigung für die Verwaltung von Addons'); +} + +echo '

Aktualisierung der Datenbank

'; + +// Code fuer die Datenbankanpassungen + +/* +if(!$result = @$db->db_query("SELECT 1 FROM addon.tbl_template_items")) +{ + + $qry = 'CREATE TABLE addon.tbl_template_items + ( + template_items_kurzbz varchar(32), + bezeichnung varchar(256) + );'; + + if(!$db->db_query($qry)) + echo 'addon.tbl_template_items: '.$db->db_last_error().'
'; + else + echo ' addon.tbl_template_items: Tabelle addon.template_items hinzugefuegt!
'; + +} +*/ + +echo '
Aktualisierung abgeschlossen

'; +echo '

Gegenprüfung

'; + + +// Liste der verwendeten Tabellen / Spalten des Addons +$tabellen=array( + "addon.tbl_template_items" => array("template_items_kurzbz","bezeichnung"), +); + + +$tabs=array_keys($tabellen); +$i=0; +foreach ($tabellen AS $attribute) +{ + $sql_attr=''; + foreach($attribute AS $attr) + $sql_attr.=$attr.','; + $sql_attr=substr($sql_attr, 0, -1); + + if (!@$db->db_query('SELECT '.$sql_attr.' FROM '.$tabs[$i].' LIMIT 1;')) + echo '
'.$tabs[$i].': '.$db->db_last_error().'
'; + else + echo $tabs[$i].': OK - '; + flush(); + $i++; +} +?> diff --git a/addons/template/index.html b/addons/template/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/addons/template/install.php b/addons/template/install.php new file mode 100644 index 000000000..d9644bd3e --- /dev/null +++ b/addons/template/install.php @@ -0,0 +1,66 @@ + + + + + + + Addon Installation + + +

Addon Installation

'; + +$uid = get_uid(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($uid); + +if(!$rechte->isBerechtigt('basis/addon', null, 'suid')) +{ + exit('Sie haben keine Berechtigung für die Verwaltung von Addons'); +} + +if($fhcomplete_version>=$fhcomplete_target_version) +{ + echo 'Installiere Addon '.$addon_name.' Version '.$addon_version.'

'; + + /** + * Fuegen Sie hier Ihre Installationsroutine hinzu + */ + + echo '>> weiter zur Aktualisierung der Datenbank'; +} +else +{ + echo 'Dieses Addon funktioniert erst mit FHComplete Version '.$fhcomplete_target_version; + echo 'Installation abgebrochen'; +} +?> diff --git a/addons/template/locale/README.txt b/addons/template/locale/README.txt new file mode 100644 index 000000000..fcf4930cd --- /dev/null +++ b/addons/template/locale/README.txt @@ -0,0 +1,6 @@ +In diesem Ordner können Locale-Dateien abgelegt werden. +Diese überschreiben globale Locales die unter /locale/ abgelegt sind. + +In den Dateien müssen nicht alle Phrasen vorhanden sein. Es genügt, wenn nur die Phrasen vorhanden sind die überschrieben werden sollen. Alle anderen Phrasen werden aus dem Standard-Ordner übernommen. + +Die Datei mit der Phrase muss jedoch den selben Namen haben wie die Ursprungsdatei in der die Phrase enthalten ist. diff --git a/addons/template/locale/index.html b/addons/template/locale/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/addons/template/soap/index.html b/addons/template/soap/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/addons/template/system/index.html b/addons/template/system/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/addons/template/system/vorlage_zip/README.txt b/addons/template/system/vorlage_zip/README.txt new file mode 100644 index 000000000..33c9e2414 --- /dev/null +++ b/addons/template/system/vorlage_zip/README.txt @@ -0,0 +1,2 @@ +In diesem Ordner können modifizierte ODT Vorlagen für die Dokumentenerstellung abgelegt werden. +Vorlagen die in diesem Ordner abgelegt werden, werden bevorzugt gegenüber jenen die unter /system/vorlage_zip abgelegt sind. diff --git a/addons/template/version.php b/addons/template/version.php new file mode 100644 index 000000000..447a26c2a --- /dev/null +++ b/addons/template/version.php @@ -0,0 +1,29 @@ + diff --git a/addons/template/vilesci/index.php b/addons/template/vilesci/index.php new file mode 100644 index 000000000..6ed5cbfba --- /dev/null +++ b/addons/template/vilesci/index.php @@ -0,0 +1,44 @@ + + + + + + + Template + + +

Template

'; + +$uid = get_uid(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($uid); + +if(!$rechte->isBerechtigt('basis/addon')) +{ + die('Sie haben keine Berechtigung fuer diese Seite'); +} +echo 'Template Addon Vilesci Integration'; +?> diff --git a/addons/template/vilesci/init.js.php b/addons/template/vilesci/init.js.php new file mode 100644 index 000000000..5ac9310ca --- /dev/null +++ b/addons/template/vilesci/init.js.php @@ -0,0 +1,44 @@ + + */ +/** + * Initialisierung des Addons + */ +?> +if(typeof addon =='undefined') + var addon=Array(); + +addon.push( +{ + init: function(page, params) + { + // Diese Funktion wird nach dem Laden der Seite im Vilesci aufgerufen + + /* + switch(page) + { + case 'vilesci/lehre/lehrveranstaltung.php': + break; + + default: + break; + } + */ + } +}); 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/addons/template/vilesci/vorlage_generateuid.inc.php b/addons/template/vilesci/vorlage_generateuid.inc.php new file mode 100644 index 000000000..ebe2be3e2 --- /dev/null +++ b/addons/template/vilesci/vorlage_generateuid.inc.php @@ -0,0 +1,69 @@ + and +*/ +/** + * Benutzerdefinierte Funktion zur Generierung der UIDs + * Zur Aktivierung muss die Datei in generateuid.inc.php umbenannt werden + */ + +/** + * Generiert die UID für Studierende + * + * @param $stgkzl Studiengangskuerzel + * @param $jahr Studienjahr (zB 2014) + * @param $stgtyp Studiengangstyp einstellige Ziffer + * @param $matrikelnummer Personenkennzeichen des Studierenden + */ +function generateUID($stgkzl, $jahr, $stgtyp, $matrikelnummer) +{ + return $matrikelnummer; +} + +/** + * Gerneriert die Mitarbeiter UID + * Format v.nachname max 20 Zeichen + * Im Fall von Doppelnamen wird vor dem Bindestrich abgeschnitten + * + * @param $vorname Vorname + * @param $nachname Nachname + * @param $lektor Boolean true wenn Lektor sonst false + */ +function generateMitarbeiterUID($vorname, $nachname, $lektor, $fixangestellt=true) +{ + $bn = new benutzer(); + $uid=''; + + // Wenn ein Bindestrich vorhanden ist (Doppelname), dort abschneiden + if(mb_strpos($nachname,'-')!==false) + $nachname = mb_substr($nachname, 0, mb_strpos($nachname,'-')); + // Nachname wird so lange verkuerzt bis eine eindeutige UID entsteht die noch nicht vergeben ist + for($nn=18;$nn!=0;$nn--) + { + $uid = mb_substr($vorname,0,1); + $uid .= mb_substr($nachname,0,$nn); + + $uid = mb_str_replace(' ','',$uid); + $uid = mb_str_replace('-','',$uid); + + $uid = mb_strtolower($uid); + if(!$bn->uid_exists($uid)) + return $uid; + } + return false; +} diff --git a/addons/template/vilesci/vorlage_passwort.inc.php b/addons/template/vilesci/vorlage_passwort.inc.php new file mode 100644 index 000000000..0d922f6bc --- /dev/null +++ b/addons/template/vilesci/vorlage_passwort.inc.php @@ -0,0 +1,39 @@ + + */ +/* + * Diese Datei überschreibt die Default-Funktionen zur Passwort Änderung + * Zur Aktivierung muss die Datei in passwort.inc.php umbenannt werden + * + * Ansonsten wird die Default Funktionalität unter /include/tw/passwort.inc.php verwendet + */ + +/** + * Aendert das Passwort + * @param $passwort_alt Altes (aktuelles) Passwort + * @param $passwort_neu neues Passwort + * @param $uid - UID/Benutzername des Users + * @return true wenn erfolgreich - Fehlermeldung im Fehlerfall + */ +function change_password($passwort_alt, $passwort_neu, $uid) +{ + return 'Passwort Änderung fehlgeschlagen.'; +} + +?> diff --git a/addons/template/vilesci/vorlage_serviceterminal.inc.php b/addons/template/vilesci/vorlage_serviceterminal.inc.php new file mode 100644 index 000000000..25debceea --- /dev/null +++ b/addons/template/vilesci/vorlage_serviceterminal.inc.php @@ -0,0 +1,72 @@ + + */ + +// Raumtyp der per Default am Infoterminal angezeigt wird +$ServiceTerminalDefaultRaumtyp='EDV'; + +// Liste der Raumtypen die am Infoterminal angezeigt werden +$ServiceTerminalRaumtypen=array( + array("type"=>"EDV","beschreibung"=>" Freie 
 PC Räume ","img"=>""), + array("type"=>"HS","beschreibung"=>" Freie 
 Hörsäle ","img"=>""), + array("type"=>"SEM","beschreibung"=>" Freie 
 Seminarräume ","img"=>""), + array("type"=>"Lab","beschreibung"=>" Freie 
 Laborräume ","img"=>""), + ); + +/** + * Prueft ob die Karte verlaengert werden darf + * @param $uid + * @return Array mit boolean und Errormsg + */ +function ServiceTerminalCheckVerlaengerung($uid) +{ + if(!check_lektor($uid)) + { + + $konto = new konto(); + if($aktSemester= $konto->getLastStudienbeitrag($uid)) + { + return array(true,'Studienbeitrag für Semester '.$aktSemester.' bezahlt'); + } + else + { + return array(false,'Verlängerung der Karte ist derzeit nicht möglich da der Studienbeitrag noch nicht bezahlt wurde'); + } + } + else + return array(false,'Für Mitarbeiter ist eine Kartenverlängerung nicht möglich'); +} + +/** + * Liefert den Text der auf die Karte gedruckt werden soll oder einer Errormsg + * @param $uid UID des Users + * @return array mit Datum/Drucktext und errorMessage + */ +function ServiceTerminalGetDrucktext($uid) +{ + // hole Semester des letzten eingezahlten Studienbeitrages + $konto = new konto(); + if(!$aktSemester= $konto->getLastStudienbeitrag($uid)) + { + return array('datum'=>'', 'errorMessage'=>'Fehler beim Auslesen des Studienganges. Bitte wenden Sie sich an den Service Desk.'); + } + + return array('datum'=>'Gueltig fuer/valid for '.$aktSemester, 'errorMessage'=>''); +} +?> diff --git a/addons/template/xml/index.html b/addons/template/xml/index.html new file mode 100644 index 000000000..e69de29bb