diff options
| author | Jan-Hendrik Willms <tleilax+github@gmail.com> | 2021-07-22 16:07:19 +0200 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+github@gmail.com> | 2021-07-22 16:19:12 +0200 |
| commit | a3da1483a9e689846179159355badfec8073dbec (patch) | |
| tree | 770dcca6bdf5f6f2a11b0e7fcbbeda6919a3fc52 /config | |
current code from svn, revision 62608
Diffstat (limited to 'config')
50 files changed, 10544 insertions, 0 deletions
diff --git a/config/.htaccess.dist b/config/.htaccess.dist new file mode 100644 index 0000000..accac89 --- /dev/null +++ b/config/.htaccess.dist @@ -0,0 +1,28 @@ +#für rewrite wird die Option FollowSymLinks oder SymLinksIfOwnerMatch benötigt ... +#Options SymLinksIfOwnerMatch +#RewriteEngine on +#RewriteRule ^download/(normal|force_download|zip)/([0-467])/([^/]+)/(.+)$ sendfile.php?$1=1&type=$2&file_id=$3&file_name=$4 [L] +#RewriteRule ^download/(normal|force_download|zip)/5/([^/]+)/([^/]+)/(.+)$ sendfile.php?$1=1&type=5&range_id=$2&list_id=$3&file_name=$4 [L] + +#Apache 2.2 +#Order Allow,Deny +#Allow from all + +#Apache 2.4 +Require all granted + +php_value upload_max_filesize 8M +php_value post_max_size 9M +php_value memory_limit 128M +php_value max_execution_time 300 +php_flag short_open_tag On +php_flag allow_url_fopen On +php_value max_input_vars 10000 + +#PHP Konstanten sind hier nicht verfügbar +# 22519 = E_ALL & ~(E_NOTICE|E_DEPRECATED) PHP 5.3.x +php_value error_reporting 22519 + +# PHP 5.5 (ab 5.6 Standardeinstellung) +php_value default_charset utf-8 +php_value mbstring.internal_encoding utf-8 diff --git a/config/config.inc.php.dist b/config/config.inc.php.dist new file mode 100644 index 0000000..0c05328 --- /dev/null +++ b/config/config.inc.php.dist @@ -0,0 +1,318 @@ +<?php +/** +* config.inc.php +* +* Configuration file for studip. In this file you can change the options of many +* Stud.IP Settings. +* Please note: To setup the system, you have to set the basic settings in the +* config_local.inc.php in the same directory first. +* +* @access public +* @package studip_core +* @modulegroup library +* @module config.inc.php +*/ + +// +---------------------------------------------------------------------------+ +// This file is part of Stud.IP +// functions.php +// Stud.IP Kernfunktionen +// Copyright (C) 2002 Cornelis Kater <ckater@gwdg.de>, Suchi & Berg GmbH <info@data-quest.de>, +// Ralf Stockmann <rstockm@gwdg.de>, André Noack André Noack <andre.noack@gmx.net> +// +---------------------------------------------------------------------------+ +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or any later version. +// +---------------------------------------------------------------------------+ +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +---------------------------------------------------------------------------+ + +global + $FLASHPLAYER_DEFAULT_CONFIG_MIN, + $FLASHPLAYER_DEFAULT_CONFIG_MAX, + $INST_ADMIN_DATAFIELDS_VIEW, + $INST_MODULES, + $INST_TYPE, + $LIT_LIST_FORMAT_TEMPLATE, + $NAME_FORMAT_DESC, + $PERS_TERMIN_KAT, + $SCM_PRESET, + $SMILE_SHORT, + $SYMBOL_SHORT, + $TERMIN_TYP, + $TITLE_FRONT_TEMPLATE, + $TITLE_REAR_TEMPLATE, + $UNI_CONTACT, + $UNI_INFO, + $UNI_LOGIN_ADD, + $UNI_LOGOUT_ADD, + $UNI_URL, + $UPLOAD_TYPES, + $SEM_TREE_TYPES, + $NOT_HIDEABLE_FIELDS, + $TEILNEHMER_IMPORT_DATAFIELDS, + $DEFAULT_TITLE_FOR_STATUS; + +/*basic settings for Stud.IP +---------------------------------------------------------------- +you find here the indivdual settings for your installation. + ! for the basic system settings, please edit the file config_local.inc.php in the same folder !*/ + + +//Some more basic data +//Note: The the clean-name of your institution ($UNI_NAME_CLEAN) is stored in the config_local.inc.php +$UNI_URL = "http://www.studip.de"; +$UNI_LOGIN_ADD=''; +$UNI_LOGOUT_ADD=sprintf(_("Und hier geht's zur %sStud.IP Portalseite%s "), "<a href=\"http://www.studip.de\"><b>", "</b></a>"); +$UNI_CONTACT = "<please insert your general contact mail-adress here>"; +$UNI_INFO = "Stud.IP 4.3 - Studienbegleitender Internetsupport von Präsenzlehre"; + + +/* $SEM_CLASS and $SEM_TYPE configuration moved to database +=> Admin/Global settings/Course categories +----------------------------------------------------------------*/ + +// define default names for status groups +$DEFAULT_TITLE_FOR_STATUS = array( + 'dozent' => array(_('Lehrende'), _('Lehrende')), + 'deputy' => array(_('Vertretung'), _('Vertretungen')), + 'tutor' => array(_('Tutor/-in'), _('Tutor/-innen')), + 'autor' => array(_('Studierende'), _('Studierende')), + 'user' => array(_('Leser/-in'), _('Leser/-innen')), + 'accepted' => array(_('Vorläufig akzeptierte Person'), + _('Vorläufig akzeptierte Personen'))); + + +/* +possible types of sem_tree ("Veranstaltungshierarchie") types +the "editable" flag could be used to prevent modifications, e.g. imported data +the "hidden" flag could be used to hide entries that are no longer in use +*/ +$SEM_TREE_TYPES[0] = array("name" => "", "editable" => true); //default type, must be present +//$SEM_TREE_TYPES[1] = array("name" => _("Studienmodul") , "editable" => true); + + +/* Set the allowed and prohibited file types for the types given above. +* If nothing is configured for a specific type, the values of the "default" setting are taken. +* +* "type"=>"deny" means: only the listed "file_types" are allowed +* "type"=>"allow" means: all, but the listed "file_types" are allowed +* +* "file_sizes" determines how much each user class can upload per file (multiple of 1 MB = 1048576 Bytes) +*/ + +$UPLOAD_TYPES=array( "default" => + array( "type"=>"allow", + "file_types" => array ("exe"), + "file_sizes" => array ( "root" => 7 * 1048576, + "admin" => 7 * 1048576, + "dozent" => 7 * 1048576, + "tutor" => 7 * 1048576, + "autor" => 7 * 1048576, + "nobody" => 1.38 * 1048576 + ) + ), +// rules for futher course-types can be added below (please adhere exactly to the structure given above) + ); + +/* Set the allowed and prohibited file types for mail attachments (if activated by ENABLE_MAIL_ATTACHMENTS). +* +* "type"=>"deny" means: only the listed "file_types" are allowed +* "type"=>"allow" means: all, but the listed "file_types" are allowed +* +* "file_sizes" determines how much each user class can upload per file (multiple of 1 MB = 1048576 Bytes) +*/ + +$UPLOAD_TYPES["attachments"] = + array( "type" => "allow", + "file_types" => array ("exe"), + "file_sizes" => array ( "root" => 7 * 1048576, + "admin" => 7 * 1048576, + "dozent" => 7 * 1048576, + "tutor" => 7 * 1048576, + "autor" => 7 * 1048576, + "nobody" => 1.38 * 1048576 + ) + ); + +/* Set the allowed and prohibited file types for personal files (like in blubber-upload). +* +* "type"=>"deny" means: only the listed "file_types" are allowed +* "type"=>"allow" means: all, but the listed "file_types" are allowed +* +* "file_sizes" determines how much each user class can upload per file (multiple of 1 MB = 1048576 Bytes) +*/ + +$UPLOAD_TYPES["personalfiles"] = + array( "type" => "allow", + "file_types" => array ("exe"), + "file_sizes" => array ( "root" => 7 * 1048576, + "admin" => 7 * 1048576, + "tutor" => 7 * 1048576, + "dozent" => 7 * 1048576, + "autor" => 7 * 1048576, + "nobody" => 0 + ) + ); + +/* +* set allowed designations of institutes / divisions / administrative units +*/ +$INST_TYPE[1]=array("name"=>_("Einrichtung")); +$INST_TYPE[2]=array("name"=>_("Zentrum")); +$INST_TYPE[3]=array("name"=>_("Lehrstuhl")); +$INST_TYPE[4]=array("name"=>_("Abteilung")); +$INST_TYPE[5]=array("name"=>_("Fachbereich")); +$INST_TYPE[6]=array("name"=>_("Seminar")); +$INST_TYPE[7]=array("name"=>_("Fakultät")); +$INST_TYPE[8]=array("name"=>_("Arbeitsgruppe")); +// ...can be continued accordingly + + +//define the used modules for instiutes +$INST_MODULES["default"] = array( + "forum"=>TRUE, //forum, this module is stud_ip core; always available + "documents"=>TRUE, //documents, this module is stud_ip core; always available + "personal"=>TRUE, //personal, this module is stud_ip core; always available + "literature"=>FALSE, //literature, this module is stud_ip core; always available + "scm"=>FALSE, //simple content module, this modul is stud_ip core; always available + "wiki"=>FALSE, //wikiwiki-web, this module is stud_ip core; always available + ); +//you can add more specific presets for the different types + + +// Set presets for course appointment types +/* +* The first array element is used for the designation of regular meetings and will be labeled +* accordingly in the schedule. +* The second array element is always used to denominate preliminary discussions. +* Both names can be chosen freely. +* The appointment types marked as "sitzung"=>1 are shown in the course creation assistent and +* while editing dates as templates for the description of regular turnus meetings. +*/ + +$TERMIN_TYP[1]=array("name"=>_("Sitzung"), "sitzung"=>1); +$TERMIN_TYP[2]=array("name"=>_("Vorbesprechung"), "sitzung"=>0); +$TERMIN_TYP[3]=array("name"=>_("Klausur"), "sitzung"=>0); +$TERMIN_TYP[4]=array("name"=>_("Exkursion"), "sitzung"=>0); +$TERMIN_TYP[5]=array("name"=>_("anderer Termin"), "sitzung"=>0); +$TERMIN_TYP[6]=array("name"=>_("Sondersitzung"), "sitzung"=>0); +$TERMIN_TYP[7]=array("name"=>_("Vorlesung"), "sitzung"=>1); +// more types can be added here + + +// Configure the categories for the personal calendar +$PERS_TERMIN_KAT[1]=array("name"=>_("Sonstiges")); +$PERS_TERMIN_KAT[2]=array("name"=>_("Sitzung")); +$PERS_TERMIN_KAT[3]=array("name"=>_("Vorbesprechung")); +$PERS_TERMIN_KAT[4]=array("name"=>_("Klausur")); +$PERS_TERMIN_KAT[5]=array("name"=>_("Exkursion")); +$PERS_TERMIN_KAT[6]=array("name"=>_("Sondersitzung")); +$PERS_TERMIN_KAT[7]=array("name"=>_("Prüfung")); +$PERS_TERMIN_KAT[8]=array("name"=>_("Telefonat")); +$PERS_TERMIN_KAT[9]=array("name"=>_("Besprechung")); +$PERS_TERMIN_KAT[10]=array("name"=>_("Verabredung")); +$PERS_TERMIN_KAT[11]=array("name"=>_("Geburtstag")); +$PERS_TERMIN_KAT[12]=array("name"=>_("Familie")); +$PERS_TERMIN_KAT[13]=array("name"=>_("Urlaub")); +$PERS_TERMIN_KAT[14]=array("name"=>_("Reise")); +$PERS_TERMIN_KAT[15]=array("name"=>_("Vorlesung")); +// more categories can be added here + +//preset for academic titles - add further titles to the array, if necessary +$TITLE_FRONT_TEMPLATE = array("","Prof.","Prof. Dr.","Dr.","PD Dr.","Dr. des.","Dr. med.","Dr. rer. nat.","Dr. forest.", + "Dr. sc. agr.","Dipl.-Biol.","Dipl.-Chem.","Dipl.-Ing.","Dipl.-Sozw.","Dipl.-Geogr.", + "Dipl.-Geol.","Dipl.-Geophys.","Dipl.-Ing. agr.","Dipl.-Kfm.","Dipl.-Math.","Dipl.-Phys.", + "Dipl.-Psych.","M. Sc","B. Sc"); +$TITLE_REAR_TEMPLATE = array("","M.A.","B.A.","M.S.","MBA","Ph.D.","Dipl.-Biol.","Dipl.-Chem.","Dipl.-Ing.","Dipl.-Sozw.","Dipl.-Geogr.", + "Dipl.-Geol.","Dipl.-Geophys.","Dipl.-Ing. agr.","Dipl.-Kfm.","Dipl.-Math.","Dipl.-Phys.", + "Dipl.-Psych.","M. Sc","B. Sc"); + +// name templates for the list of currently active users ("who is online") + +$NAME_FORMAT_DESC['full'] = _("Titel1 Vorname Nachname Titel2"); +$NAME_FORMAT_DESC['full_rev'] = _("Nachname, Vorname, Titel1, Titel2"); +$NAME_FORMAT_DESC['no_title'] = _("Vorname Nachname"); +$NAME_FORMAT_DESC['no_title_rev'] = _("Nachname, Vorname"); +$NAME_FORMAT_DESC['no_title_short'] = _("Nachname, V."); +$NAME_FORMAT_DESC['no_title_motto'] = _("Vorname Nachname, Motto"); + + +//preset names for scm (simple content module) +$SCM_PRESET[1] = array("name"=>_("Informationen")); //the first entry is the default label for scms, it'll be used if the user give no information for another label +$SCM_PRESET[2] = array("name"=>_("Literatur")); +$SCM_PRESET[3] = array("name"=>_("Links")); +$SCM_PRESET[4] = array("name"=>_("Verschiedenes")); +//you can add more presets here + +//preset template for formatting of literature list entries +$LIT_LIST_FORMAT_TEMPLATE = "**{dc_creator}** |({dc_contributor})||\n" + . "{dc_title}||\n" + . "{dc_identifier}||\n" + . "%%{published}%%||\n" + . "{note}||\n" + . "[{lit_plugin_display_name}]{external_link}|\n"; + +//Shortcuts for smileys +$SMILE_SHORT = array( //diese Kuerzel fuegen das angegebene Smiley ein (Dateiname + ".gif") + ":)"=>"smile" , + ":-)"=>"asmile" , + ":#:"=>"zwinker" , + ":("=>"frown" , + ":o"=>"redface" , + ":D"=>"biggrin", + ";-)"=>"wink"); + +//Shortcuts for symbols +$SYMBOL_SHORT = array( + "=)" => "⇒" , + "(=" => "⇐" , + "(c)" => "©" , + "(r)" => "®" , + " tm " => "™" +); + + +/*configuration for additional modules +---------------------------------------------------------------- +this options are only needed, if you are using the addional Stud.IP modules (please see in config_local.inc.php +which modules are activated). It's a good idea to leave this settings untouched...*/ + + +// cofiguration for flash player +$FLASHPLAYER_DEFAULT_CONFIG_MIN = "&showstop=1&showvolume=1&bgcolor=A6B6C6&bgcolor1=A6B6C6&bgcolor2=7387AC&playercolor=7387AC&buttoncolor=254580&buttonovercolor=E9EFFD&slidercolor1=CAD7E1&slidercolor2=A6B6C6&sliderovercolor=E9EFFD&loadingcolor=E9B21A&buffer=5&buffercolor=white&buffershowbg=0&playeralpha=90&playertimeout=500&shortcut=1&phpstream=0&onclick=playpause&showloading=always"; +$FLASHPLAYER_DEFAULT_CONFIG_MAX = "&showstop=1&showvolume=1&bgcolor=A6B6C6&bgcolor1=A6B6C6&bgcolor2=7387AC&playercolor=7387AC&buttoncolor=254580&buttonovercolor=E9EFFD&slidercolor1=CAD7E1&slidercolor2=A6B6C6&sliderovercolor=E9EFFD&loadingcolor=E9B21A&buffer=5&buffercolor=white&buffershowbg=0&playeralpha=90&playertimeout=500&shortcut=1&showtime=1&showfullscreen=1&showplayer=always&phpstream=0&onclick=playpause&showloading=always"; + +/* + * use this to customize the fields shown in the standard/extended view on the instiute member page + * valid values are 'raum', 'sprechzeiten', 'telefon', 'email', 'homepage' and userinstrole datafield ids + * default for 'default' is to show all builtin fields except 'homepage', 'extended' shows all builtin fields + */ +$INST_ADMIN_DATAFIELDS_VIEW = array( + 'default' => array(), + 'extended' => array() +); +/* + * Fields that may not be hidden by users in their privacy settings. + * Can be configured per permission level. + * @see lib/edit_about.inc.php in function get_homepage_elements for + * available fields. + * Entries look like "'field_name' => true". + */ +$NOT_HIDEABLE_FIELDS = array( + 'user' => array(), + 'autor' => array(), + 'tutor' => array(), + 'dozent' => array(), + 'admin' => array(), + 'root' => array() +); +//Add ids of datafields to use for import on teilnehmer.php +$TEILNEHMER_IMPORT_DATAFIELDS = array(); diff --git a/config/config_defaults.inc.php b/config/config_defaults.inc.php new file mode 100644 index 0000000..14c1757 --- /dev/null +++ b/config/config_defaults.inc.php @@ -0,0 +1,1318 @@ +<?php +/*basic settings for Stud.IP +---------------------------------------------------------------- +you find here the basic system settings. You shouldn't have to touch much of them... +please note the CONFIG.INC.PHP for the indivual settings of your installation!*/ + +/*settings for database access +---------------------------------------------------------------- +please fill in your database connection settings. +*/ + +// default Stud.IP database (DB_Seminar) +$DB_STUDIP_HOST = "localhost"; +$DB_STUDIP_USER = ""; +$DB_STUDIP_PASSWORD = ""; +$DB_STUDIP_DATABASE = "studip"; + +/* +// optional Stud.IP slave database +$DB_STUDIP_SLAVE_HOST = "localhost"; +$DB_STUDIP_SLAVE_USER = ""; +$DB_STUDIP_SLAVE_PASSWORD = ""; +$DB_STUDIP_SLAVE_DATABASE = "studip-slave"; +*/ + +##### ## ##### # # #### +# # # # # # # # +# # # # # ###### #### +##### ###### # # # # +# # # # # # # # +# # # # # # #### + + +//ABSOLUTE_PATH_STUDIP should end with a '/' +//$ABSOLUTE_PATH_STUDIP = $STUDIP_BASE_PATH . '/public/'; +//$CANONICAL_RELATIVE_PATH_STUDIP +//$ABSOLUTE_URI_STUDIP +//$ASSETS_URL + + +// absolute filesystem path to the plugin packages +$PLUGINS_PATH = $STUDIP_BASE_PATH . '/public/plugins_packages'; + +// absolute filesystem path to the plugin assets +$PLUGIN_ASSETS_PATH = $STUDIP_BASE_PATH . '/data/assets_cache'; + +// path to uploaded documents (wwwrun needs write-perm there) +$UPLOAD_PATH = $STUDIP_BASE_PATH . "/data/upload_doc"; + +// path to Stud.IP archive (wwwrun needs write-perm there) +$ARCHIV_PATH = $STUDIP_BASE_PATH . "/data/archiv"; + +// path to OERs in Stud.IP (wwwrun needs write-perm there) +$OER_PATH = $STUDIP_BASE_PATH . "/data/oer"; +$OER_LOGOS_PATH = $STUDIP_BASE_PATH . "/data/oer_logos"; + +// path and url for dynamically generated static content like smilies.. +$DYNAMIC_CONTENT_PATH = $STUDIP_BASE_PATH . "/public/pictures"; +$DYNAMIC_CONTENT_URL = $ABSOLUTE_URI_STUDIP . "pictures"; + + +//path to the temporary folder +$TMP_PATH ="/tmp"; //the system temp path + +// media proxy settings +$MEDIA_CACHE_PATH = $STUDIP_BASE_PATH . '/data/media_cache'; + +//caching +$CACHING_ENABLE = true; +$CACHING_FILECACHE_PATH = $TMP_PATH . '/studip_cache'; +$CACHE_IS_SESSION_STORAGE = false; //store session data in cache + +/*Stud.IP modules +---------------------------------------------------------------- +enable or disable the Stud.IP internal modules, set and basic settings*/ + +$FOP_SH_CALL = "/usr/bin/fop"; //path to fop + +$EXTERN_SERVER_NAME = ""; //define name, if you use special setup + +$ELEARNING_INTERFACE_MODULES = [ + "ilias5" => [ + "name" => "ILIAS 5", + "ABSOLUTE_PATH_ELEARNINGMODULES" => "http://<your Ilias installation>/", + "ABSOLUTE_PATH_SOAP" => "http://<your Ilias installation>/webservice/soap/server.php?wsdl", + "CLASS_PREFIX" => "Ilias5", + "auth_necessary" => true, + "USER_AUTO_CREATE" => true, + "USER_PREFIX" => "", + "target_file" => "studip_referrer.php", + "logo_file" => "assets/images/logos/ilias_logo.png", + "soap_data" => [ + "username" => "<username>", //this credentials are used to communicate with your Ilias 3 installation over SOAP + "password" => "<password>", + "client" => "<ilias client id>"], + "types" => [ + "webr" => ["name" => "ILIAS-Link", "icon" => "learnmodule"], + "htlm" => ["name" => "HTML-Lerneinheit", "icon" => "learnmodule"], + "sahs" => ["name" => "SCORM/AICC-Lerneinheit", "icon" => "learnmodule"], + "lm" => ["name" => "ILIAS-Lerneinheit", "icon" => "learnmodule"], + "glo" => ["name" => "ILIAS-Glossar", "icon" => "learnmodule"], + "tst" => ["name" => "ILIAS-Test", "icon" => "learnmodule"], + "svy" => ["name" => "ILIAS-Umfrage", "icon" => "learnmodule"], + "exc" => ["name" => "ILIAS-Übung", "icon" => "learnmodule"] + ], + "global_roles" => [4,5,14], // put here the ilias role-ids for User, Guest and Anonymous + "roles" => [ + "autor" => "4", + "tutor" => "4", + "dozent" => "4", + "admin" => "4", + "root" => "2" + ], + "crs_roles" => [ + "autor" => "member", + "tutor" => "tutor", + "dozent" => "admin", + "admin" => "admin", + "root" => "admin" + ] + ] + ]; + +// example entry for wikifarm as server for elearning modules +// remember to activate studip-webservices with WEBSERVICES_ENABLE and to set STUDIP_INSTALLATION_ID + +$ELEARNING_INTERFACE_MODULES["pmwiki-farm"] = [ + "name" => "Wikifarm", + "ABSOLUTE_PATH_ELEARNINGMODULES" => "http://<your PmWiki farm server>/<path to wiki fields>/", + + "WEBSERVICE_CLASS" => "xml_rpc_webserviceclient", + "ABSOLUTE_PATH_SOAP" => "http://<your PmWiki farm server>/<path to PmWiki farm>/pmwiki.php", // url to farm webservices + "URL_PARAMS" => "action=xmlrpc", + + "CLASS_PREFIX" => "PmWiki", + "auth_necessary" => false, + + "field_script" => "field.php", + "logo_file" => $ASSETS_URL."/images/logos/pmwiki-32.gif", + + "soap_data" => [ + "api-key" => "<api-key for wiki webservices>", + ], + "types" => [ + "wiki" => ["name" => "PmWiki-Lernmodul", "icon" => "learnmodule"], + ] +]; + +$ELEARNING_INTERFACE_MODULES["loncapa"] = +[ + "name" => "LonCapa", + "ABSOLUTE_PATH_ELEARNINGMODULES" => "http://127.0.0.1/loncapa", + "CLASS_PREFIX" => "LonCapa", + "auth_necessary" => false, + "logo_file" => "assets/images/logos/lon-capa.gif", + "types" => [ + "loncapa" => ["name" => "LonCapa-Lernmodul", + "icon" => "learnmodule"], + ] +]; + +$PLUGINS_UPLOAD_ENABLE = TRUE; //Upload of Plugins is enabled + +$PLUGIN_REPOSITORIES = [ + 'http://plugins.studip.de/plugins.xml', +]; + +/*domain name and path translation +---------------------------------------------------------------- +to translate internal links (within Stud.IP) to the different +domain names. To activate this feature uncomment these lines +and add all used domain names. Below, some examples are given. +*/ + +//server-root is stud.ip root dir, or virtual server for stud.ip +//$STUDIP_DOMAINS[1] = "<your.server.name>"; +//$STUDIP_DOMAINS[2] = "<your.server.ip>"; +//$STUDIP_DOMAINS[3] = "<your.virtual.server.name>"; +// +// or +// +//stud.ip root is a normal directory +//$STUDIP_DOMAINS[1] = "<your.server.name/studip>"; +//$STUDIP_DOMAINS[2] = "<your.server.ip/studip>"; + + +/*mail settings +---------------------------------------------------------------- +possible settings for $MAIL_TRANSPORT: +smtp use smtp to deliver to $MAIL_HOST_NAME +php use php's mail() function +sendmail use local sendmail script +qmail use local Qmail MTA +debug mails are only written to a file in $TMP_PATH +*/ +$MAIL_TRANSPORT = "smtp"; + +/*smtp settings +---------------------------------------------------------------- +leave blank or try 127.0.0.1 if localhost is also the mailserver +ignore if you don't use smtp as transport*/ +$MAIL_HOST_NAME = ""; //which mailserver should we use? (must allow mail-relaying from $MAIL_LOCALHOST, defaults to SERVER_NAME) +$MAIL_SMTP_OPTIONS = [ + 'port' => 25, + 'user' => '', + 'password' => '', + 'authentication_mechanism' => '', + 'ssl' => 0, + 'start_tls' => 0 + ]; + +$MAIL_LOCALHOST = ""; //name of the mail sending machine (the web server) defaults to SERVER_NAME +$MAIL_CHARSET = ""; //character set of mail body, defaults to WINDOWS-1252 +$MAIL_ENV_FROM = ""; //sender mail adress, defaults to wwwrun @ $MAIL_LOCALHOST +$MAIL_FROM = ""; //name of sender, defaults to "Stud.IP" +$MAIL_ABUSE = ""; //mail adress to reply to in case of abuse, defaults to abuse @ $MAIL_LOCALHOST + +$MAIL_BULK_DELIVERY = FALSE; //try to improve the message queueing rate (experimental, does not work for php transport) + +$MAIL_VALIDATE_HOST = TRUE; //check for valid mail host when user enters email adress +$MAIL_VALIDATE_BOX = TRUE; //check for valid mail account when user enters email adress; set to false if the webserver got no valid MX record + +$MESSAGING_FORWARD_AS_EMAIL = TRUE; //enable to forward every internal message to the user-mail (the user is able to deactivate this function in his personal settings) +$MESSAGING_FORWARD_DEFAULT = 1; //the default setting: if 1, the user has to switch it on; if 2, every message will be forwarded; if 3 every message will be forwarded on request of the sender +$MESSAGING_FORWARD_USE_REPLYTO = FALSE; //send forwarded messages as system user and add reply-to header + +$ENABLE_EMAIL_TO_STATUSGROUP = TRUE; // enable to send messages to whole status groups + +$ENABLE_EMAIL_ATTACHMENTS = TRUE; // enable attachment functions for internal and external messages +$MAIL_ATTACHMENTS_MAX_SIZE = 10; //maximum size of attachments in MB + +/*language settings +----------------------------------------------------------------*/ + +$INSTALLED_LANGUAGES["de_DE"] = ["path"=>"de", "picture"=>"lang_de.gif", "name"=>"Deutsch"]; +$INSTALLED_LANGUAGES["en_GB"] = ["path"=>"en", "picture"=>"lang_en.gif", "name"=>"English"]; +$CONTENT_LANGUAGES['de_DE'] = ['picture' => 'lang_de.gif', 'name' => 'Deutsch']; +//$CONTENT_LANGUAGES['en_GB'] = array('picture' => 'lang_en.gif', 'name' => 'English'); + +$_language_domain = "studip"; // the name of the language file. Should not be changed except in cases of individual translations or special terms. + + +/*authentication plugins +---------------------------------------------------------------- +the following plugins are available: +Standard authentication using the local Stud.IP database +StandardExtern authentication using an alternative Stud.IP database, e.g. another installation +Ldap authentication using an LDAP server, this plugin uses anonymous bind against LDAP to retrieve the user dn, + then it uses the submitted password to authenticate with this user dn +LdapReader authentication using an LDAP server, this plugin binds to the server using a given dn and a password, + this account must have read access to gather the attributes for the user who tries to authenticate. +CAS authentication using a central authentication server (CAS) +Shib authentication using a Shibboleth identity provider (IdP) + +If you write your own plugin put it in studip-htdocs/lib/classes/auth_plugins +and enable it here. The name of the plugin is the classname excluding "StudipAuth". + +You could also place your configuration here, name it $STUDIP_AUTH_CONFIG_<plugin name>, +all uppercase each item of the configuration array will become a member of your plugin class.*/ + +//$STUDIP_AUTH_PLUGIN[] = "LdapReadAndBind"; +//$STUDIP_AUTH_PLUGIN[] = "Ldap"; +//$STUDIP_AUTH_PLUGIN[] = "StandardExtern"; +$STUDIP_AUTH_PLUGIN[] = "Standard"; +// $STUDIP_AUTH_PLUGIN[] = "CAS"; +// $STUDIP_AUTH_PLUGIN[] = "LTI"; +// $STUDIP_AUTH_PLUGIN[] = "Shib"; +// $STUDIP_AUTH_PLUGIN[] = "IP"; + +$STUDIP_AUTH_CONFIG_STANDARD = ["error_head" => "intern"]; +/* +$STUDIP_AUTH_CONFIG_LDAPREADANDBIND = array("host" => "localhost", + "base_dn" => "dc=studip,dc=de", + "protocol_version" => 3, + "start_tls" => false, + "send_utf8_credentials" => true, + "decode_utf8_values" => true, + "bad_char_regex" => '/[^0-9_a-zA-Z-]/', + "username_case_insensitiv" => true, + "username_attribute" => "uid", + "user_password_attribute" => "userpassword", + "reader_dn" => "uid=reader,dc=studip,dc=de", + "reader_password" => "<password>", + "error_head" => "LDAP read-and-bind plugin", + "user_data_mapping" => + array( "auth_user_md5.username" => array("callback" => "dummy", "map_args" => ""), + "auth_user_md5.password" => array("callback" => "dummy", "map_args" => ""), + "auth_user_md5.Email" => array("callback" => "doLdapMap", "map_args" => "email"), + "auth_user_md5.Nachname" => array("callback" => "doLdapMap", "map_args" => "sn"), + "auth_user_md5.Vorname" => array("callback" => "doLdapMap", "map_args" => "givenname") + ) + ); + +$STUDIP_AUTH_CONFIG_LDAP = array( "host" => "localhost", + "base_dn" => "dc=data-quest,dc=de", + "protocol_version" => 3, + "start_tls" => false, + "send_utf8_credentials" => true, + "decode_utf8_values" => true, + "bad_char_regex" => '/[^0-9_a-zA-Z-]/', + "username_case_insensitiv" => true, + "username_attribute" => "uid", + "anonymous_bind" => true, + "error_head" => "LDAP plugin", + "user_data_mapping" => + array( "auth_user_md5.username" => array("callback" => "dummy", "map_args" => ""), + "auth_user_md5.password" => array("callback" => "dummy", "map_args" => ""), + "auth_user_md5.Email" => array("callback" => "doLdapMap", "map_args" => "email"), + "auth_user_md5.Nachname" => array("callback" => "doLdapMap", "map_args" => "sn"), + "auth_user_md5.Vorname" => array("callback" => "doLdapMap", "map_args" => "givenname") + ) + ); + +// create a config for your own user data mapping class +$CASAbstractUserDataMapping_CONFIG = array(); +$STUDIP_AUTH_CONFIG_CAS = array("host" => "cas.studip.de", + "port" => 8443, + "uri" => "cas", + "proxy" => false, + "cacert" => "/path/to/server/cert", + "user_data_mapping_class" => "CASAbstractUserDataMapping", + "user_data_mapping" => // map_args are dependent on your own data mapping class + array( "auth_user_md5.username" => array("callback" => "getUserData", "map_args" => "username"), + "auth_user_md5.Vorname" => array("callback" => "getUserData", "map_args" => "givenname"), + "auth_user_md5.Nachname" => array("callback" => "getUserData", "map_args" => "surname"), + "auth_user_md5.Email" => array("callback" => "getUserData", "map_args" => "email"), + "auth_user_md5.perms" => array("callback" => "getUserData", "map_args" => "status"))); + +$STUDIP_AUTH_CONFIG_LTI = [ + 'consumer_keys' => [ + // 'domain' is optional, default is value of consumer_key + 'studip.de' => ['consumer_secret' => 'secret', 'domain' => 'studip.de'] + ], + 'user_data_mapping' => [ + // see http://www.imsglobal.org/specs/ltiv1p1/implementation-guide for lauch data item names + 'auth_user_md5.username' => ['callback' => 'dummy', 'map_args' => ''], + 'auth_user_md5.password' => ['callback' => 'dummy', 'map_args' => ''], + 'auth_user_md5.Vorname' => ['callback' => 'getUserData', 'map_args' => 'lis_person_name_given'], + 'auth_user_md5.Nachname' => ['callback' => 'getUserData', 'map_args' => 'lis_person_name_family'], + 'auth_user_md5.Email' => ['callback' => 'getUserData', 'map_args' => 'lis_person_contact_email_primary'] + ] +]; + +$STUDIP_AUTH_CONFIG_SHIB = array("session_initiator" => "https://sp.studip.de/Shibboleth.sso/WAYF/DEMO", + "validate_url" => "https://sp.studip.de/auth/studip-sp.php", + "local_domain" => "studip.de", + "user_data_mapping" => + array( "auth_user_md5.username" => array("callback" => "dummy", "map_args" => ""), + "auth_user_md5.password" => array("callback" => "dummy", "map_args" => ""), + "auth_user_md5.Vorname" => array("callback" => "getUserData", "map_args" => "givenname"), + "auth_user_md5.Nachname" => array("callback" => "getUserData", "map_args" => "surname"), + "auth_user_md5.Email" => array("callback" => "getUserData", "map_args" => "email"))); + +$STUDIP_AUTH_CONFIG_IP = array('allowed_users' => + array ('root' => array('127.0.0.1', '::1'))); +*/ + +//some additional authification-settings +//NOTE: you MUST enable Standard authentication-plugin for this settings to take effect! + +// Login ip range check +$ENABLE_ADMIN_IP_CHECK = false; +$ENABLE_ROOT_IP_CHECK = false; +$LOGIN_IP_RANGES = + [ + 'V4' => [ + ['start' => '', 'end' => ''], + ] + , + 'V6' => [ + ['start' => '', 'end' => ''], + ] + ]; + + +/////////////////////// +//Library configuration +/////////////////////// + + +$LIBRARY_STYLESHEET_ID = 'din-1505-2'; + + +/** + * LIBRARY_CATALOGS contains the list of catalogs that are configured. + * Entries in this array have the following structure: + * + * [ + * 'name' => The name of the catalog. + * 'class_name' => The class that handles the search in that catalog. + * It must be an implementation of the + * LibrarySearch interface. + * 'base_url' => The base URL to the search page where requests can + * be sent to. + * 'settings' => Catalog specific settings. This is an optional + * associative array. + * 'local_catalog' => Whether the catalog is a local catalog that is only + * used to enrich search results with additional data + * and download possibilities (true) or the catalog is + * a "normal" catalog that is used for the + * library search (false). + * ] + */ +$LIBRARY_CATALOGS = []; + + +/** + * LIBRARY_VARIABLE_TYPES is a list containing the variable types that can be + * used for library variables. + */ +$LIBRARY_VARIABLE_TYPES = [ + 'date', + 'name', + 'number', + 'standard' +]; + + +/** + * LIBRARY_VARIABLES is a list with all variables that can be used for + * library documents. + */ +$LIBRARY_VARIABLES = [ + [ + 'name' => 'abstract', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Inhaltsangabe', + 'en_GB' => 'Abstract' + ] + ], + [ + 'name' => 'accessed', + 'type' => 'date', + 'display_name' => [ + 'de_DE' => 'Zugriffsdatum', + 'en_GB' => 'Accessed' + ] + ], + [ + 'name' => 'annote', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Annotation', + 'en_GB' => 'Annote' + ] + ], + [ + 'name' => 'archive', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Archiv', + 'en_GB' => 'Archive' + ] + ], + [ + 'name' => 'archive_location', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Speicherort im Archiv', + 'en_GB' => 'Archive location' + ] + ], + [ + 'name' => 'archive-place', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Archivort', + 'en_GB' => 'Archive place' + ] + ], + [ + 'name' => 'author', + 'type' => 'name', + 'display_name' => [ + 'de_DE' => 'Autorin, Autor', + 'en_GB' => 'Author' + ], + 'required' => true + ], + [ + 'name' => 'authority', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Genehmigungsinstanz', + 'en_GB' => 'Authority' + ] + ], + [ + 'name' => 'call-number', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Signatur', + 'en_GB' => 'Call-number' + ] + ], + [ + 'name' => 'chapter-number', + 'type' => 'number', + 'display_name' => [ + 'de_DE' => 'Kapitelnummer', + 'en_GB' => 'Chapter-number' + ] + ], + [ + 'name' => 'citation-label', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Zitierbezeichnung', + 'en_GB' => 'Citation-label' + ] + ], + [ + 'name' => 'citation-number', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Zitiernummer', + 'en_GB' => 'Citation-number' + ] + ], + [ + 'name' => 'collection-editor', + 'type' => 'name', + 'display_name' => [ + 'de_DE' => 'Sammlungseditor', + 'en_GB' => 'Collection-editor' + ] + ], + [ + 'name' => 'collection-number', + 'type' => 'number', + 'display_name' => [ + 'de_DE' => 'Sammlungsnummer', + 'en_GB' => 'Collection-number' + ] + ], + [ + 'name' => 'collection-title', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Sammlungstitel', + 'en_GB' => 'Collection-title' + ] + ], + [ + 'name' => 'composer', + 'type' => 'name', + 'display_name' => [ + 'de_DE' => 'Komponist*in, Verfasser*in', + 'en_GB' => 'Composer' + ] + ], + [ + 'name' => 'container', + 'type' => 'date', + 'display_name' => [ + 'de_DE' => 'Sammlung', + 'en_GB' => 'Container' + ] + ], + [ + 'name' => 'container-author', + 'type' => 'name', + 'display_name' => [ + 'de_DE' => 'Autor*in', + 'en_GB' => 'Container-author' + ] + ], + [ + 'name' => 'container-title', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Titel der Sammlung', + 'en_GB' => 'Container-title' + ] + ], + [ + 'name' => 'container-title-short', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Kurztitel der Sammlung', + 'en_GB' => 'Container-title-short' + ] + ], + [ + 'name' => 'dimensions', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Umfang', + 'en_GB' => 'Dimension' + ] + ], + [ + 'name' => 'director', + 'type' => 'name', + 'display_name' => [ + 'de_DE' => 'Regisseur*in', + 'en_GB' => 'Director' + ] + ], + [ + 'name' => 'DOI', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Digitale Objektkennung', + 'en_GB' => 'Digital Object Identifier' + ] + ], + [ + 'name' => 'edition', + 'type' => 'number', + 'display_name' => [ + 'de_DE' => 'Auflage', + 'en_GB' => 'Edition' + ] + ], + [ + 'name' => 'editor', + 'type' => 'name', + 'display_name' => [ + 'de_DE' => 'Verfasser*in', + 'en_GB' => 'Editor' + ] + ], + [ + 'name' => 'editorial-director', + 'type' => 'name', + 'display_name' => [ + 'de_DE' => 'Herausgeber*in', + 'en_GB' => 'Editorial-director' + ] + ], + [ + 'name' => 'event', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Veranstaltung', + 'en_GB' => 'Event' + ] + ], + [ + 'name' => 'event-date', + 'type' => 'date', + 'display_name' => [ + 'de_DE' => 'Datum der Veranstaltung', + 'en_GB' => 'Event-date' + ] + ], + [ + 'name' => 'event-place', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Veranstaltungsort', + 'en_GB' => 'Event-place' + ] + ], + [ + 'name' => 'first-reference-note-number', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Erste Referenznummer zu vorherigem Eintrag', + 'en_GB' => 'First-reference-note-number' + ] + ], + [ + 'name' => 'genre', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Gattung', + 'en_GB' => 'Genre' + ] + ], + [ + 'name' => 'illustrator', + 'type' => 'name', + 'display_name' => [ + 'de_DE' => 'Illustrator*in', + 'en_GB' => 'Illustrator' + ] + ], + [ + 'name' => 'interviewer', + 'type' => 'name', + 'display_name' => [ + 'de_DE' => 'Interviewer*in', + 'en_GB' => 'Interviewer' + ] + ], + [ + 'name' => 'ISBN', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'ISBN', + 'en_GB' => 'ISBN' + ] + ], + [ + 'name' => 'ISSN', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'ISSN', + 'en_GB' => 'ISSN' + ] + ], + [ + 'name' => 'issue', + 'type' => 'number', + 'display_name' => [ + 'de_DE' => 'Ausgabe', + 'en_GB' => 'Issue' + ] + ], + [ + 'name' => 'issued', + 'type' => 'date', + 'display_name' => [ + 'de_DE' => 'Datum der Veröffentlichung der Ausgabe', + 'en_GB' => 'Issued' + ] + ], + [ + 'name' => 'jurisdiction', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Gerichtsstand', + 'en_GB' => 'Jurisdiction' + ] + ], + [ + 'name' => 'keyword', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Schlagwort', + 'en_GB' => 'Keyword' + ] + ], + [ + 'name' => 'language', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Sprache', + 'en_GB' => 'Language' + ] + ], + [ + 'name' => 'locator', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Stelle', + 'en_GB' => 'Locator' + ] + ], + [ + 'name' => 'medium', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Medium', + 'en_GB' => 'Medium' + ] + ], + [ + 'name' => 'note', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'zusätzliche Informationen', + 'en_GB' => 'Additional note' + ] + ], + [ + 'name' => 'number', + 'type' => 'number', + 'display_name' => [ + 'de_DE' => 'Identifikationsnummer', + 'en_GB' => 'Number (identity of object)' + ] + ], + [ + 'name' => 'number-of-pages', + 'type' => 'number', + 'display_name' => [ + 'de_DE' => 'Seitenanzahl', + 'en_GB' => 'Number-of-pages' + ] + ], + [ + 'name' => 'number-of-volumes', + 'type' => 'number', + 'display_name' => [ + 'de_DE' => 'Bandanzahl', + 'en_GB' => 'Number-of-volumes' + ] + ], + [ + 'name' => 'original-author', + 'type' => 'name', + 'display_name' => [ + 'de_DE' => 'Autor des Originals', + 'en_GB' => 'Original-author' + ] + ], + [ + 'name' => 'original-date', + 'type' => 'date', + 'display_name' => [ + 'de_DE' => 'Datum der Originalversion', + 'en_GB' => 'Original-date' + ] + ], + [ + 'name' => 'original-publisher', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Originaler Verlag', + 'en_GB' => 'Original-publisher' + ] + ], + [ + 'name' => 'original-publisher-place', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Verlagsort des Originals', + 'en_GB' => 'Original-publisher-place' + ] + ], + [ + 'name' => 'original-title', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Titel der originalen Version', + 'en_GB' => 'Original-title' + ] + ], + [ + 'name' => 'page', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Seite von bis', + 'en_GB' => 'Page (range)' + ] + ], + [ + 'name' => 'page-first', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Erste Seite des Seitenbereichs', + 'en_GB' => 'Page-first' + ] + ], + [ + 'name' => 'PMCID', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'PubMed Central reference number', + 'en_GB' => 'PubMed Central reference number' + ] + ], + [ + 'name' => 'PMID', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'PubMedID', + 'en_GB' => 'PubMed Identifier' + ] + ], + [ + 'name' => 'publisher', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Verlag', + 'en_GB' => 'Publisher' + ] + ], + [ + 'name' => 'publisher-place', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Verlagsort', + 'en_GB' => 'Publisher-place' + ] + ], + [ + 'name' => 'recipient', + 'type' => 'name', + 'display_name' => [ + 'de_DE' => 'Empfänger', + 'en_GB' => 'Recipient' + ] + ], + [ + 'name' => 'references', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Referenzen', + 'en_GB' => 'References' + ] + ], + [ + 'name' => 'reviewed-author', + 'type' => 'name', + 'display_name' => [ + 'de_DE' => 'Autor des rezensierten Werks', + 'en_GB' => 'Reviewed-author' + ] + ], + [ + 'name' => 'reviewed-title', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Titel des rezensierten Werks', + 'en_GB' => 'Reviewed-title' + ] + ], + [ + 'name' => 'scale', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Größe, Ausmaß', + 'en_GB' => 'Scale' + ] + ], + [ + 'name' => 'section', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Abschnitt', + 'en_GB' => 'Section' + ] + ], + [ + 'name' => 'source', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Quelle', + 'en_GB' => 'Source' + ] + ], + [ + 'name' => 'status', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Status', + 'en_GB' => 'Status' + ] + ], + [ + 'name' => 'submitted', + 'type' => 'date', + 'display_name' => [ + 'de_DE' => 'Einreichungsdatum', + 'en_GB' => 'Submitted' + ] + ], + [ + 'name' => 'title', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Titel', + 'en_GB' => 'Title' + ], + 'required' => true + ], + [ + 'name' => 'title-short', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Kurztitel', + 'en_GB' => 'Title-short' + ] + ], + [ + 'name' => 'translator', + 'type' => 'name', + 'display_name' => [ + 'de_DE' => 'Übersetzer', + 'en_GB' => 'Translator' + ] + ], + [ + 'name' => 'URL', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'URL', + 'en_GB' => 'URL' + ] + ], + [ + 'name' => 'version', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Version', + 'en_GB' => 'Version' + ] + ], + [ + 'Name' => 'volume', + 'type' => 'number', + 'display_name' => [ + 'de_DE' => 'Band', + 'en_GB' => 'Volume' + ] + ], + [ + 'name' => 'year-suffix', + 'type' => 'standard', + 'display_name' => [ + 'de_DE' => 'Jahrsuffix', + 'en_GB' => 'Year-suffix' + ] + ] +]; + + +$LIBRARY_DOCUMENT_TYPES = [ + [ + 'name' => 'article-journal', + 'display_name' => [ + 'de_DE' => 'Artikel Fachzeitschrift', + 'en_GB' => 'Journal article' + ], + 'icon' => 'bib-text', + 'properties' => [ + 'DOI', + 'ISSN', + 'URL', + 'abstract', + 'accessed', + 'archive', + 'archive_location', + 'author', + 'call-number', + 'collection-title', + 'container-title', + 'container-title-short', + 'editor', + 'issue', + 'issued', + 'language', + 'note', + 'page', + 'reviewed-author', + 'source', + 'title', + 'title-short', + 'translator', + 'volume', + 'medium' + ] + ], + [ + 'name' => 'article-magazine', + 'display_name' => [ + 'de_DE' => 'Zeitschriftenartikel', + 'en_GB' => 'Magazine article' + ], + 'icon' => 'bib-text', + 'properties' => [ + 'ISSN', + 'URL', + 'abstract', + 'accessed', + 'archive', + 'archive_location', + 'author', + 'call-number', + 'container-title', + 'issue', + 'issued', + 'language', + 'note', + 'page', + 'reviewed-author', + 'source', + 'title', + 'title-short', + 'translator', + 'volume', + 'medium' + ] + ], + [ + 'name' => 'article-newspaper', + 'display_name' => [ + 'de_DE' => 'Zeitungsartikel', + 'en_GB' => 'Newspaper article' + ], + 'icon' => 'bib-text', + 'properties' => [ + 'ISSN', + 'URL', + 'abstract', + 'accessed', + 'archive', + 'archive_location', + 'author', + 'call-number', + 'container-title', + 'issued', + 'language', + 'note', + 'page', + 'publisher-place', + 'reviewed-author', + 'section', + 'source', + 'title', + 'title-short', + 'translator', + 'medium' + ] + ], + [ + 'name' => 'article', + 'display_name' => [ + 'de_DE' => 'Artikel', + 'en_GB' => 'Article' + ], + 'icon' => 'bib-text', + 'properties' => [ + 'URL', + 'abstract', + 'accessed', + 'archive', + 'archive_location', + 'author', + 'call-number', + 'editor', + 'issued', + 'language', + 'note', + 'publisher', + 'reviewed-author', + 'source', + 'title', + 'title-short', + 'translator', + 'medium' + ] + ], + [ + 'name' => 'book', + 'display_name' => [ + 'de_DE' => 'Buch', + 'en_GB' => 'Book' + ], + 'icon' => 'literature', + 'properties' => [ + 'ISBN', + 'URL', + 'abstract', + 'accessed', + 'archive', + 'archive_location', + 'author', + 'call-number', + 'collection-editor', + 'collection-number', + 'collection-title', + 'edition', + 'editor', + 'event-place', + 'issued', + 'language', + 'note', + 'number-of-pages', + 'number-of-volumes', + 'publisher', + 'publisher-place', + 'source', + 'title', + 'title-short', + 'translator', + 'volume', + 'medium' + ] + ], + [ + 'name' => 'paper-conference', + 'display_name' => [ + 'de_DE' => 'Konferenzpapier', + 'en_GB' => 'Conference paper' + ], + 'icon' => 'bib-text', + 'properties' => [ + 'DOI', + 'ISBN', + 'URL', + 'abstract', + 'accessed', + 'archive', + 'archive_location', + 'author', + 'call-number', + 'collection-editor', + 'collection-title', + 'container-title', + 'editor', + 'event', + 'issued', + 'language', + 'note', + 'page', + 'publisher', + 'publisher-place', + 'source', + 'title', + 'title-short', + 'translator', + 'volume', + 'medium' + ] + ], + [ + 'name' => 'report', + 'display_name' => [ + 'de_DE' => 'Bericht', + 'en_GB' => 'Report' + ], + 'icon' => 'bib-text', + 'properties' => [ + 'URL', + 'abstract', + 'accessed', + 'archive', + 'archive_location', + 'author', + 'call-number', + 'collection-editor', + 'collection-title', + 'issued', + 'language', + 'note', + 'page', + 'publisher', + 'publisher-place', + 'source', + 'title', + 'title-short', + 'translator', + 'medium' + ] + ], + [ + 'name' => 'entry-dictionary', + 'display_name' => [ + 'de_DE' => 'Wörterbucheintrag', + 'en_GB' => 'Dictionary entry' + ], + 'icon' => 'bib-text', + 'properties' => [ + 'ISBN', + 'URL', + 'abstract', + 'accessed', + 'archive', + 'archive_location', + 'author', + 'call-number', + 'collection-editor', + 'collection-number', + 'collection-title', + 'container-title', + 'edition', + 'editor', + 'event-place', + 'issued', + 'language', + 'note', + 'number-of-volumes', + 'page', + 'publisher', + 'publisher-place', + 'source', + 'title', + 'title-short', + 'translator', + 'volume', + 'medium' + ] + ], + [ + 'name' => 'entry-encyclopedia', + 'display_name' => [ + 'de_DE' => 'Lexikoneintrag', + 'en_GB' => 'Encyclopedia entry' + ], + 'icon' => 'bib-text', + 'properties' => [ + 'ISBN', + 'URL', + 'abstract', + 'accessed', + 'archive', + 'archive_location', + 'author', + 'call-number', + 'collection-editor', + 'collection-number', + 'collection-title', + 'container-title', + 'edition', + 'editor', + 'event-place', + 'issued', + 'language', + 'note', + 'number-of-volumes', + 'page', + 'publisher', + 'publisher-place', + 'source', + 'title', + 'title-short', + 'translator', + 'volume', + 'medium' + ] + ] +]; diff --git a/config/config_develop.inc.php b/config/config_develop.inc.php new file mode 100644 index 0000000..f2ea173 --- /dev/null +++ b/config/config_develop.inc.php @@ -0,0 +1,363 @@ +<?php +/** +* config.inc.php +* +* Configuration file for studip. In this file you can change the options of many +* Stud.IP Settings. +* Please note: To setup the system, you have to set the basic settings in the +* config_local.inc.php in the same directory first. +* +* @access public +* @package studip_core +* @modulegroup library +* @module config.inc.php +*/ + +// +---------------------------------------------------------------------------+ +// This file is part of Stud.IP +// functions.php +// Stud.IP Kernfunktionen +// Copyright (C) 2002 Cornelis Kater <ckater@gwdg.de>, Suchi & Berg GmbH <info@data-quest.de>, +// Ralf Stockmann <rstockm@gwdg.de>, André Noack André Noack <andre.noack@gmx.net> +// +---------------------------------------------------------------------------+ +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or any later version. +// +---------------------------------------------------------------------------+ +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +---------------------------------------------------------------------------+ + +global + $CALENDAR_MAX_EVENTS, + $FLASHPLAYER_DEFAULT_CONFIG_MIN, + $FLASHPLAYER_DEFAULT_CONFIG_MAX, + $INST_ADMIN_DATAFIELDS_VIEW, + $INST_MODULES, + $INST_STATUS_GROUPS, + $INST_TYPE, + $LIT_LIST_FORMAT_TEMPLATE, + $NAME_FORMAT_DESC, + $PERS_TERMIN_KAT, + $SCM_PRESET, + $SEM_STATUS_GROUPS, + $SMILE_SHORT, + $SYMBOL_SHORT, + $TERMIN_TYP, + $TIME_PRESETS, + $TITLE_FRONT_TEMPLATE, + $TITLE_REAR_TEMPLATE, + $UNI_CONTACT, + $UNI_INFO, + $UNI_LOGIN_ADD, + $UNI_LOGOUT_ADD, + $UNI_URL, + $UPLOAD_TYPES, + $SEM_TREE_TYPES, + $NOT_HIDEABLE_FIELDS, + $TEILNEHMER_IMPORT_DATAFIELDS, + $DEFAULT_TITLE_FOR_STATUS; + +/*basic settings for Stud.IP +---------------------------------------------------------------- +you find here the indivdual settings for your installation. + ! for the basic system settings, please edit the file config_local.inc.php in the same folder !*/ + + +//Some more basic data +//Note: The the clean-name of your institution ($UNI_NAME_CLEAN) is stored in the config_local.inc.php +$UNI_URL = "http://www.studip.de"; +$UNI_LOGIN_ADD=''; +$UNI_LOGOUT_ADD=sprintf(_("Und hier geht's zur %sStud.IP Portalseite%s "), "<a href=\"http://www.studip.de\"><b>", "</b></a>"); +$UNI_CONTACT = "<please insert your general contact mail-adress here>"; +$UNI_INFO = "Stud.IP 4.0 - Studienbegleitender Internetsupport von Präsenzlehre"; + + +/* $SEM_CLASS and $SEM_TYPE configuration moved to database +=> Admin/Global settings/Course categories +----------------------------------------------------------------*/ + +// define default names for status groups +$DEFAULT_TITLE_FOR_STATUS = [ + 'dozent' => [_('Lehrende'), _('Lehrende')], + 'deputy' => [_('Vertretung'), _('Vertretungen')], + 'tutor' => [_('Tutor/-in'), _('Tutor/-innen')], + 'autor' => [_('Studierende'), _('Studierende')], + 'user' => [_('Leser/-in'), _('Leser/-innen')], + 'accepted' => [_('Vorläufig akzeptierte Person'), + _('Vorläufig akzeptierte Personen')]]; + + +/* +possible types of sem_tree ("Veranstaltungshierarchie") types +the "editable" flag could be used to prevent modifications, e.g. imported data +*/ +$SEM_TREE_TYPES[0] = ["name" => "", "editable" => true]; //default type, must be present +//$SEM_TREE_TYPES[1] = array("name" => _("Studienmodul") , "editable" => true, "is_module" => true); + + +/* Set the allowed and prohibited file types for the types given above. +* If nothing is configured for a specific type, the values of the "default" setting are taken. +* +* "type"=>"deny" means: only the listed "file_types" are allowed +* "type"=>"allow" means: all, but the listed "file_types" are allowed +* +* "file_sizes" determines how much each user class can upload per file (multiple of 1 MB = 1048576 Bytes) +*/ + +$UPLOAD_TYPES=[ "default" => + [ "type"=>"allow", + "file_types" => ["exe"], + "file_sizes" => [ "root" => 240 * 1048576, + "admin" => 240 * 1048576, + "dozent" => 240 * 1048576, + "tutor" => 240 * 1048576, + "autor" => 240 * 1048576, + "nobody" => 16 * 1048576 + ] + ], +// rules for futher course-types can be added below (please adhere exactly to the structure given above) + ]; + +/* Set the allowed and prohibited file types for mail attachments (if activated by ENABLE_MAIL_ATTACHMENTS). +* +* "type"=>"deny" means: only the listed "file_types" are allowed +* "type"=>"allow" means: all, but the listed "file_types" are allowed +* +* "file_sizes" determines how much each user class can upload per file (multiple of 1 MB = 1048576 Bytes) +*/ + +$UPLOAD_TYPES["attachments"] = + [ "type" => "allow", + "file_types" => ["exe"], + "file_sizes" => [ "root" => 7 * 1048576, + "admin" => 7 * 1048576, + "dozent" => 7 * 1048576, + "tutor" => 7 * 1048576, + "autor" => 7 * 1048576, + "nobody" => 1.38 * 1048576 + ] + ]; + +/* Set the allowed and prohibited file types for personal files (like in blubber-upload). +* +* "type"=>"deny" means: only the listed "file_types" are allowed +* "type"=>"allow" means: all, but the listed "file_types" are allowed +* +* "file_sizes" determines how much each user class can upload per file (multiple of 1 MB = 1048576 Bytes) +*/ + +$UPLOAD_TYPES["personalfiles"] = + [ "type" => "allow", + "file_types" => ["exe"], + "file_sizes" => [ "root" => 240* 1048576, + "admin" => 240 * 1048576, + "tutor" => 240 * 1048576, + "dozent" =>240 * 1048576, + "autor" => 240 * 1048576, + "nobody" => 0 + ] + ]; + + +/* +* define presets for the status-groups in courses (refers to the key of the $SEM_CLASS array above) +* if none is given, the designations of $SEM_STATUS_GROUPS["default"] are used +*/ +$SEM_STATUS_GROUPS["default"] = ["Lehrende", "Tutor/-innen", "Studierende", "Leser/-innen", "sonstige"]; //the default. Don't delete this entry! +$SEM_STATUS_GROUPS["2"] = ["Organisatoren", "Mitglieder", "Ausschußmitglieder", "sonstige"]; +$SEM_STATUS_GROUPS["3"] = ["Moderatoren des Forums","Mitglieder", "sonstige"]; +// ...can be continued accordingly + +/* + * define additional fields that can be shown in participant list view. + */ + +$TEILNEHMER_VIEW[0] = ["field" => "user_picture", + "name" => _("Nutzerbilder"), "table" => "special", "export" => 0, "display"=> 1]; +$TEILNEHMER_VIEW[1] = ["field" => "geschlecht", + "name" => _("Geschlecht"), "table" => "datafields", "export" => 1, "display"=> 1]; +$TEILNEHMER_VIEW[2] = ["field" => "preferred_language", + "name" => _("Sprache"), "table" => "user_info", "export" => 1, "display"=> 1]; + + +/* +* set allowed designations of institutes / divisions / administrative units +*/ +$INST_TYPE[1]=["name"=>_("Einrichtung")]; +$INST_TYPE[2]=["name"=>_("Zentrum")]; +$INST_TYPE[3]=["name"=>_("Lehrstuhl")]; +$INST_TYPE[4]=["name"=>_("Abteilung")]; +$INST_TYPE[5]=["name"=>_("Fachbereich")]; +$INST_TYPE[6]=["name"=>_("Seminar")]; +$INST_TYPE[7]=["name"=>_("Fakultät")]; +$INST_TYPE[8]=["name"=>_("Arbeitsgruppe")]; +// ...can be continued accordingly + + +/* +* define presets for the status-groups in institutes / divisions / administrative units (refers to the key of the $INST_TYPE array above) +* if none is given, the designations of $INST_STATUS_GROUPS["default"] are used +*/ + +$INST_STATUS_GROUPS["default"] = ["Direktor/-in", "Lehrende", "Lehrbeauftragte", "Zweitmitglied", "wiss. Hilfskraft","wiss. Mitarbeiter/-in", + "stud. Hilfskraft", "Frauenbeauftragte", "Internetbeauftragte(r)", "Studierende", "techn. Mitarbeiter/-in", "Sekretariat / Verwaltung", + "stud. Vertreter/-in"]; +// ...can be continued accordingly + + +//define the used modules for instiutes +$INST_MODULES["default"] = [ + "forum"=>TRUE, //forum, this module is stud_ip core; always available + "documents"=>TRUE, //documents, this module is stud_ip core; always available + "personal"=>TRUE, //personal, this module is stud_ip core; always available + "literature"=>FALSE, //literature, this module is stud_ip core; always available + "scm"=>FALSE, //simple content module, this modul is stud_ip core; always available + "wiki"=>FALSE, //wikiwiki-web, this module is stud_ip core; always available + ]; +//you can add more specific presets for the different types + + +// Set presets for course appointment types +/* +* The first array element is used for the designation of regular meetings and will be labeled +* accordingly in the schedule. +* The second array element is always used to denominate preliminary discussions. +* Both names can be chosen freely. +* The appointment types marked as "sitzung"=>1 are shown in the course creation assistent and +* while editing dates as templates for the description of regular turnus meetings. +*/ + +$TERMIN_TYP[1]=["name"=>_("Sitzung"), "sitzung"=>1, "color"=>"#682c8b"]; +$TERMIN_TYP[2]=["name"=>_("Vorbesprechung"), "sitzung"=>0, "color"=>"#b02e7c"]; +$TERMIN_TYP[3]=["name"=>_("Klausur"), "sitzung"=>0, "color"=>"#129c94"]; +$TERMIN_TYP[4]=["name"=>_("Exkursion"), "sitzung"=>0, "color"=>"#f26e00"]; +$TERMIN_TYP[5]=["name"=>_("anderer Termin"), "sitzung"=>0, "color"=>"#008512"]; +$TERMIN_TYP[6]=["name"=>_("Sondersitzung"), "sitzung"=>0, "color"=>"#a85d45"]; +$TERMIN_TYP[7]=["name"=>_("Vorlesung"), "sitzung"=>1, "color"=>"#ca9eaf"]; +// more types can be added here + + +// Configure the categories for the personal calendar +$PERS_TERMIN_KAT[1]=["name"=>_("Sonstiges"), "color"=>"#008512"]; +$PERS_TERMIN_KAT[2]=["name"=>_("Sitzung"), "color"=>"#682c8b"]; +$PERS_TERMIN_KAT[3]=["name"=>_("Vorbesprechung"), "color"=>"#b02e7c"]; +$PERS_TERMIN_KAT[4]=["name"=>_("Klausur"), "color"=>"#129c94"]; +$PERS_TERMIN_KAT[5]=["name"=>_("Exkursion"), "color"=>"#f26e00"]; +$PERS_TERMIN_KAT[6]=["name"=>_("Sondersitzung"), "color"=>"#a85d45"]; +$PERS_TERMIN_KAT[7]=["name"=>_("Prüfung"), "color"=>"#6ead10"]; +$PERS_TERMIN_KAT[8]=["name"=>_("Telefonat"), "color"=>"#d60000"]; +$PERS_TERMIN_KAT[9]=["name"=>_("Besprechung"), "color"=>"#ffbd33"]; +$PERS_TERMIN_KAT[10]=["name"=>_("Verabredung"), "color"=>"#66b570"]; +$PERS_TERMIN_KAT[11]=["name"=>_("Geburtstag"), "color"=>"#a480b9"]; +$PERS_TERMIN_KAT[12]=["name"=>_("Familie"), "color"=>"#d082b0"]; +$PERS_TERMIN_KAT[13]=["name"=>_("Urlaub"), "color"=>"#70c3bf"]; +$PERS_TERMIN_KAT[14]=["name"=>_("Reise"), "color"=>"#f7a866"]; +$PERS_TERMIN_KAT[15]=["name"=>_("Vorlesung"), "color"=>"#ca9eaf"]; +// more categories can be added here + +//standard times for date-begin and date-end +$TIME_PRESETS = [ //starthour, startminute, endhour, endminute + ['07','45','09','15'], // 07:45 - 09:15 + ['09','30','11','00'], // 09:30 - 11:00 + ['11','15','12','45'], // 11:15 - 12:45 + ['13','30','15','00'], // 13:30 - 15:00 + ['15','15','16','45'], // 15:15 - 16:45 + ['17','00','18','30'], // 17:00 - 18:30 + ['18','45','20','15'] // 18:45 - 20:15 + ]; +//$TIME_PRESETS = false; + + +//preset for academic titles - add further titles to the array, if necessary +$TITLE_FRONT_TEMPLATE = ["","Prof.","Prof. Dr.","Dr.","PD Dr.","Dr. des.","Dr. med.","Dr. rer. nat.","Dr. forest.", + "Dr. sc. agr.","Dipl.-Biol.","Dipl.-Chem.","Dipl.-Ing.","Dipl.-Sozw.","Dipl.-Geogr.", + "Dipl.-Geol.","Dipl.-Geophys.","Dipl.-Ing. agr.","Dipl.-Kfm.","Dipl.-Math.","Dipl.-Phys.", + "Dipl.-Psych.","M. Sc","B. Sc"]; +$TITLE_REAR_TEMPLATE = ["","M.A.","B.A.","M.S.","MBA","Ph.D.","Dipl.-Biol.","Dipl.-Chem.","Dipl.-Ing.","Dipl.-Sozw.","Dipl.-Geogr.", + "Dipl.-Geol.","Dipl.-Geophys.","Dipl.-Ing. agr.","Dipl.-Kfm.","Dipl.-Math.","Dipl.-Phys.", + "Dipl.-Psych.","M. Sc","B. Sc"]; + +// name templates for the list of currently active users ("who is online") + +$NAME_FORMAT_DESC['full'] = _("Titel1 Vorname Nachname Titel2"); +$NAME_FORMAT_DESC['full_rev'] = _("Nachname, Vorname, Titel1, Titel2"); +$NAME_FORMAT_DESC['no_title'] = _("Vorname Nachname"); +$NAME_FORMAT_DESC['no_title_rev'] = _("Nachname, Vorname"); +$NAME_FORMAT_DESC['no_title_short'] = _("Nachname, V."); +$NAME_FORMAT_DESC['no_title_motto'] = _("Vorname Nachname, Motto"); + + +//preset names for scm (simple content module) +$SCM_PRESET[1] = ["name"=>_("Informationen")]; //the first entry is the default label for scms, it'll be used if the user give no information for another label +$SCM_PRESET[2] = ["name"=>_("Literatur")]; +$SCM_PRESET[3] = ["name"=>_("Links")]; +$SCM_PRESET[4] = ["name"=>_("Verschiedenes")]; +//you can add more presets here + +//preset template for formatting of literature list entries +$LIT_LIST_FORMAT_TEMPLATE = "**{dc_creator}** |({dc_contributor})||\n" + . "{dc_title}||\n" + . "{dc_identifier}||\n" + . "%%{published}%%||\n" + . "{note}||\n" + . "[{lit_plugin_display_name}]{external_link}|\n"; + +//Shortcuts for smileys +$SMILE_SHORT = [ //diese Kuerzel fuegen das angegebene Smiley ein (Dateiname + ".gif") + ":)"=>"smile" , + ":-)"=>"asmile" , + ":#:"=>"zwinker" , + ":("=>"frown" , + ":o"=>"redface" , + ":D"=>"biggrin", + ";-)"=>"wink"]; + +//Shortcuts for symbols +$SYMBOL_SHORT = [ + "=)" => "⇒" , + "(=" => "⇐" , + "(c)" => "©" , + "(r)" => "®" , + " tm " => "™" +]; + + +/*configuration for additional modules +---------------------------------------------------------------- +this options are only needed, if you are using the addional Stud.IP modules (please see in config_local.inc.php +which modules are activated). It's a good idea to leave this settings untouched...*/ + + +// cofiguration for flash player +$FLASHPLAYER_DEFAULT_CONFIG_MIN = "&showstop=1&showvolume=1&bgcolor=A6B6C6&bgcolor1=A6B6C6&bgcolor2=7387AC&playercolor=7387AC&buttoncolor=254580&buttonovercolor=E9EFFD&slidercolor1=CAD7E1&slidercolor2=A6B6C6&sliderovercolor=E9EFFD&loadingcolor=E9B21A&buffer=5&buffercolor=white&buffershowbg=0&playeralpha=90&playertimeout=500&shortcut=1&phpstream=0&onclick=playpause&showloading=always"; +$FLASHPLAYER_DEFAULT_CONFIG_MAX = "&showstop=1&showvolume=1&bgcolor=A6B6C6&bgcolor1=A6B6C6&bgcolor2=7387AC&playercolor=7387AC&buttoncolor=254580&buttonovercolor=E9EFFD&slidercolor1=CAD7E1&slidercolor2=A6B6C6&sliderovercolor=E9EFFD&loadingcolor=E9B21A&buffer=5&buffercolor=white&buffershowbg=0&playeralpha=90&playertimeout=500&shortcut=1&showtime=1&showfullscreen=1&showplayer=always&phpstream=0&onclick=playpause&showloading=always"; + +//Here you have to add the datafield_ids as elements. They will be shown in the standard / extended view on inst_admin.php +$INST_ADMIN_DATAFIELDS_VIEW = [ + 'default' => [], + 'extended' => [] +]; +/* + * Fields that may not be hidden by users in their privacy settings. + * Can be configured per permission level. + * @see lib/models/User.class.php in function getHomepageElements for + * available fields. + * Entries look like "'field_name' => true". + */ +$NOT_HIDEABLE_FIELDS = [ + 'user' => [], + 'autor' => [], + 'tutor' => [], + 'dozent' => [], + 'admin' => [], + 'root' => [] +]; +//Add ids of datafields to use for import on teilnehmer.php +$TEILNEHMER_IMPORT_DATAFIELDS = []; diff --git a/config/config_local.inc.php.dist b/config/config_local.inc.php.dist new file mode 100644 index 0000000..7ba309d --- /dev/null +++ b/config/config_local.inc.php.dist @@ -0,0 +1,31 @@ +<?php +/*basic settings for Stud.IP +---------------------------------------------------------------- +you find here the basic system settings. You shouldn't have to touch much of them... +please note the CONFIG.INC.PHP for the indivual settings of your installation!*/ + +namespace Studip { + const ENV = 'development'; +} + +namespace { + /*settings for database access + ---------------------------------------------------------------- + please fill in your database connection settings. + */ + + // default Stud.IP database (DB_Seminar) + $DB_STUDIP_HOST = "localhost"; + $DB_STUDIP_USER = ""; + $DB_STUDIP_PASSWORD = ""; + $DB_STUDIP_DATABASE = "studip"; + + /*URL + ---------------------------------------------------------------- + customize if automatic detection fails, e.g. when installation is hidden + behind a proxy + */ + //$CANONICAL_RELATIVE_PATH_STUDIP = '/'; + //$ABSOLUTE_URI_STUDIP = 'https://www.studip.de/'; + //$ASSETS_URL = 'https://www.studip.de/assets/'; +} diff --git a/config/config_local_develop.inc.php b/config/config_local_develop.inc.php new file mode 100644 index 0000000..e318d5e --- /dev/null +++ b/config/config_local_develop.inc.php @@ -0,0 +1,129 @@ +<?php +/*settings for database access +---------------------------------------------------------------- +please fill in your database connection settings. +*/ +namespace Studip { + const ENV = 'development'; +} + +namespace { + // default Stud.IP database (DB_Seminar) + $DB_STUDIP_HOST = "localhost"; + $DB_STUDIP_USER = ""; + $DB_STUDIP_PASSWORD = ""; + $DB_STUDIP_DATABASE = "studip"; + @include "dbpass.inc"; + + + //ABSOLUTE_PATH_STUDIP should end with a '/' + //$ABSOLUTE_PATH_STUDIP = $STUDIP_BASE_PATH . '/public/'; + //$CANONICAL_RELATIVE_PATH_STUDIP + if (!$ABSOLUTE_URI_STUDIP) $ABSOLUTE_URI_STUDIP = 'https://develop.studip.de/studip/'; + + //path to the temporary folder + $TMP_PATH ="/tmp/studip"; //the system temp path + if (!is_dir($TMP_PATH)) mkdir($TMP_PATH,0777); + + //caching + $CACHING_ENABLE = true; + $CACHING_FILECACHE_PATH = $TMP_PATH . '/studip_cache'; + $CACHE_IS_SESSION_STORAGE = false; //store session data in cache + + /*Stud.IP modules + ---------------------------------------------------------------- + enable or disable the Stud.IP internal modules, set and basic settings*/ + + $FOP_SH_CALL = "/usr/bin/fop"; //path to fop + + + /*domain name and path translation + ---------------------------------------------------------------- + */ + $STUDIP_DOMAINS[1] = "test.studip.de/studip"; + $STUDIP_DOMAINS[2] = "develop.studip.de/studip"; + + + /*mail settings + ---------------------------------------------------------------- + */ + $MAIL_TRANSPORT = "smtp"; + + /*smtp settings + ---------------------------------------------------------------- + leave blank or try 127.0.0.1 if localhost is also the mailserver + ignore if you don't use smtp as transport*/ + $MAIL_HOST_NAME = "127.0.0.1"; //which mailserver should we use? (must allow mail-relaying from $MAIL_LOCALHOST, defaults to SERVER_NAME) + + $MAIL_LOCALHOST = "develop.studip.de"; //name of the mail sending machine (the web server) defaults to SERVER_NAME + $MAIL_ENV_FROM = "develop-noreply@studip.de"; //sender mail adress, defaults to wwwrun @ $MAIL_LOCALHOST + $MAIL_ABUSE = "abuse@studip.de"; //mail adress to reply to in case of abuse, defaults to abuse @ $MAIL_LOCALHOST + + $MAIL_BULK_DELIVERY = TRUE; //try to improve the message queueing rate (experimental, does not work for php transport) + + $MAIL_VALIDATE_HOST = TRUE; //check for valid mail host when user enters email adress + $MAIL_VALIDATE_BOX = FALSE; //check for valid mail account when user enters email adress; set to false if the webserver got no valid MX record + $MESSAGING_FORWARD_DEFAULT = 3; //the default functions for internal and external messages + $MAIL_ATTACHMENTS_MAX_SIZE = 10; //maximum size of attachments in MB + + + /*language settings + ----------------------------------------------------------------*/ + + $CONTENT_LANGUAGES['en_GB'] = ['picture' => 'lang_en.gif', 'name' => 'English']; + + + /*authentication plugins + ---------------------------------------------------------------- + */ + + $STUDIP_AUTH_PLUGIN[] = "Standard"; + $STUDIP_AUTH_PLUGIN[] = "Shib"; + + $STUDIP_AUTH_CONFIG_STANDARD = ["error_head" => "intern"]; + + $STUDIP_AUTH_CONFIG_SHIB = [ + // SessionInitator URL for remote SP + 'session_initiator' => 'https://shib-sp.uni-osnabrueck.de/secure/studip-sp.php', + // validation URL for remote SP + 'validate_url' => 'https://shib-sp.uni-osnabrueck.de/auth/studip-sp.php', + // standard user data mapping + 'user_data_mapping' => [ + 'auth_user_md5.username' => ['callback' => 'dummy', 'map_args' => ''], + 'auth_user_md5.password' => ['callback' => 'dummy', 'map_args' => ''], + 'auth_user_md5.Vorname' => ['callback' => 'getUserData', 'map_args' => 'givenname'], + 'auth_user_md5.Nachname' => ['callback' => 'getUserData', 'map_args' => 'sn'], + 'auth_user_md5.Email' => ['callback' => 'getUserData', 'map_args' => 'mail'] + ] + ]; + $PHPASS_USE_PORTABLE_HASH = true; + + $LIBRARY_CATALOGS = [ + [ + 'name' => 'K10Plus Zentral', + 'class_name' => 'K10PlusZentralLibrarySearch', + //'base_url' => 'http://findex.gbv.de/index/dataquest/select' + 'base_url' => 'https://server5.data-quest.de/search-k10plus' + ], + [ + 'name' => 'BASE', + 'class_name' => 'BASELibrarySearch', + //'base_url' => 'https://api.base-search.net/cgi-bin/BaseHttpSearchInterface.fcgi', + 'base_url' => 'https://server5.data-quest.de/search-base', + 'settings' => [ + 'collection' => 'de' + ] + ], + [ + 'name' => 'TIB Portal', + 'class_name' => 'SRULibrarySearch', + 'base_url' => 'https://www.tib.eu/sru/tibkat', + 'settings' => [ + 'sru_version' => '1.2', + 'query_format' => 'cql' + ], + 'opac_link_template' => 'https://www.tib.eu/de/suchen/id/TIBKAT%3A{opac_document_id}', + 'local_catalog' => true + ] + ]; +} diff --git a/config/mvv_config.php b/config/mvv_config.php new file mode 100644 index 0000000..f428203 --- /dev/null +++ b/config/mvv_config.php @@ -0,0 +1,351 @@ +<?php + +$GLOBALS['MVV_STGTEILVERSION']['FASSUNG_TYP'] = [ + 'akkreditierung' => ['visible' => 1, 'name' => _('Akkreditierungsfassung')], + 'aenderung' => ['visible' => 1, 'name' => _('Änderungsfassung')], + 'reform' => ['visible' => 1, 'name' => _('Reformfassung')], + 'deregulierung' => ['visible' => 1, 'name' => _('Deregulierungsfassung')] +]; + +$GLOBALS['MVV_NAME_SEMESTER'] = [ + 'values' => [ + 'ss' => ['visible' => 1, 'name' => _('Sommersemester')], + 'ws' => ['visible' => 1, 'name' => _('Wintersemester')], + 'ss_ws' => ['visible' => 1, 'name' => _('Sommersemester und Wintersemester')] + ], + 'default' => 'ws' +]; + +// Module +$GLOBALS['MVV_MODUL']['KP_KOEFFIZIENT'] = 30; + +$GLOBALS['MVV_MODUL']['PERSONEN_GRUPPEN'] = [ + 'values' => [ + 'verantwortung' => ['visible' => 1, 'name' => _('Modulverantwortung')], + 'pruefung' => ['visible' => 1, 'name' => _('Prüfung')], + 'beratung' => ['visible' => 1, 'name' => _('Modulberatung')] + ] +]; + +$GLOBALS['MVV_MODUL']['TERMIN_TYPEN'] = [ + 'values' => [ + 'pruefung' => ['visible' => 1, 'name' => _('Prüfung')], + 'nach' => ['visible' => 1, 'name' => _('Nachprüfung')], + 'ausgleich' => ['visible' => 1, 'name' => _('Ausgleichsprüfung')], + 'wiederholung' => ['visible' => 1, 'name' => _('Wiederholungsprüfung')], + 'einschreibung' => ['visible' => 1, 'name' => _('Einschreibung')] + ], + 'default' => '' +]; + +$GLOBALS['MVV_MODUL']['SPRACHE'] = [ + 'values' => [ + 'DE' => ['visible' => 1, 'name' => _('Deutsch')], + 'EN' => ['visible' => 1, 'name' => _('Englisch')], + 'AR' => ['visible' => 1, 'name' => _('Arabisch')], + 'BS' => ['visible' => 1, 'name' => _('Bosnisch/Kroatisch/Serbisch')], + 'ZH' => ['visible' => 1, 'name' => _('Chinesisch')], + 'FR' => ['visible' => 1, 'name' => _('Französisch')], + 'GRC' => ['visible' => 1, 'name' => _('Griechisch')], + 'HE' => ['visible' => 1, 'name' => _('Hebräisch')], + 'IT' => ['visible' => 1, 'name' => _('Italienisch')], + 'JA' => ['visible' => 1, 'name' => _('Japanisch')], + 'LA' => ['visible' => 1, 'name' => _('Latein')], + 'EL' => ['visible' => 1, 'name' => _('Neugriechisch')], + 'NI' => ['visible' => 1, 'name' => _('Niederländisch')], + 'NO' => ['visible' => 1, 'name' => _('Norwegisch')], + 'PL' => ['visible' => 1, 'name' => _('Polnisch')], + 'PT' => ['visible' => 1, 'name' => _('Portugiesisch')], + 'RU' => ['visible' => 1, 'name' => _('Russisch')], + 'SV' => ['visible' => 1, 'name' => _('Schwedisch')], + 'ES' => ['visible' => 1, 'name' => _('Spanisch')], + 'CS' => ['visible' => 1, 'name' => _('Tschechisch')], + 'TR' => ['visible' => 1, 'name' => _('Türkisch')], + 'UK' => ['visible' => 1, 'name' => _('Ukrainisch')], + 'HU' => ['visible' => 1, 'name' => _('Ungarisch')] + ], + 'default' => 'DE' +]; + +$GLOBALS['MVV_MODULTEIL']['SPRACHE'] = $GLOBALS['MVV_MODUL']['SPRACHE']; + +$GLOBALS['MVV_STUDIENGANG']['SPRACHE'] = $GLOBALS['MVV_MODUL']['SPRACHE']; + +$GLOBALS['MVV_MODUL']['PRUEF_EBENE'] = [ + 'values' => [ + 'abschliessend' => ['visible' => 1, 'name' => _('modulabschließend')], + 'begleitend' => ['visible' => 1, 'name' => _('modulbegleitend')] + ], + 'default' => '' +]; +// Status der Bearbeitung +$GLOBALS['MVV_MODUL']['STATUS'] = [ + 'values' => [ + // don't remove the status planung! It is internally used. + 'planung' => [ + 'visible' => 1, + 'name' => _('Entwurf'), + 'public' => 0, + 'icon' => Icon::create('span-2quarter', 'status-yellow')], + 'genehmigt' => [ + 'visible' => 1, + 'name' => _('genehmigt und aktiv'), + 'public' => 1, + 'icon' => Icon::create('span-full', 'status-green')], + 'ausgelaufen' => [ + 'visible' => 1, + 'name' => _('ausgelaufen und nicht mehr aktiv'), + 'public' => 1, + 'icon' => Icon::create('span-empty', 'status-red')] + ], + 'default' => 'planung' +]; + +$GLOBALS['MVV_MODUL']['FAKTOR_NOTE']['default'] = '1'; + +$GLOBALS['MVV_MODUL']['FASSUNG_TYP'] = $GLOBALS['MVV_STGTEILVERSION']['FASSUNG_TYP']; + +$GLOBALS['MVV_STUDIENGANG']['STATUS'] = $GLOBALS['MVV_MODUL']['STATUS']; + +$GLOBALS['MVV_MODUL']['INSTITUT_GRUPPEN'] = [ + 'values' => [ + 'hauptverantwortlich' => ['visible' => 1, 'name' => _('Hauptverantwortliche (geschäftsführende) Einrichtung')], + 'verantwortlich' => ['visible' => 1, 'name' => _('Verantwortliche Einrichtung')] + ] +]; + +// Moduldeskriptor Ausgabesprache +$GLOBALS['MVV_MODUL_DESKRIPTOR']['SPRACHE'] = [ + 'values' => [ + 'DE' => ['visible' => 1, 'name' => _('Originalfassung'), 'content_language' => 'de_DE'], + 'EN' => ['visible' => 1, 'name' => _('Englisch'), 'content_language' => 'en_GB'] + // 'de_DE' => array('visible' => 1, 'name' => _('Originalfassung')), + // 'en_GB' => array('visible' => 1, 'name' => _('Englisch')) + ], + 'default' => 'DE' +]; + +// Modulteile +$GLOBALS['MVV_MODULTEIL']['NUM_BEZEICHNUNG'] = [ + 'values' => [ + 'lv' => ['visible' => 1, 'name' => _('LV')], + ], + 'default' => 'lv' +]; + +$GLOBALS['MVV_MODULTEIL']['LERNLEHRFORM'] = [ + 'values' => [ + 'g_vorlesung' => ['visible' => 1, 'name' => _('Vorlesung'), 'parent' => ''], + 'vorlesung' => ['visible' => 1, 'name' => _('Vorlesung'), 'parent' => 'g_vorlesung'], + 'basisvorlesung' => ['visible' => 1, 'name' => _('Basisvorlesung'), 'parent' => 'g_vorlesung'], + 'ringvorlesung' => ['visible' => 1, 'name' => _('Ringvorlesung'), 'parent' => 'g_vorlesung'], + 'g_seminar' => ['visible' => 1, 'name' => _('Seminar'), 'parent' => ''], + 'seminar' => ['visible' => 1, 'name' => _('Seminar'), 'parent' => 'g_seminar'], + 'einfuehrungsseminar' => ['visible' => 1, 'name' => _('Einführungsseminar'), 'parent' => 'g_seminar'], + 'proseminar' => ['visible' => 1, 'name' => _('Proseminar'), 'parent' => 'g_seminar'], + 'hauptseminar' => ['visible' => 1, 'name' => _('Hauptseminar'), 'parent' => 'g_seminar'], + 'obersemminar' => ['visible' => 1, 'name' => _('Oberseminar'), 'parent' => 'g_seminar'], + 'g_uebung' => ['visible' => 1, 'name' => _('Übung/Tutorium/Sprache'), 'parent' => ''], + 'uebung' => ['visible' => 1, 'name' => _('Übung'), 'parent' => 'g_uebung'], + 'tutorium' => ['visible' => 1, 'name' => _('Tutorium'), 'parent' => 'g_uebung'], + 'sprachkurs' => ['visible' => 1, 'name' => _('Sprachkurs'), 'parent' => 'g_uebung'], + 'sprachuebung' => ['visible' => 1, 'name' => _('Sprachübung'), 'parent' => 'g_uebung'], + 'lektuereuebung' => ['visible' => 1, 'name' => _('Lektüreübung'), 'parent' => 'g_uebung'], + 'uebersetzungsuebung' => ['visible' => 1, 'name' => _('Übersetzungsübung'), 'parent' => 'g_uebung'], + 'stiluebung' => ['visible' => 1, 'name' => _('Stilübung'), 'parent' => 'g_uebung'], + 'g_kolloquium' => ['visible' => 1, 'name' => _('Kolloquium'), 'parent' => ''], + 'kolloquium' => ['visible' => 1, 'name' => _('Kolloquium'), 'parent' => 'g_kolloquium'], + 'forschungskolloquium' => ['visible' => 1, 'name' => _('Forschungskolloquium'), 'parent' => 'g_kolloquium'], + 'examenskolloquium' => ['visible' => 1, 'name' => _('Examenskolloquium'), 'parent' => 'g_kolloquium'], + 'g_praxis' => ['visible' => 1, 'name' => _('Praxis/Exkursion'), 'parent' => ''], + 'exkursion' => ['visible' => 1, 'name' => _('Exkursion'), 'parent' => 'g_praxis'], + 'praktischerkurs' => ['visible' => 1, 'name' => _('Praktischer Kurs'), 'parent' => 'g_praxis'], + 'sportpraktischerkurs' => ['visible' => 1, 'name' => _('Sportpraktischer Kurs'), 'parent' => 'g_praxis'], + 'kuenstlerischerunterricht' => ['visible' => 1, 'name' => _('Künstlerischer Unterricht'), 'parent' => 'g_praxis'], + 'praktikum' => ['visible' => 1, 'name' => _('Praktikum'), 'parent' => 'g_praxis'], + 'g_projekt' => ['visible' => 1, 'name' => _('Projekt'), 'parent' => ''], + 'projekt' => ['visible' => 1, 'name' => _('Projekt'), 'parent' => 'g_projekt'], + 'projektseminar' => ['visible' => 1, 'name' => _('Projektseminar'), 'parent' => 'g_projekt'], + 'projektpraktikum' => ['visible' => 1, 'name' => _('Projektpraktikum'), 'parent' => 'g_projekt'], + 'szenischesprojekt' => ['visible' => 1, 'name' => _('Szenisches Projekt'), 'parent' => 'g_projekt'], + 'g_sonstiges' => ['visible' => 1, 'name' => _('Sonstiges'), 'parent' => ''], + 'freielektuere' => ['visible' => 1, 'name' => _('Freie Lektüre'), 'parent' => 'g_sonstiges'], + 'grundkurs' => ['visible' => 1, 'name' => _('Grundkurs'), 'parent' => 'g_sonstiges'], + 'klausur' => ['visible' => 1, 'name' => _('Klausur'), 'parent' => 'g_sonstiges'], + 'kursus' => ['visible' => 1, 'name' => _('Kursus'), 'parent' => 'g_sonstiges'], + 'modul' => ['visible' => 1, 'name' => _('Modul'), 'parent' => 'g_sonstiges'], + 'repetitorium' => ['visible' => 1, 'name' => _('Repetitorium'), 'parent' => 'g_sonstiges'], + 'selbstaendigebetreutearbeit' => ['visible' => 1, 'name' => _('Selbständige betreute Arbeit'), 'parent' => 'g_sonstiges'], + 'workshop' => ['visible' => 1, 'name' => _('Workshop'), 'parent' => 'g_sonstiges'], + 'g_kombinationen' => ['visible' => 1, 'name' => _('Kombinationen'), 'parent' => ''], + 'vorlesungseminar' => ['visible' => 1, 'name' => _('Vorlesung oder Seminar'), 'parent' => 'g_kombinationen'], + 'vorlesungproseminar' => ['visible' => 1, 'name' => _('Vorlesung oder Proseminar'), 'parent' => 'g_kombinationen'], + 'vorlesunghauptseminar' => ['visible' => 1, 'name' => _('Vorlesung oder Hauptseminar'), 'parent' => 'g_kombinationen'], + 'vorlesunguebung' => ['visible' => 1, 'name' => _('Vorlesung oder Übung'), 'parent' => 'g_kombinationen'], + 'vorlsemlektuere' => ['visible' => 1, 'name' => _('Vorlesung, Seminar oder Lektüreübung'), 'parent' => 'g_kombinationen'], + 'vorlsemeinf' => ['visible' => 1, 'name' => _('Vorlesung, Seminar oder Einführungsveranstaltungen'), 'parent' => 'g_kombinationen'], + 'vorlsemeinflektuere' => ['visible' => 1, 'name' => _('Vorlesung, Seminar, Einführung oder Lektüreübung'), 'parent' => 'g_kombinationen'], + 'seminaroberseminar' => ['visible' => 1, 'name' => _('Seminar oder Oberseminar'), 'parent' => 'g_kombinationen'], + 'seminarprojektseminar' => ['visible' => 1, 'name' => _('Seminar oder Projektseminar'), 'parent' => 'g_kombinationen'], + 'seminaruebung' => ['visible' => 1, 'name' => _('Seminar oder Übung'), 'parent' => 'g_kombinationen'], + 'seminarlektuere' => ['visible' => 1, 'name' => _('Seminar oder Lektürekurs'), 'parent' => 'g_kombinationen'], + 'seminarszenischesprojekt' => ['visible' => 1, 'name' => _('Seminar oder Szenisches Projekt'), 'parent' => 'g_kombinationen'], + 'seminaruebungexkursion' => ['visible' => 1, 'name' => _('Seminar, Übung oder Exkursion'), 'parent' => 'g_kombinationen'], + 'semszenprojektkuenstleistung' => ['visible' => 1, 'name' => _('Seminar, Szenisches Projekt oder eigene Künstlerische Leistung'), 'parent' => 'g_kombinationen'], + 'uebungprojekt' => ['visible' => 1, 'name' => _('Übung oder Projekt'), 'parent' => 'g_kombinationen'], + 'uebungtutorium' => ['visible' => 1, 'name' => _('Übung oder Tutorium'), 'parent' => 'g_kombinationen'], + 'uebunglektuerekurs' => ['visible' => 1, 'name' => _('Übung oder Lektürekurs'), 'parent' => 'g_kombinationen'], + 'szenprojektkuenstleistung' => ['visible' => 1, 'name' => _('Szenisches Projekt oder eigene künstlerische Leistung'), 'parent' => 'g_kombinationen'], + 'praktkursfestivalorga' => ['visible' => 1, 'name' => _('Praktischer Kurs oder Festivalorganisation'), 'parent' => 'g_kombinationen'], + ], + 'default' => '' +]; + +// Modulteildeskriptor +$GLOBALS['MVV_MODULTEIL_DESKRIPTOR']['SPRACHE'] = $GLOBALS['MVV_MODUL_DESKRIPTOR']['SPRACHE']; + +// Maximale Anzahl Fachsemester +$GLOBALS['MVV_MODULTEIL_FACHSEMESTER'] = 10; + +// Status des zugeordneten Fachsemesters +$GLOBALS['MVV_MODULTEIL_STGABSCHNITT']['STATUS'] = [ + 'values' => [ + 'kann' => [ + 'visible' => 1, + 'name' => _('kann'), + 'icon' => 'o'], + 'soll' => [ + 'visible' => 1, + 'name' => _('soll'), + 'icon' => '+'], + 'muss' => [ + 'visible' => 1, + 'name' => _('muss'), + 'icon' => '#'] + ], + 'default' => '' +]; + +$GLOBALS['MVV_STGTEILVERSION']['STATUS'] = $GLOBALS['MVV_MODUL']['STATUS']; + +$GLOBALS['MVV_STGTEIL']['STATUS'] = $GLOBALS['MVV_MODUL']['STATUS']; + +$GLOBALS['MVV_LANGUAGES'] = [ + 'values' => [ + 'DE' => ['visible' => 1, 'name' => _('Deutsch'), + 'locale' => 'de_DE'], + 'EN' => ['visible' => 1, 'name' => _('Englisch'), + 'locale' => 'en_GB'] + ], + 'default' => 'DE' +]; + +$GLOBALS['MVV_STUDIENGANG']['FASSUNG_TYP'] = $GLOBALS['MVV_STGTEILVERSION']['FASSUNG_TYP']; + +$GLOBALS['MVV_STUDIENGANG']['STUDYCOURSE_TYPE'] = [ + 'values' => [ + 'grundstaendig' => [ + 'visible' => 1, + 'name' => _('grundständiger Studiengang') + ], + 'international' => [ + 'visible' => 1, + 'name' => _('International') + ], + ], + 'default' => [ + 'grundstaendig' + ] +]; + +$GLOBALS['MVV_STUDIENGANG']['ABSCHLUSSGRAD'] = [ + 'values' => [ + 'BA' => [ + 'visible' => 1, + 'name' => _('Bachelor of Arts') + ], + 'BSc' => [ + 'visible' => 1, + 'name' => _('Bachelor of Science') + ], + ], + 'default' => [ + 'BA' + ] +]; + +$GLOBALS['MVV_STUDIENGANG']['PERSONEN_GRUPPEN'] = [ + 'values' => [ + 'studium' => ['visible' => 1, 'name' => _('Fragen Rund ums Studium')], + 'studiengang' => ['visible' => 1, 'name' => _('Fragen zum Studiengang')] + ], + 'default' => '' +]; + +$GLOBALS['MVV_AUFBAUSTUDIENGANG']['TYP'] = [ + 'values' => [ + 'masterfach' => [ + 'visible' => 1, + 'name' => _('Masterfach') + ], + 'kernfach' => [ + 'visible' => 1, + 'name' => _('Kernfach') + ], + 'kombifach' => [ + 'visible' => 1, + 'name' => _('Kombinationsfach') + ], + 'koopfach' => [ + 'visible' => 1, + 'name' => _('Kooperationsfach') + ] + ], + 'default' => [ + 'masterfach' + ] +]; + +$GLOBALS['MVV_DOCUMENTS']['TYPE'] = [ + 'values' => [ + 'po03fachteil' => ['visible' => 1, 'name' => _('PO 03 fachspezi. Teil')] + ], + 'default' => '' +]; + +$GLOBALS['MVV_DOCUMENTS']['CATEGORY'] = [ + 'values' => [ + 'keine' => ['visible' => 1, 'name' => _('keine')], + 'ordnung' => ['visible' => 1, 'name' => _('Ordnungen')], + 'vordruck' => ['visible' => 1, 'name' => _('Vordrucke und Formulare')], + 'anrechnung' => ['visible' => 1, 'name' => _('Anrechnungen')], + 'praktikum' => ['visible' => 1, 'name' => _('Praktika')], + 'klausur' => ['visible' => 1, 'name' => _('Klausuren und Prüfende')], + 'website' => ['visible' => 1, 'name' => _('Webseite')] + ], + 'default' => 'keine' +]; + +$GLOBALS['MVV_DOCUMENTS']['TAG'] = [ + 'values' => [ + 'englisch' => ['visible' => 1, 'name' => _('Englisch')], + 'ordnung' => ['visible' => 1, 'name' => _('Ordnungen')], + 'anglistik' => ['visible' => 1, 'name' => _('Anglistik')], + 'bpo' => ['visible' => 1, 'name' => _('BPO')] + ], + 'default' => '' +]; + +$GLOBALS['MVV_CONTACTS']['TYPE'] = [ + 'values' => [ + 'fachschaft' => ['visible' => 1, 'name' => _('Fachschaften')] + ], + 'default' => '' +]; + +$GLOBALS['MVV_STGTEIL']['PERSONEN_GRUPPEN'] = [ + 'values' => [ + 'fachberater' => ['visible' => 1, 'name' => _('Studienfachberater')] + ], + 'default' => 'fachberater' +];
\ No newline at end of file diff --git a/config/mvvconfig/abschluss.php b/config/mvvconfig/abschluss.php new file mode 100644 index 0000000..fcbfb84 --- /dev/null +++ b/config/mvvconfig/abschluss.php @@ -0,0 +1,132 @@ +<?php + +/** + * abschluss.php + * Configures the permissions for Abschlüsse (table abschluss) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + +$privileges = [ + /** + * This object has no different status. So only the default declarations are + * required. + */ + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'name' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + // relations + 'category_assignment' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + ] +]; +
\ No newline at end of file diff --git a/config/mvvconfig/fach.php b/config/mvvconfig/fach.php new file mode 100644 index 0000000..b5b5e1b --- /dev/null +++ b/config/mvvconfig/fach.php @@ -0,0 +1,180 @@ +<?php + +/** + * fach.php + * Configures the permissions for Fächer (table fach) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_fach +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + /* + 'table' => array( + 'planung' => array( + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ), + 'genehmigt' => array( + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ), + 'ausgelaufen' => array( + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ) + ), + * + */ + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'name' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'schlagworte' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + // verknüpfte Objekte + 'departments' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'studiengangteile' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'abschluesse' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +]; +
\ No newline at end of file diff --git a/config/mvvconfig/mvv_abschl_kategorie.php b/config/mvvconfig/mvv_abschl_kategorie.php new file mode 100644 index 0000000..209358e --- /dev/null +++ b/config/mvvconfig/mvv_abschl_kategorie.php @@ -0,0 +1,170 @@ +<?php + +/** + * mvv_abschl_kategorie.php + * Configures the permissions for Abschluss-Kategorien + * (table mvv_abschl_kategorie) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_abschl_kategorie +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'name' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'position' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + // verknüpfte Objekte + 'abschluss_assignments' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'document_assignments' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +]; +
\ No newline at end of file diff --git a/config/mvvconfig/mvv_abschl_zuord.php b/config/mvvconfig/mvv_abschl_zuord.php new file mode 100644 index 0000000..4d4fcd8 --- /dev/null +++ b/config/mvvconfig/mvv_abschl_zuord.php @@ -0,0 +1,120 @@ +<?php + +/** + * mvv_abschl_zuord.php + * Configures the permissions for assignments of Abschlüsse to Abschluss- + * Kategorien (table mvv_abschl_zuord) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_abschl_zuord +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'kategorie_id' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'abschluss_id' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'position' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +]; diff --git a/config/mvvconfig/mvv_aufbaustudiengang.php b/config/mvvconfig/mvv_aufbaustudiengang.php new file mode 100644 index 0000000..281e2bb --- /dev/null +++ b/config/mvvconfig/mvv_aufbaustudiengang.php @@ -0,0 +1,124 @@ +<?php + +/** + * mvv_aufbaustudiengang.php + * Configures the permissions for Aufbaustudiengänge. + * (table mvv_aufbaustudiengang] + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option] any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 4.4 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object]. + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object]. + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object]. Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_studycourse_language +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'typ' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +];
\ No newline at end of file diff --git a/config/mvvconfig/mvv_contacts.php b/config/mvvconfig/mvv_contacts.php new file mode 100644 index 0000000..db02aef --- /dev/null +++ b/config/mvvconfig/mvv_contacts.php @@ -0,0 +1,121 @@ +<?php + +/** + * mvv_contacts.php + * Configures the permissions for contacts (table mvv_contacts) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 4.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_contacts +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'contact_status' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'alt_email' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + // verknüpfte Objekte + 'ranges' => [ + 'default' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +]; +
\ No newline at end of file diff --git a/config/mvvconfig/mvv_contacts_ranges.php b/config/mvvconfig/mvv_contacts_ranges.php new file mode 100644 index 0000000..7816ece --- /dev/null +++ b/config/mvvconfig/mvv_contacts_ranges.php @@ -0,0 +1,120 @@ +<?php + +/** + * mvv_contacts_ranges.php + * Configures the permissions for assigned contacts (table mvv_contacts_ranges) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 4.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_contacts_ranges +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'type' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'category' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'position' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ] + ] +]; +
\ No newline at end of file diff --git a/config/mvvconfig/mvv_dokument.php b/config/mvvconfig/mvv_dokument.php new file mode 100644 index 0000000..087abe8 --- /dev/null +++ b/config/mvvconfig/mvv_dokument.php @@ -0,0 +1,152 @@ +<?php + +/** + * mvv_dokument.php + * Configures the permissions for Dokumente (table mvv_dokumente) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_dokument +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'url' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'linktext' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'linktext_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ] + ] +]; +
\ No newline at end of file diff --git a/config/mvvconfig/mvv_dokument_zuord.php b/config/mvvconfig/mvv_dokument_zuord.php new file mode 100644 index 0000000..ee40c3f --- /dev/null +++ b/config/mvvconfig/mvv_dokument_zuord.php @@ -0,0 +1,132 @@ +<?php + +/** + * mvv_dokument_zuord.php + * Configures the permissions for assignments of Dokumente + * (table mvv_dokument_zuord) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_dokument_zuord +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 7, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 7, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'position' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_i18n[en_GB]' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ] + ] +]; diff --git a/config/mvvconfig/mvv_extern_contacts.php b/config/mvvconfig/mvv_extern_contacts.php new file mode 100644 index 0000000..39e715c --- /dev/null +++ b/config/mvvconfig/mvv_extern_contacts.php @@ -0,0 +1,128 @@ +<?php + +/** + * mvv_extern_contacts.php + * Configures the permissions for contacts (table mvv_extern_contacts) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 4.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_extern_contacts +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'name' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'homepage' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'mail' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'tel' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +]; +
\ No newline at end of file diff --git a/config/mvvconfig/mvv_files.php b/config/mvvconfig/mvv_files.php new file mode 100644 index 0000000..b5bda0e --- /dev/null +++ b/config/mvvconfig/mvv_files.php @@ -0,0 +1,168 @@ +<?php + +/** + * mvv_files.php + * Configures the permissions for files (table mvv_files) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 4.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_files +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'name' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'year' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'type' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'file_language' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'category' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'tags' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'extern_visible' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'position' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + // verknüpfte Objekte + 'file_ref' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ] + ] +];
\ No newline at end of file diff --git a/config/mvvconfig/mvv_files_filerefs.php b/config/mvvconfig/mvv_files_filerefs.php new file mode 100644 index 0000000..c6917a6 --- /dev/null +++ b/config/mvvconfig/mvv_files_filerefs.php @@ -0,0 +1,103 @@ +<?php + +/** + * mvv_files_filerefs.php + * Configures the permissions for files (table mvv_files_filerefs) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 4.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_files_filerefs +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'file_language' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ] + ] +];
\ No newline at end of file diff --git a/config/mvvconfig/mvv_files_ranges.php b/config/mvvconfig/mvv_files_ranges.php new file mode 100644 index 0000000..137e149 --- /dev/null +++ b/config/mvvconfig/mvv_files_ranges.php @@ -0,0 +1,104 @@ +<?php + +/** + * mvv_files_ranges.php + * Configures the permissions for assigned contacts (table mvv_files_ranges) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 4.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_files_ranges +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'position' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ] + ] +]; +
\ No newline at end of file diff --git a/config/mvvconfig/mvv_lvgruppe.php b/config/mvvconfig/mvv_lvgruppe.php new file mode 100644 index 0000000..eb6f92a --- /dev/null +++ b/config/mvvconfig/mvv_lvgruppe.php @@ -0,0 +1,140 @@ +<?php + +/** + * mvv_lvgruppe.php + * Configures the permissions for Lehrveranstaltungsgruppen (table mvv_lvgruppe) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + +$privileges = [ + /** + * This object has no different status. So only the default declarations are + * required. + */ + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7, + 'MVVLvGruppenAdmin' => 7 + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1, + 'MVVLvGruppenAdmin' => 7 + ], + 'fields' => [ + 'name' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3, + 'MVVLvGruppenAdmin' => 7 + ] + ], + 'name_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3, + 'MVVLvGruppenAdmin' => 7 + ] + ], + 'alttext' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3, + 'MVVLvGruppenAdmin' => 7 + ] + ], + 'alttext_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3, + 'MVVLvGruppenAdmin' => 7 + ] + ], + // relations + 'modulteile' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1, + 'MVVLvGruppenAdmin' => 7 + ] + ], + 'courses' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1, + 'MVVLvGruppenAdmin' => 7 + ] + ], + 'archived_courses' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1, + 'MVVLvGruppenAdmin' => 7 + ] + ] + ] +];
\ No newline at end of file diff --git a/config/mvvconfig/mvv_lvgruppe_modulteil.php b/config/mvvconfig/mvv_lvgruppe_modulteil.php new file mode 100644 index 0000000..619e742 --- /dev/null +++ b/config/mvvconfig/mvv_lvgruppe_modulteil.php @@ -0,0 +1,124 @@ +<?php + +/** + * mvv_lvgruppe_modulteil.php + * Configures the permissions for assignments of LV-Gruppen to Modulteile + * (table mvv_lvgruppe_modulteil) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_lvgruppe_modulteil +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'position' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'fn_id' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +];
\ No newline at end of file diff --git a/config/mvvconfig/mvv_lvgruppe_seminar.php b/config/mvvconfig/mvv_lvgruppe_seminar.php new file mode 100644 index 0000000..8458a12 --- /dev/null +++ b/config/mvvconfig/mvv_lvgruppe_seminar.php @@ -0,0 +1,95 @@ +<?php + +/** + * mvv_lvgruppe_seminar.php + * Configures the permissions for assignments of courses to LV-Gruppen + * (table mvv_lvgruppe_seminar) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_lvgruppe_seminar +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [] +];
\ No newline at end of file diff --git a/config/mvvconfig/mvv_modul.php b/config/mvvconfig/mvv_modul.php new file mode 100644 index 0000000..3ced73d --- /dev/null +++ b/config/mvvconfig/mvv_modul.php @@ -0,0 +1,539 @@ +<?php + +/** + * mvv_modul.php + * Configures the permissions for Module (table mvv_modul) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_modul +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'quelle' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'variante' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'flexnow_modul' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'code' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'start' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'end' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschlussdatum' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'fassung_nr' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'fassung_typ' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'version' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'aktiv' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + // wird beim Erstellen vorgegeben + 'sprache' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'verantwortlich' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'dauer' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kapazitaet' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kp' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'wl_selbst' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'wl_pruef' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'pruef_ebene' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'faktor_note' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'stat' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + ], + 'kommentar_status' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + ], + // verknüpfte Objekte + 'responsible_institute' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ] + ], + 'assigned_institutes' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ] + ], + 'languages' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ] + ], + 'assigned_users' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ] + ], + 'modulteile' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ] + ], + 'deskriptoren' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ] + ], + 'abschnitte_modul' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ] + ], + 'abschnitte' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ] + ], + 'modul_quelle' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'modul_variante' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + // folgende Konfigurationen gelten für bestimmte Funktionen, + // die auf das Objekt angewendet werden dürfen (oder eben nicht). + + // Kopieren von Modulen + 'copy_module' => [ + 'planung' => [ + 'MVVEntwickler' => 0, + 'MVVRedakteur' => 0, + 'MVVTranslator' => 0, + 'MVVFreigabe' => 0 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 0, + 'MVVTranslator' => 0, + 'MVVFreigabe' => 0 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 0, + 'MVVRedakteur' => 0, + 'MVVTranslator' => 0, + 'MVVFreigabe' => 0 + ] + ] + ] +]; diff --git a/config/mvvconfig/mvv_modul_deskriptor.php b/config/mvvconfig/mvv_modul_deskriptor.php new file mode 100644 index 0000000..e9ecb7c --- /dev/null +++ b/config/mvvconfig/mvv_modul_deskriptor.php @@ -0,0 +1,413 @@ +<?php + +/** + * mvv_modul_deskriptor.php + * Configures the permissions for Modul-Deskriptoren in the default language + * (table mvv_modul_deskriptor) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_modul_deskriptor +// Es muss unterschieden werden zwischen dem Deskriptor für die Default-Sprache +// (Übersetzer hat keine Berechtigung) und den Deskriptoren in weiteren Sprachen +// (Übersetzer ist Schreibberechtigt) +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + // wird beim Erstellen vorgegeben + 'sprache' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'modul_id' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'verantwortlich' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'bezeichnung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'voraussetzung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kompetenzziele' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'inhalte' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'literatur' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'links' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'turnus' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_kapazitaet' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_sws' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_wl_selbst' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_wl_pruef' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_note' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'pruef_vorleistung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'pruef_leistung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'pruef_wiederholung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'ersatztext' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'datafields' => [ + 'default' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + /* Use id of datafield as key : + 'da02d4d437c8bf08fd3f10d9974aca46' => array( + 'planung' => array( + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ), + 'genehmigt' => array( + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ) + ) + * + */ + ] + ] +]; diff --git a/config/mvvconfig/mvv_modul_deskriptor_EN.php b/config/mvvconfig/mvv_modul_deskriptor_EN.php new file mode 100644 index 0000000..2a6ed13 --- /dev/null +++ b/config/mvvconfig/mvv_modul_deskriptor_EN.php @@ -0,0 +1,413 @@ +<?php + +/** + * mvv_modul_deskriptor_EN.php + * Configures the permissions for Modul-Deskriptoren in english + * (table mvv_modul_deskriptor) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_modul_deskriptor_EN +// Es muss unterschieden werden zwischen dem Deskriptor für die Default-Sprache +// (Übersetzer hat keine Berechtigung) und den Deskriptoren in weiteren Sprachen +// (Übersetzer ist Schreibberechtigt) +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + // wird beim Erstellen vorgegeben + 'sprache' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'modul_id' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'verantwortlich' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'bezeichnung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'voraussetzung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kompetenzziele' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'inhalte' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'literatur' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'links' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'turnus' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_kapazitaet' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_sws' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_wl_selbst' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_wl_pruef' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_note' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'pruef_vorleistung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'pruef_leistung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'pruef_wiederholung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'ersatztext' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'datafields' => [ + 'default' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + /* Use id of datafield as key : + 'da02d4d437c8bf08fd3f10d9974aca46' => array( + 'planung' => array( + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ), + 'genehmigt' => array( + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ) + ) + * + */ + ] + ] +]; diff --git a/config/mvvconfig/mvv_modul_inst.php b/config/mvvconfig/mvv_modul_inst.php new file mode 100644 index 0000000..79fa100 --- /dev/null +++ b/config/mvvconfig/mvv_modul_inst.php @@ -0,0 +1,110 @@ +<?php + +/** + * mvv_modul_inst.php + * Configures the permissions for assignments of institutes to Module + * (table mvv_modul_inst) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_modul_inst +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'fields' => [ + 'gruppe' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +];
\ No newline at end of file diff --git a/config/mvvconfig/mvv_modul_language.php b/config/mvvconfig/mvv_modul_language.php new file mode 100644 index 0000000..57ed0f3 --- /dev/null +++ b/config/mvvconfig/mvv_modul_language.php @@ -0,0 +1,110 @@ +<?php + +/** + * mvv_modul_language.php + * Configures the permissions for the assignments of languages to Module + * (table mvv_modul_language) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_modul_language +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'position' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +];
\ No newline at end of file diff --git a/config/mvvconfig/mvv_modul_user.php b/config/mvvconfig/mvv_modul_user.php new file mode 100644 index 0000000..56e2ae0 --- /dev/null +++ b/config/mvvconfig/mvv_modul_user.php @@ -0,0 +1,124 @@ +<?php + +/** + * mvv_modul_user.php + * Configures the permissions for the assignments of users to Module + * (table mvv_modul_user) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_modul_user +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'gruppe' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'position' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +];
\ No newline at end of file diff --git a/config/mvvconfig/mvv_modulteil.php b/config/mvvconfig/mvv_modulteil.php new file mode 100644 index 0000000..c81f7e9 --- /dev/null +++ b/config/mvvconfig/mvv_modulteil.php @@ -0,0 +1,400 @@ +<?php + +/** + * mvv_modulteil.php + * Configures the permissions for Modulteile + * (table mvv_modulteil) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_modulteil +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'modul_id' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'position' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'flexnow_modul' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'nummer' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'num_bezeichnung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'lernlehrform' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'semester' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kapazitaet' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kp' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'sws' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'wl_praesenz' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'wl_bereitung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'wl_selbst' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'wl_pruef' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'anteil_note' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'ausgleichbar' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'pflicht' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + // verknüpfte Objekte + 'lvgruppen' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1, + 'MVVLvGruppenAdmin' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 1, + 'MVVLvGruppenAdmin' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7, + 'MVVLvGruppenAdmin' => 7 + ] + ], + 'deskriptoren' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 7, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 1 + ] + ], + 'abschnitte' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 7, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 1 + ] + ], + 'languages' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 7, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ] + ] +]; diff --git a/config/mvvconfig/mvv_modulteil_deskriptor.php b/config/mvvconfig/mvv_modulteil_deskriptor.php new file mode 100644 index 0000000..dbbc8be --- /dev/null +++ b/config/mvvconfig/mvv_modulteil_deskriptor.php @@ -0,0 +1,315 @@ +<?php + +/** + * mvv_modulteil_deskriptor.php + * Configures the permissions for Modulteil-Deskriptoren in the default language + * (table mvv_modulteil_deskriptor) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_modulteil_deskriptor +// Es muss unterschieden werden zwischen dem Deskriptor für die Default-Sprache +// (Übersetzer hat keine Berechtigung) und den Deskriptoren in weiteren Sprachen +// (Übersetzer ist Schreibberechtigt) +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'bezeichnung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + // wird beim Erstellen vorgegeben + 'sprache' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'modulteil_id' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'voraussetzung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_kapazitaet' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_wl_praesenz' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_wl_bereitung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_wl_selbst' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_wl_pruef' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'pruef_vorleistung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'pruef_leistung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_pflicht' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'datafields' => [ + 'default' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + /* Use id of datafield as key : + 'da02d4d437c8bf08fd3f10d9974aca46' => array( + 'planung' => array( + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ), + 'genehmigt' => array( + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ) + ) + * + */ + ] + ] +]; diff --git a/config/mvvconfig/mvv_modulteil_deskriptor_EN.php b/config/mvvconfig/mvv_modulteil_deskriptor_EN.php new file mode 100644 index 0000000..4d0162a --- /dev/null +++ b/config/mvvconfig/mvv_modulteil_deskriptor_EN.php @@ -0,0 +1,315 @@ +<?php + +/** + * mvv_modulteil_deskriptor_EN.php + * Configures the permissions for Modulteil-Deskriptoren in english + * (table mvv_modulteil_deskriptor) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_modulteil_deskriptor_EN +// Es muss unterschieden werden zwischen dem Deskriptor für die Default-Sprache +// (Übersetzer hat keine Berechtigung) und den Deskriptoren in weiteren Sprachen +// (Übersetzer ist Schreibberechtigt) +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'bezeichnung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + // wird beim Erstellen vorgegeben + 'sprache' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'modulteil_id' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'voraussetzung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_kapazitaet' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_wl_praesenz' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_wl_bereitung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_wl_selbst' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_wl_pruef' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'pruef_vorleistung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'pruef_leistung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_pflicht' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'datafields' => [ + 'default' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + /* Use id of datafield as key : + 'da02d4d437c8bf08fd3f10d9974aca46' => array( + 'planung' => array( + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ), + 'genehmigt' => array( + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ) + ) + * + */ + ] + ] +]; diff --git a/config/mvvconfig/mvv_modulteil_language.php b/config/mvvconfig/mvv_modulteil_language.php new file mode 100644 index 0000000..9cdfa06 --- /dev/null +++ b/config/mvvconfig/mvv_modulteil_language.php @@ -0,0 +1,110 @@ +<?php + +/** + * mvv_modulteil_language.php + * Configures the permissions for the assignment of languages to Modulteile + * (table mvv_modulteil_language) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_modulteil_language +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'position' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +];
\ No newline at end of file diff --git a/config/mvvconfig/mvv_modulteil_stgteilabschnitt.php b/config/mvvconfig/mvv_modulteil_stgteilabschnitt.php new file mode 100644 index 0000000..ad706fd --- /dev/null +++ b/config/mvvconfig/mvv_modulteil_stgteilabschnitt.php @@ -0,0 +1,119 @@ +<?php + +/** + * mvv_modulteil_stgteilabschnitt.php + * Configures the permissions for the relation of Modulteile and Studiengang- + * teilabschnitte + * (table mvv_modulteil_stgteilabschnitt) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_modulteil_stgteilabschnitt +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'fachsemester' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'differenzierung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +]; diff --git a/config/mvvconfig/mvv_stg_stgteil.php b/config/mvvconfig/mvv_stg_stgteil.php new file mode 100644 index 0000000..39f38c8 --- /dev/null +++ b/config/mvvconfig/mvv_stg_stgteil.php @@ -0,0 +1,95 @@ +<?php + +/** + * mvv_stg_stgteil.php + * Configures the permissions for assignmnets of Studiengangteile + * to Studiengaenge + * (table mvv_stg_stgteil) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_modul +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] +]; diff --git a/config/mvvconfig/mvv_stgteil.php b/config/mvvconfig/mvv_stgteil.php new file mode 100644 index 0000000..8a6e519 --- /dev/null +++ b/config/mvvconfig/mvv_stgteil.php @@ -0,0 +1,154 @@ +<?php + +/** + * mvv_stgteil.php + * Configures the permissions for Studiengangteile + * (table mvv_stgteil) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_stgteil +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'fach_id' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kp' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'semester' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'zusatz' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'zusatz_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + // verknüpfte Objekte + 'fachberater_assignments' => [ + 'default' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 7, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ] + ], + 'versionen' => [ + 'default' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ] + ] + ] +]; +
\ No newline at end of file diff --git a/config/mvvconfig/mvv_stgteil_bez.php b/config/mvvconfig/mvv_stgteil_bez.php new file mode 100644 index 0000000..4b2f7e1 --- /dev/null +++ b/config/mvvconfig/mvv_stgteil_bez.php @@ -0,0 +1,136 @@ +<?php + +/** + * mvv_stgteil_bez.php + * Configures the permissions for Studiengangteil-Bezeichnungen + * (table mvv_stgteil_bez) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_stgteil_bez +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'fields' => [ + 'name' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'position' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +];
\ No newline at end of file diff --git a/config/mvvconfig/mvv_stgteilabschnitt.php b/config/mvvconfig/mvv_stgteilabschnitt.php new file mode 100644 index 0000000..4ca45ae --- /dev/null +++ b/config/mvvconfig/mvv_stgteilabschnitt.php @@ -0,0 +1,297 @@ +<?php + +/** + * mvv_stgteilabschnitt.php + * Configures the permissions for Studiengangteil-Abschnitte + * (table mvv_stgteilabschnitt) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_stgteilabschnitt +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'position' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'kp' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'ueberschrift' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'ueberschrift_i18n[en_GB]' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + // verknüpfte Objekte + 'modul_zuordnungen' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'modulteil_abschnitte' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +]; diff --git a/config/mvvconfig/mvv_stgteilabschnitt_modul.php b/config/mvvconfig/mvv_stgteilabschnitt_modul.php new file mode 100644 index 0000000..c1aa413 --- /dev/null +++ b/config/mvvconfig/mvv_stgteilabschnitt_modul.php @@ -0,0 +1,161 @@ +<?php + +/** + * mvv_stgteilabschnitt_modul.php + * Configures the permissions for the assignment of Module to Studiengangteil- + * Abschnitte + * (table mvv_stgteilabschnitt_modul) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_stgteilabschnitt_modul +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'position' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'flexnow_modul' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'modulcode' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'bezeichnung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'bezeichnung_i18n[en_GB]' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ] + ] +]; diff --git a/config/mvvconfig/mvv_stgteilversion.php b/config/mvvconfig/mvv_stgteilversion.php new file mode 100644 index 0000000..6618fa6 --- /dev/null +++ b/config/mvvconfig/mvv_stgteilversion.php @@ -0,0 +1,253 @@ +<?php + +/** + * mvv_stgteilversion.php + * Configures the permissions for Studiengangteil-Versionen + * (table mvv_stgteilversion) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object). + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object). Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_stgteilversion +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'start_sem' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'end_sem' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'code' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschlussdatum' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'fassung_nr' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'fassung_typ' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung_i18n[en_GB]' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'stat' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_status' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + // verknüpfte Objekte + 'abschnitte' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'document_assignments' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ] + ] +]; diff --git a/config/mvvconfig/mvv_studiengang.php b/config/mvvconfig/mvv_studiengang.php new file mode 100644 index 0000000..9f6f4bf --- /dev/null +++ b/config/mvvconfig/mvv_studiengang.php @@ -0,0 +1,407 @@ +<?php + +/** + * mvv_studiengang.php + * Configures the permissions for Studiengaenge + * (table mvv_studiengang] + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option] any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object]. + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object]. + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object]. Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_studiengang +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'abschluss_id' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'typ' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_i18n[en_GB]' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz_i18n[en_GB]' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung_i18n[en_GB]' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'institut_id' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'start' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'end' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschlussdatum' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'fassung_nr' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'fassung_typ' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'status' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_status' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'schlagworte' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'abschlussgrad' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + // verknüpfte Objekte + 'studiengangteile' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'document_assignments' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ], + 'contact_assignments' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ], + 'aufbaustg_assignments' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ], + 'studycourse_types' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ] + ] +]; diff --git a/config/mvvconfig/mvv_studiengang_einfach.php b/config/mvvconfig/mvv_studiengang_einfach.php new file mode 100644 index 0000000..a044375 --- /dev/null +++ b/config/mvvconfig/mvv_studiengang_einfach.php @@ -0,0 +1,438 @@ +<?php + +/** + * mvv_studiengang.php + * Configures the permissions for Studiengaenge + * (table mvv_studiengang] + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option] any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object]. + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object]. + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object]. Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_studiengang +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'abschluss_id' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'typ' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_i18n[en_GB]' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz_i18n[en_GB]' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung_i18n[en_GB]' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'institut_id' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'start' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'end' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschlussdatum' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'fassung_nr' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'fassung_typ' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'status' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_status' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'schlagworte' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'abschlussgrad' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + // verknüpfte Objekte + 'studiengangteile' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'document_assignments' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ], + 'contact_assignments' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ], + 'aufbaustg_assignments' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ], + 'studycourse_types' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ], + 'datafields' => [ + 'default' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + /* Use id of datafield as key : */ + '6b8afae55ffb934814745445e86ef219' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ] + ] + ] +]; diff --git a/config/mvvconfig/mvv_studiengang_mehrfach.php b/config/mvvconfig/mvv_studiengang_mehrfach.php new file mode 100644 index 0000000..a044375 --- /dev/null +++ b/config/mvvconfig/mvv_studiengang_mehrfach.php @@ -0,0 +1,438 @@ +<?php + +/** + * mvv_studiengang.php + * Configures the permissions for Studiengaenge + * (table mvv_studiengang] + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option] any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 3.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object]. + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object]. + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object]. Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_studiengang +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'abschluss_id' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'typ' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_i18n[en_GB]' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'name_kurz_i18n[en_GB]' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschreibung_i18n[en_GB]' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'institut_id' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'start' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'end' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'beschlussdatum' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'fassung_nr' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'fassung_typ' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'status' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'kommentar_status' => [ + 'default' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'schlagworte' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + 'abschlussgrad' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ], + // verknüpfte Objekte + 'studiengangteile' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 3 + ] + ], + 'document_assignments' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ], + 'contact_assignments' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ], + 'aufbaustg_assignments' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ], + 'studycourse_types' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 3, + 'MVVFreigabe' => 7 + ] + ], + 'datafields' => [ + 'default' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + /* Use id of datafield as key : */ + '6b8afae55ffb934814745445e86ef219' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ] + ] + ] +]; diff --git a/config/mvvconfig/mvv_studycourse_language.php b/config/mvvconfig/mvv_studycourse_language.php new file mode 100644 index 0000000..ad8f892 --- /dev/null +++ b/config/mvvconfig/mvv_studycourse_language.php @@ -0,0 +1,110 @@ +<?php + +/** + * mvv_studycourse_language.php + * Configures the permissions for the assignments of languages to study courses + * (table mvv_studycourse_language] + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option] any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 4.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object]. + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object]. + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object]. Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_studycourse_language +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'position' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +];
\ No newline at end of file diff --git a/config/mvvconfig/mvv_studycourse_type.php b/config/mvvconfig/mvv_studycourse_type.php new file mode 100644 index 0000000..e0f95ef --- /dev/null +++ b/config/mvvconfig/mvv_studycourse_type.php @@ -0,0 +1,110 @@ +<?php + +/** + * mvv_studycourse_type.php + * Configures the permissions for the assignments of types to study courses. + * (table mvv_studycourse_type] + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option] any later version. + * + * @author Peter Thienel <thienel@data-quest.de> + * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 + * @category Stud.IP + * @since 4.5 + */ + + +/** + * Permissions + * ============ + * + * read: MVVPlugin::PERM_READ | 1 + * read && write: MVVPlugin::PERM_WRITE | 3 + * read && write && create && delete: MVVPlugin::PERM_CREATE | 7 + * + * Structure + * ========== + * + * ['default_table' => [name_of_role => permission]] + * Permissions for the object itself regardless of its status. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object]. + * + * ['default_fields' => [name_of_role => permission]] + * Default permissions for all fields of this object regardless of its status. + * Maybe overwritten by an entry for a single field. + * Every tuple defines the permission for a different role (the role of a user + * who wants to handle this object]. + * + * ['fields' => ... ] + * Permissions for a single field of this object (db_fields and relations of + * the SORM-object]. Overwites above declaration for this field. + * + * ['fields' => name_of_field ['default' => [name_of_role => permission]]] + * Default permission for one field for every given role regardless of + * object's status. + * + * ['fields' => name_of_field [name_of_status => [name_of_role => permission]]] + * Permission for one field of the object with indicated status for every + * given role. Overwrites above declaration. + * + */ + + +// Tabelle mvv_studycourse_language +$privileges = [ + 'lock_status' => [ + 'ausgelaufen' + ], + 'default_table' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'table' => [ + 'planung' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 7, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 7 + ], + 'ausgelaufen' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ] + ], + 'default_fields' => [ + 'MVVEntwickler' => 1, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 1 + ], + 'fields' => [ + 'type' => [ + 'planung' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 3, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ], + 'genehmigt' => [ + 'MVVEntwickler' => 3, + 'MVVRedakteur' => 1, + 'MVVTranslator' => 1, + 'MVVFreigabe' => 3 + ] + ] + ] +];
\ No newline at end of file diff --git a/config/resource_migration-demo-data.php.dist b/config/resource_migration-demo-data.php.dist new file mode 100644 index 0000000..c6b1577 --- /dev/null +++ b/config/resource_migration-demo-data.php.dist @@ -0,0 +1,145 @@ +<?php +//RESOURCE_CATEGORY_CLASS_MAPPING: +//This setting can be used when migrating resource categories +//from the old room and resource management system to the new one. +//If the setting is set to null, the mapping will be done on best guess. +//If the setting is an array, the class name to be used for a resource +//category will be assigned by the content of the array. +//The resource category name must be the array index and +//the resource class name the corresponding value. +//All resource categories not mentioned in the array will get the default +//"Resource" class assigned to them. +//The following SORM classes are available: +//- Resource: A general resource with no specialisations. +//- Room: A specialisation of the Resource class for rooms. +//- Building: A specialisation of the Resource class for buildings. +//- Location: A specialisation of the Resource class for locations. +//Example: +//You have three resource categories named "Standort", "Gebäude" and "Hörsaal". +//The corresponding SORM classes are "Location", "Building" and "Room". +//To map the resource categories to class names use the following +//values in the array: +//$GLOBALS['RESOURCE_CATEGORY_CLASS_MAPPING'] = [ +// 'Standort' => 'Location', +// 'Gebäude' => 'Building', +// 'Hörsaal' => 'Room' +//]; + +$GLOBALS['RESOURCE_CATEGORY_CLASS_MAPPING'] = [ + 'Gebäude' => 'Building', + 'Hörsaal' => 'Room', + 'Übungsraum' => 'Room', + 'Gerät' => 'Resource', +]; + + +$GLOBALS['RESOURCE_ADMINISTRATION_PERSON_URL'] = 'https://example.org/person/%s'; + + +$GLOBALS['RESOURCE_MIGRATION_RESOURCE_TREES_TO_BE_DELETED'] = []; + +/** + * Whether course bound resource permissions shall be migrated. + * If this is set to false, all course bound permissions are deleted. + * In case this is set to true, all course members get autor permissions + * on that resources where the course had permissions. + */ +$GLOBALS['RESOURCE_MIGRATION_MIGRATE_COURSE_PERMISSIONS'] = true; + + +/** + * This variable contains the IDs of resource property definitions + * that shall be deleted. If a resource property is listed here, + * its connections to resources, resource requests and resource categories + * are also deleted. + */ +$GLOBALS['RESOURCE_PROPERTIES_TO_BE_DELETED'] = []; + + +/** + * This variable defines if the resource migration shall migrate + * course bound permissions into the tables of the SpecialResourcesPlugin + * that can handle resources in courses. + */ +$GLOBALS['RESOURCE_MIGRATION_SPECIALRESOURCESPLUGIN'] = false; + + +/** + * Array explaination: + * The key of an array entry is the old name of the property. + * The value consists of an associative array with the following fields: + * - name: The name of the new property- + * - old_type: The type of the old property. + * - requestable: Whether the property shall be requestable (optional). + * - searchable: Whether the property can be used as search parameter or not + * (optional). + */ +$GLOBALS['RESOURCE_PROPERTIES_TO_BE_MODIFIED'] = [ + 'Adresse' => [ + 'name' => 'address', + 'old_type' => 'text' + ], + 'Audio-Anlage' => [ + 'name' => 'has_loudspeakers', + 'old_type' => 'bool', + 'requestable' => true, + 'searchable' => true + ], + 'Beamer' => [ + 'name' => 'has_projector', + 'old_type' => 'bool', + 'requestable' => true, + 'searchable' => true + ], + 'behindertengerecht' => [ + 'name' => 'accessible', + 'old_type' => 'bool', + 'requestable' => true, + 'searchable' => true + ], + 'Dozentenrechner' => [ + 'name' => 'has_computer', + 'old_type' => 'bool', + 'requestable' => true, + 'searchable' => true + ], + 'Hersteller' => [ + 'name' => 'manufacturer', + 'old_type' => 'select', + 'requestable' => true, + 'searchable' => true + ], + 'Inventarnummer' => [ + 'name' => 'inventory_number', + 'old_type' => 'num', + 'requestable' => false, + 'searchable' => true + ], + 'Seriennummer' => [ + 'name' => 'serial_number', + 'old_type' => 'num', + 'requestable' => false, + 'searchable' => true + ], + 'Sitzplätze' => [ + 'name' => 'seats', + 'old_type' => 'num', + 'requestable' => true, + 'searchable' => true + ], + 'Tageslichtprojektor' => [ + 'name' => 'has_overhead_projector', + 'old_type' => 'bool', + 'requestable' => true, + 'searchable' => true + ], + 'Verdunklung' => [ + 'name' => 'is_dimmable', + 'old_type' => 'bool', + 'requestable' => true, + 'searchable' => true + ] +]; + + +$GLOBALS['RESOURCE_PROPERTIES_TO_BE_MERGED'] = []; diff --git a/config/studip-httpd.conf.dist b/config/studip-httpd.conf.dist new file mode 100644 index 0000000..8227730 --- /dev/null +++ b/config/studip-httpd.conf.dist @@ -0,0 +1,36 @@ +#Alias /studip /usr/local/studip/public +<Directory "/usr/local/studip/public"> + # für rewrite wird die Option FollowSymLinks oder SymLinksIfOwnerMatch benötigt ... + #Options SymLinksIfOwnerMatch + #RewriteEngine on + #RewriteRule ^download/(normal|force_download|zip)/([0-467])/([^/]+)/(.+)$ sendfile.php?$1=1&type=$2&file_id=$3&file_name=$4 [L] + #RewriteRule ^download/(normal|force_download|zip)/5/([^/]+)/([^/]+)/(.+)$ sendfile.php?$1=1&type=5&range_id=$2&list_id=$3&file_name=$4 [L] + #bzw. bei Verwendung von Alias: + #RewriteEngine on + #RewriteBase /usr/local/studip/public + #RewriteRule ^download/(normal|force_download|zip)/([0-467])/([^/]+)/(.+)$ /studip/sendfile.php?$1=1&type=$2&file_id=$3&file_name=$4 [L] + #RewriteRule ^download/(normal|force_download|zip)/5/([^/]+)/([^/]+)/(.+)$ /studip/sendfile.php?$1=1&type=5&range_id=$2&list_id=$3&file_name=$4 [L] + + #Apache 2.2 + #Order Allow,Deny + #Allow from all + + #Apache 2.4 + Require all granted + + php_value upload_max_filesize 8M + php_value post_max_size 9M + php_value memory_limit 128M + php_value max_execution_time 300 + php_flag short_open_tag On + php_admin_flag allow_url_fopen On + php_value max_input_vars 10000 + #PHP Konstanten sind hier nicht verfügbar + # 22519 = E_ALL & ~(E_NOTICE|E_DEPRECATED) PHP 5.3.x + php_value error_reporting 22519 + + # PHP 5.5 (ab 5.6 Standardeinstellung) + php_value default_charset utf-8 + php_value mbstring.internal_encoding utf-8 + +</Directory> diff --git a/config/studip-requirements.php b/config/studip-requirements.php new file mode 100644 index 0000000..7db5e91 --- /dev/null +++ b/config/studip-requirements.php @@ -0,0 +1,91 @@ +<?php +return [ + 'php' => [ + 'version' => '7.0', + 'modules' => [ + 'PDO' => true, + 'pdo_mysql' => true, + 'gettext' => true, + 'session' => true, + 'curl' => true, + 'gd' => true, + 'mbstring' => true, + 'json' => true, + 'ftp' => true, + 'zip' => true, + 'xsl' => 'Export', + 'xml' => 'Export', + 'ldap' => 'LDAP-Nutzerverwaltung', + 'dom' => true, + 'mysqlnd' => 'Globale Suche', + 'mysqli' => 'Globale Suche', + ], + 'settings' => [ + 'short_open_tag' => true, + 'allow_url_fopen' => true, + 'default_charset' => [ + 'value' => 'UTF-8', + 'allow_empty' => true, + ], + 'mbstring.internal_encoding' => [ + 'value' => 'UTF-8', + 'allow_empty' => true, + ], + 'error_reporting' => [ + 'value' => E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED, + 'cmp' => '>=' + ], + 'max_input_vars' => [ + 'value' => 10000, + 'cmp' => '>=', + ], + 'max_execution_time' => [ + 'value' => 300, + 'cmp' => '>=', + 'allow_empty' => true, + ], + 'upload_max_filesize' => [ + 'value' => '8M', + 'cmp' => '>=', + 'unit' => true, + ], + 'memory_limit' => [ + 'value' => '128M', + 'cmp' => '>=', + 'unit' => true, + ], + 'post_max_size' => [ + 'value' => '9M', + 'cmp' => '>=', + 'unit' => true, + ], + ], + ], + 'mysql' => [ + 'version' => '5.6.10', + 'settings' => [ + 'innodb_file_per_table' => true, + 'innodb_file_format' => [ + 'value' => 'Barracuda', + 'assume' => '5.7.7', + ], + 'innodb_large_prefix' => [ + 'value' => true, + 'assume' => '5.7.7', + ], + 'sql_mode' => [ + 'value' => 'STRICT_TRANS_TABLES|STRICT_ALL_TABLES', + 'contains_not' => true, + 'allow_empty' => true + ] + ], + ], + 'writable' => [ + 'data/upload_doc' => true, + 'data/assets_cache' => true, + 'data/media_cache' => true, + 'public/pictures' => true, + 'public/plugins_packages' => true, + 'config' => false, + ], +]; diff --git a/config/svgo.config.js b/config/svgo.config.js new file mode 100644 index 0000000..dd434bb --- /dev/null +++ b/config/svgo.config.js @@ -0,0 +1,49 @@ +module.exports = { + "multipass": true, + "plugins": [ + { + "name": 'removeAttrs', + "params": { attrs: 'id' } + }, + { + "name": 'inlineStyles', + "params": { + "onlyMatchedOnce": false + } + }, + 'removeDimensions', + 'convertStyleToAttrs', + 'removeDoctype', + 'removeXMLProcInst', + 'removeComments', + 'removeMetadata', + 'removeEditorsNSData', + 'cleanupAttrs', + 'mergeStyles', + 'minifyStyles', + 'cleanupIDs', + 'removeUselessDefs', + 'cleanupNumericValues', + 'convertColors', + 'removeUnknownsAndDefaults', + 'removeNonInheritableGroupAttrs', + 'removeUselessStrokeAndFill', + 'cleanupEnableBackground', + 'removeHiddenElems', + 'removeEmptyText', + 'convertShapeToPath', + 'convertEllipseToCircle', + 'moveElemsAttrsToGroup', + 'moveGroupAttrsToElems', + 'collapseGroups', + 'convertPathData', + 'convertTransform', + 'removeEmptyAttrs', + 'removeEmptyContainers', + 'mergePaths', + 'removeUnusedNS', + 'sortDefsChildren', + 'removeTitle', + 'removeDesc' + ] +} diff --git a/config/webpack.dev-server.config.json b/config/webpack.dev-server.config.json new file mode 100644 index 0000000..b3b291d --- /dev/null +++ b/config/webpack.dev-server.config.json @@ -0,0 +1,5 @@ +{ + "protocol": "http", + "host": "127.0.0.1", + "port": 8150 +} |
