openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

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:
config/.htaccess | 2++
config/config-all.ini.php | 1451-------------------------------------------------------------------------------
config/config-default.php | 871-------------------------------------------------------------------------------
config/config.ini.php | 11-----------
config/config.yml | 12++++++++++++
config/convert.sh | 52----------------------------------------------------
config/dos2unix.sh | 10----------
dispatcher.php | 7+++++--
doc/config-all-example.yml | 1451+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
util/Preferences.class.php | 157+++++++++++++++++++++++++++----------------------------------------------------
util/Spyc.class.php | 1161+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
util/config-default.php | 880+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
util/include.inc.php | 1+
version.ini | 5-----
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 = "&laquo;" -;editor.html.override_speech_close = "&raquo;" - -; 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:&euro; (c):&copy; (r):&reg; ^1:&sup1; ^2:&sup2; ^3:&sup3; 1/4:&frac14; 1/2:&frac12; 3/4:&frac34;" - - - - -;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 = " &raquo; " - - -; 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,&euro;" -;replace.copy = "(c),&copy;" -; -; 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']= "&laquo;"; -$conf['editor']['html']['override_speech_close']= "&raquo;"; -$conf['editor']['html']['rendermode']="sgml"; -$conf['editor']['html']['rendermode']="xml"; -$conf['editor']['html']['replace']= "EUR:&euro;"; -$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']= " &raquo"; -$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,&euro;"; -$conf['replace']['copy']= "(c),&copy;"; -$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 : "&laquo;" +# editor.html.override_speech_close : "&raquo;" + +# 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:&euro; (c):&copy; (r):&reg; ^1:&sup1; ^2:&sup2; ^3:&sup3; 1/4:&frac14; 1/2:&frac12; 3/4:&frac34;" + + + + +# 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 : " &raquo; " + + +# 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,&euro;" +# replace.copy : "(c),&copy;" +# +# 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']= "&laquo;"; +$conf['editor']['html']['override_speech_close']= "&raquo;"; +$conf['editor']['html']['rendermode']="sgml"; +$conf['editor']['html']['rendermode']="xml"; +$conf['editor']['html']['replace']= "EUR:&euro;"; +$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']= " &raquo"; +$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,&euro;"; +$conf['replace']['copy']= "(c),&copy;"; +$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