aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+github@gmail.com>2021-07-22 16:07:19 +0200
committerJan-Hendrik Willms <tleilax+github@gmail.com>2021-07-22 16:19:12 +0200
commita3da1483a9e689846179159355badfec8073dbec (patch)
tree770dcca6bdf5f6f2a11b0e7fcbbeda6919a3fc52 /config
current code from svn, revision 62608
Diffstat (limited to 'config')
-rw-r--r--config/.htaccess.dist28
-rw-r--r--config/config.inc.php.dist318
-rw-r--r--config/config_defaults.inc.php1318
-rw-r--r--config/config_develop.inc.php363
-rw-r--r--config/config_local.inc.php.dist31
-rw-r--r--config/config_local_develop.inc.php129
-rw-r--r--config/mvv_config.php351
-rw-r--r--config/mvvconfig/abschluss.php132
-rw-r--r--config/mvvconfig/fach.php180
-rw-r--r--config/mvvconfig/mvv_abschl_kategorie.php170
-rw-r--r--config/mvvconfig/mvv_abschl_zuord.php120
-rw-r--r--config/mvvconfig/mvv_aufbaustudiengang.php124
-rw-r--r--config/mvvconfig/mvv_contacts.php121
-rw-r--r--config/mvvconfig/mvv_contacts_ranges.php120
-rw-r--r--config/mvvconfig/mvv_dokument.php152
-rw-r--r--config/mvvconfig/mvv_dokument_zuord.php132
-rw-r--r--config/mvvconfig/mvv_extern_contacts.php128
-rw-r--r--config/mvvconfig/mvv_files.php168
-rw-r--r--config/mvvconfig/mvv_files_filerefs.php103
-rw-r--r--config/mvvconfig/mvv_files_ranges.php104
-rw-r--r--config/mvvconfig/mvv_lvgruppe.php140
-rw-r--r--config/mvvconfig/mvv_lvgruppe_modulteil.php124
-rw-r--r--config/mvvconfig/mvv_lvgruppe_seminar.php95
-rw-r--r--config/mvvconfig/mvv_modul.php539
-rw-r--r--config/mvvconfig/mvv_modul_deskriptor.php413
-rw-r--r--config/mvvconfig/mvv_modul_deskriptor_EN.php413
-rw-r--r--config/mvvconfig/mvv_modul_inst.php110
-rw-r--r--config/mvvconfig/mvv_modul_language.php110
-rw-r--r--config/mvvconfig/mvv_modul_user.php124
-rw-r--r--config/mvvconfig/mvv_modulteil.php400
-rw-r--r--config/mvvconfig/mvv_modulteil_deskriptor.php315
-rw-r--r--config/mvvconfig/mvv_modulteil_deskriptor_EN.php315
-rw-r--r--config/mvvconfig/mvv_modulteil_language.php110
-rw-r--r--config/mvvconfig/mvv_modulteil_stgteilabschnitt.php119
-rw-r--r--config/mvvconfig/mvv_stg_stgteil.php95
-rw-r--r--config/mvvconfig/mvv_stgteil.php154
-rw-r--r--config/mvvconfig/mvv_stgteil_bez.php136
-rw-r--r--config/mvvconfig/mvv_stgteilabschnitt.php297
-rw-r--r--config/mvvconfig/mvv_stgteilabschnitt_modul.php161
-rw-r--r--config/mvvconfig/mvv_stgteilversion.php253
-rw-r--r--config/mvvconfig/mvv_studiengang.php407
-rw-r--r--config/mvvconfig/mvv_studiengang_einfach.php438
-rw-r--r--config/mvvconfig/mvv_studiengang_mehrfach.php438
-rw-r--r--config/mvvconfig/mvv_studycourse_language.php110
-rw-r--r--config/mvvconfig/mvv_studycourse_type.php110
-rw-r--r--config/resource_migration-demo-data.php.dist145
-rw-r--r--config/studip-httpd.conf.dist36
-rw-r--r--config/studip-requirements.php91
-rw-r--r--config/svgo.config.js49
-rw-r--r--config/webpack.dev-server.config.json5
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&nbsp;"), "<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(
+ "=)" => "&rArr;" ,
+ "(=" => "&lArr;" ,
+ "(c)" => "&copy;" ,
+ "(r)" => "&reg;" ,
+ " tm " => "&trade;"
+);
+
+
+/*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 = "&amp;showstop=1&amp;showvolume=1&amp;bgcolor=A6B6C6&amp;bgcolor1=A6B6C6&amp;bgcolor2=7387AC&amp;playercolor=7387AC&amp;buttoncolor=254580&amp;buttonovercolor=E9EFFD&amp;slidercolor1=CAD7E1&amp;slidercolor2=A6B6C6&amp;sliderovercolor=E9EFFD&amp;loadingcolor=E9B21A&amp;buffer=5&amp;buffercolor=white&amp;buffershowbg=0&amp;playeralpha=90&amp;playertimeout=500&amp;shortcut=1&amp;phpstream=0&amp;onclick=playpause&amp;showloading=always";
+$FLASHPLAYER_DEFAULT_CONFIG_MAX = "&amp;showstop=1&amp;showvolume=1&amp;bgcolor=A6B6C6&amp;bgcolor1=A6B6C6&amp;bgcolor2=7387AC&amp;playercolor=7387AC&amp;buttoncolor=254580&amp;buttonovercolor=E9EFFD&amp;slidercolor1=CAD7E1&amp;slidercolor2=A6B6C6&amp;sliderovercolor=E9EFFD&amp;loadingcolor=E9B21A&amp;buffer=5&amp;buffercolor=white&amp;buffershowbg=0&amp;playeralpha=90&amp;playertimeout=500&amp;shortcut=1&amp;showtime=1&amp;showfullscreen=1&amp;showplayer=always&amp;phpstream=0&amp;onclick=playpause&amp;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&nbsp;"), "<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 = [
+ "=)" => "&rArr;" ,
+ "(=" => "&lArr;" ,
+ "(c)" => "&copy;" ,
+ "(r)" => "&reg;" ,
+ " tm " => "&trade;"
+];
+
+
+/*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 = "&amp;showstop=1&amp;showvolume=1&amp;bgcolor=A6B6C6&amp;bgcolor1=A6B6C6&amp;bgcolor2=7387AC&amp;playercolor=7387AC&amp;buttoncolor=254580&amp;buttonovercolor=E9EFFD&amp;slidercolor1=CAD7E1&amp;slidercolor2=A6B6C6&amp;sliderovercolor=E9EFFD&amp;loadingcolor=E9B21A&amp;buffer=5&amp;buffercolor=white&amp;buffershowbg=0&amp;playeralpha=90&amp;playertimeout=500&amp;shortcut=1&amp;phpstream=0&amp;onclick=playpause&amp;showloading=always";
+$FLASHPLAYER_DEFAULT_CONFIG_MAX = "&amp;showstop=1&amp;showvolume=1&amp;bgcolor=A6B6C6&amp;bgcolor1=A6B6C6&amp;bgcolor2=7387AC&amp;playercolor=7387AC&amp;buttoncolor=254580&amp;buttonovercolor=E9EFFD&amp;slidercolor1=CAD7E1&amp;slidercolor2=A6B6C6&amp;sliderovercolor=E9EFFD&amp;loadingcolor=E9B21A&amp;buffer=5&amp;buffercolor=white&amp;buffershowbg=0&amp;playeralpha=90&amp;playertimeout=500&amp;shortcut=1&amp;showtime=1&amp;showfullscreen=1&amp;showplayer=always&amp;phpstream=0&amp;onclick=playpause&amp;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
+}