commit 9c30202aeaaa68d9c070ae7b0cc560bd18120cd5
parent 1703cb8c918807218468e6716c4332d60f3557d8
Author: Jan Dankert <devnull@localhost>
Date: Mon, 20 Nov 2017 23:33:25 +0100
Umstellung der Konfiguration auf das YAML-Format. Die Punktnotation ist weiterhin möglich.
Diffstat:
14 files changed, 3566 insertions(+), 2505 deletions(-)
diff --git a/config/.htaccess b/config/.htaccess
@@ -0,0 +1,2 @@
+Order deny,allow
+deny from all
diff --git a/config/config-all.ini.php b/config/config-all.ini.php
@@ -1,1451 +0,0 @@
-; /* vim: set filetype=ini : */
-;
-;
-
-; OpenRat configuration file
-
-; Per host configuration:
-; A file 'config-<hostname>.ini.php' is preferred before file 'config.ini.php'.
-
-; Rules for reading this file:
-; 1. if environment-variable 'OR_CONFIG_FILE' is set, then this value is used for the configuration filename.
-; 2. if environment-variable 'OR_CONFIG_DIR' is set, then a file 'config-<hostname>.ini.php' is read. If it does not exist, 'config.ini.php' is read instead.
-; 3. file 'config/config-<hostname>.ini.php' is read. If it does not exist, 'config/config.ini.php' is read instead.
-;
-; Lines which begins with ';' are ignored.
-
-
-
-; Configuration
-
-
-
-; Start other applications out of OpenRat.
-; Other applications are able to authenticate the user with a ticket id (Single Signon)
-; see documentation for more details.
-
-; The Name of the application
-;applications.phpmyadmin.name=PHPYourAdmin
-
-; URL
-;applications.phpmyadmin.url="https://example.com/anotherapplication/index.cgi"
-
-; Name of the HTTP-Parameter for the Ticket-Id.
-; OpenRat puts the session-id into this parameter.
-;applications.phpmyadmin.param="ticketidforopenrat"
-
-; Groups
-; Only User, who are in this group, may see the application
-; (optional)
-;applications.phpmyadmin.group=
-
-; A brief description of this application.
-;applications.phpmyadmin.description="Your database administration"
-;
-
-
-
-; Conditional-GET enables the "304 not modified" HTTP-Header
-; This is much faster, but sometimes caching is unwanted
-; if you have caching problems, set this to 'false'.
-; Default: 'true'
-;cache.conditional_get=true
-
-
-
-; Pages and files are cached in a temporary directory.
-; 'false' means generate each page again and again
-; 'true' will cache a page's content. This will improve
-; the performance, but has some side effects,
-; f.e. no dynamic content will be updated.
-; Default: 'false'
-;cache.enable_cache=false
-
-
-
-; Directory for temporary files.
-; Default: blank (means: OpenRat is using the system temporary dir)
-;cache.tmp_dir=
-
-
-
-; Auto-Reload session.
-; If the configuration file is changed, its content is reloaded automatically
-; Default: true
-;config.auto_reload=true;
-
-;
-; If the configuration file is changed, a new session will be created.
-; Default: true
-;config.session_destroy_on_config_reload= true;
-
-
-
-; Maximum file size for uploads in KB
-; Special values: 0,-1 = not restricted
-; Default: 0
-;content.file.max_file_size=1500
-
-
-
-
-; Delete-strategy of old content.
-
-; Values are deleted, if
-; a) max-age and min-revisions are reached OR
-; b) max-revisions and min-age are reached
-;content.revision-limit.enabled = false
-
-; max age of values (days)
-;content.revision-limit.max-age = 120
-; min age of values (days)
-;content.revision-limit.min-age = 1
-
-; number of revisions
-;content.revision-limit.max-revisions = 100
-;content.revision-limit.min-revisions = 3
-
-
-
-; If a textvalue is empty, try using the default language
-; Default: true
-;content.language.use_default_language = true
-
-
-
-
-; Database configuration.
-; You have to have at least one database connection which has 'enabled=true'.
-;
-; Supported RDBMS-types:
-; - 'mysql' the old PHP-mysql-driver
-; - 'mysqli' PHP-mysql-driver with support for prepared statements (EXPERIMENTAL) (since PHP 5.0)
-; - 'postgresql' Postgresql
-; - 'sqlite' SQ-Lite 2.x-databases (since PHP 5.1)
-; - 'sqlite3' SQ-Lite 3.x-databases (EXPERIMENTAL) (since PHP 5.3)
-; - 'pdo' A common PHP database abstraction layer for a lot of DBs. (since PHP 5.1)
-
-
-
-; Default Database
-; This database will be selected by default.
-; There has to exist a section with this name.
-;database.default=sample_db_mysql
-
-
-
-; This is a sample database connection.
-; If you want to use it, just fill out the login data and set 'enabled' to 'true'
-
-;database.sample_db_mysql.enabled = false ; set this to 'true' for using this connection
-;database.sample_db_mysql.comment = "DB MySQL" ; comment of this database
-
-;database.sample_db_mysql.type = mysql ;
-;database.sample_db_mysql.user = dbuser ; database user
-;database.sample_db_mysql.password = dbpass ; database password
-;database.sample_db_mysql.host = localhost ; database hostname
-;database.sample_db_mysql.port ; database TCP/IP-Port (optional)
-;database.sample_db_mysql.database = cms ; database name
-
-;database.sample_db_mysql.base64 = false ; store binary as BASE64
-;database.sample_db_mysql.prefix = or_ ; table praefix
-;database.sample_db_mysql.persistent = yes ; use persistent connections (try this, it's faster)
-;database.sample_db_mysql.charset = UTF-8
-
-; SQL-Statement which is executed after opening the connection
-; connection_sql = "SET NAMES 'UTF8';" ; using UTF-8 as database charset
-;database.sample_db_mysql.connection_sql = ""
-
-; System command for executing before connecting to the database.
-; Maybe for installing an SSH-Tunnel.
-; For background programs, you have to redirect stdin and stdout! (maybe to /dev/null)
-; Example: "sudo -u u123 /usr/local/bin/sshtunnel-example.sh"
-; Default: blank.
-;database.sample_db_mysql.cmd = ""
-
-; Using prepared statements.
-; The 'old' mysql-interface in PHP does not support prepared statements
-;database.sample_db_mysql.prepare = false
-
-; Using transactions. Set to 'true' when you are using 'InnoDB'-tables.
-; If so, maybe you need to set 'SET AUTOCOMMIT=0' as connection_sql above.
-; Default: false
-;database.sample_db_mysql.transaction = false
-
-; Readonly tables. Set to 'true' during maintainance activitys.
-; If 'true', OpenRat will disable all writing operations.
-;database.sample_db_mysql.readonly = false
-
-
-
-; This is a sample database connection.
-; If you want to use it, just fill out the login data and set 'enabled' to 'true'
-
-;database.sample_db_postgresql.enabled = false ; set this to 'true' for using this connection
-;database.sample_db_postgresql.comment = "DB-PostgreSQL" ; comment of this database
-
-;database.sample_db_postgresql.type = postgresql ;
-;database.sample_db_postgresql.user = dbuser ; database user
-;database.sample_db_postgresql.password = dbpass ; database password
-;database.sample_db_postgresql.host = localhost ; database hostname
-;database.sample_db_postgresql.port ; database TCP/IP-Port (optional)
-;database.sample_db_postgresql.database = cms ; database name
-
-;database.sample_db_postgresql.base64 = false ; store binary as BASE64 (in postgresql 7.x set this to 'true')
-;database.sample_db_postgresql.prefix = or_ ; table praefix
-;database.sample_db_postgresql.persistent = yes ; use persistent connections (try this, it's faster)
-;database.sample_db_postgresql.charset = UTF-8
-
-; SQL-Statement which is executed after opening the connection
-;database.sample_db_postgresql.connection_sql = ""
-
-; System command for executing before connecting to the database.
-; Maybe for installing an SSH-Tunnel.
-; For background programs, you have to redirect stdin and stdout! (maybe to /dev/null)
-; Example: "sudo -u u123 /usr/local/bin/sshtunnel-example.sh"
-; Default: blank.
-;database.sample_db_postgresql.cmd = ""
-
-; Using prepared statements.
-; This is EXPERIMENTAL, do not use in production environments
-;database.sample_db_postgresql.prepare = false
-
-; Using transactions. Set this to true, if the MySQL table engine supports transactions
-;database.sample_db_postgresql.transaction = false
-
-
-
-; SQ-Lite is an embedded, 'mostly-ANSI-SQL-supporting' database system.
-; for using SQLite, please check for the PHP module
-; f.e. on ubuntu 'sudo apt-get install php5-sqlite'
-
-;database.sample_db_sqlite.enabled = false ; set this to 'true' for using this connection
-;database.sample_db_sqlite.comment = "DB-SQLite" ; comment of this database
-
-;database.sample_db_sqlite.type = sqlite ;
-
-; Filename of your SQlite database
-;database.sample_db_sqlite.filename = "/local/path/to/your/sqlite/openrat.db"
-
-;database.sample_db_sqlite.base64 = false ; store binary as BASE64 (in postgresql=true)
-;database.sample_db_sqlite.prefix = or_ ; table praefix
-;database.sample_db_sqlite.persistent = yes ; use persistent connections (try this, it's faster)
-;database.sample_db_sqlite.charset = UTF-8
-
-; per default SQlite uses table-prefixed column names when using JOINs which MUST BE off.
-;database.sample_db_sqlite.connection_sql = "pragma short_column_names=true;"
-
-; System command for executing before connecting to the database.
-;database.sample_db_sqlite.cmd = ""
-
-;database.sample_db_sqlite.prepare = false
-
-; Set this to true, if you want to use transactions.
-;database.sample_db_sqlite.transaction = false
-
-
-
-; PDO (means PHP Data Objects) is an abstract database interface
-
-;database.sample_pdo_sqlite.enabled = false ; set this to 'true' for using this connection
-;database.sample_pdo_sqlite.comment = "DB-PDO" ; comment of this database
-
-;database.sample_pdo_sqlite.type = pdo ;
-
-; The DSN-Url for your database
-;database.sample_pdo_sqlite.dsn = ""
-; Examples:
-; MySql
-;database.sample_pdo_sqlite.dsn = "mysql:dbname=testdb;host=127.0.0.1"
-; PostgreSQL
-;database.sample_pdo_sqlite.dsn = "pgsql:host=localhost port=5432 dbname=mydb user=dbuser password=dbpass"
-; SQLite
-;database.sample_pdo_sqlite.dsn = "sqlite:/path/to/mydb.db"
-; JDBC-Url when using OpenRat in Quercus
-;database.sample_pdo_sqlite.dsn = "java:comp/env/jdbc/mydb"
-
-; If not part of the DSN this is the right place for username/password
-;database.sample_pdo_sqlite.user = "dbuser"
-;database.sample_pdo_sqlite.password = "dbpass"
-
-;database.sample_pdo_sqlite.base64 = false ; store binary as BASE64 (in postgresql=true)
-;database.sample_pdo_sqlite.prefix = or_ ; table praefix
-;database.sample_pdo_sqlite.persistent = yes ; use persistent connections (try this, it's faster)
-;database.sample_pdo_sqlite.charset = UTF-8
-
-; SQL-Statement which is executed after opening the connection
-;database.sample_pdo_sqlite.connection_sql = ""
-; Examples:
-; per default SQlite uses table-prefixed column names when using JOINs which MUST BE off.
-;database.sample_pdo_sqlite.connection_sql = "pragma short_column_names=true;"
-; set default schema for Oracle
-;database.sample_pdo_sqlite.connection_sql = "alter session set current_schema=myschema;"
-
-; System command for executing before connecting to the database.
-;database.sample_pdo_sqlite.cmd = ""
-
-;database.sample_pdo_sqlite.prepare = false
-
-; Set this to true, if you want to use transactions.
-;database.sample_pdo_sqlite.transaction = false
-
-;database.sample_pdo_sqlite.readonly = false
-
-
-; The database results MUST contain lowercase column names.
-; if using Oracle, set this to 'true', default is 'false'.
-;database.sample_pdo_sqlite.convert_to_lowercase = false
-
-; PDO driver-specific options
-; key 'option_a' means option 'a'.
-;database.sample_pdo_sqlite.option_myoption_a
-;database.sample_pdo_sqlite.option_myoption_b
-
-
-; Add here more sections with other database connections.
-; next unused section: ;[another_db]
-; type=...
-; comment="My production DB ..."
-; ...
-
-
-
-
-;
-; Date formats
-; see http://www.php.net/manual/en/function.date.php for details
-
-;date.format.SHORT = ""
-;date.format.ISO8601SHORT = "Ymd"
-;date.format.ISO8601 = "Y-m-d"
-;date.format.ISO8601BAS = "YmdTHis"
-;date.format.ISO8601EXT = "Y-m-dTH:i:s"
-;date.format.ISO8601FULL = "Y-m-dTH:i:sO"
-;date.format.ISO8601WEEK = "YWW"
-;date.format.GER1 = "d.m.Y"
-;date.format.GER2 = "d.m.Y, H:i"
-;date.format.GER3 = "d.m.Y, H:i:s"
-;date.format.GER4 = "d. F Y, H:i:s"
-;date.format.ENGLONG = "l dS of F Y h:i:s A"
-;date.format.GMDATE = "D, d M Y H:i:s GMT"
-;date.format.RFC822 = "r"
-;date.format.UNIX = "U"
-;date.format.LONG = "F j, Y, g:i a"
-
-
-;date.timezone.-6="New York"
-;date.timezone.0="UTC (GMT)"
-;date.timezone.60="MET (Middle European Time)"
-;date.timezone.120="MEST (Middle European Summertime)"
-
-
-
-; Editor configuration
-
-; Strong/important text (mostly "bold")
-;editor.text-markup.strong-begin = "*"
-;editor.text-markup.strong-end = "*"
-
-; Emphatic text (mostly "italic")
-;editor.text-markup.emphatic-begin = "_"
-;editor.text-markup.emphatic-end = "_"
-
-; Image
-;editor.text-markup.image-begin = "{"
-;editor.text-markup.image-end = "}"
-
-; Speech
-;editor.text-markup.speech-begin = QUOTE
-;editor.text-markup.speech-end = QUOTE
-
-; text with same width
-;editor.text-markup.code-begin = "="
-;editor.text-markup.code-end = "="
-
-; footnotes
-;editor.text-markup.footnote-begin = "["
-;editor.text-markup.footnote-end = "]"
-
-; pre-formatted Text
-;editor.text-markup.pre-begin = "="
-;editor.text-markup.pre-end = "="
-
-; Inserted Text
-;editor.text-markup.insert-begin = "++"
-;editor.text-markup.insert-end = "++"
-
-; Removed text
-;editor.text-markup.remove-begin = "--"
-;editor.text-markup.remove-end = "--"
-
-; Separator for a definition item
-;editor.text-markup.definition-sep = "::"
-
-; Indenting headline
-;editor.text-markup.headline = "+"
-
-; Underlining of headline level 1
-;editor.text-markup.headline_level1_underline = "="
-
-; Underlining of headline level 2
-;editor.text-markup.headline_level2_underline = "-"
-
-; Underlining of headline level 3
-;editor.text-markup.headline_level3_underline = "."
-
-; Unnumbered Listentry
-;editor.text-markup.list-unnumbered = "-"
-
-; Numbered Listentry
-;editor.text-markup.list-numbered = "#"
-
-; Table of content
-;editor.text-markup.table-of-content= "##TOC##"
-
-; Link to
-;editor.text-markup.linkto = "->"
-
-; Table cell separator
-;editor.text-markup.table-cell-sep = "|"
-
-;editor.text-markup.style-begin = "'"
-;editor.text-markup.style-end = "'"
-
-; Quote Text
-;editor.text-markup.quote = ">"
-;editor.text-markup.quote-line-begin = ">"
-;editor.text-markup.quote-line-end = ">"
-
-; Makro
-;editor.text-markup.macro-begin = "<<"
-;editor.text-markup.macro-end = ">>"
-;editor.text-markup.macro-attribute-quote = "'"
-;editor.text-markup.macro-attribute-value-seperator = "="
-
-
-
-; Which HTML-Tag to use for cites
-;editor.html.tag_strong = "strong"
-
-; Which HTML-Tag to use for emphatic text
-;editor.html.tag_emphatic = "em"
-
-; Which HTML-Tag to use for teletyped text
-;editor.html.tag_teletype = "tt"
-
-; Which HTML-Tag to use for cites
-;editor.html.tag_speech = "cite"
-
-; OpenRat tries to use a good speech tag. You may override this.
-;editor.html.override_speech = false
-;editor.html.override_speech_open = "«"
-;editor.html.override_speech_close = "»"
-
-; HTML-Rendermode
-; explains how to handle emtpy elements.
-; 'xml' => <br />, <image src="..." />
-; 'sgml' => <br>, <image src="...">
-;editor.html.rendermode=sgml
-;editor.html.rendermode=xml
-
-;editor.html.replace = "EUR:€ (c):© (r):® ^1:¹ ^2:² ^3:³ 1/4:¼ 1/2:½ 3/4:¾"
-
-
-
-
-;editor.wiki.convert_html=true
-;editor.wiki.convert_bbcode=true
-
-
-
-
-; Calendar settings
-
-; Weekday-Offset: Ho many days a week begins after Sunday.
-; 0 = Week begins with Sunday (America, Australia, Islam)
-; 1 = Week begins with Monday (ISO-8601, Europe)
-;editor.calendar.weekday_offset=1
-
-
-;editor.text.linelength=70
-
-;editor.macro.show_errors=false
-
-
-
-; Should filenames be editable?
-; 'true' : Author may edit the filenames of pages, files and folders.
-; 'false': filenames are generated by the CMS
-; Default: true
-;filename.edit = true
-
-; filename of folder start file
-; Default: 'index'.
-;filename.default = index
-
-
-; 'ss' : nerdy and poor imitation of story server urls. Looks important, but is cheap ;)
-; 'id' : simply use the object id for the url
-; 'longid ': use a more longer id in the url
-; 'short' : use a url which is as short as possible (uses all possible characters)
-; Default: 'short'
-;filename.style = short ; use a url which is as short as possible
-
-; hint: If edit=true, then the stored filename will be used.
-; If no filename stored, or if edit=false, then the defined style is used.
-
-; how the links to other pages are generated.
-; 'relative': Links are generated like '../../path/page.html'
-; 'absolute': Links are generated like '/path/page.html'
-; Default: relative
-;filename.url=relative
-
-
-
-; FTP configuration
-
-
-; for which file extensions the ASCII-Mode should be used
-;ftp.ascii = html,htm,php
-
-
-
-; Enable online help
-; Default: true
-;help.enabled=true
-
-; URL praefix to the help documents
-;help.url=help/html/
-;help.url=http://help.openrat.de/
-
-; file extension of the help documents
-;help.suffix=.html
-
-
-
-; Search for language in HTTP header
-; This is a useful setting. The Browser says, which language will be taken.
-;i18n.use_http=true
-
-
-; Default language
-; If no language is found, which should be used?
-;i18n.default=de
-
-
-; Available Languages.
-; A comma seperated list with language codes.
-; for each language there must be a file named 'language/<code>.ini'.
-;i18n.available=de,en,es,fr,it,ru,cn
-
-
-
-; Mappings from the language to installed locales
-;i18n.locale.de="de_DE.utf8"
-;i18n.locale.en="en_US.utf8"
-
-
-
-; Say 'true' if GD2 is available, otherwise 'false'
-;image.truecolor=true
-
-
-
-; The seperator char between directory names
-;interface.file_separator = " » "
-
-
-; be aware: if 'true' you need special rewrite rules in a .htaccess file!
-; Default: false
-;interface.nice_urls = false
-
-
-; In most environments this setting is "false"
-;interface.url_sessionid = false
-
-
-; Theme
-; At the moment, der is only "default" available.
-; *deprecated*
-;interface.theme = "default"
-
-
-; Show request duration on every page. Only useful for developers.
-;interface.show_duration = false
-
-
-; Request timeout in seconds
-; This sets the PHP time limit for an Request.
-; Default: '' (blank=system default)
-;interface.timeout =
-
-
-; Replace the default title (Program name+version) with this text
-; If blank, the default is "OpenRat {Version}".
-; Maybe you want to use your company name here.
-;interface.override_title =
-
-
-
-; Use of human date format
-; looks like "3 years ago", or "7 months ago"
-; Default: false
-;interface.human_date_format = false
-
-
-
-; The default style which is used, when no user is logged in.
-; 'default' is the classic Openrat style.
-;interface.style.default=default
-
-; 'system' uses system colors from the client (nice choice)
-;interface.style.default=system
-
-
-
-; Settings for preferences (under "Administration")
-
-; If you have an online editor for editing the .ini-files you can put the URL here.
-; Security belongs to the 3rd-party editor! Openrat only creates a link to this url!
-; Set to '' (blank) for disabling this.
-;interface.config.file_manager_url=""
-
-; Enable "preferences"-menu
-;interface.config.enable=true
-
-; show system settings (operating system, system time, ...)
-;interface.config.show_system=true
-
-; show PHP settings
-;interface.config.show_interpreter=true
-
-; show a list of PHP extensions (without any details)
-;interface.config.show_extensions=true
-
-
-
-; Frameset settings
-
-; Logical name of top-frame. Change this, if you want Openrat running in another parent frameset
-;interface.frames.top=_top
-
-
-; Manipulating the URL of Openrat.
-
-
-; faking urls
-; for faking urls you HAVE TO create a url rewriting rule!
-; If unsure, set to "false"
-; Default: false
-;interface.url.fake_url = false
-
-; If the entry filename is the index file of the directory, set this to true.
-; This enables urls like "path/to/openrat/?a=1&b=2" and hides PHP.
-; only useful, if fake_url=false
-; if unsure, set to 'false' (default)
-;interface.url.index = false
-
-; You can create funny urls which look like asp,jsp,jsf and other crap :)
-; Hint: Hiding the PHP interpreter *can* increase security.
-; But remember, Security by obscurity is lame :)
-
-; abc,xyz.1
-;interface.url.url_format= "%s,%s.%i"
-
-; looks like Jakarta Struts: abc,xyz,1.do
-;interface.url.url_format= "%s,%s,%d.do"
-
-
-; add the session ID as an URL-Parameter.
-; useful, if you do not want cookies and trans_sid is not installed.
-; if unsure, set to "false"
-;interface.url.add_sessionid = false
-
-
-
-; Use gravatar for user images
-; see http://www.gravator.com for details
-
-;interface.gravatar.enable=true
-;interface.gravatar.size=80
-;interface.gravatar.default=404
-;interface.gravatar.rating=g
-
-
-
-; Session-related settings
-
-; auto-extend the session while the browser is still open.
-; if 'true', the title frame will be refreshed automatically
-; 1 minute before the session times out.
-; Because this is maybe unsecure, the default setting is 'false'.
-;interface.session.auto_extend=false
-;
-
-
-; Openrat is able to check passwords against a LDAP-based directory.
-
-; Hostname of your LDAP server.
-;ldap.host="localhost"
-
-; TCP-Port of your LDAP server.
-;ldap.port="389"
-
-; Protocol-Version
-; Set this to '2' or '3'.
-;ldap.protocol="2"
-
-; The format of the DN
-; If blank, the DN is automatically searched in the LDAP tree (see section "search").
-; for using LDAP authentication, /security/auth/type has to be set to "ldap"!
-;ldap.dn = "uid={user},ou=users,dc=example,dc=com"
-;ldap.dn = "";
-
-
-; Settings for authentication against a LDAP directory
-; This is only activated, if the setting 'security.auth.type' is 'ldap'.
-
-; use of anonymous bind ('true' or 'false')
-; if 'true', the following user and password settings are ignored.
-;ldap.search.anonymous = true
-
-; if 'anonymous' is 'false': DN of technical user for searching the real user DN
-;ldap.search.user = "uid=openrat,ou=users,dc=example,dc=com"
-
-; if 'anonymous' is 'false': password of technical user
-;ldap.search.password = "verysecret"
-
-; Base-DN of the subtree where the search begins
-;ldap.search.basedn = "dc=example,dc=com"
-
-; Filter setting for searching the user objects.
-; The string {user} will be replaced by the user name.
-;ldap.search.filter = "(uid={user})"
-
-; Aliases are dereferenced ('true' or 'false')
-;ldap.search.aliases = true
-
-; Timeout in seconds
-;ldap.search.timeout = 30
-
-; If the user is found in the LDAP tree, but is not yet stored in the internal database.
-; 'true' the user will be logged in and automatically inserted in the internal database.
-; 'false' login will be rejected, all users must exist in the internal database.
-;ldap.search.add = true
-
-
-
-; The user-group-relation can be read out of the LDAP tree.
-; For using this, 'security.authorize.type' must be set to 'ldap'.
-
-; Search filter for reading the groups a user belongs to.
-;ldap.authorize.group_filter="(memberUid={dn})"
-
-; LDAP attribute name of the name of the group
-;ldap.authorize.group_name="cn"
-
-; Add groups found in LDAP (but not known in the internal database) automatically into database?
-; If 'false', the LDAP groups cannot be used!
-;ldap.authorize.auto_add = true
-;
-; converted from login.ini.php
-; <?php exit('direct access denied') ?>
-
-;login.motd="" ; Message of the day, shown in login mask
-;login.nologin=false ; Disable Login (for maintanance jobs)
-;login.register=false
-;login.send_password=false
-
-;login.gpl.url="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
-
-;login.logo.file="./themes/default/images/logo.jpg" ; logo (url to image) in login mask
-;login.logo.url="http://www.openrat.de" ; linked url in login mask
-
-
-; After Login, start with the last changed object.
-; If 'true', the project menu is not displayed.
-;login.start.start_lastchanged_object=true
-;
-; converted from log.ini.php
-; <?php exit('direct access denied') ?>
-
-
-; Logfile settings
-
-
-; filename of logfile. Every log entry will be appended to this file.
-; This file must be writable by the webserver.
-; If blank (default), no logging will be done.
-;log.file = ""
-
-; loglevel are one of 'trace','debug','info','warn','error'
-;log.level = "warn"
-
-; date format (for variable %time, see 'format'. This format is used by PHPs date()-function.
-; See http://www.php.net/date
-;log.date_format = "M j H:i:s"
-
-; lookup hostname of client-IP
-; this may increase performance, if 'true'. Be careful!
-;log.dns_lookup = false
-
-; output format
-; the following variables are replaced:
-; %time by the current time of the log entry.
-; %level the logging level
-; %host client ip ore hostname (see 'dns_lookup' entry above)
-; %user username, who is logged in, ore '-' if not logged in.
-; %action what is happening now
-; %text reason of the log entry
-;log.format = "%time %level %host %user %action %text"
-;
-; converted from mail.ini.php
-; <?php exit('direct access denied') ?>
-
-; E-Mail Settings
-
-; Does your server send e-mails?
-; 'true' or 'false'
-;mail.enabled=true
-
-; The "from"-Adress. Creates a "From: "-Header.
-; This is not neccecary. Hint: Most MTAs require a valid email adress.
-;mail.from="OpenRat <user@example.com>"
-
-; This signature is appended at the end of a mail. Use ';' for line-breaks.
-; A useful information is maybe the URL of your OpenRat installation.
-;mail.signature="http://www.openrat.de"
-
-; Copy Recipient
-;mail.cc=
-
-; Blind Copy recipient
-;mail.bcc=
-
-; Priority of the mail (creates an "X-Priority"-Header)
-; 1=Highest, 2=High, 3=Normal, 4=Low, 5=Lowest
-; Hint: Most MUAs ignore this header.
-;mail.priority=3
-
-
-; Non-7-bit-chars are not allowed in Mailheaders (see RFC 822, 2045, 2047)
-; and must be encoded. Openrat supports 3 types of encoding:
-; 'Quoted-printable' (default),
-; 'Base64'
-; '' (blank) no encoding.
-;mail.header_encoding="Quoted-printable"
-
-
-; Which SMTP client you want to use.
-; 'php' : Internal PHP function mail().
-; 'smtp': OpenRat internal SMTP-client
-; If unsure, use the builtin PHP function.
-;mail.client=smtp
-;mail.client=php
-
-
-; Whitelist
-; A comma-seperated list of domains names
-;mail.whitelist = ""
-
-; Blacklist
-; A comma-seperated list of domain names
-;mail.blacklist = ""
-
-
-
-; Settings for the internal SMTP client.
-; If client='php', you have no need to change anything in this section.
-
-; Relay host
-; It is useful, to have your own relay host, as servers doing greylisting
-; *will* deny our smtp try.
-; If this is blank, the mail is delivered directly to the destination MX host.
-; I repeat, it is better to always use a relay host!
-;mail.smtp.host="mail.yourdomain.example"
-;mail.smtp.host="locahost"
-
-; SMTP-Port is '25' in most environments
-;mail.smtp.port="25"
-
-; SMTP Authentication
-; (only needed if using a relay host)
-; (FYI: The client makes use of the SMTP "AUTH LOGIN" method.
-;mail.smtp.auth_username="your.user@something.example"
-;mail.smtp.auth_password="notsecret"
-
-; Timeout in seconds
-;mail.smtp.timeout="45"
-
-; Your fully-qualified hostname (FQDN)
-; if empty, Openrat will use your simple hostname
-;mail.smtp.localhost=
-;mail.smtp.localhost="your.fully.qualified.hostname.example"
-
-; Use TLS
-; The client will send a "STARTTLS" command after HELO.
-; TLS is not tested, use at your own risk!
-;mail.smtp.tls=false
-
-; Use SSL
-; The client will connection using the SSL-protocol.
-; This is not tested, use at your own risk!
-;mail.smtp.ssl=false
-
-
-;
-; converted from publish.ini.php
-; <?php exit('direct access denied') ?>
-
-; Allow editing of file names.
-; 'true' : Author is allowed to edit the file names of his files and pages.
-; 'false': File names are generated by OpenRat only.
-;publish.edit=true
-
-
-; filename for the first object in a folder.
-; Default is 'index'.
-;publish.default=index
-
-
-; File naming conventions
-; See http://httpd.apache.org/docs/2.0/content-negotiation.html#naming
-; '{filename}{language_sep}{language}{type_sep}{type}' means 'foo.en.html'
-;publish.format = "{filename}{language_sep}{language}{type_sep}{type}"
-
-
-; Seperators, mostly you will use '.'
-;publish.language_sep = "."
-;publish.type_sep = "."
-
-
-; 'always': language name is always appended to the filename
-; 'auto' : language is appended if there are at least 2 languages
-;publish.filename_language = auto
-
-
-; 'always': type is always appended to the filename
-; 'auto' : type is appended if there are at least 2 project models
-;publish.filename_type = always
-
-
-; Filename Mode. Only used, if edit=false or no filename is set for an object.
-; 'ss' : nice hack for lamers which like storyserver urls like '0,1513,453556,00.html'
-; 'id' : simply use the object id.
-; 'longid': use a unique and long number.
-; 'short' : use a unique name which is as short as possible.
-;publish.style="id"
-
-
-; Mode of generated URLs.
-; 'relative': (Default) Generates URLs like '../../path/to/example.html'.
-; 'absolute': Generates URLs like '/path/to/example.html'.
-;publish.url=relative
-;publish.url=absolute
-
-; Should PHP code in page source be interpreted
-; 'false': page source is never interpreted as PHP
-; 'auto' : interpreted, if page extension = '.php'
-; 'true' : always interpret PHP in page source
-;publish.enable_php_in_page_content=false
-
-; Should PHP code in file content be interpreted
-; 'false': file content is never interpreted as PHP
-; 'auto' : interpreted, if file extension = '.php'
-; 'true' : always interpret PHP in file content
-;publish.enable_php_in_file_content=false
-
-; Escape all non-ascii characters to HTML entities.
-; Normally this is not necessary, if there is a correct charset in the meta-section of your HTML-head.
-; 'true' : Escape all non-ascii-characters
-; 'false': Do nothing (default)
-;publish.escape_8bit_characters=false
-
-
-
-; Content-Negotiation as defined in RFC 2295.
-; These settings are only considered, if the project setting "use content negotiation" is switched on.
-
-; if 'true', then the mime-type is omitted in the URL for page links.
-;publish.negotiation.page_negotiate_type = true
-
-; if 'true', then the language is omitted in the URL for page links.
-;publish.negotiation.page_negotiate_language = true
-
-; if 'true', then the mime type is omitted in the URL for file links
-;publish.negotiation.file_negotiate_type = true
-
-
-
-; Default publish directory. The edited target directory is appended.
-;publish.project.publish_dir="/var/www/"
-
-; Allow paths in target directory
-; 'false': only the base name is taken
-; 'true' : user input is taken with full path
-;publish.project.override_publish_dir=true
-
-; Default system command.
-; Vars: {name} = project name,
-; {dir} = Target directory,
-; {dirbase} = Target directory basename
-;publish.project.system_command="sudo -u xyz /usr/local/bin/mirror.sh {dirbase}"
-;publish.project.system_command=
-
-; Input overrides the default system command.
-; 'true' or 'false'
-;publish.project.override_system_command=true
-
-
-
-; 'true' : (Default) FTP is enabled
-; 'false': FTP is disabled, f.e. if FTP is not compiled with PHP.
-;publish.ftp.enable=true
-
-; Default FTP-Port
-; Default: '21'
-;publish.ftp.port=21
-
-; Default hostname
-;publish.ftp.host="ftp.example.com"
-
-; Default path
-;publish.ftp.path="/path/to/site"
-
-; Login data
-; If not specified (default), anonymous login will be used.
-;publish.ftp.user=agent_smith
-;publish.ftp.pass=smith
-;
-; converted from replace.ini.php
-; <!-- $Id$ -->
-; <?php exit('direct access denied') ?>
-
-; *** This part is deprecated and will be moved/removed in one of the next versions.
-
-; THIS FILE IS OUTDATED AND NOT USED ANY MORE!!!
-;replace.
-; See file editor.ini.php section "html", setting "replace".
-;replace.
-;replace.euro = "EUR,€"
-;replace.copy = "(c),©"
-;
-; converted from search.ini.php
-
-
-; Settings for the quicksearch field
-;search.
-
-; Show submit button for quicksearch. Not needed for modern browsers
-;search.quicksearch.show_button=false
-
-; Search in the name of objects
-;search.quicksearch.search_name=true
-
-; search in the filename of objects
-;search.quicksearch.search_filename=true
-
-; search in the description of objects
-;search.quicksearch.search_description=true
-
-; Search in all text content (slow on big databases!)
-;search.quicksearch.search_content=false
-;
-; converted from security.ini.php
-; <?php exit('direct access denied') ?>
-
-; Security settings for Openrat - be careful :)
-
-
-
-; All is readonly (for maintanance jobs)
-; true|false, default:false
-;security.readonly=false
-
-; Disable publishing
-;security.nopublish=false
-
-; Unix-UMask for all created files
-; Default: none (uses system default)
-; Example: '0022' (means '-rw-r--r--')
-; Example: '0002' (means '-rw-rw-r--')
-;security.umask=
-
-; CHMOD for created files
-; Default: none
-; Example: '0644' (means '-rw-r--r--')
-; Example: '0755' (means '-rwxr-xr-x')
-;security.chmod=
-
-; CHMOD for created directories
-; Default: none
-; Example: '0755' (means 'drwxr-xr-x')
-; Example: '0770' (means 'drwxrwx---')
-;security.chmod_dir=
-
-; You may disable dynamic code.
-; dynamic code ("CODE"-Elements in templates) are dangerous, because they may
-; interact with the file system (and much more!).
-;security.
-; Hint: only admin users are allowed to save dynamic code.
-; Enable, if admin users are trustful.
-; Disable, if admin users are anonym (f.e. demo-installations).
-; Default: true (for secure default installation).
-;security.disable_dynamic_code = true
-
-
-; Enable or disable the displaying of system information
-;security.show_system_info = true
-
-
-; Useful against CSRF-attacks, this adds a token to all POST request.
-;security.use_post_token=true
-
-; Creates a new Session on login.
-; Useful against session fixation attacks.
-;security.renew_session_login=false
-
-; Creates a new Session on logout.
-; Useful against session fixation attacks.
-;security.renew_session_logout=false
-
-
-
-; Default Login
-; These values are used for the login form.
-
-; default: ''
-;security.default.username=
-
-; default: ''
-;security.default.password=
-
-
-
-; Guest Login
-; if enabled, a named guest user is automatically logged in.
-
-; enable auto-login for a guest user.
-;security.guest.enable=false
-
-; Name of the guest user, who is automatically logged in.
-; This username must exist in your user database.
-;security.guest.user=guest
-
-
-
-; Type of authorization.
-; 'http' uses the HTTP Basic Authrization.
-; Only available if PHP is used in the module version.
-; Not available, if PHP is used via the CGI way.
-; Only the default database is available (because there is no way to select another one)
-; 'form' shows a login form via a HTML page.
-; Default: 'form'
-
-;security.login.type=form
-;security.login.type=http
-
-
-
-; this is the backend where the passwords are checked against.
-; 'database' uses the internal database table as password store.
-; 'authdb' uses an external database table as password store, see section 'security.auth'.
-; 'ldap' uses an external LDAP directory for password checking, see section 'ldap'.
-; 'http' uses an HTTP-Auth Server for password checking
-; Default: 'database'
-;security.auth.type=database
-
-; per-user setting of the LDAP DN.
-; 'true' users which have there LDAP-DN explicitly stored are authenticated against LDAP.
-; 'false' no LDAP-DN storage per user.
-;security.auth.userdn=false
-
-
-
-; A user belongs to certain groups. This information can be stored in 2 ways.
-; 'database' uses the internal database for the user-group-relation. (default)
-; 'ldap' reads the user-group-relations in a LDAP-Directory
-; (in this case, /security/auth/type has to be set to "ldap", too!)
-; (see /ldap/authorize!)
-;security.authorize.type=database
-;security.authorize.type=ldap
-
-
-
-; password settings
-
-; length of automatic generated password
-;security.password.random_length=8
-
-; minimum passwort length
-;security.password.min_length=5
-
-; Password "salt"
-; '' : no salt (default)
-; 'id' : salt the password with userid
-; 'username': salt the password with username
-; 'custom' : use the 'salt_text'-setting
-; Default: ''
-;security.password.salt = ""
-
-;security.password.salt_text = "somerandomtext"
-
-
-
-; this section is needed if the setting "auth/type" is 'http'.
-; passwords are checked against another HTTP-Server with Basic Authorization.
-
-; The URL where an HTTP basic authorization ist required.
-;security.http.url = "http://example.net/restricted-area"
-
-
-
-; this section is needed if the setting "auth/type" is 'authdb'.
-; passwords are stored against an external database table.
-; This is quite useful, if you have another software running (f.e. a forum system)
-; and so the user must only remember 1 password.
-
-; 'mysql', 'postgresql' or 'sqlite'
-;security.authdb.type = postgresql
-
-;security.authdb.user = dbuser
-;security.authdb.password = dbpassword
-;security.authdb.host = 127.0.0.1
-;security.authdb.database = dbname
-;security.authdb.persistent = false
-
-; the sql which is executed while checking the password.
-; the variables {username} and {password} are replaced.
-;security.authdb.sql = "select 1 from table where user={username} and password=md5({password})"
-
-; if the user exists in the external database, should it
-; automatically be inserted into the openrat internal table?
-;security.authdb.add = true
-
-
-
-; SSL Client certificate Authentication
-
-; The environment variable name which has the username out of the certificate.
-; See modssl-configuration for more infos:
-; http://httpd.apache.org/docs/2.0/mod/mod_ssl.html.en#envvars
-; if blank, ssl client auth is unused (default)
-;security.ssl.user_var=
-;security.ssl.user_var="REMOTE_USER"
-;security.ssl.user_var="SSL_CLIENT_S_DN"
-;security.ssl.user_var="SSL_CLIENT_S_DN_CN"
-
-; if 'true', you trust the client certificate fully, this is a passwordless login!
-; take care tto have an useful webserver configuration where you only trust CA-signed certificates.
-; if 'true', the 'user_var' is needed.
-;security.ssl.trust=false
-
-
-
-; Open-ID
-; see http://openid.net/ for specifications and more informations.
-
-; Enable Open-ID
-; default=false
-;security.openid.enable=false
-
-; Should authenticated users, which are not in your user database, automatically be added?
-; default=false
-;security.openid.add=false
-
-; Open-Id Logo
-; The specification recommends the original Open-Id logo.
-;security.openid.logo_url=
-;security.openid.logo_url="http://openid.net/login-bg.gif"
-
-; Trust-Root
-; URL-Prefix in which your OpenRat installations are running.
-; default=<empty> (OpenRat tries to use its own server name)
-;security.openid.trust_root=http://your.server.example/openrat/
-;security.openid.trust_root=
-
-; Trustful servers
-; Default='' (all)
-;security.openid.trusted_server=openid1.example.com,openid2.example.com
-;security.openid.trusted_server=
-
-; Should Users fullname and e-mail updated from the OpenId-Server?
-;security.openid.update_user=true
-
-; Using User-Identitys?
-;security.openid.user_identity=true
-
-; List of OpenId-Provider to use
-; Special name "identity" for user defined identitys
-;security.openid.provider=example
-;security.openid.provider.name=google
-
-; location of the providers Yadis-document (XRDS-file)
-;security.openid.provider.example.xrds_uri=http://google.com/accounts
-; which attribute is used for mappin to the internal database
-;security.openid.provider.example.map_attribute=email
-; which attribut of internal user database is used
-; valid values are 'mail', 'username'
-;security.openid.provider.example.map_internal=mail
-
-; Google supports Open-Id 2.0
-;security.openid.provider.google.xrds_uri=http://google.com/accounts/o8/id
-;security.openid.provider.google.map_attribute=email
-;security.openid.provider.google.name=Google
-;security.openid.provider.google.map_internal=mail
-
-; Yahoo
-;security.openid.provider.yahoo.xrds_uri=http://??????
-;security.openid.provider.yahoo.map_attribute=usename
-;security.openid.provider.yahoo.map_internal=mail
-
-
-
-; Single Sign-on
-; These settings are an example for checking login against "PhpMyAdmin".
-; PhpMyAdmin must include a link to Openrat with the authid which includes the serialized cookies.
-; Example: Include this in the file .../phpmyadmin/main.php:
-; <a href="https://example.com/openrat/?authid=<?php echo urlencode(serialize($_COOKIE)) ?>">OpenRat</a>
-
-; use single sign-on? Set to 'true' or 'false'.
-;security.sso.enable=false
-
-; the url against the auth-id will be checked.
-;security.sso.url="http://localhost/check.php?phpsessid={id}&check=true"
-;security.sso.url="https://www.example.com/phpmyadmin/main.php?server=1"
-
-; the name of the parameter, where OpenRat will receive the Id, which will then be checked.
-;security.sso.auth_param_name=authid
-
-; is the auth-id serialized?
-;security.sso.auth_param_serialized=true
-
-; the auth-id will be used as a cookie
-;security.sso.cookie=true
-
-; if the auth-id is no array, use this cookie-name.
-;security.sso.cookie_name=
-
-;security.sso.force=true
-
-; leave this blank.
-;security.sso.expect=
-
-; this is a regular expression which checks, if the login at the third-party-system is ok.
-;security.sso.expect_regexp="/running on/"
-
-; regular expression for find out the username
-; this example is used for "PhpMyAdmin"
-;security.sso.username_regexp="/running on localhost as ([a-z]+)@localhost/"
-
-
-
-; Settings for a new user
-
-; These groups are automatically added while a new user is inserted.
-; Default: ''
-;security.newuser.groups=YourGroup,AnotherGroup
-
-
-
-; Logout settings
-
-; Redirect to this URL after logout
-; <blank>= Show Login.
-; Default: ''
-;security.logout.redirect_url="http://your.intranet.example/"
-;security.logout.redirect_url=
-
-
-
-; Show E-Mail-Adress in Administration-Interface.
-; Default=true. If admin users should not know the mail adresses, set this to false.
-; Useful for Demo-Installations where a lot of users may have administration rights.
-;security.user.show_admin_mail=true
-
-; Show users e-mail-address to other users.
-; Default=true.
-;security.user.show_mail=true
-
-; Users are able to send mesages to another users via e-mail
-; (not yet implemented)
-;security.user.send_message=true
-;
-
-
-
-; Theme compiler.
-
-; Enable the Template Compiler
-; Templates files are written to a temporary directory.
-; default=true
-;theme.compiler.enable=true
-
-; Only compile, if the file under themes/default/templates is changed.
-; default=true
-;theme.compiler.cache=true
-
-; Do a CHMOD on the output file.
-; default: empty
-;theme.compiler.chmod=
-
-; Compile ALL templates at logout
-; (only useful while developing)
-; default: false
-;theme.compiler.compile_at_logout=false
-
-; Compile ALL templates to temporary directory
-; only useful while developing! Not for production use.
-; default:false
-;theme.compiler.compile_to_tmp_dir=false
-;
-; converted from webdav.ini.php
-; <!-- $Id$ -->
-; <?php exit('direct access denied') ?>
-
-; WEBDAV-settings
-
-;webdav.enable=false
-
-; Creation of new folders, files.
-;webdav.create=true
-
-; Maximum filesize for uploaded files (in kB)
-;webdav.max_file_size=1000
-
-; Readonly-Access.
-;webdav.readonly=true
-
-; Set "X-powered-by"-Header?
-;webdav.expose_openrat = true
-
-; Redirecting from "http://server/path/webdav.php"
-; to "http://server/<prefix><session-id>/webdav.php"
-; This is a must-have for clients who do not use cookies.
-; If 'true', a rewriting rule (.htaccess) is needed.
-;webdav.session_in_uri = false
-
-; the prefix before the session id.
-;webdav.session_in_uri_prefix = ors
-
-; Make some Microsoft-specific stuff (they cannot read RFCs):
-; - Set "MS-Author-Via:"-Header
-; Set to 'true', if you want to use lame clients like MS-Office, MS-IE, ...
-; Set to 'false' for strict WEBDAV, but no MS-clients are doing the job...
-; Default: true
-;webdav.compliant_to_redmond = true
-;
-
-; *** The following settings are deprecated and will be removed in one of the next versions.
-
-; convert simple HTML-tags to wiki-markup (if HTML is disabled)
-;wiki.convert_html = true
-
-; convert a few BB-code tags to wiki-markup
-;wiki.convert_bbcode = true
-
-; how strong text is marked
-;wiki.tag_strong = "*"
-
-; how emphatic text is marked
-;wiki.tag_emphatic = "_"
diff --git a/config/config-default.php b/config/config-default.php
@@ -1,870 +0,0 @@
-<?php
-// DO NOT MAKE ANY CHANGES IN THIS FILE, please edit the file 'config.ini.php' or 'config-<host>.ini.php' instead.
-// This file should only be changed by developers.
-$conf = array();
-$conf['applications'] = array();
-$conf['applications']['']=0;
-$conf['applications']['phpmyadmin'] = array();
-$conf['applications']['phpmyadmin']['name']='PHPYourAdmin';
-$conf['applications']['phpmyadmin']['url']="https://example.com/anotherapplication/index.cgi";
-$conf['applications']['phpmyadmin']['param']="ticketidforopenrat";
-$conf['applications']['phpmyadmin']['group']='0';
-$conf['applications']['phpmyadmin']['description']="Your database administration";
-$conf['cache'] = array();
-$conf['cache']['conditional_get']=true;
-$conf['cache']['enable_cache']=false;
-$conf['cache']['tmp_dir']="";
-$conf['config'] = array();
-$conf['config']['auto_reload']= true;
-$conf['config']['session_destroy_on_config_reload']= true;
-$conf['content'] = array();
-$conf['content']['file'] = array();
-$conf['content']['file']['max_file_size']='1500';
-$conf['content']['revision-limit'] = array();
-$conf['content']['revision-limit']['enabled']= false;
-$conf['content']['revision-limit']['max-age']= 120;
-$conf['content']['revision-limit']['min-age']= 1;
-$conf['content']['revision-limit']['max-revisions']= 100;
-$conf['content']['revision-limit']['min-revisions']= 3;
-$conf['content']['language'] = array();
-$conf['content']['language']['use_default_language']= true;
-$conf['countries'] = array();
-$conf['countries']['']='0';
-$conf['countries']['AA']='Afar';
-$conf['countries']['AB']='Abkhazian';
-$conf['countries']['AF']='Afrikaans';
-$conf['countries']['AM']='Amharic';
-$conf['countries']['AR']='Arabic';
-$conf['countries']['AS']='Assamese';
-$conf['countries']['AY']='Aymara';
-$conf['countries']['AZ']='Azerbaijani';
-$conf['countries']['BA']='Bashkir';
-$conf['countries']['BE']='Byelorussian';
-$conf['countries']['BG']='Bulgarian';
-$conf['countries']['BH']='Bihari';
-$conf['countries']['BI']='Bislama';
-$conf['countries']['BN']='Bengali';
-$conf['countries']['BO']='Tibetan';
-$conf['countries']['BR']='Breton';
-$conf['countries']['CA']='Catalan';
-$conf['countries']['CO']='Corsican';
-$conf['countries']['CS']='Czech';
-$conf['countries']['CY']='Welsh';
-$conf['countries']['DA']='Danish';
-$conf['countries']['DE']='German';
-$conf['countries']['DZ']='Bhutani';
-$conf['countries']['EL']='Greek';
-$conf['countries']['EN']='English';
-$conf['countries']['EO']='Esperanto';
-$conf['countries']['ES']='Spanish';
-$conf['countries']['ET']='Estonian';
-$conf['countries']['EU']='Basque';
-$conf['countries']['FA']='Persian';
-$conf['countries']['FI']='Finnish';
-$conf['countries']['FJ']='Fiji';
-$conf['countries']['FO']='Faeroese';
-$conf['countries']['FR']='French';
-$conf['countries']['FY']='Frisian';
-$conf['countries']['GA']='Irish';
-$conf['countries']['GD']='Gaelic';
-$conf['countries']['GL']='Galician';
-$conf['countries']['GN']='Guarani';
-$conf['countries']['GU']='Gujarati';
-$conf['countries']['HA']='Hausa';
-$conf['countries']['HI']='Hindi';
-$conf['countries']['HR']='Croatian';
-$conf['countries']['HU']='Hungarian';
-$conf['countries']['HY']='Armenian';
-$conf['countries']['IA']='Interlingua';
-$conf['countries']['IE']='Interlingue';
-$conf['countries']['IK']='Inupiak';
-$conf['countries']['IN']='Indonesian';
-$conf['countries']['IS']='Icelandic';
-$conf['countries']['IT']='Italian';
-$conf['countries']['IW']='Hebrew';
-$conf['countries']['JA']='Japanese';
-$conf['countries']['JI']='Yiddish';
-$conf['countries']['JW']='Javanese';
-$conf['countries']['KA']='Georgian';
-$conf['countries']['KK']='Kazakh';
-$conf['countries']['KL']='Greenlandic';
-$conf['countries']['KM']='Cambodian';
-$conf['countries']['KN']='Kannada';
-$conf['countries']['KO']='Korean';
-$conf['countries']['KS']='Kashmiri';
-$conf['countries']['KU']='Kurdish';
-$conf['countries']['KY']='Kirghiz';
-$conf['countries']['LA']='Latin';
-$conf['countries']['LN']='Lingala';
-$conf['countries']['LO']='Laothian';
-$conf['countries']['LT']='Lithuanian';
-$conf['countries']['LV']='Latvian';
-$conf['countries']['MG']='Malagasy';
-$conf['countries']['MI']='Maori';
-$conf['countries']['MK']='Macedonian';
-$conf['countries']['ML']='Malayalam';
-$conf['countries']['MN']='Mongolian';
-$conf['countries']['MO']='Moldavian';
-$conf['countries']['MR']='Marathi';
-$conf['countries']['MS']='Malay';
-$conf['countries']['MT']='Maltese';
-$conf['countries']['MY']='Burmese';
-$conf['countries']['NA']='Nauru';
-$conf['countries']['NE']='Nepali';
-$conf['countries']['NL']='Dutch';
-$conf['countries']['_NO']='Norwegian';
-$conf['countries']['OC']='Occitan';
-$conf['countries']['OM']='Oromo';
-$conf['countries']['OR']='Oriya';
-$conf['countries']['PA']='Punjabi';
-$conf['countries']['PL']='Polish';
-$conf['countries']['PS']='Pashto';
-$conf['countries']['PT']='Portuguese';
-$conf['countries']['QU']='Quechua';
-$conf['countries']['RM']='Rhaeto-Romance';
-$conf['countries']['RN']='Kirundi';
-$conf['countries']['RO']='Romanian';
-$conf['countries']['RU']='Russian';
-$conf['countries']['RW']='Kinyarwanda';
-$conf['countries']['SA']='Sanskrit';
-$conf['countries']['SD']='Sindhi';
-$conf['countries']['SG']='Sangro';
-$conf['countries']['SH']='Serbo-Croatian';
-$conf['countries']['SI']='Singhalese';
-$conf['countries']['SK']='Slovak';
-$conf['countries']['SL']='Slovenian';
-$conf['countries']['SM']='Samoan';
-$conf['countries']['SN']='Shona';
-$conf['countries']['SO']='Somali';
-$conf['countries']['SQ']='Albanian';
-$conf['countries']['SR']='Serbian';
-$conf['countries']['SS']='Siswati';
-$conf['countries']['ST']='Sesotho';
-$conf['countries']['SU']='Sudanese';
-$conf['countries']['SV']='Swedish';
-$conf['countries']['SW']='Swahili';
-$conf['countries']['TA']='Tamil';
-$conf['countries']['TE']='Tegulu';
-$conf['countries']['TG']='Tajik';
-$conf['countries']['TH']='Thai';
-$conf['countries']['TI']='Tigrinya';
-$conf['countries']['TK']='Turkmen';
-$conf['countries']['TL']='Tagalog';
-$conf['countries']['TN']='Setswana';
-$conf['countries']['TO']='Tonga';
-$conf['countries']['TR']='Turkish';
-$conf['countries']['TS']='Tsonga';
-$conf['countries']['TT']='Tatar';
-$conf['countries']['TW']='Twi';
-$conf['countries']['UK']='Ukrainian';
-$conf['countries']['UR']='Urdu';
-$conf['countries']['UZ']='Uzbek';
-$conf['countries']['VI']='Vietnamese';
-$conf['countries']['VO']='Volapuk';
-$conf['countries']['WO']='Wolof';
-$conf['countries']['XH']='Xhosa';
-$conf['countries']['YO']='Yoruba';
-$conf['countries']['ZH']='Chinese';
-
-$conf['database'] = array();
-
-$conf['database-default']=array();
-$conf['database-default']['defaults']=array();
-$conf['database-default']['defaults']['prefix' ] = '';
-$conf['database-default']['defaults']['suffix' ] = '';
-$conf['database-default']['defaults']['enabled' ] = true;
-$conf['database-default']['defaults']['name' ] = '';
-$conf['database-default']['defaults']['description'] = '';
-$conf['database-default']['defaults']['type' ] = 'pdo';
-$conf['database-default']['defaults']['dsn' ] = 'mysql:localhost';
-$conf['database-default']['defaults']['user' ] = '';
-$conf['database-default']['defaults']['password' ] = '';
-$conf['database-default']['defaults']['host' ] = '';
-$conf['database-default']['defaults']['database' ] = '';
-$conf['database-default']['defaults']['base64' ] = false;
-$conf['database-default']['defaults']['persistent' ] = true;
-$conf['database-default']['defaults']['charset' ] = 'UTF-8';
-$conf['database-default']['defaults']['connection_sql'] = '';
-$conf['database-default']['defaults']['cmd' ] = '';
-$conf['database-default']['defaults']['prepare' ] = true;
-$conf['database-default']['defaults']['transaction'] = true;
-$conf['database-default']['defaults']['update' ] = array();
-$conf['database-default']['defaults']['auto_update'] = true;
-$conf['date'] = array();
-$conf['date']['format'] = array();
-$conf['date']['format']['SHORT']= "";
-$conf['date']['format']['ISO8601SHORT']= "Ymd";
-$conf['date']['format']['ISO8601']= "Y-m-d";
-$conf['date']['format']['ISO8601BAS']= "YmdTHis";
-$conf['date']['format']['ISO8601EXT']= "Y-m-dTH:i:s";
-$conf['date']['format']['ISO8601FULL']= "Y-m-dTH:i:sO";
-$conf['date']['format']['ISO8601WEEK']= "YWW";
-$conf['date']['format']['GER1']= "d.m.Y";
-$conf['date']['format']['GER2']= "d.m.Y, H:i";
-$conf['date']['format']['GER3']= "d.m.Y, H:i:s";
-$conf['date']['format']['GER4']= "d. F Y, H:i:s";
-$conf['date']['format']['ENGLONG']= "l dS of F Y h:i:s A";
-$conf['date']['format']['GMDATE']= "D, d M Y H:i:s GMT";
-$conf['date']['format']['RFC822']= "r";
-$conf['date']['format']['UNIX']= "U";
-$conf['date']['format']['LONG']= "F j, Y, g:i a";
-$conf['date']['timezone'] = array();
-$conf['date']['timezone']['-6']="New York";
-$conf['date']['timezone']['0']="UTC (GMT)";
-$conf['date']['timezone']['60']="MET (Middle European Time)";
-$conf['date']['timezone']['120']="MEST (Middle European Summertime)";
-$conf['editor'] = array();
-$conf['editor']['text-markup'] = array();
-$conf['editor']['text-markup']['strong-begin']= "*";
-$conf['editor']['text-markup']['strong-end']= "*";
-$conf['editor']['text-markup']['emphatic-begin']= "_";
-$conf['editor']['text-markup']['emphatic-end']= "_";
-$conf['editor']['text-markup']['image-begin']= "{";
-$conf['editor']['text-markup']['image-end']= "}";
-$conf['editor']['text-markup']['speech-begin']='QUOTE';
-$conf['editor']['text-markup']['speech-end']='QUOTE';
-$conf['editor']['text-markup']['code-begin']= "=";
-$conf['editor']['text-markup']['code-end']= "=";
-$conf['editor']['text-markup']['footnote-begin']= "[";
-$conf['editor']['text-markup']['footnote-end']= "]";
-$conf['editor']['text-markup']['pre-begin']= "=";
-$conf['editor']['text-markup']['pre-end']= "=";
-$conf['editor']['text-markup']['insert-begin']= "++";
-$conf['editor']['text-markup']['insert-end']= "++";
-$conf['editor']['text-markup']['remove-begin']= "--";
-$conf['editor']['text-markup']['remove-end']= "--";
-$conf['editor']['text-markup']['definition-sep']= "::";
-$conf['editor']['text-markup']['headline']= "+";
-$conf['editor']['text-markup']['headline_level1_underline']= "=";
-$conf['editor']['text-markup']['headline_level2_underline']= "-";
-$conf['editor']['text-markup']['headline_level3_underline']= ".";
-$conf['editor']['text-markup']['list-unnumbered']= "-";
-$conf['editor']['text-markup']['list-numbered']= "#";
-$conf['editor']['text-markup']['table-of-content']= "##TOC##";
-$conf['editor']['text-markup']['linkto']= "->";
-$conf['editor']['text-markup']['table-cell-sep']= "|";
-$conf['editor']['text-markup']['style-begin']= "'";
-$conf['editor']['text-markup']['style-end']= "'";
-$conf['editor']['text-markup']['quote']= ">";
-$conf['editor']['text-markup']['quote-line-begin']= ">";
-$conf['editor']['text-markup']['quote-line-end']= ">";
-$conf['editor']['text-markup']['macro-begin']= "<<";
-$conf['editor']['text-markup']['macro-end']= ">>";
-$conf['editor']['text-markup']['macro-attribute-quote']= "'";
-$conf['editor']['text-markup']['macro-attribute-value-seperator']= "=";
-$conf['editor']['html'] = array();
-$conf['editor']['html']['tag_strong']= "strong";
-$conf['editor']['html']['tag_emphatic']= "em";
-$conf['editor']['html']['tag_teletype']= "tt";
-$conf['editor']['html']['tag_speech']= "cite";
-$conf['editor']['html']['override_speech']=false;
-$conf['editor']['html']['override_speech_open']= "«";
-$conf['editor']['html']['override_speech_close']= "»";
-$conf['editor']['html']['rendermode']="sgml";
-$conf['editor']['html']['rendermode']="xml";
-$conf['editor']['html']['replace']= "EUR:€";
-$conf['editor']['wiki'] = array();
-$conf['editor']['wiki']['convert_html']=true;
-$conf['editor']['wiki']['convert_bbcode']=true;
-$conf['editor']['text'] = array();
-$conf['editor']['text']['linelength']='70';
-$conf['editor']['calendar'] = array();
-$conf['editor']['calendar']['weekday_offset']='1';
-$conf['editor']['text'] = array();
-$conf['editor']['text']['linelength']='70';
-$conf['editor']['macro'] = array();
-$conf['editor']['macro']['show_errors']=false;
-$conf['filename'] = array();
-$conf['filename']['edit']=true;
-$conf['filename']['default']='index';
-$conf['filename']['style']='short';
-$conf['filename']['url']='relative';
-$conf['ftp'] = array();
-$conf['ftp']['ascii']= "html,htm,php";
-$conf['help'] = array();
-$conf['help']['enabled']=true;
-$conf['help']['url']="http://help.openrat.de/";
-$conf['help']['suffix']=".html";
-$conf['html'] = array();
-$conf['html']['tag_teletype']='tt';
-$conf['html']['tag_emphatic']='em';
-$conf['html']['tag_strong']='strong';
-$conf['html']['tag_speech']='cite';
-$conf['html']['speech_open']= "&bdquo";
-$conf['html']['speech_close']= "&rdquo";
-$conf['i18n'] = array();
-$conf['i18n']['use_http']=true;
-$conf['i18n']['default']='de';
-$conf['i18n']['available']='de,en,es,fr,it,ru,cn';
-$conf['i18n']['locale'] = array();
-$conf['i18n']['locale']['de']="de_DE.utf8";
-$conf['i18n']['locale']['en']="en_US.utf8";
-$conf['image'] = array();
-$conf['image']['truecolor']=true;
-$conf['interface'] = array();
-$conf['interface']['tree_width']= "25%";
-$conf['interface']['file_separator']= " »";
-$conf['interface']['nice_urls']=false;
-$conf['interface']['url_sessionid']=false;
-$conf['interface']['theme']= 'default';
-$conf['interface']['timeout']='0';
-$conf['interface']['override_title']='';
-$conf['interface']['style'] = array();
-$conf['interface']['style']['default']='modern';
-$conf['interface']['config'] = array();
-$conf['interface']['config']['file_manager_url']="";
-$conf['interface']['config']['enable']=true;
-$conf['interface']['config']['show_system']=true;
-$conf['interface']['config']['show_interpreter']=true;
-$conf['interface']['config']['show_extensions']=true;
-$conf['interface']['frames'] = array();
-$conf['interface']['frames']['top']='_top';
-$conf['interface']['url'] = array();
-$conf['interface']['url']['fake_url']=false;
-$conf['interface']['url']['index']=false;
-$conf['interface']['url']['url_format']= "%s,%s.%i";
-$conf['interface']['url']['url_format']= "%s,%s,%d.do";
-$conf['interface']['url']['add_sessionid']=false;
-$conf['interface']['gravatar'] = array();
-$conf['interface']['gravatar']['enable']=true;
-$conf['interface']['gravatar']['size']='80';
-$conf['interface']['gravatar']['default']='404';
-$conf['interface']['gravatar']['rating']='g';
-$conf['interface']['session'] = array();
-$conf['interface']['session']['auto_extend']=true;
-$conf['ldap'] = array();
-$conf['ldap']['host']="localhost";
-$conf['ldap']['port']="389";
-$conf['ldap']['protocol']="2";
-$conf['ldap']['dn']= "uid={user},ou=users,dc=example,dc=com";
-$conf['ldap']['dn']= "";
-$conf['ldap']['search'] = array();
-$conf['ldap']['search']['anonymous']=true;
-$conf['ldap']['search']['user']= "uid=openrat,ou=users,dc=example,dc=com";
-$conf['ldap']['search']['password']= "verysecret";
-$conf['ldap']['search']['basedn']= "dc=example,dc=com";
-$conf['ldap']['search']['filter']= "(uid={user})";
-$conf['ldap']['search']['aliases']=true;
-$conf['ldap']['search']['timeout']= 30;
-$conf['ldap']['search']['add']=true;
-$conf['ldap']['authorize'] = array();
-$conf['ldap']['authorize']['group_filter']="(memberUid={dn})";
-$conf['ldap']['authorize']['group_name']="cn";
-$conf['ldap']['authorize']['auto_add']=true;
-$conf['login'] = array();
-$conf['login']['motd']='';
-$conf['login']['nologin']=false;
-$conf['login']['register']=false;
-$conf['login']['send_password']=false;
-$conf['login']['gpl'] = array();
-$conf['login']['gpl']['url']="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html";
-$conf['login']['logo'] = array();
-$conf['login']['logo']['file']="./themes/default/images/logo.jpg" ;
-$conf['login']['logo']['url']="http://www.openrat.de" ;
-$conf['login']['start'] = array();
-$conf['login']['start']['start_lastchanged_object']=true;
-$conf['login']['start']['start_single_project']=true;
-$conf['login']['default-database']='db';
-$conf['log'] = array();
-$conf['log']['file']= "";
-$conf['log']['level']= "warn";
-$conf['log']['date_format']= "M j H:i:s";
-$conf['log']['dns_lookup']=false;
-$conf['log']['format']= "%time %level %host %user %action %text";
-$conf['mail'] = array();
-$conf['mail']['enabled']=true;
-$conf['mail']['from']="OpenRat <user@example.com>";
-$conf['mail']['signature']="http://www.openrat.de";
-$conf['mail']['cc']='0';
-$conf['mail']['bcc']='0';
-$conf['mail']['priority']='3';
-$conf['mail']['header_encoding']="Quoted-printable";
-$conf['mail']['client']='smtp';
-$conf['mail']['client']='php';
-$conf['mail']['whitelist']= "";
-$conf['mail']['blacklist']= "";
-$conf['mail']['smtp'] = array();
-$conf['mail']['smtp']['host']="mail.yourdomain.example";
-$conf['mail']['smtp']['host']="locahost";
-$conf['mail']['smtp']['port']="25";
-$conf['mail']['smtp']['auth_username']="your.user@something.example";
-$conf['mail']['smtp']['auth_password']="notsecret";
-$conf['mail']['smtp']['timeout']="45";
-$conf['mail']['smtp']['localhost']='0';
-$conf['mail']['smtp']['localhost']="your.fully.qualified.hostname.example";
-$conf['mail']['smtp']['tls']=false;
-$conf['mail']['smtp']['ssl']=false;
-
-$conf['mime-types'] = array();
-$conf['mime-types']['ez'] = 'application/andrew-inset';
-$conf['mime-types']['csm'] = 'application/cu-seeme';
-$conf['mime-types']['cu'] = 'application/cu-seeme';
-$conf['mime-types']['tsp'] = 'application/dsptype';
-$conf['mime-types']['spl'] = 'application/futuresplash';
-$conf['mime-types']['cpt'] = 'application/mac-compactpro';
-$conf['mime-types']['hqx'] = 'application/mac-binhex40';
-$conf['mime-types']['nb'] = 'application/mathematica';
-$conf['mime-types']['mdb'] = 'application/msaccess';
-$conf['mime-types']['doc'] = 'application/msword';
-$conf['mime-types']['dot'] = 'application/msword';
-$conf['mime-types']['bin'] = 'application/octet-stream';
-$conf['mime-types']['oda'] = 'application/oda';
-$conf['mime-types']['pdf'] = 'application/pdf';
-$conf['mime-types']['pgp'] = 'application/pgp-signature';
-$conf['mime-types']['ps'] = 'application/postscript';
-$conf['mime-types']['ai'] = 'application/postscript';
-$conf['mime-types']['eps'] = 'application/postscript';
-$conf['mime-types']['rtf'] = 'application/rtf';
-$conf['mime-types']['smi'] = 'application/smil';
-$conf['mime-types']['smil'] = 'application/smil';
-$conf['mime-types']['xls'] = 'application/vnd.ms-excel';
-$conf['mime-types']['xlb'] = 'application/vnd.ms-excel';
-$conf['mime-types']['ppt'] = 'application/vnd.ms-powerpoint';
-$conf['mime-types']['pps'] = 'application/vnd.ms-powerpoint';
-$conf['mime-types']['pot'] = 'application/vnd.ms-powerpoint';
-$conf['mime-types']['sdw'] = 'application/vnd.stardivision.writer';
-$conf['mime-types']['sgl'] = 'application/vnd.stardivision.writer-global';
-$conf['mime-types']['vor'] = 'application/vnd.stardivision.writer';
-$conf['mime-types']['sdc'] = 'application/vnd.stardivision.calc';
-$conf['mime-types']['sda'] = 'application/vnd.stardivision.draw';
-$conf['mime-types']['sdd'] = 'application/vnd.stardivision.impress';
-$conf['mime-types']['sdp'] = 'application/vnd.stardivision.impress-packed';
-$conf['mime-types']['smf'] = 'application/vnd.stardivision.math';
-$conf['mime-types']['sds'] = 'application/vnd.stardivision.chart';
-$conf['mime-types']['smd'] = 'application/vnd.stardivision.mail';
-$conf['mime-types']['wbxml'] = 'application/vnd.wap.wbxml ';
-$conf['mime-types']['wmlc'] = 'application/vnd.wap.wmlc';
-$conf['mime-types']['wmlsc'] = 'application/vnd.wap.wmlscriptc';
-$conf['mime-types']['wp5'] = 'application/wordperfect5.1';
-$conf['mime-types']['zip'] = 'application/zip';
-$conf['mime-types']['wk'] = 'application/x-123';
-$conf['mime-types']['bcpio'] = 'application/x-bcpio';
-$conf['mime-types']['vcd'] = 'application/x-cdlink ';
-$conf['mime-types']['pgn'] = 'application/x-chess-pgn';
-$conf['mime-types']['cpio'] = 'application/x-cpio';
-$conf['mime-types']['csh'] = 'application/x-csh';
-$conf['mime-types']['deb'] = 'application/x-debian-package';
-$conf['mime-types']['dcr'] = 'application/x-director';
-$conf['mime-types']['dir'] = 'application/x-director';
-$conf['mime-types']['dxr'] = 'application/x-director';
-$conf['mime-types']['wad'] = 'application/x-doom';
-$conf['mime-types']['dms'] = 'application/x-dms';
-$conf['mime-types']['dvi'] = 'application/x-dvi';
-$conf['mime-types']['pfa'] = 'application/x-font';
-$conf['mime-types']['pfb'] = 'application/x-font';
-$conf['mime-types']['gsf'] = 'application/x-font';
-$conf['mime-types']['pcf'] = 'application/x-font';
-$conf['mime-types']['spl'] = 'application/x-futuresplash ';
-$conf['mime-types']['gnumeric'] = 'application/x-gnumeric';
-$conf['mime-types']['gtar'] = 'application/x-gtar';
-$conf['mime-types']['tgz'] = 'application/x-gtar';
-$conf['mime-types']['taz'] = 'application/x-gtar';
-$conf['mime-types']['hdf'] = 'application/x-hdf';
-$conf['mime-types']['phtml'] = 'text/html';
-$conf['mime-types']['pht'] = 'text/html';
-$conf['mime-types']['php'] = 'text/html';
-$conf['mime-types']['phps'] = 'text/html';
-$conf['mime-types']['php3'] = 'text/html';
-$conf['mime-types']['php3p'] = 'text/html ';
-$conf['mime-types']['php4'] = 'text/html';
-$conf['mime-types']['docbook'] = 'application/docbook+xml';
-$conf['mime-types']['ica'] = 'application/x-ica';
-$conf['mime-types']['jar'] = 'application/x-java-archive';
-$conf['mime-types']['jnlp'] = 'application/x-java-jnlp-file';
-$conf['mime-types']['ser'] = 'application/x-java-serialized-object';
-$conf['mime-types']['class'] = 'application/x-java-vm';
-$conf['mime-types']['js'] = 'application/x-javascript';
-$conf['mime-types']['chrt'] = 'application/x-kchart';
-$conf['mime-types']['kil'] = 'application/x-killustrator';
-$conf['mime-types']['kpr'] = 'application/x-kpresenter';
-$conf['mime-types']['kpt'] = 'application/x-kpresenter';
-$conf['mime-types']['skp'] = 'application/x-koan ';
-$conf['mime-types']['skd'] = 'application/x-koan ';
-$conf['mime-types']['skt'] = 'application/x-koan ';
-$conf['mime-types']['skm'] = 'application/x-koan ';
-$conf['mime-types']['ksp'] = 'application/x-kspread';
-$conf['mime-types']['kwd'] = 'application/x-kword';
-$conf['mime-types'][' kwt'] = 'application/x-kword';
-$conf['mime-types']['latex'] = 'application/x-latex';
-$conf['mime-types']['lha'] = 'application/x-lha';
-$conf['mime-types']['lzh'] = 'application/x-lzh';
-$conf['mime-types']['lzx'] = 'application/x-lzx';
-$conf['mime-types']['frm'] = 'fbdocapplication/x-maker';
-$conf['mime-types']['maker'] = 'fbdocapplication/x-maker';
-$conf['mime-types']['frame'] = 'fbdocapplication/x-maker';
-$conf['mime-types']['fm'] = 'fbdocapplication/x-maker';
-$conf['mime-types']['fb'] = 'fbdocapplication/x-maker';
-$conf['mime-types']['book'] = 'fbdocapplication/x-maker';
-$conf['mime-types']['mif'] = 'application/x-mif';
-$conf['mime-types']['com'] = 'application/x-msdos-program';
-$conf['mime-types']['exe'] = 'application/x-msdos-program';
-$conf['mime-types']['bat'] = 'application/x-msdos-program';
-$conf['mime-types']['dll'] = 'application/x-msdos-program';
-$conf['mime-types']['msi'] = 'application/x-msi';
-$conf['mime-types']['nc'] = 'application/x-netcdf';
-$conf['mime-types']['cdf'] = 'application/x-netcdf';
-$conf['mime-types']['pac'] = 'application/x-ns-proxy-autoconfig';
-$conf['mime-types']['o'] = 'application/x-object';
-$conf['mime-types']['ogg'] = 'application/x-ogg';
-$conf['mime-types']['oza'] = 'application/x-oz-application';
-$conf['mime-types']['pl'] = 'application/x-perl';
-$conf['mime-types']['pm'] = 'application/x-perl';
-$conf['mime-types']['crl'] = 'application/x-pkcs7-crl';
-$conf['mime-types']['rpm'] = 'application/x-redhat-package-manager';
-$conf['mime-types']['shar'] = 'application/x-shar';
-$conf['mime-types']['swf'] = 'application/x-shockwave-flash';
-$conf['mime-types']['swfl'] = 'application/x-shockwave-flash';
-$conf['mime-types']['sh'] = 'application/x-sh ';
-$conf['mime-types']['sit'] = 'application/x-stuffit';
-$conf['mime-types']['sv4cpio'] = 'application/x-sv4cpio';
-$conf['mime-types']['sv4crc'] = 'application/x-sv4crc';
-$conf['mime-types']['tar'] = 'application/x-tar';
-$conf['mime-types']['tcl'] = 'application/x-tcl';
-$conf['mime-types']['tex'] = 'application/x-tex';
-$conf['mime-types']['gf'] = 'application/x-tex-gf';
-$conf['mime-types']['pk'] = 'application/x-tex-pk';
-$conf['mime-types']['texinfo'] = 'application/x-texinfo';
-$conf['mime-types']['texi'] = 'application/x-texinfo';
-$conf['mime-types']['; "~"'] = 'application/x-trash';
-$conf['mime-types'][';"%"'] = 'application/x-trash';
-$conf['mime-types']['bak'] = 'application/x-trash';
-$conf['mime-types']['old'] = 'application/x-trash';
-$conf['mime-types']['sik'] = 'application/x-trash';
-$conf['mime-types']['t'] = 'application/x-troff';
-$conf['mime-types']['tr'] = 'application/x-troff';
-$conf['mime-types']['roff'] = 'application/x-troff';
-$conf['mime-types']['man'] = 'application/x-troff-man';
-$conf['mime-types']['me'] = 'application/x-troff-me';
-$conf['mime-types']['ms'] = 'application/x-troff-ms';
-$conf['mime-types']['ustar'] = 'application/x-ustar';
-$conf['mime-types']['src'] = 'application/x-wais-source';
-$conf['mime-types']['wz'] = 'application/x-wingz';
-$conf['mime-types']['crt'] = 'application/x-x509-ca-cert';
-$conf['mime-types']['fig'] = 'application/x-xfig';
-$conf['mime-types']['au'] = 'audio/basic';
-$conf['mime-types']['snd'] = 'audio/basic';
-$conf['mime-types']['mid'] = 'audio/midi';
-$conf['mime-types']['midi'] = 'audio/midi';
-$conf['mime-types']['kar'] = 'audio/midi';
-$conf['mime-types']['mpga'] = 'audio/mpeg';
-$conf['mime-types']['mpega'] = 'audio/mpeg';
-$conf['mime-types']['mp2'] = 'audio/mpeg';
-$conf['mime-types']['mp3'] = 'audio/mpeg';
-$conf['mime-types']['m3u'] = 'audio/mpegurl';
-$conf['mime-types']['sid'] = 'audio/prs.sid';
-$conf['mime-types']['aif'] = 'audio/x-aiff';
-$conf['mime-types']['aiff'] = 'audio/x-aiff';
-$conf['mime-types']['aifc'] = 'audio/x-aiff';
-$conf['mime-types']['gsm'] = 'audio/x-gsm';
-$conf['mime-types']['m3u'] = 'audio/x-mpegurl';
-$conf['mime-types']['rpm'] = 'audio/x-pn-realaudio-plugin ';
-$conf['mime-types']['ra'] = 'audio/x-pn-realaudio';
-$conf['mime-types']['rm'] = 'audio/x-pn-realaudio';
-$conf['mime-types']['ram'] = 'audio/x-pn-realaudio';
-$conf['mime-types']['ra'] = 'audio/x-realaudio ';
-$conf['mime-types']['pls'] = 'audio/x-scpls';
-$conf['mime-types']['wav'] = 'audio/x-wav';
-$conf['mime-types']['pdb'] = 'chemical/x-pdb';
-$conf['mime-types']['xyz'] = 'chemical/x-xyz ';
-$conf['mime-types']['bmp'] = 'image/bmp';
-$conf['mime-types']['gif'] = 'image/gif';
-$conf['mime-types']['ief'] = 'image/ief';
-$conf['mime-types']['jpeg'] = 'image/jpeg';
-$conf['mime-types']['jpg'] = 'image/jpeg';
-$conf['mime-types']['jpe'] = 'image/jpeg';
-$conf['mime-types']['pcx'] = 'image/pcx';
-$conf['mime-types']['png'] = 'image/png';
-$conf['mime-types']['svg'] = 'image/svg+xml';
-$conf['mime-types']['svgz'] = 'image/svg+xml';
-$conf['mime-types']['tiff'] = 'image/tiff';
-$conf['mime-types']['tif'] = 'image/tiff';
-$conf['mime-types']['wbmp'] = 'image/vnd.wap.wbmp';
-$conf['mime-types']['ras'] = 'image/x-cmu-raster';
-$conf['mime-types']['cdr'] = 'image/x-coreldraw';
-$conf['mime-types']['pat'] = 'image/x-coreldrawpattern';
-$conf['mime-types']['cdt'] = 'image/x-coreldrawtemplate';
-$conf['mime-types']['cpt'] = 'image/x-corelphotopaint';
-$conf['mime-types']['djvu'] = 'image/x-djvu';
-$conf['mime-types']['djv'] = 'image/x-djvu';
-$conf['mime-types']['jng'] = 'image/x-jng';
-$conf['mime-types']['bmp'] = 'image/x-ms-bmp';
-$conf['mime-types']['pnm'] = 'image/x-portable-anymap';
-$conf['mime-types']['pbm'] = 'image/x-portable-bitmap';
-$conf['mime-types']['pgm'] = 'image/x-portable-graymap';
-$conf['mime-types']['ppm'] = 'image/x-portable-pixmap';
-$conf['mime-types']['rgb'] = 'image/x-rgb';
-$conf['mime-types']['xbm'] = 'image/x-xbitmap';
-$conf['mime-types']['xpm'] = 'image/x-xpixmap';
-$conf['mime-types']['xwd'] = 'image/x-xwindowdump';
-$conf['mime-types']['igs'] = 'model/iges';
-$conf['mime-types']['iges'] = 'model/iges';
-$conf['mime-types']['msh'] = 'model/mesh';
-$conf['mime-types']['mesh'] = 'model/mesh';
-$conf['mime-types']['silo'] = 'model/mesh';
-$conf['mime-types']['wrl'] = 'model/vrml';
-$conf['mime-types']['vrml'] = 'model/vrml';
-$conf['mime-types']['csv'] = 'text/comma-separated-values';
-$conf['mime-types']['css'] = 'text/css';
-$conf['mime-types']['htm'] = 'text/html';
-$conf['mime-types']['html'] = 'text/html';
-$conf['mime-types']['xhtml'] = 'text/html';
-$conf['mime-types']['mml'] = 'text/mathml';
-$conf['mime-types']['asc'] = 'text/plain';
-$conf['mime-types']['txt'] = 'text/plain';
-$conf['mime-types']['text'] = 'text/plain';
-$conf['mime-types']['diff'] = 'text/plain';
-$conf['mime-types']['rtx'] = 'text/richtext';
-$conf['mime-types']['rtf'] = 'text/rtf';
-$conf['mime-types']['tsv'] = 'text/tab-separated-values';
-$conf['mime-types']['wml'] = 'text/vnd.wap.wml';
-$conf['mime-types']['wmls'] = 'text/vnd.wap.wmlscript';
-$conf['mime-types']['xml'] = 'text/xml';
-$conf['mime-types']['xsl'] = 'text/xml';
-$conf['mime-types']['hpp'] = 'text/x-c++hdr';
-$conf['mime-types']['hxx'] = 'text/x-c++hdr';
-$conf['mime-types']['hh'] = 'text/x-c++hdr';
-$conf['mime-types']['cpp'] = 'text/x-c++src';
-$conf['mime-types']['cxx'] = 'text/x-c++src';
-$conf['mime-types']['cc'] = 'text/x-c++src';
-$conf['mime-types']['h'] = 'text/x-chdr';
-$conf['mime-types']['csh'] = 'text/x-csh';
-$conf['mime-types']['c'] = 'text/x-csrc';
-$conf['mime-types']['java'] = 'text/x-java';
-$conf['mime-types']['moc'] = 'text/x-moc';
-$conf['mime-types']['p'] = 'text/x-pascal';
-$conf['mime-types']['pas'] = 'text/x-pascal';
-$conf['mime-types']['etx'] = 'text/x-setext';
-$conf['mime-types']['sh'] = 'text/x-sh';
-$conf['mime-types']['tcl'] = 'text/x-tcl';
-$conf['mime-types']['tk'] = 'text/x-tcl';
-$conf['mime-types']['tex'] = 'text/x-tex';
-$conf['mime-types']['ltx'] = 'text/x-tex';
-$conf['mime-types']['sty'] = 'text/x-tex';
-$conf['mime-types']['cls'] = 'text/x-tex';
-$conf['mime-types']['vcs'] = 'text/x-vcalendar';
-$conf['mime-types']['vcf'] = 'text/x-vcard';
-$conf['mime-types']['dl'] = 'video/dl';
-$conf['mime-types']['fli'] = 'video/fli';
-$conf['mime-types']['gl'] = 'video/gl';
-$conf['mime-types']['mpeg'] = 'video/mpeg';
-$conf['mime-types']['mpg'] = 'video/mpeg';
-$conf['mime-types']['mpe'] = 'video/mpeg';
-$conf['mime-types']['qt'] = 'video/quicktime';
-$conf['mime-types']['mov'] = 'video/quicktime';
-$conf['mime-types']['mxu'] = 'video/vnd.mpegurl';
-$conf['mime-types']['mng'] = 'video/x-mng';
-$conf['mime-types']['asf'] = 'video/x-ms-asf';
-$conf['mime-types']['asx'] = 'video/x-ms-asf';
-$conf['mime-types']['avi'] = 'video/x-msvideo';
-$conf['mime-types']['movie'] = 'video/x-sgi-movie';
-$conf['mime-types']['ice'] = 'x-conference/x-cooltalk';
-$conf['mime-types']['vrm'] = 'x-world/x-vrml';
-$conf['mime-types']['vrml'] = 'x-world/x-vrml';
-$conf['mime-types']['wrl'] = 'x-world/x-vrml';
-
-$conf['publish'] = array();
-$conf['publish']['edit']=true;
-$conf['publish']['default']='index';
-$conf['publish']['format']= "{filename}{language_sep}{language}{type_sep}{type}";
-$conf['publish']['language_sep']= ".";
-$conf['publish']['type_sep']= ".";
-$conf['publish']['filename_language']='auto';
-$conf['publish']['filename_type']='always';
-$conf['publish']['style']="id";
-$conf['publish']['url']='relative';
-$conf['publish']['url']='absolute';
-$conf['publish']['enable_php_in_page_content']=false;
-$conf['publish']['enable_php_in_file_content']=false;
-$conf['publish']['escape_8bit_characters']=false;
-$conf['publish']['encode_utf8_in_html']=true;
-$conf['publish']['negotiation'] = array();
-$conf['publish']['negotiation']['page_negotiate_type']=true;
-$conf['publish']['negotiation']['page_negotiate_language']=true;
-$conf['publish']['negotiation']['file_negotiate_type']=true;
-$conf['publish']['filesystem'] = array();
-$conf['publish']['filesystem']['per_project']=true;
-$conf['publish']['filesystem']['directory']='/var/www/';
-$conf['publish']['command'] = array();
-$conf['publish']['command']['per_project']=true;
-$conf['publish']['command']['enable']=false;
-$conf['publish']['command']['command']='';
-$conf['publish']['ftp'] = array();
-$conf['publish']['ftp']['enable']=true;
-$conf['publish']['ftp']['per_project']=true;
-$conf['publish']['ftp']['port']='21';
-$conf['publish']['ftp']['host']='';
-$conf['publish']['ftp']['path']='';
-$conf['publish']['ftp']['user']='anonymous';
-$conf['publish']['ftp']['pass']='mail@example.com';
-$conf['replace'] = array();
-$conf['replace']['']='0';
-$conf['replace']['']='0';
-$conf['replace']['euro']= "EUR,€";
-$conf['replace']['copy']= "(c),©";
-$conf['search'] = array();
-$conf['search']['']='0';
-$conf['search']['quicksearch'] = array();
-$conf['search']['quicksearch']['flag'] = array();
-$conf['search']['quicksearch']['flag']['id']=true;
-$conf['search']['quicksearch']['flag']['name']=true;
-$conf['search']['quicksearch']['flag']['filename']=true;
-$conf['search']['quicksearch']['flag']['description']=true;
-$conf['search']['quicksearch']['flag']['content']=false;
-$conf['security'] = array();
-$conf['security']['readonly']=false;
-$conf['security']['nopublish']=false;
-$conf['security']['umask']='0';
-$conf['security']['chmod']='0';
-$conf['security']['chmod_dir']='0';
-$conf['security']['']='0';
-$conf['security']['disable_dynamic_code']=true;
-$conf['security']['show_system_info']=true;
-$conf['security']['use_post_token']=true;
-$conf['security']['renew_session_login']=false;
-$conf['security']['renew_session_logout']=false;
-$conf['security']['default'] = array();
-$conf['security']['default']['username']='';
-$conf['security']['default']['password']='';
-$conf['security']['guest'] = array();
-$conf['security']['guest']['enable']=false;
-$conf['security']['guest']['user']='guest';
-$conf['security']['login'] = array();
-$conf['security']['login']['type']='form';
-$conf['security']['auth'] = array();
-$conf['security']['auth']['type']='database';
-$conf['security']['auth']['userdn']=false;
-$conf['security']['authorize'] = array();
-$conf['security']['authorize']['type']='database';
-$conf['security']['authorize']['type']='ldap';
-
-$conf['security']['modules'] = array();
-$conf['security']['modules']['autologin']='Remember,Guest,SingleSignon';
-$conf['security']['modules']['preselect']='Ident,SSL,Cookie';
-$conf['security']['modules']['authenticate']='LdapUserDN,Database,Internal';
-
-$conf['security']['newuser'] = array();
-$conf['security']['newuser']['autoadd'] = true;
-$conf['security']['newuser']['autogroups'] = "";
-
-$conf['security']['password'] = array();
-$conf['security']['password']['random_length']=10;
-$conf['security']['password']['min_length']=6;
-$conf['security']['password']['pepper']= '';
-$conf['security']['password']['deny_after_expiration_duration'] = 72;
-$conf['security']['password']['force_change_if_cleartext']= true;
-$conf['security']['http'] = array();
-$conf['security']['http']['url']= "http://example.net/restricted-area";
-$conf['security']['authdb'] = array();
-$conf['security']['authdb']['enable'] = false;
-$conf['security']['authdb']['type']='postgresql';
-$conf['security']['authdb']['user']='dbuser';
-$conf['security']['authdb']['password']='dbpassword';
-$conf['security']['authdb']['host']= '127.0.0.1';
-$conf['security']['authdb']['database']='dbname';
-$conf['security']['authdb']['persistent']=false;
-$conf['security']['authdb']['prepare']=false;
-$conf['security']['authdb']['sql']= "select 1 from table where user={username} and password={password}";
-$conf['security']['authdb']['hash_algo']='md5';
-$conf['security']['authdb']['add']=true;
-$conf['security']['ssl'] = array();
-$conf['security']['ssl']['trust']=false;
-$conf['security']['ssl']['client_cert_dn_env'] = 'SSL_CLIENT_S_DN_CN';
-$conf['security']['openid'] = array();
-$conf['security']['openid']['enable']=false;
-$conf['security']['openid']['add']=false;
-$conf['security']['openid']['logo_url']='0';
-$conf['security']['openid']['logo_url']="http://openid.net/login-bg.gif";
-$conf['security']['openid']['trust_root']='http://your.server.example/openrat/';
-$conf['security']['openid']['trust_root']='0';
-$conf['security']['openid']['trusted_server']='openid1.example.com,openid2.example.com';
-$conf['security']['openid']['trusted_server']='0';
-$conf['security']['openid']['update_user']=true;
-$conf['security']['openid']['user_identity']=true;
-$conf['security']['openid']['provider']['name']='google';
-$conf['security']['openid']['provider']['google']['xrds_uri']="http://google.com/accounts/o8/id";
-$conf['security']['openid']['provider']['google']['map_attribute']="email";
-$conf['security']['openid']['provider']['google']['name']="Google";
-$conf['security']['openid']['provider']['google']['map_internal']="mail";
-$conf['security']['openid']['provider']['yahoo']['xrds_uri']="http://??????";
-$conf['security']['openid']['provider']['yahoo']['map_attribute']="usename";
-$conf['security']['openid']['provider']['yahoo']['map_internal']="mail";
-$conf['security']['sso'] = array();
-$conf['security']['sso']['enable']=false;
-$conf['security']['sso']['url']="http://localhost/check.php?phpsessid={id}&check=true";
-$conf['security']['sso']['url']="https://www.example.com/phpmyadmin/main.php?server=1";
-$conf['security']['sso']['auth_param_name']='authid';
-$conf['security']['sso']['auth_param_serialized']=true;
-$conf['security']['sso']['cookie']=true;
-$conf['security']['sso']['cookie_name']='0';
-$conf['security']['sso']['force']=true;
-$conf['security']['sso']['expect']='0';
-$conf['security']['sso']['expect_regexp']="/running on/";
-$conf['security']['sso']['username_regexp']="/running on localhost as ([a-z]+)@localhost/";
-$conf['security']['logout'] = array();
-$conf['security']['logout']['redirect_url']="http://your.intranet.example/";
-$conf['security']['logout']['redirect_url']='0';
-$conf['security']['user'] = array();
-$conf['security']['user']['show_admin_mail']=true;
-$conf['security']['user']['show_mail']=true;
-$conf['security']['user']['send_message']=true;
-$conf['security']['content-security-policy']=true;
-
-$conf['style'] = array();
-$conf['style']['earlgrey']=array();
-$conf['style']['earlgrey']['name']='Earl grey';
-$conf['style']['earlgrey']['title_background_color']='grey';
-$conf['style']['earlgrey']['title_text_color']='white';
-$conf['style']['earlgrey']['text_color'] ='black';
-$conf['style']['earlgrey']['background_color'] = '#e9e9e9';
-$conf['style']['earlgrey']['inactive_background_color'] = 'silver';
-
-// $conf['style']['system']=array();
-// $conf['style']['system']['name']='System colors';
-// $conf['style']['system']['title_background_color']='Menu';
-// $conf['style']['system']['title_text_color']='MenuText';
-// $conf['style']['system']['text_color'] ='WindowText';
-// $conf['style']['system']['background_color'] = 'Background';
-// $conf['style']['system']['inactive_background_color'] = 'WindowFrame';
-
-$conf['style']['modern']=array();
-$conf['style']['modern']['name']='Blue sky';
-$conf['style']['modern']['title_background_color']='#3F6194';
-$conf['style']['modern']['title_text_color']='white';
-$conf['style']['modern']['text_color'] ='black';
-$conf['style']['modern']['background_color'] = '#F3F3F3';
-$conf['style']['modern']['inactive_background_color'] = '#CCCCCC';
-
-$conf['style']['moorweide']=array();
-$conf['style']['moorweide']['name']='Moorweide';
-$conf['style']['moorweide']['title_background_color']='#006633';
-$conf['style']['moorweide']['title_text_color']='white';
-$conf['style']['moorweide']['text_color'] ='black';
-$conf['style']['moorweide']['background_color'] = '#F5FFFA';
-$conf['style']['moorweide']['inactive_background_color'] = '#CEE6DA';
-
-$conf['style']['dark']=array();
-$conf['style']['dark']['name']='Dark';
-$conf['style']['dark']['title_background_color']='#868685';
-$conf['style']['dark']['title_text_color']='#DCDCDC';
-$conf['style']['dark']['text_color'] ='#FFFFFF';
-$conf['style']['dark']['background_color'] = '#201F1D';
-$conf['style']['dark']['inactive_background_color'] = '#868685';
-
-$conf['theme'] = array();
-$conf['theme']['compiler'] = array();
-$conf['theme']['compiler']['enable']=true;
-$conf['theme']['compiler']['cache']=true;
-$conf['theme']['compiler']['chmod']='';
-$conf['theme']['compiler']['compile_at_logout']=false;
-$conf['wiki'] = array();
-$conf['wiki']['convert_html']=true;
-$conf['wiki']['convert_bbcode']=true;
-$conf['wiki']['tag_strong']= "*";
-$conf['wiki']['tag_emphatic']= "_";
-
-$conf['application']['name' ] = OR_TITLE;
-$conf['application']['version' ] = OR_VERSION;
-$conf['application']['operator'] = OR_TITLE;
-$conf['production']= true;
-
-?>-
\ No newline at end of file
diff --git a/config/config.ini.php b/config/config.ini.php
@@ -1,11 +0,0 @@
-; <?php die() ?>
-
-; OpenRat configuration file - Minimal settings.
-; change this file or copy it to 'config-<hostname>.ini.php'.
-
-database.db.enabled = false ; remove this line for enable this database
-database.db.user = dbuser ; user
-database.db.password = dbpass ; password
-database.db.database = cms ; database name
-
-; There are a lot of more configuration settings available, see file 'config-all.ini.php' ...
diff --git a/config/config.yml b/config/config.yml
@@ -0,0 +1,12 @@
+
+# OpenRat configuration file - Minimal settings.
+# change this file or copy it to 'config-<hostname>.yml'.
+
+database:
+ db:
+ enabled : false # remove this line or set the value to 'true' to enable this database
+ user : dbuser # user
+ password: dbpass # password
+ database: cms # database name
+
+# There are a lot of more configuration settings available, see file 'config-all-example.yml' ...
diff --git a/config/convert.sh b/config/convert.sh
@@ -1,51 +0,0 @@
-#!/bin/bash
-#
-# converting openrat-1.0-configurations to the 1.1 single-file-format.
-#
-# This is a dirty quick-coding-tool.
-#
-# Usage:
-# - Start dos2unix.sh to kill the windows line endings.
-# - Start this script in the config-directory. The new file will be written to stdout.
-# - save standardout to a file named config.new
-# - rename config.ini.php to config.ini.orig.php
-# - rename config.new to config.ini.php or config-<domain>.ini.php
-# - Edit the file: replace '.ini.php.' with '.'
-# - Edit the file: replace '].' with '.' (sorry about that)
-#
-# Alternative: Do not use this script and start a new configuration
-# with config.ini.php ;)
-#
-echo "; `date`"
-echo ";"
-
-for fn in *.ini.php; do
-
- fn="${fn:-8}"
- echo ";"
- echo "; converted from $fn"
- echo ";;PHP \$conf['${fn}'] = array();"
-
- ru=
- sec="${fn}."
-
- while read line; do
- if [ "${line:0:1}" == "[" ]; then
- sec="${fn}.${line:1}."
- ru="$line"
- echo "; next section: $line"
- elif [ "${line:0:2}" == ";[" ]; then
- sec="${fn}.${line:2}."
- ru="${line:1}"
- echo "; next unused section: $line"
- elif [ "$line" == "" ]; then
- echo ""
- elif [ "${line:0:2}" == "; " ]; then
- echo "$line"
- elif [ "${line:0:1}" == ";" ]; then
- echo ";${sec}${line:1}"
- else
- echo "${sec}${line}"
- fi
- done < $fn
-done-
\ No newline at end of file
diff --git a/config/dos2unix.sh b/config/dos2unix.sh
@@ -1,9 +0,0 @@
-#!/bin/bash
-#
-# Kill windows line endings
-#
-for fn in *.ini.php; do
- tr -d '\015' < $fn > $fn.new
- rm $fn
- mv $fn.new $fn
-done;-
\ No newline at end of file
diff --git a/dispatcher.php b/dispatcher.php
@@ -45,7 +45,7 @@ try
// Konfiguration lesen.
// Wenn Konfiguration noch nicht in Session vorhanden oder die Konfiguration geändert wurde (erkennbar anhand des Datei-Datums)
// dann die Konfiguration neu einlesen.
- if ( !is_array( $conf ) || $conf['config']['auto_reload'] && Preferences::lastModificationTime()>$conf['config']['last_modification'] )
+ if ( !is_array( $conf ) || $conf['config']['auto_reload'] && Preferences::lastModificationTime()>$conf['config']['last_modification_time'] )
{
// Da die Konfiguration neu eingelesen wird, sollten wir auch die Sitzung komplett leeren.
if ( is_array($conf) && $conf['config']['session_destroy_on_config_reload'] )
@@ -177,7 +177,10 @@ try
define('OR_ACTION',$action);
define('OR_METHOD',$subaction);
- define('OR_ID' ,$REQ[REQ_PARAM_ID]);
+ if ( isset($REQ[REQ_PARAM_ID]) )
+ define('OR_ID' ,$REQ[REQ_PARAM_ID]);
+ else
+ define('OR_ID' ,'');
$do->init();
diff --git a/doc/config-all-example.yml b/doc/config-all-example.yml
@@ -0,0 +1,1451 @@
+# /* vim: set filetype: yml : */
+#
+#
+
+# OpenRat configuration file example
+
+# Per host configuration:
+# A file 'config-<hostname>.yml' is preferred before file 'config.yml'.
+
+# Rules for reading this file:
+# 1. if environment-variable 'OR_CONFIG_FILE' is set, then this value is used for the configuration filename.
+# 2. if environment-variable 'OR_CONFIG_DIR' is set, then a file 'config-<hostname>.yml' is read. If it does not exist, 'config.yml' is read instead.
+# 3. file 'config/config-<hostname>.yml' is read. If it does not exist, 'config/config.yml' is read instead.
+#
+# Lines which begins with ';' are ignored.
+
+
+
+# Configuration
+
+
+
+# Start other applications out of OpenRat.
+# Other applications are able to authenticate the user with a ticket id (Single Signon)
+# see documentation for more details.
+
+# The Name of the application
+# applications.phpmyadmin.name: PHPYourAdmin
+
+# URL
+# applications.phpmyadmin.url: "https://example.com/anotherapplication/index.cgi"
+
+# Name of the HTTP-Parameter for the Ticket-Id.
+# OpenRat puts the session-id into this parameter.
+# applications.phpmyadmin.param: "ticketidforopenrat"
+
+# Groups
+# Only User, who are in this group, may see the application
+# (optional)
+# applications.phpmyadmin.group:
+
+# A brief description of this application.
+# applications.phpmyadmin.description: "Your database administration"
+#
+
+
+
+# Conditional-GET enables the "304 not modified" HTTP-Header
+# This is much faster, but sometimes caching is unwanted
+# if you have caching problems, set this to 'false'.
+# Default: 'true'
+# cache.conditional_get: true
+
+
+
+# Pages and files are cached in a temporary directory.
+# 'false' means generate each page again and again
+# 'true' will cache a page's content. This will improve
+# the performance, but has some side effects,
+# f.e. no dynamic content will be updated.
+# Default: 'false'
+# cache.enable_cache: false
+
+
+
+# Directory for temporary files.
+# Default: blank (means: OpenRat is using the system temporary dir)
+# cache.tmp_dir:
+
+
+
+# Auto-Reload session.
+# If the configuration file is changed, its content is reloaded automatically
+# Default: true
+# config.auto_reload: true;
+
+#
+# If the configuration file is changed, a new session will be created.
+# Default: true
+# config.session_destroy_on_config_reload: true;
+
+
+
+# Maximum file size for uploads in KB
+# Special values: 0,-1 : not restricted
+# Default: 0
+# content.file.max_file_size: 1500
+
+
+
+
+# Delete-strategy of old content.
+
+# Values are deleted, if
+# a) max-age and min-revisions are reached OR
+# b) max-revisions and min-age are reached
+# content.revision-limit.enabled : false
+
+# max age of values (days)
+# content.revision-limit.max-age : 120
+# min age of values (days)
+# content.revision-limit.min-age : 1
+
+# number of revisions
+# content.revision-limit.max-revisions : 100
+# content.revision-limit.min-revisions : 3
+
+
+
+# If a textvalue is empty, try using the default language
+# Default: true
+# content.language.use_default_language : true
+
+
+
+
+# Database configuration.
+# You have to have at least one database connection which has 'enabled: true'.
+#
+# Supported RDBMS-types:
+# - 'mysql' the old PHP-mysql-driver
+# - 'mysqli' PHP-mysql-driver with support for prepared statements (EXPERIMENTAL) (since PHP 5.0)
+# - 'postgresql' Postgresql
+# - 'sqlite' SQ-Lite 2.x-databases (since PHP 5.1)
+# - 'sqlite3' SQ-Lite 3.x-databases (EXPERIMENTAL) (since PHP 5.3)
+# - 'pdo' A common PHP database abstraction layer for a lot of DBs. (since PHP 5.1)
+
+
+
+# Default Database
+# This database will be selected by default.
+# There has to exist a section with this name.
+# database.default: sample_db_mysql
+
+
+
+# This is a sample database connection.
+# If you want to use it, just fill out the login data and set 'enabled' to 'true'
+
+# database.sample_db_mysql.enabled : false ; set this to 'true' for using this connection
+# database.sample_db_mysql.comment : "DB MySQL" ; comment of this database
+
+# database.sample_db_mysql.type : mysql ;
+# database.sample_db_mysql.user : dbuser ; database user
+# database.sample_db_mysql.password : dbpass ; database password
+# database.sample_db_mysql.host : localhost ; database hostname
+# database.sample_db_mysql.port ; database TCP/IP-Port (optional)
+# database.sample_db_mysql.database : cms ; database name
+
+# database.sample_db_mysql.base64 : false ; store binary as BASE64
+# database.sample_db_mysql.prefix : or_ ; table praefix
+# database.sample_db_mysql.persistent : yes ; use persistent connections (try this, it's faster)
+# database.sample_db_mysql.charset : UTF-8
+
+# SQL-Statement which is executed after opening the connection
+# connection_sql : "SET NAMES 'UTF8';" ; using UTF-8 as database charset
+# database.sample_db_mysql.connection_sql : ""
+
+# System command for executing before connecting to the database.
+# Maybe for installing an SSH-Tunnel.
+# For background programs, you have to redirect stdin and stdout! (maybe to /dev/null)
+# Example: "sudo -u u123 /usr/local/bin/sshtunnel-example.sh"
+# Default: blank.
+# database.sample_db_mysql.cmd : ""
+
+# Using prepared statements.
+# The 'old' mysql-interface in PHP does not support prepared statements
+# database.sample_db_mysql.prepare : false
+
+# Using transactions. Set to 'true' when you are using 'InnoDB'-tables.
+# If so, maybe you need to set 'SET AUTOCOMMIT: 0' as connection_sql above.
+# Default: false
+# database.sample_db_mysql.transaction : false
+
+# Readonly tables. Set to 'true' during maintainance activitys.
+# If 'true', OpenRat will disable all writing operations.
+# database.sample_db_mysql.readonly : false
+
+
+
+# This is a sample database connection.
+# If you want to use it, just fill out the login data and set 'enabled' to 'true'
+
+# database.sample_db_postgresql.enabled : false ; set this to 'true' for using this connection
+# database.sample_db_postgresql.comment : "DB-PostgreSQL" ; comment of this database
+
+# database.sample_db_postgresql.type : postgresql ;
+# database.sample_db_postgresql.user : dbuser ; database user
+# database.sample_db_postgresql.password : dbpass ; database password
+# database.sample_db_postgresql.host : localhost ; database hostname
+# database.sample_db_postgresql.port ; database TCP/IP-Port (optional)
+# database.sample_db_postgresql.database : cms ; database name
+
+# database.sample_db_postgresql.base64 : false ; store binary as BASE64 (in postgresql 7.x set this to 'true')
+# database.sample_db_postgresql.prefix : or_ ; table praefix
+# database.sample_db_postgresql.persistent : yes ; use persistent connections (try this, it's faster)
+# database.sample_db_postgresql.charset : UTF-8
+
+# SQL-Statement which is executed after opening the connection
+# database.sample_db_postgresql.connection_sql : ""
+
+# System command for executing before connecting to the database.
+# Maybe for installing an SSH-Tunnel.
+# For background programs, you have to redirect stdin and stdout! (maybe to /dev/null)
+# Example: "sudo -u u123 /usr/local/bin/sshtunnel-example.sh"
+# Default: blank.
+# database.sample_db_postgresql.cmd : ""
+
+# Using prepared statements.
+# This is EXPERIMENTAL, do not use in production environments
+# database.sample_db_postgresql.prepare : false
+
+# Using transactions. Set this to true, if the MySQL table engine supports transactions
+# database.sample_db_postgresql.transaction : false
+
+
+
+# SQ-Lite is an embedded, 'mostly-ANSI-SQL-supporting' database system.
+# for using SQLite, please check for the PHP module
+# f.e. on ubuntu 'sudo apt-get install php5-sqlite'
+
+# database.sample_db_sqlite.enabled : false ; set this to 'true' for using this connection
+# database.sample_db_sqlite.comment : "DB-SQLite" ; comment of this database
+
+# database.sample_db_sqlite.type : sqlite ;
+
+# Filename of your SQlite database
+# database.sample_db_sqlite.filename : "/local/path/to/your/sqlite/openrat.db"
+
+# database.sample_db_sqlite.base64 : false ; store binary as BASE64 (in postgresql: true)
+# database.sample_db_sqlite.prefix : or_ ; table praefix
+# database.sample_db_sqlite.persistent : yes ; use persistent connections (try this, it's faster)
+# database.sample_db_sqlite.charset : UTF-8
+
+# per default SQlite uses table-prefixed column names when using JOINs which MUST BE off.
+# database.sample_db_sqlite.connection_sql : "pragma short_column_names: true;"
+
+# System command for executing before connecting to the database.
+# database.sample_db_sqlite.cmd : ""
+
+# database.sample_db_sqlite.prepare : false
+
+# Set this to true, if you want to use transactions.
+# database.sample_db_sqlite.transaction : false
+
+
+
+# PDO (means PHP Data Objects) is an abstract database interface
+
+# database.sample_pdo_sqlite.enabled : false ; set this to 'true' for using this connection
+# database.sample_pdo_sqlite.comment : "DB-PDO" ; comment of this database
+
+# database.sample_pdo_sqlite.type : pdo ;
+
+# The DSN-Url for your database
+# database.sample_pdo_sqlite.dsn : ""
+# Examples:
+# MySql
+# database.sample_pdo_sqlite.dsn : "mysql:dbname: testdb;host: 127.0.0.1"
+# PostgreSQL
+# database.sample_pdo_sqlite.dsn : "pgsql:host: localhost port: 5432 dbname: mydb user: dbuser password: dbpass"
+# SQLite
+# database.sample_pdo_sqlite.dsn : "sqlite:/path/to/mydb.db"
+# JDBC-Url when using OpenRat in Quercus
+# database.sample_pdo_sqlite.dsn : "java:comp/env/jdbc/mydb"
+
+# If not part of the DSN this is the right place for username/password
+# database.sample_pdo_sqlite.user : "dbuser"
+# database.sample_pdo_sqlite.password : "dbpass"
+
+# database.sample_pdo_sqlite.base64 : false ; store binary as BASE64 (in postgresql: true)
+# database.sample_pdo_sqlite.prefix : or_ ; table praefix
+# database.sample_pdo_sqlite.persistent : yes ; use persistent connections (try this, it's faster)
+# database.sample_pdo_sqlite.charset : UTF-8
+
+# SQL-Statement which is executed after opening the connection
+# database.sample_pdo_sqlite.connection_sql : ""
+# Examples:
+# per default SQlite uses table-prefixed column names when using JOINs which MUST BE off.
+# database.sample_pdo_sqlite.connection_sql : "pragma short_column_names: true;"
+# set default schema for Oracle
+# database.sample_pdo_sqlite.connection_sql : "alter session set current_schema: myschema;"
+
+# System command for executing before connecting to the database.
+# database.sample_pdo_sqlite.cmd : ""
+
+# database.sample_pdo_sqlite.prepare : false
+
+# Set this to true, if you want to use transactions.
+# database.sample_pdo_sqlite.transaction : false
+
+# database.sample_pdo_sqlite.readonly : false
+
+
+# The database results MUST contain lowercase column names.
+# if using Oracle, set this to 'true', default is 'false'.
+# database.sample_pdo_sqlite.convert_to_lowercase : false
+
+# PDO driver-specific options
+# key 'option_a' means option 'a'.
+# database.sample_pdo_sqlite.option_myoption_a
+# database.sample_pdo_sqlite.option_myoption_b
+
+
+# Add here more sections with other database connections.
+# next unused section: ;[another_db]
+# type: ...
+# comment: "My production DB ..."
+# ...
+
+
+
+
+#
+# Date formats
+# see http://www.php.net/manual/en/function.date.php for details
+
+# date.format.SHORT : ""
+# date.format.ISO8601SHORT : "Ymd"
+# date.format.ISO8601 : "Y-m-d"
+# date.format.ISO8601BAS : "YmdTHis"
+# date.format.ISO8601EXT : "Y-m-dTH:i:s"
+# date.format.ISO8601FULL : "Y-m-dTH:i:sO"
+# date.format.ISO8601WEEK : "YWW"
+# date.format.GER1 : "d.m.Y"
+# date.format.GER2 : "d.m.Y, H:i"
+# date.format.GER3 : "d.m.Y, H:i:s"
+# date.format.GER4 : "d. F Y, H:i:s"
+# date.format.ENGLONG : "l dS of F Y h:i:s A"
+# date.format.GMDATE : "D, d M Y H:i:s GMT"
+# date.format.RFC822 : "r"
+# date.format.UNIX : "U"
+# date.format.LONG : "F j, Y, g:i a"
+
+
+# date.timezone.-6: "New York"
+# date.timezone.0: "UTC (GMT)"
+# date.timezone.60: "MET (Middle European Time)"
+# date.timezone.120: "MEST (Middle European Summertime)"
+
+
+
+# Editor configuration
+
+# Strong/important text (mostly "bold")
+# editor.text-markup.strong-begin : "*"
+# editor.text-markup.strong-end : "*"
+
+# Emphatic text (mostly "italic")
+# editor.text-markup.emphatic-begin : "_"
+# editor.text-markup.emphatic-end : "_"
+
+# Image
+# editor.text-markup.image-begin : "{"
+# editor.text-markup.image-end : "}"
+
+# Speech
+# editor.text-markup.speech-begin : QUOTE
+# editor.text-markup.speech-end : QUOTE
+
+# text with same width
+# editor.text-markup.code-begin : ": "
+# editor.text-markup.code-end : ": "
+
+# footnotes
+# editor.text-markup.footnote-begin : "["
+# editor.text-markup.footnote-end : "]"
+
+# pre-formatted Text
+# editor.text-markup.pre-begin : ": "
+# editor.text-markup.pre-end : ": "
+
+# Inserted Text
+# editor.text-markup.insert-begin : "++"
+# editor.text-markup.insert-end : "++"
+
+# Removed text
+# editor.text-markup.remove-begin : "--"
+# editor.text-markup.remove-end : "--"
+
+# Separator for a definition item
+# editor.text-markup.definition-sep : "::"
+
+# Indenting headline
+# editor.text-markup.headline : "+"
+
+# Underlining of headline level 1
+# editor.text-markup.headline_level1_underline : ": "
+
+# Underlining of headline level 2
+# editor.text-markup.headline_level2_underline : "-"
+
+# Underlining of headline level 3
+# editor.text-markup.headline_level3_underline : "."
+
+# Unnumbered Listentry
+# editor.text-markup.list-unnumbered : "-"
+
+# Numbered Listentry
+# editor.text-markup.list-numbered : "#"
+
+# Table of content
+# editor.text-markup.table-of-content: "##TOC##"
+
+# Link to
+# editor.text-markup.linkto : "->"
+
+# Table cell separator
+# editor.text-markup.table-cell-sep : "|"
+
+# editor.text-markup.style-begin : "'"
+# editor.text-markup.style-end : "'"
+
+# Quote Text
+# editor.text-markup.quote : ">"
+# editor.text-markup.quote-line-begin : ">"
+# editor.text-markup.quote-line-end : ">"
+
+# Makro
+# editor.text-markup.macro-begin : "<<"
+# editor.text-markup.macro-end : ">>"
+# editor.text-markup.macro-attribute-quote : "'"
+# editor.text-markup.macro-attribute-value-seperator : ": "
+
+
+
+# Which HTML-Tag to use for cites
+# editor.html.tag_strong : "strong"
+
+# Which HTML-Tag to use for emphatic text
+# editor.html.tag_emphatic : "em"
+
+# Which HTML-Tag to use for teletyped text
+# editor.html.tag_teletype : "tt"
+
+# Which HTML-Tag to use for cites
+# editor.html.tag_speech : "cite"
+
+# OpenRat tries to use a good speech tag. You may override this.
+# editor.html.override_speech : false
+# editor.html.override_speech_open : "«"
+# editor.html.override_speech_close : "»"
+
+# HTML-Rendermode
+# explains how to handle emtpy elements.
+# 'xml' : > <br />, <image src: "..." />
+# 'sgml' : > <br>, <image src: "...">
+# editor.html.rendermode: sgml
+# editor.html.rendermode: xml
+
+# editor.html.replace : "EUR:€ (c):© (r):® ^1:¹ ^2:² ^3:³ 1/4:¼ 1/2:½ 3/4:¾"
+
+
+
+
+# editor.wiki.convert_html: true
+# editor.wiki.convert_bbcode: true
+
+
+
+
+# Calendar settings
+
+# Weekday-Offset: Ho many days a week begins after Sunday.
+# 0 : Week begins with Sunday (America, Australia, Islam)
+# 1 : Week begins with Monday (ISO-8601, Europe)
+# editor.calendar.weekday_offset: 1
+
+
+# editor.text.linelength: 70
+
+# editor.macro.show_errors: false
+
+
+
+# Should filenames be editable?
+# 'true' : Author may edit the filenames of pages, files and folders.
+# 'false': filenames are generated by the CMS
+# Default: true
+# filename.edit : true
+
+# filename of folder start file
+# Default: 'index'.
+# filename.default : index
+
+
+# 'ss' : nerdy and poor imitation of story server urls. Looks important, but is cheap ;)
+# 'id' : simply use the object id for the url
+# 'longid ': use a more longer id in the url
+# 'short' : use a url which is as short as possible (uses all possible characters)
+# Default: 'short'
+# filename.style : short ; use a url which is as short as possible
+
+# hint: If edit: true, then the stored filename will be used.
+# If no filename stored, or if edit: false, then the defined style is used.
+
+# how the links to other pages are generated.
+# 'relative': Links are generated like '../../path/page.html'
+# 'absolute': Links are generated like '/path/page.html'
+# Default: relative
+# filename.url: relative
+
+
+
+# FTP configuration
+
+
+# for which file extensions the ASCII-Mode should be used
+# ftp.ascii : html,htm,php
+
+
+
+# Enable online help
+# Default: true
+# help.enabled: true
+
+# URL praefix to the help documents
+# help.url: help/html/
+# help.url: http://help.openrat.de/
+
+# file extension of the help documents
+# help.suffix: .html
+
+
+
+# Search for language in HTTP header
+# This is a useful setting. The Browser says, which language will be taken.
+# i18n.use_http: true
+
+
+# Default language
+# If no language is found, which should be used?
+# i18n.default: de
+
+
+# Available Languages.
+# A comma seperated list with language codes.
+# for each language there must be a file named 'language/<code>.ini'.
+# i18n.available: de,en,es,fr,it,ru,cn
+
+
+
+# Mappings from the language to installed locales
+# i18n.locale.de: "de_DE.utf8"
+# i18n.locale.en: "en_US.utf8"
+
+
+
+# Say 'true' if GD2 is available, otherwise 'false'
+# image.truecolor: true
+
+
+
+# The seperator char between directory names
+# interface.file_separator : " » "
+
+
+# be aware: if 'true' you need special rewrite rules in a .htaccess file!
+# Default: false
+# interface.nice_urls : false
+
+
+# In most environments this setting is "false"
+# interface.url_sessionid : false
+
+
+# Theme
+# At the moment, der is only "default" available.
+# *deprecated*
+# interface.theme : "default"
+
+
+# Show request duration on every page. Only useful for developers.
+# interface.show_duration : false
+
+
+# Request timeout in seconds
+# This sets the PHP time limit for an Request.
+# Default: '' (blank: system default)
+# interface.timeout :
+
+
+# Replace the default title (Program name+version) with this text
+# If blank, the default is "OpenRat {Version}".
+# Maybe you want to use your company name here.
+# interface.override_title :
+
+
+
+# Use of human date format
+# looks like "3 years ago", or "7 months ago"
+# Default: false
+# interface.human_date_format : false
+
+
+
+# The default style which is used, when no user is logged in.
+# 'default' is the classic Openrat style.
+# interface.style.default: default
+
+# 'system' uses system colors from the client (nice choice)
+# interface.style.default: system
+
+
+
+# Settings for preferences (under "Administration")
+
+# If you have an online editor for editing the .ini-files you can put the URL here.
+# Security belongs to the 3rd-party editor! Openrat only creates a link to this url!
+# Set to '' (blank) for disabling this.
+# interface.config.file_manager_url: ""
+
+# Enable "preferences"-menu
+# interface.config.enable: true
+
+# show system settings (operating system, system time, ...)
+# interface.config.show_system: true
+
+# show PHP settings
+# interface.config.show_interpreter: true
+
+# show a list of PHP extensions (without any details)
+# interface.config.show_extensions: true
+
+
+
+# Frameset settings
+
+# Logical name of top-frame. Change this, if you want Openrat running in another parent frameset
+# interface.frames.top: _top
+
+
+# Manipulating the URL of Openrat.
+
+
+# faking urls
+# for faking urls you HAVE TO create a url rewriting rule!
+# If unsure, set to "false"
+# Default: false
+# interface.url.fake_url : false
+
+# If the entry filename is the index file of the directory, set this to true.
+# This enables urls like "path/to/openrat/?a: 1&b: 2" and hides PHP.
+# only useful, if fake_url: false
+# if unsure, set to 'false' (default)
+# interface.url.index : false
+
+# You can create funny urls which look like asp,jsp,jsf and other crap :)
+# Hint: Hiding the PHP interpreter *can* increase security.
+# But remember, Security by obscurity is lame :)
+
+# abc,xyz.1
+# interface.url.url_format: "%s,%s.%i"
+
+# looks like Jakarta Struts: abc,xyz,1.do
+# interface.url.url_format: "%s,%s,%d.do"
+
+
+# add the session ID as an URL-Parameter.
+# useful, if you do not want cookies and trans_sid is not installed.
+# if unsure, set to "false"
+# interface.url.add_sessionid : false
+
+
+
+# Use gravatar for user images
+# see http://www.gravator.com for details
+
+# interface.gravatar.enable: true
+# interface.gravatar.size: 80
+# interface.gravatar.default: 404
+# interface.gravatar.rating: g
+
+
+
+# Session-related settings
+
+# auto-extend the session while the browser is still open.
+# if 'true', the title frame will be refreshed automatically
+# 1 minute before the session times out.
+# Because this is maybe unsecure, the default setting is 'false'.
+# interface.session.auto_extend: false
+#
+
+
+# Openrat is able to check passwords against a LDAP-based directory.
+
+# Hostname of your LDAP server.
+# ldap.host: "localhost"
+
+# TCP-Port of your LDAP server.
+# ldap.port: "389"
+
+# Protocol-Version
+# Set this to '2' or '3'.
+# ldap.protocol: "2"
+
+# The format of the DN
+# If blank, the DN is automatically searched in the LDAP tree (see section "search").
+# for using LDAP authentication, /security/auth/type has to be set to "ldap"!
+# ldap.dn : "uid: {user},ou: users,dc: example,dc: com"
+# ldap.dn : "";
+
+
+# Settings for authentication against a LDAP directory
+# This is only activated, if the setting 'security.auth.type' is 'ldap'.
+
+# use of anonymous bind ('true' or 'false')
+# if 'true', the following user and password settings are ignored.
+# ldap.search.anonymous : true
+
+# if 'anonymous' is 'false': DN of technical user for searching the real user DN
+# ldap.search.user : "uid: openrat,ou: users,dc: example,dc: com"
+
+# if 'anonymous' is 'false': password of technical user
+# ldap.search.password : "verysecret"
+
+# Base-DN of the subtree where the search begins
+# ldap.search.basedn : "dc: example,dc: com"
+
+# Filter setting for searching the user objects.
+# The string {user} will be replaced by the user name.
+# ldap.search.filter : "(uid: {user})"
+
+# Aliases are dereferenced ('true' or 'false')
+# ldap.search.aliases : true
+
+# Timeout in seconds
+# ldap.search.timeout : 30
+
+# If the user is found in the LDAP tree, but is not yet stored in the internal database.
+# 'true' the user will be logged in and automatically inserted in the internal database.
+# 'false' login will be rejected, all users must exist in the internal database.
+# ldap.search.add : true
+
+
+
+# The user-group-relation can be read out of the LDAP tree.
+# For using this, 'security.authorize.type' must be set to 'ldap'.
+
+# Search filter for reading the groups a user belongs to.
+# ldap.authorize.group_filter: "(memberUid: {dn})"
+
+# LDAP attribute name of the name of the group
+# ldap.authorize.group_name: "cn"
+
+# Add groups found in LDAP (but not known in the internal database) automatically into database?
+# If 'false', the LDAP groups cannot be used!
+# ldap.authorize.auto_add : true
+#
+# converted from login.yml
+# <?php exit('direct access denied') ?>
+
+# login.motd: "" ; Message of the day, shown in login mask
+# login.nologin: false ; Disable Login (for maintanance jobs)
+# login.register: false
+# login.send_password: false
+
+# login.gpl.url: "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
+
+# login.logo.file: "./themes/default/images/logo.jpg" ; logo (url to image) in login mask
+# login.logo.url: "http://www.openrat.de" ; linked url in login mask
+
+
+# After Login, start with the last changed object.
+# If 'true', the project menu is not displayed.
+# login.start.start_lastchanged_object: true
+#
+# converted from log.yml
+# <?php exit('direct access denied') ?>
+
+
+# Logfile settings
+
+
+# filename of logfile. Every log entry will be appended to this file.
+# This file must be writable by the webserver.
+# If blank (default), no logging will be done.
+# log.file : ""
+
+# loglevel are one of 'trace','debug','info','warn','error'
+# log.level : "warn"
+
+# date format (for variable %time, see 'format'. This format is used by PHPs date()-function.
+# See http://www.php.net/date
+# log.date_format : "M j H:i:s"
+
+# lookup hostname of client-IP
+# this may increase performance, if 'true'. Be careful!
+# log.dns_lookup : false
+
+# output format
+# the following variables are replaced:
+# %time by the current time of the log entry.
+# %level the logging level
+# %host client ip ore hostname (see 'dns_lookup' entry above)
+# %user username, who is logged in, ore '-' if not logged in.
+# %action what is happening now
+# %text reason of the log entry
+# log.format : "%time %level %host %user %action %text"
+#
+# converted from mail.yml
+# <?php exit('direct access denied') ?>
+
+# E-Mail Settings
+
+# Does your server send e-mails?
+# 'true' or 'false'
+# mail.enabled: true
+
+# The "from"-Adress. Creates a "From: "-Header.
+# This is not neccecary. Hint: Most MTAs require a valid email adress.
+# mail.from: "OpenRat <user@example.com>"
+
+# This signature is appended at the end of a mail. Use ';' for line-breaks.
+# A useful information is maybe the URL of your OpenRat installation.
+# mail.signature: "http://www.openrat.de"
+
+# Copy Recipient
+# mail.cc:
+
+# Blind Copy recipient
+# mail.bcc:
+
+# Priority of the mail (creates an "X-Priority"-Header)
+# 1: Highest, 2: High, 3: Normal, 4: Low, 5: Lowest
+# Hint: Most MUAs ignore this header.
+# mail.priority: 3
+
+
+# Non-7-bit-chars are not allowed in Mailheaders (see RFC 822, 2045, 2047)
+# and must be encoded. Openrat supports 3 types of encoding:
+# 'Quoted-printable' (default),
+# 'Base64'
+# '' (blank) no encoding.
+# mail.header_encoding: "Quoted-printable"
+
+
+# Which SMTP client you want to use.
+# 'php' : Internal PHP function mail().
+# 'smtp': OpenRat internal SMTP-client
+# If unsure, use the builtin PHP function.
+# mail.client: smtp
+# mail.client: php
+
+
+# Whitelist
+# A comma-seperated list of domains names
+# mail.whitelist : ""
+
+# Blacklist
+# A comma-seperated list of domain names
+# mail.blacklist : ""
+
+
+
+# Settings for the internal SMTP client.
+# If client: 'php', you have no need to change anything in this section.
+
+# Relay host
+# It is useful, to have your own relay host, as servers doing greylisting
+# *will* deny our smtp try.
+# If this is blank, the mail is delivered directly to the destination MX host.
+# I repeat, it is better to always use a relay host!
+# mail.smtp.host: "mail.yourdomain.example"
+# mail.smtp.host: "locahost"
+
+# SMTP-Port is '25' in most environments
+# mail.smtp.port: "25"
+
+# SMTP Authentication
+# (only needed if using a relay host)
+# (FYI: The client makes use of the SMTP "AUTH LOGIN" method.
+# mail.smtp.auth_username: "your.user@something.example"
+# mail.smtp.auth_password: "notsecret"
+
+# Timeout in seconds
+# mail.smtp.timeout: "45"
+
+# Your fully-qualified hostname (FQDN)
+# if empty, Openrat will use your simple hostname
+# mail.smtp.localhost:
+# mail.smtp.localhost: "your.fully.qualified.hostname.example"
+
+# Use TLS
+# The client will send a "STARTTLS" command after HELO.
+# TLS is not tested, use at your own risk!
+# mail.smtp.tls: false
+
+# Use SSL
+# The client will connection using the SSL-protocol.
+# This is not tested, use at your own risk!
+# mail.smtp.ssl: false
+
+
+#
+# converted from publish.yml
+# <?php exit('direct access denied') ?>
+
+# Allow editing of file names.
+# 'true' : Author is allowed to edit the file names of his files and pages.
+# 'false': File names are generated by OpenRat only.
+# publish.edit: true
+
+
+# filename for the first object in a folder.
+# Default is 'index'.
+# publish.default: index
+
+
+# File naming conventions
+# See http://httpd.apache.org/docs/2.0/content-negotiation.html#naming
+# '{filename}{language_sep}{language}{type_sep}{type}' means 'foo.en.html'
+# publish.format : "{filename}{language_sep}{language}{type_sep}{type}"
+
+
+# Seperators, mostly you will use '.'
+# publish.language_sep : "."
+# publish.type_sep : "."
+
+
+# 'always': language name is always appended to the filename
+# 'auto' : language is appended if there are at least 2 languages
+# publish.filename_language : auto
+
+
+# 'always': type is always appended to the filename
+# 'auto' : type is appended if there are at least 2 project models
+# publish.filename_type : always
+
+
+# Filename Mode. Only used, if edit: false or no filename is set for an object.
+# 'ss' : nice hack for lamers which like storyserver urls like '0,1513,453556,00.html'
+# 'id' : simply use the object id.
+# 'longid': use a unique and long number.
+# 'short' : use a unique name which is as short as possible.
+# publish.style: "id"
+
+
+# Mode of generated URLs.
+# 'relative': (Default) Generates URLs like '../../path/to/example.html'.
+# 'absolute': Generates URLs like '/path/to/example.html'.
+# publish.url: relative
+# publish.url: absolute
+
+# Should PHP code in page source be interpreted
+# 'false': page source is never interpreted as PHP
+# 'auto' : interpreted, if page extension : '.php'
+# 'true' : always interpret PHP in page source
+# publish.enable_php_in_page_content: false
+
+# Should PHP code in file content be interpreted
+# 'false': file content is never interpreted as PHP
+# 'auto' : interpreted, if file extension : '.php'
+# 'true' : always interpret PHP in file content
+# publish.enable_php_in_file_content: false
+
+# Escape all non-ascii characters to HTML entities.
+# Normally this is not necessary, if there is a correct charset in the meta-section of your HTML-head.
+# 'true' : Escape all non-ascii-characters
+# 'false': Do nothing (default)
+# publish.escape_8bit_characters: false
+
+
+
+# Content-Negotiation as defined in RFC 2295.
+# These settings are only considered, if the project setting "use content negotiation" is switched on.
+
+# if 'true', then the mime-type is omitted in the URL for page links.
+# publish.negotiation.page_negotiate_type : true
+
+# if 'true', then the language is omitted in the URL for page links.
+# publish.negotiation.page_negotiate_language : true
+
+# if 'true', then the mime type is omitted in the URL for file links
+# publish.negotiation.file_negotiate_type : true
+
+
+
+# Default publish directory. The edited target directory is appended.
+# publish.project.publish_dir: "/var/www/"
+
+# Allow paths in target directory
+# 'false': only the base name is taken
+# 'true' : user input is taken with full path
+# publish.project.override_publish_dir: true
+
+# Default system command.
+# Vars: {name} : project name,
+# {dir} : Target directory,
+# {dirbase} : Target directory basename
+# publish.project.system_command: "sudo -u xyz /usr/local/bin/mirror.sh {dirbase}"
+# publish.project.system_command:
+
+# Input overrides the default system command.
+# 'true' or 'false'
+# publish.project.override_system_command: true
+
+
+
+# 'true' : (Default) FTP is enabled
+# 'false': FTP is disabled, f.e. if FTP is not compiled with PHP.
+# publish.ftp.enable: true
+
+# Default FTP-Port
+# Default: '21'
+# publish.ftp.port: 21
+
+# Default hostname
+# publish.ftp.host: "ftp.example.com"
+
+# Default path
+# publish.ftp.path: "/path/to/site"
+
+# Login data
+# If not specified (default), anonymous login will be used.
+# publish.ftp.user: agent_smith
+# publish.ftp.pass: smith
+#
+# converted from replace.yml
+# <!-- $Id$ -->
+# <?php exit('direct access denied') ?>
+
+# *** This part is deprecated and will be moved/removed in one of the next versions.
+
+# THIS FILE IS OUTDATED AND NOT USED ANY MORE!!!
+# replace.
+# See file editor.yml section "html", setting "replace".
+# replace.
+# replace.euro : "EUR,€"
+# replace.copy : "(c),©"
+#
+# converted from search.yml
+
+
+# Settings for the quicksearch field
+# search.
+
+# Show submit button for quicksearch. Not needed for modern browsers
+# search.quicksearch.show_button: false
+
+# Search in the name of objects
+# search.quicksearch.search_name: true
+
+# search in the filename of objects
+# search.quicksearch.search_filename: true
+
+# search in the description of objects
+# search.quicksearch.search_description: true
+
+# Search in all text content (slow on big databases!)
+# search.quicksearch.search_content: false
+#
+# converted from security.yml
+# <?php exit('direct access denied') ?>
+
+# Security settings for Openrat - be careful :)
+
+
+
+# All is readonly (for maintanance jobs)
+# true|false, default:false
+# security.readonly: false
+
+# Disable publishing
+# security.nopublish: false
+
+# Unix-UMask for all created files
+# Default: none (uses system default)
+# Example: '0022' (means '-rw-r--r--')
+# Example: '0002' (means '-rw-rw-r--')
+# security.umask:
+
+# CHMOD for created files
+# Default: none
+# Example: '0644' (means '-rw-r--r--')
+# Example: '0755' (means '-rwxr-xr-x')
+# security.chmod:
+
+# CHMOD for created directories
+# Default: none
+# Example: '0755' (means 'drwxr-xr-x')
+# Example: '0770' (means 'drwxrwx---')
+# security.chmod_dir:
+
+# You may disable dynamic code.
+# dynamic code ("CODE"-Elements in templates) are dangerous, because they may
+# interact with the file system (and much more!).
+# security.
+# Hint: only admin users are allowed to save dynamic code.
+# Enable, if admin users are trustful.
+# Disable, if admin users are anonym (f.e. demo-installations).
+# Default: true (for secure default installation).
+# security.disable_dynamic_code : true
+
+
+# Enable or disable the displaying of system information
+# security.show_system_info : true
+
+
+# Useful against CSRF-attacks, this adds a token to all POST request.
+# security.use_post_token: true
+
+# Creates a new Session on login.
+# Useful against session fixation attacks.
+# security.renew_session_login: false
+
+# Creates a new Session on logout.
+# Useful against session fixation attacks.
+# security.renew_session_logout: false
+
+
+
+# Default Login
+# These values are used for the login form.
+
+# default: ''
+# security.default.username:
+
+# default: ''
+# security.default.password:
+
+
+
+# Guest Login
+# if enabled, a named guest user is automatically logged in.
+
+# enable auto-login for a guest user.
+# security.guest.enable: false
+
+# Name of the guest user, who is automatically logged in.
+# This username must exist in your user database.
+# security.guest.user: guest
+
+
+
+# Type of authorization.
+# 'http' uses the HTTP Basic Authrization.
+# Only available if PHP is used in the module version.
+# Not available, if PHP is used via the CGI way.
+# Only the default database is available (because there is no way to select another one)
+# 'form' shows a login form via a HTML page.
+# Default: 'form'
+
+# security.login.type: form
+# security.login.type: http
+
+
+
+# this is the backend where the passwords are checked against.
+# 'database' uses the internal database table as password store.
+# 'authdb' uses an external database table as password store, see section 'security.auth'.
+# 'ldap' uses an external LDAP directory for password checking, see section 'ldap'.
+# 'http' uses an HTTP-Auth Server for password checking
+# Default: 'database'
+# security.auth.type: database
+
+# per-user setting of the LDAP DN.
+# 'true' users which have there LDAP-DN explicitly stored are authenticated against LDAP.
+# 'false' no LDAP-DN storage per user.
+# security.auth.userdn: false
+
+
+
+# A user belongs to certain groups. This information can be stored in 2 ways.
+# 'database' uses the internal database for the user-group-relation. (default)
+# 'ldap' reads the user-group-relations in a LDAP-Directory
+# (in this case, /security/auth/type has to be set to "ldap", too!)
+# (see /ldap/authorize!)
+# security.authorize.type: database
+# security.authorize.type: ldap
+
+
+
+# password settings
+
+# length of automatic generated password
+# security.password.random_length: 8
+
+# minimum passwort length
+# security.password.min_length: 5
+
+# Password "salt"
+# '' : no salt (default)
+# 'id' : salt the password with userid
+# 'username': salt the password with username
+# 'custom' : use the 'salt_text'-setting
+# Default: ''
+# security.password.salt : ""
+
+# security.password.salt_text : "somerandomtext"
+
+
+
+# this section is needed if the setting "auth/type" is 'http'.
+# passwords are checked against another HTTP-Server with Basic Authorization.
+
+# The URL where an HTTP basic authorization ist required.
+# security.http.url : "http://example.net/restricted-area"
+
+
+
+# this section is needed if the setting "auth/type" is 'authdb'.
+# passwords are stored against an external database table.
+# This is quite useful, if you have another software running (f.e. a forum system)
+# and so the user must only remember 1 password.
+
+# 'mysql', 'postgresql' or 'sqlite'
+# security.authdb.type : postgresql
+
+# security.authdb.user : dbuser
+# security.authdb.password : dbpassword
+# security.authdb.host : 127.0.0.1
+# security.authdb.database : dbname
+# security.authdb.persistent : false
+
+# the sql which is executed while checking the password.
+# the variables {username} and {password} are replaced.
+# security.authdb.sql : "select 1 from table where user: {username} and password: md5({password})"
+
+# if the user exists in the external database, should it
+# automatically be inserted into the openrat internal table?
+# security.authdb.add : true
+
+
+
+# SSL Client certificate Authentication
+
+# The environment variable name which has the username out of the certificate.
+# See modssl-configuration for more infos:
+# http://httpd.apache.org/docs/2.0/mod/mod_ssl.html.en#envvars
+# if blank, ssl client auth is unused (default)
+# security.ssl.user_var:
+# security.ssl.user_var: "REMOTE_USER"
+# security.ssl.user_var: "SSL_CLIENT_S_DN"
+# security.ssl.user_var: "SSL_CLIENT_S_DN_CN"
+
+# if 'true', you trust the client certificate fully, this is a passwordless login!
+# take care tto have an useful webserver configuration where you only trust CA-signed certificates.
+# if 'true', the 'user_var' is needed.
+# security.ssl.trust: false
+
+
+
+# Open-ID
+# see http://openid.net/ for specifications and more informations.
+
+# Enable Open-ID
+# default: false
+# security.openid.enable: false
+
+# Should authenticated users, which are not in your user database, automatically be added?
+# default: false
+# security.openid.add: false
+
+# Open-Id Logo
+# The specification recommends the original Open-Id logo.
+# security.openid.logo_url:
+# security.openid.logo_url: "http://openid.net/login-bg.gif"
+
+# Trust-Root
+# URL-Prefix in which your OpenRat installations are running.
+# default: <empty> (OpenRat tries to use its own server name)
+# security.openid.trust_root: http://your.server.example/openrat/
+# security.openid.trust_root:
+
+# Trustful servers
+# Default: '' (all)
+# security.openid.trusted_server: openid1.example.com,openid2.example.com
+# security.openid.trusted_server:
+
+# Should Users fullname and e-mail updated from the OpenId-Server?
+# security.openid.update_user: true
+
+# Using User-Identitys?
+# security.openid.user_identity: true
+
+# List of OpenId-Provider to use
+# Special name "identity" for user defined identitys
+# security.openid.provider: example
+# security.openid.provider.name: google
+
+# location of the providers Yadis-document (XRDS-file)
+# security.openid.provider.example.xrds_uri: http://google.com/accounts
+# which attribute is used for mappin to the internal database
+# security.openid.provider.example.map_attribute: email
+# which attribut of internal user database is used
+# valid values are 'mail', 'username'
+# security.openid.provider.example.map_internal: mail
+
+# Google supports Open-Id 2.0
+# security.openid.provider.google.xrds_uri: http://google.com/accounts/o8/id
+# security.openid.provider.google.map_attribute: email
+# security.openid.provider.google.name: Google
+# security.openid.provider.google.map_internal: mail
+
+# Yahoo
+# security.openid.provider.yahoo.xrds_uri: http://??????
+# security.openid.provider.yahoo.map_attribute: usename
+# security.openid.provider.yahoo.map_internal: mail
+
+
+
+# Single Sign-on
+# These settings are an example for checking login against "PhpMyAdmin".
+# PhpMyAdmin must include a link to Openrat with the authid which includes the serialized cookies.
+# Example: Include this in the file .../phpmyadmin/main.php:
+# <a href: "https://example.com/openrat/?authid: <?php echo urlencode(serialize($_COOKIE)) ?>">OpenRat</a>
+
+# use single sign-on? Set to 'true' or 'false'.
+# security.sso.enable: false
+
+# the url against the auth-id will be checked.
+# security.sso.url: "http://localhost/check.php?phpsessid: {id}&check: true"
+# security.sso.url: "https://www.example.com/phpmyadmin/main.php?server: 1"
+
+# the name of the parameter, where OpenRat will receive the Id, which will then be checked.
+# security.sso.auth_param_name: authid
+
+# is the auth-id serialized?
+# security.sso.auth_param_serialized: true
+
+# the auth-id will be used as a cookie
+# security.sso.cookie: true
+
+# if the auth-id is no array, use this cookie-name.
+# security.sso.cookie_name:
+
+# security.sso.force: true
+
+# leave this blank.
+# security.sso.expect:
+
+# this is a regular expression which checks, if the login at the third-party-system is ok.
+# security.sso.expect_regexp: "/running on/"
+
+# regular expression for find out the username
+# this example is used for "PhpMyAdmin"
+# security.sso.username_regexp: "/running on localhost as ([a-z]+)@localhost/"
+
+
+
+# Settings for a new user
+
+# These groups are automatically added while a new user is inserted.
+# Default: ''
+# security.newuser.groups: YourGroup,AnotherGroup
+
+
+
+# Logout settings
+
+# Redirect to this URL after logout
+# <blank>: Show Login.
+# Default: ''
+# security.logout.redirect_url: "http://your.intranet.example/"
+# security.logout.redirect_url:
+
+
+
+# Show E-Mail-Adress in Administration-Interface.
+# Default: true. If admin users should not know the mail adresses, set this to false.
+# Useful for Demo-Installations where a lot of users may have administration rights.
+# security.user.show_admin_mail: true
+
+# Show users e-mail-address to other users.
+# Default: true.
+# security.user.show_mail: true
+
+# Users are able to send mesages to another users via e-mail
+# (not yet implemented)
+# security.user.send_message: true
+#
+
+
+
+# Theme compiler.
+
+# Enable the Template Compiler
+# Templates files are written to a temporary directory.
+# default: true
+# theme.compiler.enable: true
+
+# Only compile, if the file under themes/default/templates is changed.
+# default: true
+# theme.compiler.cache: true
+
+# Do a CHMOD on the output file.
+# default: empty
+# theme.compiler.chmod:
+
+# Compile ALL templates at logout
+# (only useful while developing)
+# default: false
+# theme.compiler.compile_at_logout: false
+
+# Compile ALL templates to temporary directory
+# only useful while developing! Not for production use.
+# default:false
+# theme.compiler.compile_to_tmp_dir: false
+#
+# converted from webdav.yml
+# <!-- $Id$ -->
+# <?php exit('direct access denied') ?>
+
+# WEBDAV-settings
+
+# webdav.enable: false
+
+# Creation of new folders, files.
+# webdav.create: true
+
+# Maximum filesize for uploaded files (in kB)
+# webdav.max_file_size: 1000
+
+# Readonly-Access.
+# webdav.readonly: true
+
+# Set "X-powered-by"-Header?
+# webdav.expose_openrat : true
+
+# Redirecting from "http://server/path/webdav.php"
+# to "http://server/<prefix><session-id>/webdav.php"
+# This is a must-have for clients who do not use cookies.
+# If 'true', a rewriting rule (.htaccess) is needed.
+# webdav.session_in_uri : false
+
+# the prefix before the session id.
+# webdav.session_in_uri_prefix : ors
+
+# Make some Microsoft-specific stuff (they cannot read RFCs):
+# - Set "MS-Author-Via:"-Header
+# Set to 'true', if you want to use lame clients like MS-Office, MS-IE, ...
+# Set to 'false' for strict WEBDAV, but no MS-clients are doing the job...
+# Default: true
+# webdav.compliant_to_redmond : true
+#
+
+# *** The following settings are deprecated and will be removed in one of the next versions.
+
+# convert simple HTML-tags to wiki-markup (if HTML is disabled)
+# wiki.convert_html : true
+
+# convert a few BB-code tags to wiki-markup
+# wiki.convert_bbcode : true
+
+# how strong text is marked
+# wiki.tag_strong : "*"
+
+# how emphatic text is marked
+# wiki.tag_emphatic : "_"
diff --git a/util/Preferences.class.php b/util/Preferences.class.php
@@ -41,46 +41,40 @@ class Preferences
*/
public static function configurationFile()
{
+ $config_files = array();
+
// Falls Umgebungsvariable OPENRAT_CONFIG_FILE gesetzt ist,
// dann diesen Dateinamen verwenden.
if ( !empty($_SERVER['OPENRAT_CONFIG_FILE']) )
- {
- $config_filename = $_SERVER['OPENRAT_CONFIG_FILE'];
- }
+ $config_files[] = $_SERVER['OPENRAT_CONFIG_FILE'];
+
+ // Falls Umgebungsvariable OPENRAT_CONFIG_DIR gesetzt ist, dann
+ // die Datei in diesem Ordner suchen.
+ if ( !empty($_SERVER['OPENRAT_CONFIG_DIR']) )
+ $dir = $_SERVER['OPENRAT_CONFIG_DIR'];
else
- {
- // Falls Umgebungsvariable OPENRAT_CONFIG_DIR gesetzt ist, dann
- // die Datei in diesem Ordner suchen.
- if ( !empty($_SERVER['OPENRAT_CONFIG_DIR']) )
- $dir = $_SERVER['OPENRAT_CONFIG_DIR'];
- else
- $dir = './config/';
+ $dir = './config/';
-
- if ( !empty($_SERVER['HTTP_HOST']) )
- {
- // Falls es eine Datei config-<hostname>.ini.php gibt, dann diese
- // vor der Datei config.ini.php bevorzugen.
- $vhost_config_file = slashify($dir).'config-'.$_SERVER['HTTP_HOST'].'.ini.php';
-
- if ( is_file($vhost_config_file) )
- $config_filename = $vhost_config_file;
- else
- $config_filename = slashify($dir).'config.ini.php';
- }
- else
- {
- $config_filename = slashify($dir).'config.ini.php';
- }
- }
-
- if ( ! is_file($config_filename))
+
+ if ( !empty($_SERVER['HTTP_HOST']) )
{
- error_log('configuration file not found: '.$config_filename,0);
- Http::serverError("Configuration not found","The file does not exist: ".$config_filename);
+ // Falls es eine Datei config-<hostname>.yml gibt, dann diese
+ // vor der Datei config.ini.php bevorzugen.
+ $config_files[] = slashify($dir).'config-'.$_SERVER['HTTP_HOST'].'.yml';
}
+
+ $config_files[] = slashify($dir).'config.yml';
+ $config_files[] = '/etc/openrat/config.yml';
+ $config_files[] = '/etc/openrat.yml';
- return $config_filename;
+ // Alle Orte durchsuchen, bis die Config-Datei gefunden wird.
+ foreach( $config_files as $config_filename )
+ {
+ if ( is_file($config_filename))
+ return $config_filename; // Datei gefunden.
+ }
+
+ throw new LogicException('Configuration file not found. Searched locations: '.implode(',',$config_files) );
}
@@ -95,87 +89,44 @@ class Preferences
public static function load()
{
// Fest eingebaute Standard-Konfiguration laden.
- require('./config/config-default.php');
+ require('./util/config-default.php');
$filename = Preferences::configurationFile();
- $ini_values = parse_ini_file( $filename,false );
+ $customConfig = Spyc::YAMLLoad( $filename );
- foreach ( $ini_values as $key=>$value )
+ // Besonderheit:
+ // Alle Konfigurationsschlüssel mit einem Punkt ('.') im Namen zu Arrays auflösen.
+ foreach ( $customConfig as $key=>$value )
{
$parts = explode('.',$key);
- if ( count($parts)==1)
- $conf[$parts[0]] = $value;
- elseif ( count($parts)==2)
- $conf[$parts[0]][$parts[1]] = $value;
- elseif ( count($parts)==3)
- $conf[$parts[0]][$parts[1]][$parts[2]] = $value;
- elseif ( count($parts)==4)
- $conf[$parts[0]][$parts[1]][$parts[2]][$parts[3]] = $value;
- elseif ( count($parts)==5)
- $conf[$parts[0]][$parts[1]][$parts[2]][$parts[3]][$parts[4]] = $value;
- elseif ( count($parts)==6)
- $conf[$parts[0]][$parts[1]][$parts[2]][$parts[3]][$parts[4]][$parts[5]] = $value;
+ if ( count($parts)==1 )
+ ; // Kein Punkt enthalten. Dieser Konfigurationsschlüssel wird nicht geändert.
+ else
+ {
+
+ if ( count($parts)==2)
+ $customConfig[$parts[0]][$parts[1]] = $value;
+ elseif ( count($parts)==3)
+ $customConfig[$parts[0]][$parts[1]][$parts[2]] = $value;
+ elseif ( count($parts)==4)
+ $customConfig[$parts[0]][$parts[1]][$parts[2]][$parts[3]] = $value;
+ elseif ( count($parts)==5)
+ $customConfig[$parts[0]][$parts[1]][$parts[2]][$parts[3]][$parts[4]] = $value;
+ elseif ( count($parts)==6)
+ $customConfig[$parts[0]][$parts[1]][$parts[2]][$parts[3]][$parts[4]][$parts[5]] = $value;
+ }
+ unset( $customConfig[$key] );
}
+
+ $conf = array_replace_recursive( $conf, $customConfig );
// Den Dateinamen der Konfigurationsdatei in die Konfiguration schreiben.
- $conf['config']['filename' ] = $filename;
- $conf['config']['last_modification'] = filemtime($filename);
- $conf['config']['file_modification'] = date('r',filemtime($filename));
- $conf['config']['read' ] = date('r');
-
- Preferences::fixConfiguration( $conf );
+ $conf['config']['filename' ] = $filename;
+ $conf['config']['last_modification_time'] = filemtime($filename);
+ $conf['config']['last_modification' ] = date('r',filemtime($filename));
+ $conf['config']['read' ] = date('r');
return $conf;
}
-
-
- public static function fixConfiguration( &$conf )
- {
- $defaultStyleConfig = array(
- 'name'=>'Unnamed',
- 'title_background_color'=>'grey',
- 'title_text_color'=>'white',
- 'text_color' => 'black',
- 'background_color' => '#d9d9d9',
- 'inactive_background_color' => 'silver'
- );
-
- $defaultDatabaseConfig = array(
- 'enabled' =>true,
- 'description2' =>'',
- 'user' =>'',
- 'password' => '',
- 'host' =>'localhost',
- 'port' => '',
- 'database' => '',
- 'base64' => false,
- 'prefix' => 'or_',
- 'persistent' => true,
- 'charset' => 'UTF-8',
- 'connection_sql'=> '',
- 'cmd' => '',
- 'prepare' => false,
- 'transaction' => false,
- 'autocommit' => false,
- 'readonly' => false
- );
-
- $dbconfig = &$conf['database'];
- if ( is_array($dbconfig) )
- foreach( $dbconfig as &$db )
- {
- if ( is_array($db))
- $db = array_merge( $defaultDatabaseConfig,$db );
- }
-
- $styleconfig = &$conf['style'];
- if ( is_array($styleconfig) )
- foreach( $styleconfig as &$style )
- {
- if ( is_array($style))
- $style = array_merge( $defaultStyleConfig, $style );
- }
-
- }
}
?>
\ No newline at end of file
diff --git a/util/Spyc.class.php b/util/Spyc.class.php
@@ -0,0 +1,1161 @@
+<?php
+/**
+ * Spyc -- A Simple PHP YAML Class
+ * @version 0.6.2
+ * @author Vlad Andersen <vlad.andersen@gmail.com>
+ * @author Chris Wanstrath <chris@ozmm.org>
+ * @link https://github.com/mustangostang/spyc/
+ * @copyright Copyright 2005-2006 Chris Wanstrath, 2006-2011 Vlad Andersen
+ * @license http://www.opensource.org/licenses/mit-license.php MIT License
+ * @package Spyc
+ */
+
+if (!function_exists('spyc_load')) {
+ /**
+ * Parses YAML to array.
+ * @param string $string YAML string.
+ * @return array
+ */
+ function spyc_load ($string) {
+ return Spyc::YAMLLoadString($string);
+ }
+}
+
+if (!function_exists('spyc_load_file')) {
+ /**
+ * Parses YAML to array.
+ * @param string $file Path to YAML file.
+ * @return array
+ */
+ function spyc_load_file ($file) {
+ return Spyc::YAMLLoad($file);
+ }
+}
+
+if (!function_exists('spyc_dump')) {
+ /**
+ * Dumps array to YAML.
+ * @param array $data Array.
+ * @return string
+ */
+ function spyc_dump ($data) {
+ return Spyc::YAMLDump($data, false, false, true);
+ }
+}
+
+if (!class_exists('Spyc')) {
+
+/**
+ * The Simple PHP YAML Class.
+ *
+ * This class can be used to read a YAML file and convert its contents
+ * into a PHP array. It currently supports a very limited subsection of
+ * the YAML spec.
+ *
+ * Usage:
+ * <code>
+ * $Spyc = new Spyc;
+ * $array = $Spyc->load($file);
+ * </code>
+ * or:
+ * <code>
+ * $array = Spyc::YAMLLoad($file);
+ * </code>
+ * or:
+ * <code>
+ * $array = spyc_load_file($file);
+ * </code>
+ * @package Spyc
+ */
+class Spyc {
+
+ // SETTINGS
+
+ const REMPTY = "\0\0\0\0\0";
+
+ /**
+ * Setting this to true will force YAMLDump to enclose any string value in
+ * quotes. False by default.
+ *
+ * @var bool
+ */
+ public $setting_dump_force_quotes = false;
+
+ /**
+ * Setting this to true will forse YAMLLoad to use syck_load function when
+ * possible. False by default.
+ * @var bool
+ */
+ public $setting_use_syck_is_possible = false;
+
+
+
+ /**#@+
+ * @access private
+ * @var mixed
+ */
+ private $_dumpIndent;
+ private $_dumpWordWrap;
+ private $_containsGroupAnchor = false;
+ private $_containsGroupAlias = false;
+ private $path;
+ private $result;
+ private $LiteralPlaceHolder = '___YAML_Literal_Block___';
+ private $SavedGroups = array();
+ private $indent;
+ /**
+ * Path modifier that should be applied after adding current element.
+ * @var array
+ */
+ private $delayedPath = array();
+
+ /**#@+
+ * @access public
+ * @var mixed
+ */
+ public $_nodeId;
+
+/**
+ * Load a valid YAML string to Spyc.
+ * @param string $input
+ * @return array
+ */
+ public function load ($input) {
+ return $this->_loadString($input);
+ }
+
+ /**
+ * Load a valid YAML file to Spyc.
+ * @param string $file
+ * @return array
+ */
+ public function loadFile ($file) {
+ return $this->_load($file);
+ }
+
+ /**
+ * Load YAML into a PHP array statically
+ *
+ * The load method, when supplied with a YAML stream (string or file),
+ * will do its best to convert YAML in a file into a PHP array. Pretty
+ * simple.
+ * Usage:
+ * <code>
+ * $array = Spyc::YAMLLoad('lucky.yaml');
+ * print_r($array);
+ * </code>
+ * @access public
+ * @return array
+ * @param string $input Path of YAML file or string containing YAML
+ */
+ public static function YAMLLoad($input) {
+ $Spyc = new Spyc;
+ return $Spyc->_load($input);
+ }
+
+ /**
+ * Load a string of YAML into a PHP array statically
+ *
+ * The load method, when supplied with a YAML string, will do its best
+ * to convert YAML in a string into a PHP array. Pretty simple.
+ *
+ * Note: use this function if you don't want files from the file system
+ * loaded and processed as YAML. This is of interest to people concerned
+ * about security whose input is from a string.
+ *
+ * Usage:
+ * <code>
+ * $array = Spyc::YAMLLoadString("---\n0: hello world\n");
+ * print_r($array);
+ * </code>
+ * @access public
+ * @return array
+ * @param string $input String containing YAML
+ */
+ public static function YAMLLoadString($input) {
+ $Spyc = new Spyc;
+ return $Spyc->_loadString($input);
+ }
+
+ /**
+ * Dump YAML from PHP array statically
+ *
+ * The dump method, when supplied with an array, will do its best
+ * to convert the array into friendly YAML. Pretty simple. Feel free to
+ * save the returned string as nothing.yaml and pass it around.
+ *
+ * Oh, and you can decide how big the indent is and what the wordwrap
+ * for folding is. Pretty cool -- just pass in 'false' for either if
+ * you want to use the default.
+ *
+ * Indent's default is 2 spaces, wordwrap's default is 40 characters. And
+ * you can turn off wordwrap by passing in 0.
+ *
+ * @access public
+ * @return string
+ * @param array|\stdClass $array PHP array
+ * @param int $indent Pass in false to use the default, which is 2
+ * @param int $wordwrap Pass in 0 for no wordwrap, false for default (40)
+ * @param bool $no_opening_dashes Do not start YAML file with "---\n"
+ */
+ public static function YAMLDump($array, $indent = false, $wordwrap = false, $no_opening_dashes = false) {
+ $spyc = new Spyc;
+ return $spyc->dump($array, $indent, $wordwrap, $no_opening_dashes);
+ }
+
+
+ /**
+ * Dump PHP array to YAML
+ *
+ * The dump method, when supplied with an array, will do its best
+ * to convert the array into friendly YAML. Pretty simple. Feel free to
+ * save the returned string as tasteful.yaml and pass it around.
+ *
+ * Oh, and you can decide how big the indent is and what the wordwrap
+ * for folding is. Pretty cool -- just pass in 'false' for either if
+ * you want to use the default.
+ *
+ * Indent's default is 2 spaces, wordwrap's default is 40 characters. And
+ * you can turn off wordwrap by passing in 0.
+ *
+ * @access public
+ * @return string
+ * @param array $array PHP array
+ * @param int $indent Pass in false to use the default, which is 2
+ * @param int $wordwrap Pass in 0 for no wordwrap, false for default (40)
+ */
+ public function dump($array,$indent = false,$wordwrap = false, $no_opening_dashes = false) {
+ // Dumps to some very clean YAML. We'll have to add some more features
+ // and options soon. And better support for folding.
+
+ // New features and options.
+ if ($indent === false or !is_numeric($indent)) {
+ $this->_dumpIndent = 2;
+ } else {
+ $this->_dumpIndent = $indent;
+ }
+
+ if ($wordwrap === false or !is_numeric($wordwrap)) {
+ $this->_dumpWordWrap = 40;
+ } else {
+ $this->_dumpWordWrap = $wordwrap;
+ }
+
+ // New YAML document
+ $string = "";
+ if (!$no_opening_dashes) $string = "---\n";
+
+ // Start at the base of the array and move through it.
+ if ($array) {
+ $array = (array)$array;
+ $previous_key = -1;
+ foreach ($array as $key => $value) {
+ if (!isset($first_key)) $first_key = $key;
+ $string .= $this->_yamlize($key,$value,0,$previous_key, $first_key, $array);
+ $previous_key = $key;
+ }
+ }
+ return $string;
+ }
+
+ /**
+ * Attempts to convert a key / value array item to YAML
+ * @access private
+ * @return string
+ * @param $key The name of the key
+ * @param $value The value of the item
+ * @param $indent The indent of the current node
+ */
+ private function _yamlize($key,$value,$indent, $previous_key = -1, $first_key = 0, $source_array = null) {
+ if(is_object($value)) $value = (array)$value;
+ if (is_array($value)) {
+ if (empty ($value))
+ return $this->_dumpNode($key, array(), $indent, $previous_key, $first_key, $source_array);
+ // It has children. What to do?
+ // Make it the right kind of item
+ $string = $this->_dumpNode($key, self::REMPTY, $indent, $previous_key, $first_key, $source_array);
+ // Add the indent
+ $indent += $this->_dumpIndent;
+ // Yamlize the array
+ $string .= $this->_yamlizeArray($value,$indent);
+ } elseif (!is_array($value)) {
+ // It doesn't have children. Yip.
+ $string = $this->_dumpNode($key, $value, $indent, $previous_key, $first_key, $source_array);
+ }
+ return $string;
+ }
+
+ /**
+ * Attempts to convert an array to YAML
+ * @access private
+ * @return string
+ * @param $array The array you want to convert
+ * @param $indent The indent of the current level
+ */
+ private function _yamlizeArray($array,$indent) {
+ if (is_array($array)) {
+ $string = '';
+ $previous_key = -1;
+ foreach ($array as $key => $value) {
+ if (!isset($first_key)) $first_key = $key;
+ $string .= $this->_yamlize($key, $value, $indent, $previous_key, $first_key, $array);
+ $previous_key = $key;
+ }
+ return $string;
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * Returns YAML from a key and a value
+ * @access private
+ * @return string
+ * @param $key The name of the key
+ * @param $value The value of the item
+ * @param $indent The indent of the current node
+ */
+ private function _dumpNode($key, $value, $indent, $previous_key = -1, $first_key = 0, $source_array = null) {
+ // do some folding here, for blocks
+ if (is_string ($value) && ((strpos($value,"\n") !== false || strpos($value,": ") !== false || strpos($value,"- ") !== false ||
+ strpos($value,"*") !== false || strpos($value,"#") !== false || strpos($value,"<") !== false || strpos($value,">") !== false || strpos ($value, '%') !== false || strpos ($value, ' ') !== false ||
+ strpos($value,"[") !== false || strpos($value,"]") !== false || strpos($value,"{") !== false || strpos($value,"}") !== false) || strpos($value,"&") !== false || strpos($value, "'") !== false || strpos($value, "!") === 0 ||
+ substr ($value, -1, 1) == ':')
+ ) {
+ $value = $this->_doLiteralBlock($value,$indent);
+ } else {
+ $value = $this->_doFolding($value,$indent);
+ }
+
+ if ($value === array()) $value = '[ ]';
+ if ($value === "") $value = '""';
+ if (self::isTranslationWord($value)) {
+ $value = $this->_doLiteralBlock($value, $indent);
+ }
+ if (trim ($value) != $value)
+ $value = $this->_doLiteralBlock($value,$indent);
+
+ if (is_bool($value)) {
+ $value = $value ? "true" : "false";
+ }
+
+ if ($value === null) $value = 'null';
+ if ($value === "'" . self::REMPTY . "'") $value = null;
+
+ $spaces = str_repeat(' ',$indent);
+
+ //if (is_int($key) && $key - 1 == $previous_key && $first_key===0) {
+ if (is_array ($source_array) && array_keys($source_array) === range(0, count($source_array) - 1)) {
+ // It's a sequence
+ $string = $spaces.'- '.$value."\n";
+ } else {
+ // if ($first_key===0) throw new Exception('Keys are all screwy. The first one was zero, now it\'s "'. $key .'"');
+ // It's mapped
+ if (strpos($key, ":") !== false || strpos($key, "#") !== false) { $key = '"' . $key . '"'; }
+ $string = rtrim ($spaces.$key.': '.$value)."\n";
+ }
+ return $string;
+ }
+
+ /**
+ * Creates a literal block for dumping
+ * @access private
+ * @return string
+ * @param $value
+ * @param $indent int The value of the indent
+ */
+ private function _doLiteralBlock($value,$indent) {
+ if ($value === "\n") return '\n';
+ if (strpos($value, "\n") === false && strpos($value, "'") === false) {
+ return sprintf ("'%s'", $value);
+ }
+ if (strpos($value, "\n") === false && strpos($value, '"') === false) {
+ return sprintf ('"%s"', $value);
+ }
+ $exploded = explode("\n",$value);
+ $newValue = '|';
+ if (isset($exploded[0]) && ($exploded[0] == "|" || $exploded[0] == "|-" || $exploded[0] == ">")) {
+ $newValue = $exploded[0];
+ unset($exploded[0]);
+ }
+ $indent += $this->_dumpIndent;
+ $spaces = str_repeat(' ',$indent);
+ foreach ($exploded as $line) {
+ $line = trim($line);
+ if (strpos($line, '"') === 0 && strrpos($line, '"') == (strlen($line)-1) || strpos($line, "'") === 0 && strrpos($line, "'") == (strlen($line)-1)) {
+ $line = substr($line, 1, -1);
+ }
+ $newValue .= "\n" . $spaces . ($line);
+ }
+ return $newValue;
+ }
+
+ /**
+ * Folds a string of text, if necessary
+ * @access private
+ * @return string
+ * @param $value The string you wish to fold
+ */
+ private function _doFolding($value,$indent) {
+ // Don't do anything if wordwrap is set to 0
+
+ if ($this->_dumpWordWrap !== 0 && is_string ($value) && strlen($value) > $this->_dumpWordWrap) {
+ $indent += $this->_dumpIndent;
+ $indent = str_repeat(' ',$indent);
+ $wrapped = wordwrap($value,$this->_dumpWordWrap,"\n$indent");
+ $value = ">\n".$indent.$wrapped;
+ } else {
+ if ($this->setting_dump_force_quotes && is_string ($value) && $value !== self::REMPTY)
+ $value = '"' . $value . '"';
+ if (is_numeric($value) && is_string($value))
+ $value = '"' . $value . '"';
+ }
+
+
+ return $value;
+ }
+
+ private function isTrueWord($value) {
+ $words = self::getTranslations(array('true', 'on', 'yes', 'y'));
+ return in_array($value, $words, true);
+ }
+
+ private function isFalseWord($value) {
+ $words = self::getTranslations(array('false', 'off', 'no', 'n'));
+ return in_array($value, $words, true);
+ }
+
+ private function isNullWord($value) {
+ $words = self::getTranslations(array('null', '~'));
+ return in_array($value, $words, true);
+ }
+
+ private function isTranslationWord($value) {
+ return (
+ self::isTrueWord($value) ||
+ self::isFalseWord($value) ||
+ self::isNullWord($value)
+ );
+ }
+
+ /**
+ * Coerce a string into a native type
+ * Reference: http://yaml.org/type/bool.html
+ * TODO: Use only words from the YAML spec.
+ * @access private
+ * @param $value The value to coerce
+ */
+ private function coerceValue(&$value) {
+ if (self::isTrueWord($value)) {
+ $value = true;
+ } else if (self::isFalseWord($value)) {
+ $value = false;
+ } else if (self::isNullWord($value)) {
+ $value = null;
+ }
+ }
+
+ /**
+ * Given a set of words, perform the appropriate translations on them to
+ * match the YAML 1.1 specification for type coercing.
+ * @param $words The words to translate
+ * @access private
+ */
+ private static function getTranslations(array $words) {
+ $result = array();
+ foreach ($words as $i) {
+ $result = array_merge($result, array(ucfirst($i), strtoupper($i), strtolower($i)));
+ }
+ return $result;
+ }
+
+// LOADING FUNCTIONS
+
+ private function _load($input) {
+ $Source = $this->loadFromSource($input);
+ return $this->loadWithSource($Source);
+ }
+
+ private function _loadString($input) {
+ $Source = $this->loadFromString($input);
+ return $this->loadWithSource($Source);
+ }
+
+ private function loadWithSource($Source) {
+ if (empty ($Source)) return array();
+ if ($this->setting_use_syck_is_possible && function_exists ('syck_load')) {
+ $array = syck_load (implode ("\n", $Source));
+ return is_array($array) ? $array : array();
+ }
+
+ $this->path = array();
+ $this->result = array();
+
+ $cnt = count($Source);
+ for ($i = 0; $i < $cnt; $i++) {
+ $line = $Source[$i];
+
+ $this->indent = strlen($line) - strlen(ltrim($line));
+ $tempPath = $this->getParentPathByIndent($this->indent);
+ $line = self::stripIndent($line, $this->indent);
+ if (self::isComment($line)) continue;
+ if (self::isEmpty($line)) continue;
+ $this->path = $tempPath;
+
+ $literalBlockStyle = self::startsLiteralBlock($line);
+ if ($literalBlockStyle) {
+ $line = rtrim ($line, $literalBlockStyle . " \n");
+ $literalBlock = '';
+ $line .= ' '.$this->LiteralPlaceHolder;
+ $literal_block_indent = strlen($Source[$i+1]) - strlen(ltrim($Source[$i+1]));
+ while (++$i < $cnt && $this->literalBlockContinues($Source[$i], $this->indent)) {
+ $literalBlock = $this->addLiteralLine($literalBlock, $Source[$i], $literalBlockStyle, $literal_block_indent);
+ }
+ $i--;
+ }
+
+ // Strip out comments
+ if (strpos ($line, '#')) {
+ $line = preg_replace('/\s*#([^"\']+)$/','',$line);
+ }
+
+ while (++$i < $cnt && self::greedilyNeedNextLine($line)) {
+ $line = rtrim ($line, " \n\t\r") . ' ' . ltrim ($Source[$i], " \t");
+ }
+ $i--;
+
+ $lineArray = $this->_parseLine($line);
+
+ if ($literalBlockStyle)
+ $lineArray = $this->revertLiteralPlaceHolder ($lineArray, $literalBlock);
+
+ $this->addArray($lineArray, $this->indent);
+
+ foreach ($this->delayedPath as $indent => $delayedPath)
+ $this->path[$indent] = $delayedPath;
+
+ $this->delayedPath = array();
+
+ }
+ return $this->result;
+ }
+
+ private function loadFromSource ($input) {
+ if (!empty($input) && strpos($input, "\n") === false && file_exists($input))
+ $input = file_get_contents($input);
+
+ return $this->loadFromString($input);
+ }
+
+ private function loadFromString ($input) {
+ $lines = explode("\n",$input);
+ foreach ($lines as $k => $_) {
+ $lines[$k] = rtrim ($_, "\r");
+ }
+ return $lines;
+ }
+
+ /**
+ * Parses YAML code and returns an array for a node
+ * @access private
+ * @return array
+ * @param string $line A line from the YAML file
+ */
+ private function _parseLine($line) {
+ if (!$line) return array();
+ $line = trim($line);
+ if (!$line) return array();
+
+ $array = array();
+
+ $group = $this->nodeContainsGroup($line);
+ if ($group) {
+ $this->addGroup($line, $group);
+ $line = $this->stripGroup ($line, $group);
+ }
+
+ if ($this->startsMappedSequence($line))
+ return $this->returnMappedSequence($line);
+
+ if ($this->startsMappedValue($line))
+ return $this->returnMappedValue($line);
+
+ if ($this->isArrayElement($line))
+ return $this->returnArrayElement($line);
+
+ if ($this->isPlainArray($line))
+ return $this->returnPlainArray($line);
+
+
+ return $this->returnKeyValuePair($line);
+
+ }
+
+ /**
+ * Finds the type of the passed value, returns the value as the new type.
+ * @access private
+ * @param string $value
+ * @return mixed
+ */
+ private function _toType($value) {
+ if ($value === '') return "";
+ $first_character = $value[0];
+ $last_character = substr($value, -1, 1);
+
+ $is_quoted = false;
+ do {
+ if (!$value) break;
+ if ($first_character != '"' && $first_character != "'") break;
+ if ($last_character != '"' && $last_character != "'") break;
+ $is_quoted = true;
+ } while (0);
+
+ if ($is_quoted) {
+ $value = str_replace('\n', "\n", $value);
+ if ($first_character == "'")
+ return strtr(substr ($value, 1, -1), array ('\'\'' => '\'', '\\\''=> '\''));
+ return strtr(substr ($value, 1, -1), array ('\\"' => '"', '\\\''=> '\''));
+ }
+
+ if (strpos($value, ' #') !== false && !$is_quoted)
+ $value = preg_replace('/\s+#(.+)$/','',$value);
+
+ if ($first_character == '[' && $last_character == ']') {
+ // Take out strings sequences and mappings
+ $innerValue = trim(substr ($value, 1, -1));
+ if ($innerValue === '') return array();
+ $explode = $this->_inlineEscape($innerValue);
+ // Propagate value array
+ $value = array();
+ foreach ($explode as $v) {
+ $value[] = $this->_toType($v);
+ }
+ return $value;
+ }
+
+ if (strpos($value,': ')!==false && $first_character != '{') {
+ $array = explode(': ',$value);
+ $key = trim($array[0]);
+ array_shift($array);
+ $value = trim(implode(': ',$array));
+ $value = $this->_toType($value);
+ return array($key => $value);
+ }
+
+ if ($first_character == '{' && $last_character == '}') {
+ $innerValue = trim(substr ($value, 1, -1));
+ if ($innerValue === '') return array();
+ // Inline Mapping
+ // Take out strings sequences and mappings
+ $explode = $this->_inlineEscape($innerValue);
+ // Propagate value array
+ $array = array();
+ foreach ($explode as $v) {
+ $SubArr = $this->_toType($v);
+ if (empty($SubArr)) continue;
+ if (is_array ($SubArr)) {
+ $array[key($SubArr)] = $SubArr[key($SubArr)]; continue;
+ }
+ $array[] = $SubArr;
+ }
+ return $array;
+ }
+
+ if ($value == 'null' || $value == 'NULL' || $value == 'Null' || $value == '' || $value == '~') {
+ return null;
+ }
+
+ if ( is_numeric($value) && preg_match ('/^(-|)[1-9]+[0-9]*$/', $value) ){
+ $intvalue = (int)$value;
+ if ($intvalue != PHP_INT_MAX && $intvalue != ~PHP_INT_MAX)
+ $value = $intvalue;
+ return $value;
+ }
+
+ if ( is_string($value) && preg_match('/^0[xX][0-9a-fA-F]+$/', $value)) {
+ // Hexadecimal value.
+ return hexdec($value);
+ }
+
+ $this->coerceValue($value);
+
+ if (is_numeric($value)) {
+ if ($value === '0') return 0;
+ if (rtrim ($value, 0) === $value)
+ $value = (float)$value;
+ return $value;
+ }
+
+ return $value;
+ }
+
+ /**
+ * Used in inlines to check for more inlines or quoted strings
+ * @access private
+ * @return array
+ */
+ private function _inlineEscape($inline) {
+ // There's gotta be a cleaner way to do this...
+ // While pure sequences seem to be nesting just fine,
+ // pure mappings and mappings with sequences inside can't go very
+ // deep. This needs to be fixed.
+
+ $seqs = array();
+ $maps = array();
+ $saved_strings = array();
+ $saved_empties = array();
+
+ // Check for empty strings
+ $regex = '/("")|(\'\')/';
+ if (preg_match_all($regex,$inline,$strings)) {
+ $saved_empties = $strings[0];
+ $inline = preg_replace($regex,'YAMLEmpty',$inline);
+ }
+ unset($regex);
+
+ // Check for strings
+ $regex = '/(?:(")|(?:\'))((?(1)[^"]+|[^\']+))(?(1)"|\')/';
+ if (preg_match_all($regex,$inline,$strings)) {
+ $saved_strings = $strings[0];
+ $inline = preg_replace($regex,'YAMLString',$inline);
+ }
+ unset($regex);
+
+ // echo $inline;
+
+ $i = 0;
+ do {
+
+ // Check for sequences
+ while (preg_match('/\[([^{}\[\]]+)\]/U',$inline,$matchseqs)) {
+ $seqs[] = $matchseqs[0];
+ $inline = preg_replace('/\[([^{}\[\]]+)\]/U', ('YAMLSeq' . (count($seqs) - 1) . 's'), $inline, 1);
+ }
+
+ // Check for mappings
+ while (preg_match('/{([^\[\]{}]+)}/U',$inline,$matchmaps)) {
+ $maps[] = $matchmaps[0];
+ $inline = preg_replace('/{([^\[\]{}]+)}/U', ('YAMLMap' . (count($maps) - 1) . 's'), $inline, 1);
+ }
+
+ if ($i++ >= 10) break;
+
+ } while (strpos ($inline, '[') !== false || strpos ($inline, '{') !== false);
+
+ $explode = explode(',',$inline);
+ $explode = array_map('trim', $explode);
+ $stringi = 0; $i = 0;
+
+ while (1) {
+
+ // Re-add the sequences
+ if (!empty($seqs)) {
+ foreach ($explode as $key => $value) {
+ if (strpos($value,'YAMLSeq') !== false) {
+ foreach ($seqs as $seqk => $seq) {
+ $explode[$key] = str_replace(('YAMLSeq'.$seqk.'s'),$seq,$value);
+ $value = $explode[$key];
+ }
+ }
+ }
+ }
+
+ // Re-add the mappings
+ if (!empty($maps)) {
+ foreach ($explode as $key => $value) {
+ if (strpos($value,'YAMLMap') !== false) {
+ foreach ($maps as $mapk => $map) {
+ $explode[$key] = str_replace(('YAMLMap'.$mapk.'s'), $map, $value);
+ $value = $explode[$key];
+ }
+ }
+ }
+ }
+
+
+ // Re-add the strings
+ if (!empty($saved_strings)) {
+ foreach ($explode as $key => $value) {
+ while (strpos($value,'YAMLString') !== false) {
+ $explode[$key] = preg_replace('/YAMLString/',$saved_strings[$stringi],$value, 1);
+ unset($saved_strings[$stringi]);
+ ++$stringi;
+ $value = $explode[$key];
+ }
+ }
+ }
+
+
+ // Re-add the empties
+ if (!empty($saved_empties)) {
+ foreach ($explode as $key => $value) {
+ while (strpos($value,'YAMLEmpty') !== false) {
+ $explode[$key] = preg_replace('/YAMLEmpty/', '', $value, 1);
+ $value = $explode[$key];
+ }
+ }
+ }
+
+ $finished = true;
+ foreach ($explode as $key => $value) {
+ if (strpos($value,'YAMLSeq') !== false) {
+ $finished = false; break;
+ }
+ if (strpos($value,'YAMLMap') !== false) {
+ $finished = false; break;
+ }
+ if (strpos($value,'YAMLString') !== false) {
+ $finished = false; break;
+ }
+ if (strpos($value,'YAMLEmpty') !== false) {
+ $finished = false; break;
+ }
+ }
+ if ($finished) break;
+
+ $i++;
+ if ($i > 10)
+ break; // Prevent infinite loops.
+ }
+
+
+ return $explode;
+ }
+
+ private function literalBlockContinues ($line, $lineIndent) {
+ if (!trim($line)) return true;
+ if (strlen($line) - strlen(ltrim($line)) > $lineIndent) return true;
+ return false;
+ }
+
+ private function referenceContentsByAlias ($alias) {
+ do {
+ if (!isset($this->SavedGroups[$alias])) { echo "Bad group name: $alias."; break; }
+ $groupPath = $this->SavedGroups[$alias];
+ $value = $this->result;
+ foreach ($groupPath as $k) {
+ $value = $value[$k];
+ }
+ } while (false);
+ return $value;
+ }
+
+ private function addArrayInline ($array, $indent) {
+ $CommonGroupPath = $this->path;
+ if (empty ($array)) return false;
+
+ foreach ($array as $k => $_) {
+ $this->addArray(array($k => $_), $indent);
+ $this->path = $CommonGroupPath;
+ }
+ return true;
+ }
+
+ private function addArray ($incoming_data, $incoming_indent) {
+
+ // print_r ($incoming_data);
+
+ if (count ($incoming_data) > 1)
+ return $this->addArrayInline ($incoming_data, $incoming_indent);
+
+ $key = key ($incoming_data);
+ $value = isset($incoming_data[$key]) ? $incoming_data[$key] : null;
+ if ($key === '__!YAMLZero') $key = '0';
+
+ if ($incoming_indent == 0 && !$this->_containsGroupAlias && !$this->_containsGroupAnchor) { // Shortcut for root-level values.
+ if ($key || $key === '' || $key === '0') {
+ $this->result[$key] = $value;
+ } else {
+ $this->result[] = $value; end ($this->result); $key = key ($this->result);
+ }
+ $this->path[$incoming_indent] = $key;
+ return;
+ }
+
+
+
+ $history = array();
+ // Unfolding inner array tree.
+ $history[] = $_arr = $this->result;
+ foreach ($this->path as $k) {
+ $history[] = $_arr = $_arr[$k];
+ }
+
+ if ($this->_containsGroupAlias) {
+ $value = $this->referenceContentsByAlias($this->_containsGroupAlias);
+ $this->_containsGroupAlias = false;
+ }
+
+
+ // Adding string or numeric key to the innermost level or $this->arr.
+ if (is_string($key) && $key == '<<') {
+ if (!is_array ($_arr)) { $_arr = array (); }
+
+ $_arr = array_merge ($_arr, $value);
+ } else if ($key || $key === '' || $key === '0') {
+ if (!is_array ($_arr))
+ $_arr = array ($key=>$value);
+ else
+ $_arr[$key] = $value;
+ } else {
+ if (!is_array ($_arr)) { $_arr = array ($value); $key = 0; }
+ else { $_arr[] = $value; end ($_arr); $key = key ($_arr); }
+ }
+
+ $reverse_path = array_reverse($this->path);
+ $reverse_history = array_reverse ($history);
+ $reverse_history[0] = $_arr;
+ $cnt = count($reverse_history) - 1;
+ for ($i = 0; $i < $cnt; $i++) {
+ $reverse_history[$i+1][$reverse_path[$i]] = $reverse_history[$i];
+ }
+ $this->result = $reverse_history[$cnt];
+
+ $this->path[$incoming_indent] = $key;
+
+ if ($this->_containsGroupAnchor) {
+ $this->SavedGroups[$this->_containsGroupAnchor] = $this->path;
+ if (is_array ($value)) {
+ $k = key ($value);
+ if (!is_int ($k)) {
+ $this->SavedGroups[$this->_containsGroupAnchor][$incoming_indent + 2] = $k;
+ }
+ }
+ $this->_containsGroupAnchor = false;
+ }
+
+ }
+
+ private static function startsLiteralBlock ($line) {
+ $lastChar = substr (trim($line), -1);
+ if ($lastChar != '>' && $lastChar != '|') return false;
+ if ($lastChar == '|') return $lastChar;
+ // HTML tags should not be counted as literal blocks.
+ if (preg_match ('#<.*?>$#', $line)) return false;
+ return $lastChar;
+ }
+
+ private static function greedilyNeedNextLine($line) {
+ $line = trim ($line);
+ if (!strlen($line)) return false;
+ if (substr ($line, -1, 1) == ']') return false;
+ if ($line[0] == '[') return true;
+ if (preg_match ('#^[^:]+?:\s*\[#', $line)) return true;
+ return false;
+ }
+
+ private function addLiteralLine ($literalBlock, $line, $literalBlockStyle, $indent = -1) {
+ $line = self::stripIndent($line, $indent);
+ if ($literalBlockStyle !== '|') {
+ $line = self::stripIndent($line);
+ }
+ $line = rtrim ($line, "\r\n\t ") . "\n";
+ if ($literalBlockStyle == '|') {
+ return $literalBlock . $line;
+ }
+ if (strlen($line) == 0)
+ return rtrim($literalBlock, ' ') . "\n";
+ if ($line == "\n" && $literalBlockStyle == '>') {
+ return rtrim ($literalBlock, " \t") . "\n";
+ }
+ if ($line != "\n")
+ $line = trim ($line, "\r\n ") . " ";
+ return $literalBlock . $line;
+ }
+
+ function revertLiteralPlaceHolder ($lineArray, $literalBlock) {
+ foreach ($lineArray as $k => $_) {
+ if (is_array($_))
+ $lineArray[$k] = $this->revertLiteralPlaceHolder ($_, $literalBlock);
+ else if (substr($_, -1 * strlen ($this->LiteralPlaceHolder)) == $this->LiteralPlaceHolder)
+ $lineArray[$k] = rtrim ($literalBlock, " \r\n");
+ }
+ return $lineArray;
+ }
+
+ private static function stripIndent ($line, $indent = -1) {
+ if ($indent == -1) $indent = strlen($line) - strlen(ltrim($line));
+ return substr ($line, $indent);
+ }
+
+ private function getParentPathByIndent ($indent) {
+ if ($indent == 0) return array();
+ $linePath = $this->path;
+ do {
+ end($linePath); $lastIndentInParentPath = key($linePath);
+ if ($indent <= $lastIndentInParentPath) array_pop ($linePath);
+ } while ($indent <= $lastIndentInParentPath);
+ return $linePath;
+ }
+
+
+ private function clearBiggerPathValues ($indent) {
+
+
+ if ($indent == 0) $this->path = array();
+ if (empty ($this->path)) return true;
+
+ foreach ($this->path as $k => $_) {
+ if ($k > $indent) unset ($this->path[$k]);
+ }
+
+ return true;
+ }
+
+
+ private static function isComment ($line) {
+ if (!$line) return false;
+ if ($line[0] == '#') return true;
+ if (trim($line, " \r\n\t") == '---') return true;
+ return false;
+ }
+
+ private static function isEmpty ($line) {
+ return (trim ($line) === '');
+ }
+
+
+ private function isArrayElement ($line) {
+ if (!$line || !is_scalar($line)) return false;
+ if (substr($line, 0, 2) != '- ') return false;
+ if (strlen ($line) > 3)
+ if (substr($line,0,3) == '---') return false;
+
+ return true;
+ }
+
+ private function isHashElement ($line) {
+ return strpos($line, ':');
+ }
+
+ private function isLiteral ($line) {
+ if ($this->isArrayElement($line)) return false;
+ if ($this->isHashElement($line)) return false;
+ return true;
+ }
+
+
+ private static function unquote ($value) {
+ if (!$value) return $value;
+ if (!is_string($value)) return $value;
+ if ($value[0] == '\'') return trim ($value, '\'');
+ if ($value[0] == '"') return trim ($value, '"');
+ return $value;
+ }
+
+ private function startsMappedSequence ($line) {
+ return (substr($line, 0, 2) == '- ' && substr ($line, -1, 1) == ':');
+ }
+
+ private function returnMappedSequence ($line) {
+ $array = array();
+ $key = self::unquote(trim(substr($line,1,-1)));
+ $array[$key] = array();
+ $this->delayedPath = array(strpos ($line, $key) + $this->indent => $key);
+ return array($array);
+ }
+
+ private function checkKeysInValue($value) {
+ if (strchr('[{"\'', $value[0]) === false) {
+ if (strchr($value, ': ') !== false) {
+ throw new Exception('Too many keys: '.$value);
+ }
+ }
+ }
+
+ private function returnMappedValue ($line) {
+ $this->checkKeysInValue($line);
+ $array = array();
+ $key = self::unquote (trim(substr($line,0,-1)));
+ $array[$key] = '';
+ return $array;
+ }
+
+ private function startsMappedValue ($line) {
+ return (substr ($line, -1, 1) == ':');
+ }
+
+ private function isPlainArray ($line) {
+ return ($line[0] == '[' && substr ($line, -1, 1) == ']');
+ }
+
+ private function returnPlainArray ($line) {
+ return $this->_toType($line);
+ }
+
+ private function returnKeyValuePair ($line) {
+ $array = array();
+ $key = '';
+ if (strpos ($line, ': ')) {
+ // It's a key/value pair most likely
+ // If the key is in double quotes pull it out
+ if (($line[0] == '"' || $line[0] == "'") && preg_match('/^(["\'](.*)["\'](\s)*:)/',$line,$matches)) {
+ $value = trim(str_replace($matches[1],'',$line));
+ $key = $matches[2];
+ } else {
+ // Do some guesswork as to the key and the value
+ $explode = explode(': ', $line);
+ $key = trim(array_shift($explode));
+ $value = trim(implode(': ', $explode));
+ $this->checkKeysInValue($value);
+ }
+ // Set the type of the value. Int, string, etc
+ $value = $this->_toType($value);
+ if ($key === '0') $key = '__!YAMLZero';
+ $array[$key] = $value;
+ } else {
+ $array = array ($line);
+ }
+ return $array;
+
+ }
+
+
+ private function returnArrayElement ($line) {
+ if (strlen($line) <= 1) return array(array()); // Weird %)
+ $array = array();
+ $value = trim(substr($line,1));
+ $value = $this->_toType($value);
+ if ($this->isArrayElement($value)) {
+ $value = $this->returnArrayElement($value);
+ }
+ $array[] = $value;
+ return $array;
+ }
+
+
+ private function nodeContainsGroup ($line) {
+ $symbolsForReference = 'A-z0-9_\-';
+ if (strpos($line, '&') === false && strpos($line, '*') === false) return false; // Please die fast ;-)
+ if ($line[0] == '&' && preg_match('/^(&['.$symbolsForReference.']+)/', $line, $matches)) return $matches[1];
+ if ($line[0] == '*' && preg_match('/^(\*['.$symbolsForReference.']+)/', $line, $matches)) return $matches[1];
+ if (preg_match('/(&['.$symbolsForReference.']+)$/', $line, $matches)) return $matches[1];
+ if (preg_match('/(\*['.$symbolsForReference.']+$)/', $line, $matches)) return $matches[1];
+ if (preg_match ('#^\s*<<\s*:\s*(\*[^\s]+).*$#', $line, $matches)) return $matches[1];
+ return false;
+
+ }
+
+ private function addGroup ($line, $group) {
+ if ($group[0] == '&') $this->_containsGroupAnchor = substr ($group, 1);
+ if ($group[0] == '*') $this->_containsGroupAlias = substr ($group, 1);
+ //print_r ($this->path);
+ }
+
+ private function stripGroup ($line, $group) {
+ $line = trim(str_replace($group, '', $line));
+ return $line;
+ }
+}
+}
+
+// Enable use of Spyc from command line
+// The syntax is the following: php Spyc.php spyc.yaml
+
+do {
+ if (PHP_SAPI != 'cli') break;
+ if (empty ($_SERVER['argc']) || $_SERVER['argc'] < 2) break;
+ if (empty ($_SERVER['PHP_SELF']) || FALSE === strpos ($_SERVER['PHP_SELF'], 'Spyc.php') ) break;
+ $file = $argv[1];
+ echo json_encode (spyc_load_file ($file));
+} while (0);
diff --git a/util/config-default.php b/util/config-default.php
@@ -0,0 +1,879 @@
+<?php
+// DO NOT MAKE ANY CHANGES IN THIS FILE, please edit the file 'config.yml' or 'config-<host>.yml' instead.
+// This file should only be changed by developers.
+$conf = array();
+$conf['applications'] = array();
+$conf['applications']['']=0;
+$conf['applications']['phpmyadmin'] = array();
+$conf['applications']['phpmyadmin']['name']='PHPYourAdmin';
+$conf['applications']['phpmyadmin']['url']="https://example.com/anotherapplication/index.cgi";
+$conf['applications']['phpmyadmin']['param']="ticketidforopenrat";
+$conf['applications']['phpmyadmin']['group']='0';
+$conf['applications']['phpmyadmin']['description']="Your database administration";
+$conf['cache'] = array();
+$conf['cache']['conditional_get']=true;
+$conf['cache']['enable_cache']=false;
+$conf['cache']['tmp_dir']="";
+$conf['config'] = array();
+$conf['config']['auto_reload']= true;
+$conf['config']['session_destroy_on_config_reload']= true;
+$conf['content'] = array();
+$conf['content']['file'] = array();
+$conf['content']['file']['max_file_size']='1500';
+$conf['content']['revision-limit'] = array();
+$conf['content']['revision-limit']['enabled']= false;
+$conf['content']['revision-limit']['max-age']= 120;
+$conf['content']['revision-limit']['min-age']= 1;
+$conf['content']['revision-limit']['max-revisions']= 100;
+$conf['content']['revision-limit']['min-revisions']= 3;
+$conf['content']['language'] = array();
+$conf['content']['language']['use_default_language']= true;
+$conf['countries'] = array();
+$conf['countries']['']='0';
+$conf['countries']['AA']='Afar';
+$conf['countries']['AB']='Abkhazian';
+$conf['countries']['AF']='Afrikaans';
+$conf['countries']['AM']='Amharic';
+$conf['countries']['AR']='Arabic';
+$conf['countries']['AS']='Assamese';
+$conf['countries']['AY']='Aymara';
+$conf['countries']['AZ']='Azerbaijani';
+$conf['countries']['BA']='Bashkir';
+$conf['countries']['BE']='Byelorussian';
+$conf['countries']['BG']='Bulgarian';
+$conf['countries']['BH']='Bihari';
+$conf['countries']['BI']='Bislama';
+$conf['countries']['BN']='Bengali';
+$conf['countries']['BO']='Tibetan';
+$conf['countries']['BR']='Breton';
+$conf['countries']['CA']='Catalan';
+$conf['countries']['CO']='Corsican';
+$conf['countries']['CS']='Czech';
+$conf['countries']['CY']='Welsh';
+$conf['countries']['DA']='Danish';
+$conf['countries']['DE']='German';
+$conf['countries']['DZ']='Bhutani';
+$conf['countries']['EL']='Greek';
+$conf['countries']['EN']='English';
+$conf['countries']['EO']='Esperanto';
+$conf['countries']['ES']='Spanish';
+$conf['countries']['ET']='Estonian';
+$conf['countries']['EU']='Basque';
+$conf['countries']['FA']='Persian';
+$conf['countries']['FI']='Finnish';
+$conf['countries']['FJ']='Fiji';
+$conf['countries']['FO']='Faeroese';
+$conf['countries']['FR']='French';
+$conf['countries']['FY']='Frisian';
+$conf['countries']['GA']='Irish';
+$conf['countries']['GD']='Gaelic';
+$conf['countries']['GL']='Galician';
+$conf['countries']['GN']='Guarani';
+$conf['countries']['GU']='Gujarati';
+$conf['countries']['HA']='Hausa';
+$conf['countries']['HI']='Hindi';
+$conf['countries']['HR']='Croatian';
+$conf['countries']['HU']='Hungarian';
+$conf['countries']['HY']='Armenian';
+$conf['countries']['IA']='Interlingua';
+$conf['countries']['IE']='Interlingue';
+$conf['countries']['IK']='Inupiak';
+$conf['countries']['IN']='Indonesian';
+$conf['countries']['IS']='Icelandic';
+$conf['countries']['IT']='Italian';
+$conf['countries']['IW']='Hebrew';
+$conf['countries']['JA']='Japanese';
+$conf['countries']['JI']='Yiddish';
+$conf['countries']['JW']='Javanese';
+$conf['countries']['KA']='Georgian';
+$conf['countries']['KK']='Kazakh';
+$conf['countries']['KL']='Greenlandic';
+$conf['countries']['KM']='Cambodian';
+$conf['countries']['KN']='Kannada';
+$conf['countries']['KO']='Korean';
+$conf['countries']['KS']='Kashmiri';
+$conf['countries']['KU']='Kurdish';
+$conf['countries']['KY']='Kirghiz';
+$conf['countries']['LA']='Latin';
+$conf['countries']['LN']='Lingala';
+$conf['countries']['LO']='Laothian';
+$conf['countries']['LT']='Lithuanian';
+$conf['countries']['LV']='Latvian';
+$conf['countries']['MG']='Malagasy';
+$conf['countries']['MI']='Maori';
+$conf['countries']['MK']='Macedonian';
+$conf['countries']['ML']='Malayalam';
+$conf['countries']['MN']='Mongolian';
+$conf['countries']['MO']='Moldavian';
+$conf['countries']['MR']='Marathi';
+$conf['countries']['MS']='Malay';
+$conf['countries']['MT']='Maltese';
+$conf['countries']['MY']='Burmese';
+$conf['countries']['NA']='Nauru';
+$conf['countries']['NE']='Nepali';
+$conf['countries']['NL']='Dutch';
+$conf['countries']['_NO']='Norwegian';
+$conf['countries']['OC']='Occitan';
+$conf['countries']['OM']='Oromo';
+$conf['countries']['OR']='Oriya';
+$conf['countries']['PA']='Punjabi';
+$conf['countries']['PL']='Polish';
+$conf['countries']['PS']='Pashto';
+$conf['countries']['PT']='Portuguese';
+$conf['countries']['QU']='Quechua';
+$conf['countries']['RM']='Rhaeto-Romance';
+$conf['countries']['RN']='Kirundi';
+$conf['countries']['RO']='Romanian';
+$conf['countries']['RU']='Russian';
+$conf['countries']['RW']='Kinyarwanda';
+$conf['countries']['SA']='Sanskrit';
+$conf['countries']['SD']='Sindhi';
+$conf['countries']['SG']='Sangro';
+$conf['countries']['SH']='Serbo-Croatian';
+$conf['countries']['SI']='Singhalese';
+$conf['countries']['SK']='Slovak';
+$conf['countries']['SL']='Slovenian';
+$conf['countries']['SM']='Samoan';
+$conf['countries']['SN']='Shona';
+$conf['countries']['SO']='Somali';
+$conf['countries']['SQ']='Albanian';
+$conf['countries']['SR']='Serbian';
+$conf['countries']['SS']='Siswati';
+$conf['countries']['ST']='Sesotho';
+$conf['countries']['SU']='Sudanese';
+$conf['countries']['SV']='Swedish';
+$conf['countries']['SW']='Swahili';
+$conf['countries']['TA']='Tamil';
+$conf['countries']['TE']='Tegulu';
+$conf['countries']['TG']='Tajik';
+$conf['countries']['TH']='Thai';
+$conf['countries']['TI']='Tigrinya';
+$conf['countries']['TK']='Turkmen';
+$conf['countries']['TL']='Tagalog';
+$conf['countries']['TN']='Setswana';
+$conf['countries']['TO']='Tonga';
+$conf['countries']['TR']='Turkish';
+$conf['countries']['TS']='Tsonga';
+$conf['countries']['TT']='Tatar';
+$conf['countries']['TW']='Twi';
+$conf['countries']['UK']='Ukrainian';
+$conf['countries']['UR']='Urdu';
+$conf['countries']['UZ']='Uzbek';
+$conf['countries']['VI']='Vietnamese';
+$conf['countries']['VO']='Volapuk';
+$conf['countries']['WO']='Wolof';
+$conf['countries']['XH']='Xhosa';
+$conf['countries']['YO']='Yoruba';
+$conf['countries']['ZH']='Chinese';
+
+$conf['database'] = array();
+
+$conf['database-default']=array();
+$conf['database-default']['defaults']=array();
+$conf['database-default']['defaults']['prefix' ] = '';
+$conf['database-default']['defaults']['suffix' ] = '';
+$conf['database-default']['defaults']['enabled' ] = true;
+$conf['database-default']['defaults']['name' ] = '';
+$conf['database-default']['defaults']['description'] = '';
+$conf['database-default']['defaults']['type' ] = 'pdo';
+$conf['database-default']['defaults']['dsn' ] = 'mysql:localhost';
+$conf['database-default']['defaults']['user' ] = '';
+$conf['database-default']['defaults']['password' ] = '';
+$conf['database-default']['defaults']['host' ] = '';
+$conf['database-default']['defaults']['database' ] = '';
+$conf['database-default']['defaults']['base64' ] = false;
+$conf['database-default']['defaults']['persistent' ] = true;
+$conf['database-default']['defaults']['charset' ] = 'UTF-8';
+$conf['database-default']['defaults']['connection_sql'] = '';
+$conf['database-default']['defaults']['cmd' ] = '';
+$conf['database-default']['defaults']['prepare' ] = true;
+$conf['database-default']['defaults']['transaction'] = true;
+$conf['database-default']['defaults']['update' ] = array();
+$conf['database-default']['defaults']['auto_update'] = true;
+$conf['date'] = array();
+$conf['date']['format'] = array();
+$conf['date']['format']['SHORT']= "";
+$conf['date']['format']['ISO8601SHORT']= "Ymd";
+$conf['date']['format']['ISO8601']= "Y-m-d";
+$conf['date']['format']['ISO8601BAS']= "YmdTHis";
+$conf['date']['format']['ISO8601EXT']= "Y-m-dTH:i:s";
+$conf['date']['format']['ISO8601FULL']= "Y-m-dTH:i:sO";
+$conf['date']['format']['ISO8601WEEK']= "YWW";
+$conf['date']['format']['GER1']= "d.m.Y";
+$conf['date']['format']['GER2']= "d.m.Y, H:i";
+$conf['date']['format']['GER3']= "d.m.Y, H:i:s";
+$conf['date']['format']['GER4']= "d. F Y, H:i:s";
+$conf['date']['format']['ENGLONG']= "l dS of F Y h:i:s A";
+$conf['date']['format']['GMDATE']= "D, d M Y H:i:s GMT";
+$conf['date']['format']['RFC822']= "r";
+$conf['date']['format']['UNIX']= "U";
+$conf['date']['format']['LONG']= "F j, Y, g:i a";
+$conf['date']['timezone'] = array();
+$conf['date']['timezone']['-6']="New York";
+$conf['date']['timezone']['0']="UTC (GMT)";
+$conf['date']['timezone']['60']="MET (Middle European Time)";
+$conf['date']['timezone']['120']="MEST (Middle European Summertime)";
+$conf['editor'] = array();
+$conf['editor']['text-markup'] = array();
+$conf['editor']['text-markup']['strong-begin']= "*";
+$conf['editor']['text-markup']['strong-end']= "*";
+$conf['editor']['text-markup']['emphatic-begin']= "_";
+$conf['editor']['text-markup']['emphatic-end']= "_";
+$conf['editor']['text-markup']['image-begin']= "{";
+$conf['editor']['text-markup']['image-end']= "}";
+$conf['editor']['text-markup']['speech-begin']='QUOTE';
+$conf['editor']['text-markup']['speech-end']='QUOTE';
+$conf['editor']['text-markup']['code-begin']= "=";
+$conf['editor']['text-markup']['code-end']= "=";
+$conf['editor']['text-markup']['footnote-begin']= "[";
+$conf['editor']['text-markup']['footnote-end']= "]";
+$conf['editor']['text-markup']['pre-begin']= "=";
+$conf['editor']['text-markup']['pre-end']= "=";
+$conf['editor']['text-markup']['insert-begin']= "++";
+$conf['editor']['text-markup']['insert-end']= "++";
+$conf['editor']['text-markup']['remove-begin']= "--";
+$conf['editor']['text-markup']['remove-end']= "--";
+$conf['editor']['text-markup']['definition-sep']= "::";
+$conf['editor']['text-markup']['headline']= "+";
+$conf['editor']['text-markup']['headline_level1_underline']= "=";
+$conf['editor']['text-markup']['headline_level2_underline']= "-";
+$conf['editor']['text-markup']['headline_level3_underline']= ".";
+$conf['editor']['text-markup']['list-unnumbered']= "-";
+$conf['editor']['text-markup']['list-numbered']= "#";
+$conf['editor']['text-markup']['table-of-content']= "##TOC##";
+$conf['editor']['text-markup']['linkto']= "->";
+$conf['editor']['text-markup']['table-cell-sep']= "|";
+$conf['editor']['text-markup']['style-begin']= "'";
+$conf['editor']['text-markup']['style-end']= "'";
+$conf['editor']['text-markup']['quote']= ">";
+$conf['editor']['text-markup']['quote-line-begin']= ">";
+$conf['editor']['text-markup']['quote-line-end']= ">";
+$conf['editor']['text-markup']['macro-begin']= "<<";
+$conf['editor']['text-markup']['macro-end']= ">>";
+$conf['editor']['text-markup']['macro-attribute-quote']= "'";
+$conf['editor']['text-markup']['macro-attribute-value-seperator']= "=";
+$conf['editor']['html'] = array();
+$conf['editor']['html']['tag_strong']= "strong";
+$conf['editor']['html']['tag_emphatic']= "em";
+$conf['editor']['html']['tag_teletype']= "tt";
+$conf['editor']['html']['tag_speech']= "cite";
+$conf['editor']['html']['override_speech']=false;
+$conf['editor']['html']['override_speech_open']= "«";
+$conf['editor']['html']['override_speech_close']= "»";
+$conf['editor']['html']['rendermode']="sgml";
+$conf['editor']['html']['rendermode']="xml";
+$conf['editor']['html']['replace']= "EUR:€";
+$conf['editor']['wiki'] = array();
+$conf['editor']['wiki']['convert_html']=true;
+$conf['editor']['wiki']['convert_bbcode']=true;
+$conf['editor']['text'] = array();
+$conf['editor']['text']['linelength']='70';
+$conf['editor']['calendar'] = array();
+$conf['editor']['calendar']['weekday_offset']='1';
+$conf['editor']['text'] = array();
+$conf['editor']['text']['linelength']='70';
+$conf['editor']['macro'] = array();
+$conf['editor']['macro']['show_errors']=false;
+$conf['filename'] = array();
+$conf['filename']['edit']=true;
+$conf['filename']['default']='index';
+$conf['filename']['style']='short';
+$conf['filename']['url']='relative';
+$conf['ftp'] = array();
+$conf['ftp']['ascii']= "html,htm,php";
+$conf['help'] = array();
+$conf['help']['enabled']=true;
+$conf['help']['url']="http://help.openrat.de/";
+$conf['help']['suffix']=".html";
+$conf['html'] = array();
+$conf['html']['tag_teletype']='tt';
+$conf['html']['tag_emphatic']='em';
+$conf['html']['tag_strong']='strong';
+$conf['html']['tag_speech']='cite';
+$conf['html']['speech_open']= "&bdquo";
+$conf['html']['speech_close']= "&rdquo";
+$conf['i18n'] = array();
+$conf['i18n']['use_http']=true;
+$conf['i18n']['default']='de';
+$conf['i18n']['available']='de,en,es,fr,it,ru,cn';
+$conf['i18n']['locale'] = array();
+$conf['i18n']['locale']['de']="de_DE.utf8";
+$conf['i18n']['locale']['en']="en_US.utf8";
+$conf['image'] = array();
+$conf['image']['truecolor']=true;
+$conf['interface'] = array();
+$conf['interface']['tree_width']= "25%";
+$conf['interface']['file_separator']= " »";
+$conf['interface']['nice_urls']=false;
+$conf['interface']['url_sessionid']=false;
+$conf['interface']['theme']= 'default';
+$conf['interface']['timeout']='0';
+$conf['interface']['override_title']='';
+$conf['interface']['style'] = array();
+$conf['interface']['style']['default']='modern';
+$conf['interface']['config'] = array();
+$conf['interface']['config']['file_manager_url']="";
+$conf['interface']['config']['enable']=true;
+$conf['interface']['config']['show_system']=true;
+$conf['interface']['config']['show_interpreter']=true;
+$conf['interface']['config']['show_extensions']=true;
+$conf['interface']['frames'] = array();
+$conf['interface']['frames']['top']='_top';
+$conf['interface']['url'] = array();
+$conf['interface']['url']['fake_url']=false;
+$conf['interface']['url']['index']=false;
+$conf['interface']['url']['url_format']= "%s,%s.%i";
+$conf['interface']['url']['url_format']= "%s,%s,%d.do";
+$conf['interface']['url']['add_sessionid']=false;
+$conf['interface']['gravatar'] = array();
+$conf['interface']['gravatar']['enable']=true;
+$conf['interface']['gravatar']['size']='80';
+$conf['interface']['gravatar']['default']='404';
+$conf['interface']['gravatar']['rating']='g';
+$conf['interface']['session'] = array();
+$conf['interface']['session']['auto_extend']=true;
+$conf['ldap'] = array();
+$conf['ldap']['host']="localhost";
+$conf['ldap']['port']="389";
+$conf['ldap']['protocol']="2";
+$conf['ldap']['dn']= "uid={user},ou=users,dc=example,dc=com";
+$conf['ldap']['dn']= "";
+$conf['ldap']['search'] = array();
+$conf['ldap']['search']['anonymous']=true;
+$conf['ldap']['search']['user']= "uid=openrat,ou=users,dc=example,dc=com";
+$conf['ldap']['search']['password']= "verysecret";
+$conf['ldap']['search']['basedn']= "dc=example,dc=com";
+$conf['ldap']['search']['filter']= "(uid={user})";
+$conf['ldap']['search']['aliases']=true;
+$conf['ldap']['search']['timeout']= 30;
+$conf['ldap']['search']['add']=true;
+$conf['ldap']['authorize'] = array();
+$conf['ldap']['authorize']['group_filter']="(memberUid={dn})";
+$conf['ldap']['authorize']['group_name']="cn";
+$conf['ldap']['authorize']['auto_add']=true;
+$conf['login'] = array();
+$conf['login']['motd']='';
+$conf['login']['nologin']=false;
+$conf['login']['register']=false;
+$conf['login']['send_password']=false;
+$conf['login']['gpl'] = array();
+$conf['login']['gpl']['url']="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html";
+$conf['login']['logo'] = array();
+$conf['login']['logo']['file']="./themes/default/images/logo.jpg" ;
+$conf['login']['logo']['url']="http://www.openrat.de" ;
+$conf['login']['start'] = array();
+$conf['login']['start']['start_lastchanged_object']=true;
+$conf['login']['start']['start_single_project']=true;
+$conf['login']['default-database']='db';
+$conf['log'] = array();
+$conf['log']['file']= "";
+$conf['log']['level']= "warn";
+$conf['log']['date_format']= "M j H:i:s";
+$conf['log']['dns_lookup']=false;
+$conf['log']['format']= "%time %level %host %user %action %text";
+$conf['mail'] = array();
+$conf['mail']['enabled']=true;
+$conf['mail']['from']="OpenRat <user@example.com>";
+$conf['mail']['signature']="http://www.openrat.de";
+$conf['mail']['cc']='0';
+$conf['mail']['bcc']='0';
+$conf['mail']['priority']='3';
+$conf['mail']['header_encoding']="Quoted-printable";
+$conf['mail']['client']='smtp';
+$conf['mail']['client']='php';
+$conf['mail']['whitelist']= "";
+$conf['mail']['blacklist']= "";
+$conf['mail']['smtp'] = array();
+$conf['mail']['smtp']['host']="mail.yourdomain.example";
+$conf['mail']['smtp']['host']="locahost";
+$conf['mail']['smtp']['port']="25";
+$conf['mail']['smtp']['auth_username']="your.user@something.example";
+$conf['mail']['smtp']['auth_password']="notsecret";
+$conf['mail']['smtp']['timeout']="45";
+$conf['mail']['smtp']['localhost']='0';
+$conf['mail']['smtp']['localhost']="your.fully.qualified.hostname.example";
+$conf['mail']['smtp']['tls']=false;
+$conf['mail']['smtp']['ssl']=false;
+
+$conf['mime-types'] = array();
+$conf['mime-types']['ez'] = 'application/andrew-inset';
+$conf['mime-types']['csm'] = 'application/cu-seeme';
+$conf['mime-types']['cu'] = 'application/cu-seeme';
+$conf['mime-types']['tsp'] = 'application/dsptype';
+$conf['mime-types']['spl'] = 'application/futuresplash';
+$conf['mime-types']['cpt'] = 'application/mac-compactpro';
+$conf['mime-types']['hqx'] = 'application/mac-binhex40';
+$conf['mime-types']['nb'] = 'application/mathematica';
+$conf['mime-types']['mdb'] = 'application/msaccess';
+$conf['mime-types']['doc'] = 'application/msword';
+$conf['mime-types']['dot'] = 'application/msword';
+$conf['mime-types']['bin'] = 'application/octet-stream';
+$conf['mime-types']['oda'] = 'application/oda';
+$conf['mime-types']['pdf'] = 'application/pdf';
+$conf['mime-types']['pgp'] = 'application/pgp-signature';
+$conf['mime-types']['ps'] = 'application/postscript';
+$conf['mime-types']['ai'] = 'application/postscript';
+$conf['mime-types']['eps'] = 'application/postscript';
+$conf['mime-types']['rtf'] = 'application/rtf';
+$conf['mime-types']['smi'] = 'application/smil';
+$conf['mime-types']['smil'] = 'application/smil';
+$conf['mime-types']['xls'] = 'application/vnd.ms-excel';
+$conf['mime-types']['xlb'] = 'application/vnd.ms-excel';
+$conf['mime-types']['ppt'] = 'application/vnd.ms-powerpoint';
+$conf['mime-types']['pps'] = 'application/vnd.ms-powerpoint';
+$conf['mime-types']['pot'] = 'application/vnd.ms-powerpoint';
+$conf['mime-types']['sdw'] = 'application/vnd.stardivision.writer';
+$conf['mime-types']['sgl'] = 'application/vnd.stardivision.writer-global';
+$conf['mime-types']['vor'] = 'application/vnd.stardivision.writer';
+$conf['mime-types']['sdc'] = 'application/vnd.stardivision.calc';
+$conf['mime-types']['sda'] = 'application/vnd.stardivision.draw';
+$conf['mime-types']['sdd'] = 'application/vnd.stardivision.impress';
+$conf['mime-types']['sdp'] = 'application/vnd.stardivision.impress-packed';
+$conf['mime-types']['smf'] = 'application/vnd.stardivision.math';
+$conf['mime-types']['sds'] = 'application/vnd.stardivision.chart';
+$conf['mime-types']['smd'] = 'application/vnd.stardivision.mail';
+$conf['mime-types']['wbxml'] = 'application/vnd.wap.wbxml ';
+$conf['mime-types']['wmlc'] = 'application/vnd.wap.wmlc';
+$conf['mime-types']['wmlsc'] = 'application/vnd.wap.wmlscriptc';
+$conf['mime-types']['wp5'] = 'application/wordperfect5.1';
+$conf['mime-types']['zip'] = 'application/zip';
+$conf['mime-types']['wk'] = 'application/x-123';
+$conf['mime-types']['bcpio'] = 'application/x-bcpio';
+$conf['mime-types']['vcd'] = 'application/x-cdlink ';
+$conf['mime-types']['pgn'] = 'application/x-chess-pgn';
+$conf['mime-types']['cpio'] = 'application/x-cpio';
+$conf['mime-types']['csh'] = 'application/x-csh';
+$conf['mime-types']['deb'] = 'application/x-debian-package';
+$conf['mime-types']['dcr'] = 'application/x-director';
+$conf['mime-types']['dir'] = 'application/x-director';
+$conf['mime-types']['dxr'] = 'application/x-director';
+$conf['mime-types']['wad'] = 'application/x-doom';
+$conf['mime-types']['dms'] = 'application/x-dms';
+$conf['mime-types']['dvi'] = 'application/x-dvi';
+$conf['mime-types']['pfa'] = 'application/x-font';
+$conf['mime-types']['pfb'] = 'application/x-font';
+$conf['mime-types']['gsf'] = 'application/x-font';
+$conf['mime-types']['pcf'] = 'application/x-font';
+$conf['mime-types']['spl'] = 'application/x-futuresplash ';
+$conf['mime-types']['gnumeric'] = 'application/x-gnumeric';
+$conf['mime-types']['gtar'] = 'application/x-gtar';
+$conf['mime-types']['tgz'] = 'application/x-gtar';
+$conf['mime-types']['taz'] = 'application/x-gtar';
+$conf['mime-types']['hdf'] = 'application/x-hdf';
+$conf['mime-types']['phtml'] = 'text/html';
+$conf['mime-types']['pht'] = 'text/html';
+$conf['mime-types']['php'] = 'text/html';
+$conf['mime-types']['phps'] = 'text/html';
+$conf['mime-types']['php3'] = 'text/html';
+$conf['mime-types']['php3p'] = 'text/html ';
+$conf['mime-types']['php4'] = 'text/html';
+$conf['mime-types']['docbook'] = 'application/docbook+xml';
+$conf['mime-types']['ica'] = 'application/x-ica';
+$conf['mime-types']['jar'] = 'application/x-java-archive';
+$conf['mime-types']['jnlp'] = 'application/x-java-jnlp-file';
+$conf['mime-types']['ser'] = 'application/x-java-serialized-object';
+$conf['mime-types']['class'] = 'application/x-java-vm';
+$conf['mime-types']['js'] = 'application/x-javascript';
+$conf['mime-types']['chrt'] = 'application/x-kchart';
+$conf['mime-types']['kil'] = 'application/x-killustrator';
+$conf['mime-types']['kpr'] = 'application/x-kpresenter';
+$conf['mime-types']['kpt'] = 'application/x-kpresenter';
+$conf['mime-types']['skp'] = 'application/x-koan ';
+$conf['mime-types']['skd'] = 'application/x-koan ';
+$conf['mime-types']['skt'] = 'application/x-koan ';
+$conf['mime-types']['skm'] = 'application/x-koan ';
+$conf['mime-types']['ksp'] = 'application/x-kspread';
+$conf['mime-types']['kwd'] = 'application/x-kword';
+$conf['mime-types'][' kwt'] = 'application/x-kword';
+$conf['mime-types']['latex'] = 'application/x-latex';
+$conf['mime-types']['lha'] = 'application/x-lha';
+$conf['mime-types']['lzh'] = 'application/x-lzh';
+$conf['mime-types']['lzx'] = 'application/x-lzx';
+$conf['mime-types']['frm'] = 'fbdocapplication/x-maker';
+$conf['mime-types']['maker'] = 'fbdocapplication/x-maker';
+$conf['mime-types']['frame'] = 'fbdocapplication/x-maker';
+$conf['mime-types']['fm'] = 'fbdocapplication/x-maker';
+$conf['mime-types']['fb'] = 'fbdocapplication/x-maker';
+$conf['mime-types']['book'] = 'fbdocapplication/x-maker';
+$conf['mime-types']['mif'] = 'application/x-mif';
+$conf['mime-types']['com'] = 'application/x-msdos-program';
+$conf['mime-types']['exe'] = 'application/x-msdos-program';
+$conf['mime-types']['bat'] = 'application/x-msdos-program';
+$conf['mime-types']['dll'] = 'application/x-msdos-program';
+$conf['mime-types']['msi'] = 'application/x-msi';
+$conf['mime-types']['nc'] = 'application/x-netcdf';
+$conf['mime-types']['cdf'] = 'application/x-netcdf';
+$conf['mime-types']['pac'] = 'application/x-ns-proxy-autoconfig';
+$conf['mime-types']['o'] = 'application/x-object';
+$conf['mime-types']['ogg'] = 'application/x-ogg';
+$conf['mime-types']['oza'] = 'application/x-oz-application';
+$conf['mime-types']['pl'] = 'application/x-perl';
+$conf['mime-types']['pm'] = 'application/x-perl';
+$conf['mime-types']['crl'] = 'application/x-pkcs7-crl';
+$conf['mime-types']['rpm'] = 'application/x-redhat-package-manager';
+$conf['mime-types']['shar'] = 'application/x-shar';
+$conf['mime-types']['swf'] = 'application/x-shockwave-flash';
+$conf['mime-types']['swfl'] = 'application/x-shockwave-flash';
+$conf['mime-types']['sh'] = 'application/x-sh ';
+$conf['mime-types']['sit'] = 'application/x-stuffit';
+$conf['mime-types']['sv4cpio'] = 'application/x-sv4cpio';
+$conf['mime-types']['sv4crc'] = 'application/x-sv4crc';
+$conf['mime-types']['tar'] = 'application/x-tar';
+$conf['mime-types']['tcl'] = 'application/x-tcl';
+$conf['mime-types']['tex'] = 'application/x-tex';
+$conf['mime-types']['gf'] = 'application/x-tex-gf';
+$conf['mime-types']['pk'] = 'application/x-tex-pk';
+$conf['mime-types']['texinfo'] = 'application/x-texinfo';
+$conf['mime-types']['texi'] = 'application/x-texinfo';
+$conf['mime-types']['; "~"'] = 'application/x-trash';
+$conf['mime-types'][';"%"'] = 'application/x-trash';
+$conf['mime-types']['bak'] = 'application/x-trash';
+$conf['mime-types']['old'] = 'application/x-trash';
+$conf['mime-types']['sik'] = 'application/x-trash';
+$conf['mime-types']['t'] = 'application/x-troff';
+$conf['mime-types']['tr'] = 'application/x-troff';
+$conf['mime-types']['roff'] = 'application/x-troff';
+$conf['mime-types']['man'] = 'application/x-troff-man';
+$conf['mime-types']['me'] = 'application/x-troff-me';
+$conf['mime-types']['ms'] = 'application/x-troff-ms';
+$conf['mime-types']['ustar'] = 'application/x-ustar';
+$conf['mime-types']['src'] = 'application/x-wais-source';
+$conf['mime-types']['wz'] = 'application/x-wingz';
+$conf['mime-types']['crt'] = 'application/x-x509-ca-cert';
+$conf['mime-types']['fig'] = 'application/x-xfig';
+$conf['mime-types']['au'] = 'audio/basic';
+$conf['mime-types']['snd'] = 'audio/basic';
+$conf['mime-types']['mid'] = 'audio/midi';
+$conf['mime-types']['midi'] = 'audio/midi';
+$conf['mime-types']['kar'] = 'audio/midi';
+$conf['mime-types']['mpga'] = 'audio/mpeg';
+$conf['mime-types']['mpega'] = 'audio/mpeg';
+$conf['mime-types']['mp2'] = 'audio/mpeg';
+$conf['mime-types']['mp3'] = 'audio/mpeg';
+$conf['mime-types']['m3u'] = 'audio/mpegurl';
+$conf['mime-types']['sid'] = 'audio/prs.sid';
+$conf['mime-types']['aif'] = 'audio/x-aiff';
+$conf['mime-types']['aiff'] = 'audio/x-aiff';
+$conf['mime-types']['aifc'] = 'audio/x-aiff';
+$conf['mime-types']['gsm'] = 'audio/x-gsm';
+$conf['mime-types']['m3u'] = 'audio/x-mpegurl';
+$conf['mime-types']['rpm'] = 'audio/x-pn-realaudio-plugin ';
+$conf['mime-types']['ra'] = 'audio/x-pn-realaudio';
+$conf['mime-types']['rm'] = 'audio/x-pn-realaudio';
+$conf['mime-types']['ram'] = 'audio/x-pn-realaudio';
+$conf['mime-types']['ra'] = 'audio/x-realaudio ';
+$conf['mime-types']['pls'] = 'audio/x-scpls';
+$conf['mime-types']['wav'] = 'audio/x-wav';
+$conf['mime-types']['pdb'] = 'chemical/x-pdb';
+$conf['mime-types']['xyz'] = 'chemical/x-xyz ';
+$conf['mime-types']['bmp'] = 'image/bmp';
+$conf['mime-types']['gif'] = 'image/gif';
+$conf['mime-types']['ief'] = 'image/ief';
+$conf['mime-types']['jpeg'] = 'image/jpeg';
+$conf['mime-types']['jpg'] = 'image/jpeg';
+$conf['mime-types']['jpe'] = 'image/jpeg';
+$conf['mime-types']['pcx'] = 'image/pcx';
+$conf['mime-types']['png'] = 'image/png';
+$conf['mime-types']['svg'] = 'image/svg+xml';
+$conf['mime-types']['svgz'] = 'image/svg+xml';
+$conf['mime-types']['tiff'] = 'image/tiff';
+$conf['mime-types']['tif'] = 'image/tiff';
+$conf['mime-types']['wbmp'] = 'image/vnd.wap.wbmp';
+$conf['mime-types']['ras'] = 'image/x-cmu-raster';
+$conf['mime-types']['cdr'] = 'image/x-coreldraw';
+$conf['mime-types']['pat'] = 'image/x-coreldrawpattern';
+$conf['mime-types']['cdt'] = 'image/x-coreldrawtemplate';
+$conf['mime-types']['cpt'] = 'image/x-corelphotopaint';
+$conf['mime-types']['djvu'] = 'image/x-djvu';
+$conf['mime-types']['djv'] = 'image/x-djvu';
+$conf['mime-types']['jng'] = 'image/x-jng';
+$conf['mime-types']['bmp'] = 'image/x-ms-bmp';
+$conf['mime-types']['pnm'] = 'image/x-portable-anymap';
+$conf['mime-types']['pbm'] = 'image/x-portable-bitmap';
+$conf['mime-types']['pgm'] = 'image/x-portable-graymap';
+$conf['mime-types']['ppm'] = 'image/x-portable-pixmap';
+$conf['mime-types']['rgb'] = 'image/x-rgb';
+$conf['mime-types']['xbm'] = 'image/x-xbitmap';
+$conf['mime-types']['xpm'] = 'image/x-xpixmap';
+$conf['mime-types']['xwd'] = 'image/x-xwindowdump';
+$conf['mime-types']['igs'] = 'model/iges';
+$conf['mime-types']['iges'] = 'model/iges';
+$conf['mime-types']['msh'] = 'model/mesh';
+$conf['mime-types']['mesh'] = 'model/mesh';
+$conf['mime-types']['silo'] = 'model/mesh';
+$conf['mime-types']['wrl'] = 'model/vrml';
+$conf['mime-types']['vrml'] = 'model/vrml';
+$conf['mime-types']['csv'] = 'text/comma-separated-values';
+$conf['mime-types']['css'] = 'text/css';
+$conf['mime-types']['htm'] = 'text/html';
+$conf['mime-types']['html'] = 'text/html';
+$conf['mime-types']['xhtml'] = 'text/html';
+$conf['mime-types']['mml'] = 'text/mathml';
+$conf['mime-types']['asc'] = 'text/plain';
+$conf['mime-types']['txt'] = 'text/plain';
+$conf['mime-types']['text'] = 'text/plain';
+$conf['mime-types']['diff'] = 'text/plain';
+$conf['mime-types']['rtx'] = 'text/richtext';
+$conf['mime-types']['rtf'] = 'text/rtf';
+$conf['mime-types']['tsv'] = 'text/tab-separated-values';
+$conf['mime-types']['wml'] = 'text/vnd.wap.wml';
+$conf['mime-types']['wmls'] = 'text/vnd.wap.wmlscript';
+$conf['mime-types']['xml'] = 'text/xml';
+$conf['mime-types']['xsl'] = 'text/xml';
+$conf['mime-types']['hpp'] = 'text/x-c++hdr';
+$conf['mime-types']['hxx'] = 'text/x-c++hdr';
+$conf['mime-types']['hh'] = 'text/x-c++hdr';
+$conf['mime-types']['cpp'] = 'text/x-c++src';
+$conf['mime-types']['cxx'] = 'text/x-c++src';
+$conf['mime-types']['cc'] = 'text/x-c++src';
+$conf['mime-types']['h'] = 'text/x-chdr';
+$conf['mime-types']['csh'] = 'text/x-csh';
+$conf['mime-types']['c'] = 'text/x-csrc';
+$conf['mime-types']['java'] = 'text/x-java';
+$conf['mime-types']['moc'] = 'text/x-moc';
+$conf['mime-types']['p'] = 'text/x-pascal';
+$conf['mime-types']['pas'] = 'text/x-pascal';
+$conf['mime-types']['etx'] = 'text/x-setext';
+$conf['mime-types']['sh'] = 'text/x-sh';
+$conf['mime-types']['tcl'] = 'text/x-tcl';
+$conf['mime-types']['tk'] = 'text/x-tcl';
+$conf['mime-types']['tex'] = 'text/x-tex';
+$conf['mime-types']['ltx'] = 'text/x-tex';
+$conf['mime-types']['sty'] = 'text/x-tex';
+$conf['mime-types']['cls'] = 'text/x-tex';
+$conf['mime-types']['vcs'] = 'text/x-vcalendar';
+$conf['mime-types']['vcf'] = 'text/x-vcard';
+$conf['mime-types']['dl'] = 'video/dl';
+$conf['mime-types']['fli'] = 'video/fli';
+$conf['mime-types']['gl'] = 'video/gl';
+$conf['mime-types']['mpeg'] = 'video/mpeg';
+$conf['mime-types']['mpg'] = 'video/mpeg';
+$conf['mime-types']['mpe'] = 'video/mpeg';
+$conf['mime-types']['qt'] = 'video/quicktime';
+$conf['mime-types']['mov'] = 'video/quicktime';
+$conf['mime-types']['mxu'] = 'video/vnd.mpegurl';
+$conf['mime-types']['mng'] = 'video/x-mng';
+$conf['mime-types']['asf'] = 'video/x-ms-asf';
+$conf['mime-types']['asx'] = 'video/x-ms-asf';
+$conf['mime-types']['avi'] = 'video/x-msvideo';
+$conf['mime-types']['movie'] = 'video/x-sgi-movie';
+$conf['mime-types']['ice'] = 'x-conference/x-cooltalk';
+$conf['mime-types']['vrm'] = 'x-world/x-vrml';
+$conf['mime-types']['vrml'] = 'x-world/x-vrml';
+$conf['mime-types']['wrl'] = 'x-world/x-vrml';
+
+$conf['publish'] = array();
+$conf['publish']['edit']=true;
+$conf['publish']['default']='index';
+$conf['publish']['format']= "{filename}{language_sep}{language}{type_sep}{type}";
+$conf['publish']['language_sep']= ".";
+$conf['publish']['type_sep']= ".";
+$conf['publish']['filename_language']='auto';
+$conf['publish']['filename_type']='always';
+$conf['publish']['style']="id";
+$conf['publish']['url']='relative';
+$conf['publish']['url']='absolute';
+$conf['publish']['enable_php_in_page_content']=false;
+$conf['publish']['enable_php_in_file_content']=false;
+$conf['publish']['escape_8bit_characters']=false;
+$conf['publish']['encode_utf8_in_html']=true;
+$conf['publish']['negotiation'] = array();
+$conf['publish']['negotiation']['page_negotiate_type']=true;
+$conf['publish']['negotiation']['page_negotiate_language']=true;
+$conf['publish']['negotiation']['file_negotiate_type']=true;
+$conf['publish']['filesystem'] = array();
+$conf['publish']['filesystem']['per_project']=true;
+$conf['publish']['filesystem']['directory']='/var/www/';
+$conf['publish']['command'] = array();
+$conf['publish']['command']['per_project']=true;
+$conf['publish']['command']['enable']=false;
+$conf['publish']['command']['command']='';
+$conf['publish']['ftp'] = array();
+$conf['publish']['ftp']['enable']=true;
+$conf['publish']['ftp']['per_project']=true;
+$conf['publish']['ftp']['port']='21';
+$conf['publish']['ftp']['host']='';
+$conf['publish']['ftp']['path']='';
+$conf['publish']['ftp']['user']='anonymous';
+$conf['publish']['ftp']['pass']='mail@example.com';
+$conf['replace'] = array();
+$conf['replace']['']='0';
+$conf['replace']['']='0';
+$conf['replace']['euro']= "EUR,€";
+$conf['replace']['copy']= "(c),©";
+$conf['search'] = array();
+$conf['search']['']='0';
+$conf['search']['quicksearch'] = array();
+$conf['search']['quicksearch']['flag'] = array();
+$conf['search']['quicksearch']['flag']['id']=true;
+$conf['search']['quicksearch']['flag']['name']=true;
+$conf['search']['quicksearch']['flag']['filename']=true;
+$conf['search']['quicksearch']['flag']['description']=true;
+$conf['search']['quicksearch']['flag']['content']=false;
+$conf['security'] = array();
+$conf['security']['readonly']=false;
+$conf['security']['nopublish']=false;
+$conf['security']['umask']='0';
+$conf['security']['chmod']='0';
+$conf['security']['chmod_dir']='0';
+$conf['security']['']='0';
+$conf['security']['disable_dynamic_code']=true;
+$conf['security']['show_system_info']=true;
+$conf['security']['use_post_token']=true;
+$conf['security']['renew_session_login']=false;
+$conf['security']['renew_session_logout']=false;
+$conf['security']['default'] = array();
+$conf['security']['default']['username']='';
+$conf['security']['default']['password']='';
+$conf['security']['guest'] = array();
+$conf['security']['guest']['enable']=false;
+$conf['security']['guest']['user']='guest';
+$conf['security']['login'] = array();
+$conf['security']['login']['type']='form';
+$conf['security']['auth'] = array();
+$conf['security']['auth']['type']='database';
+$conf['security']['auth']['userdn']=false;
+$conf['security']['authorize'] = array();
+$conf['security']['authorize']['type']='database';
+$conf['security']['authorize']['type']='ldap';
+
+$conf['security']['modules'] = array();
+$conf['security']['modules']['autologin']='Remember,Guest,SingleSignon';
+$conf['security']['modules']['preselect']='Ident,SSL,Cookie';
+$conf['security']['modules']['authenticate']='LdapUserDN,Database,Internal';
+
+$conf['security']['newuser'] = array();
+$conf['security']['newuser']['autoadd'] = true;
+$conf['security']['newuser']['autogroups'] = "";
+
+$conf['security']['password'] = array();
+$conf['security']['password']['random_length']=10;
+$conf['security']['password']['min_length']=6;
+$conf['security']['password']['pepper']= '';
+$conf['security']['password']['deny_after_expiration_duration'] = 72;
+$conf['security']['password']['force_change_if_cleartext']= true;
+$conf['security']['http'] = array();
+$conf['security']['http']['url']= "http://example.net/restricted-area";
+$conf['security']['authdb'] = array();
+$conf['security']['authdb']['enable'] = false;
+$conf['security']['authdb']['type']='postgresql';
+$conf['security']['authdb']['user']='dbuser';
+$conf['security']['authdb']['password']='dbpassword';
+$conf['security']['authdb']['host']= '127.0.0.1';
+$conf['security']['authdb']['database']='dbname';
+$conf['security']['authdb']['persistent']=false;
+$conf['security']['authdb']['prepare']=false;
+$conf['security']['authdb']['sql']= "select 1 from table where user={username} and password={password}";
+$conf['security']['authdb']['hash_algo']='md5';
+$conf['security']['authdb']['add']=true;
+$conf['security']['ssl'] = array();
+$conf['security']['ssl']['trust']=false;
+$conf['security']['ssl']['client_cert_dn_env'] = 'SSL_CLIENT_S_DN_CN';
+$conf['security']['openid'] = array();
+$conf['security']['openid']['enable']=false;
+$conf['security']['openid']['add']=false;
+$conf['security']['openid']['logo_url']='0';
+$conf['security']['openid']['logo_url']="http://openid.net/login-bg.gif";
+$conf['security']['openid']['trust_root']='http://your.server.example/openrat/';
+$conf['security']['openid']['trust_root']='0';
+$conf['security']['openid']['trusted_server']='openid1.example.com,openid2.example.com';
+$conf['security']['openid']['trusted_server']='0';
+$conf['security']['openid']['update_user']=true;
+$conf['security']['openid']['user_identity']=true;
+$conf['security']['openid']['provider']['name']='google';
+$conf['security']['openid']['provider']['google']['xrds_uri']="http://google.com/accounts/o8/id";
+$conf['security']['openid']['provider']['google']['map_attribute']="email";
+$conf['security']['openid']['provider']['google']['name']="Google";
+$conf['security']['openid']['provider']['google']['map_internal']="mail";
+$conf['security']['openid']['provider']['yahoo']['xrds_uri']="http://??????";
+$conf['security']['openid']['provider']['yahoo']['map_attribute']="usename";
+$conf['security']['openid']['provider']['yahoo']['map_internal']="mail";
+$conf['security']['sso'] = array();
+$conf['security']['sso']['enable']=false;
+$conf['security']['sso']['url']="http://localhost/check.php?phpsessid={id}&check=true";
+$conf['security']['sso']['url']="https://www.example.com/phpmyadmin/main.php?server=1";
+$conf['security']['sso']['auth_param_name']='authid';
+$conf['security']['sso']['auth_param_serialized']=true;
+$conf['security']['sso']['cookie']=true;
+$conf['security']['sso']['cookie_name']='0';
+$conf['security']['sso']['force']=true;
+$conf['security']['sso']['expect']='0';
+$conf['security']['sso']['expect_regexp']="/running on/";
+$conf['security']['sso']['username_regexp']="/running on localhost as ([a-z]+)@localhost/";
+$conf['security']['logout'] = array();
+$conf['security']['logout']['redirect_url']="http://your.intranet.example/";
+$conf['security']['logout']['redirect_url']='0';
+$conf['security']['user'] = array();
+$conf['security']['user']['show_admin_mail']=true;
+$conf['security']['user']['show_mail']=true;
+$conf['security']['user']['send_message']=true;
+$conf['security']['content-security-policy']=true;
+
+$conf['style-default'] = array();
+$conf['style-default']['name']='Unnamed';
+$conf['style-default']['title_background_color']='grey';
+$conf['style-default']['title_text_color']='white';
+$conf['style-default']['text_color' ]= 'black';
+$conf['style-default']['background_color' ]= '#d9d9d9';
+$conf['style-default']['inactive_background_color' ]= 'silver';
+
+
+$conf['style'] = array();
+$conf['style']['earlgrey']=array();
+$conf['style']['earlgrey']['name']='Earl grey';
+$conf['style']['earlgrey']['title_background_color']='grey';
+$conf['style']['earlgrey']['title_text_color']='white';
+$conf['style']['earlgrey']['text_color'] ='black';
+$conf['style']['earlgrey']['background_color'] = '#e9e9e9';
+$conf['style']['earlgrey']['inactive_background_color'] = 'silver';
+
+// $conf['style']['system']=array();
+// $conf['style']['system']['name']='System colors';
+// $conf['style']['system']['title_background_color']='Menu';
+// $conf['style']['system']['title_text_color']='MenuText';
+// $conf['style']['system']['text_color'] ='WindowText';
+// $conf['style']['system']['background_color'] = 'Background';
+// $conf['style']['system']['inactive_background_color'] = 'WindowFrame';
+
+$conf['style']['modern']=array();
+$conf['style']['modern']['name']='Blue sky';
+$conf['style']['modern']['title_background_color']='#3F6194';
+$conf['style']['modern']['title_text_color']='white';
+$conf['style']['modern']['text_color'] ='black';
+$conf['style']['modern']['background_color'] = '#F3F3F3';
+$conf['style']['modern']['inactive_background_color'] = '#CCCCCC';
+
+$conf['style']['moorweide']=array();
+$conf['style']['moorweide']['name']='Moorweide';
+$conf['style']['moorweide']['title_background_color']='#006633';
+$conf['style']['moorweide']['title_text_color']='white';
+$conf['style']['moorweide']['text_color'] ='black';
+$conf['style']['moorweide']['background_color'] = '#F5FFFA';
+$conf['style']['moorweide']['inactive_background_color'] = '#CEE6DA';
+
+$conf['style']['dark']=array();
+$conf['style']['dark']['name']='Dark';
+$conf['style']['dark']['title_background_color']='#868685';
+$conf['style']['dark']['title_text_color']='#DCDCDC';
+$conf['style']['dark']['text_color'] ='#FFFFFF';
+$conf['style']['dark']['background_color'] = '#201F1D';
+$conf['style']['dark']['inactive_background_color'] = '#868685';
+
+$conf['theme'] = array();
+$conf['theme']['compiler'] = array();
+$conf['theme']['compiler']['enable']=true;
+$conf['theme']['compiler']['cache']=true;
+$conf['theme']['compiler']['chmod']='';
+$conf['theme']['compiler']['compile_at_logout']=false;
+$conf['wiki'] = array();
+$conf['wiki']['convert_html']=true;
+$conf['wiki']['convert_bbcode']=true;
+$conf['wiki']['tag_strong']= "*";
+$conf['wiki']['tag_emphatic']= "_";
+
+$conf['application']['name' ] = OR_TITLE;
+$conf['application']['version' ] = OR_VERSION;
+$conf['application']['operator'] = OR_TITLE;
+$conf['production']= true;
+
+?>+
\ No newline at end of file
diff --git a/util/include.inc.php b/util/include.inc.php
@@ -14,6 +14,7 @@ require_once( OR_SERVICECLASSES_DIR."JSON.class.".PHP_EXT );
require_once( OR_SERVICECLASSES_DIR."Less.".PHP_EXT );
require_once( OR_SERVICECLASSES_DIR."JSqueeze.class.".PHP_EXT );
require_once( OR_SERVICECLASSES_DIR."Password.class.".PHP_EXT );
+require_once( OR_SERVICECLASSES_DIR."Spyc.class.".PHP_EXT );
require_once( OR_SERVICECLASSES_DIR."exception/OpenRatException.class.".PHP_EXT );
require_once( OR_SERVICECLASSES_DIR."exception/SecurityException.class.".PHP_EXT );
diff --git a/version.ini b/version.ini
@@ -1,5 +0,0 @@
-rev=3255
-node=cc677122a71334749f6f99e272ad7a19fa928b0e
-date=Mon Nov 13 00:02:35 2017 +0100
-description=Für die CSS-Sourcemap den Dateinamen angeben, damit das Mapping ein Ziel hat.
-author=Jan Dankert