ÿØÿà JFIF    ÿÛ „ ( %!1!%*+...983,7(-.- var/softaculous/modx/config.inc.php000064400000006213152343427040013406 0ustar00 ; DO NOT DELETE THE ABOVE LINE!!! ; Doing so will expose this configuration file through your web site! ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; config.TEMPLATE.inc.php ; ; Copyright (c) 2014-2024 Simon Fraser University ; Copyright (c) 2003-2024 John Willinsky ; Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. ; ; OJS Configuration settings. ; Rename config.TEMPLATE.inc.php to config.inc.php to use. ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ; General Settings ; ;;;;;;;;;;;;;;;;;;;; [general] ; An application-specific key that is required for the app to run ; Internally this is used for any encryption (specifically cookie encryption if enabled) app_key = "[[app_key]]" ; Set this to On once the system has been installed ; (This is generally done automatically by the installer) installed = On ; The canonical URL to the OJS installation (excluding the trailing slash) base_url = "[[softurl]]" ; Enable strict mode. This will more aggressively cause errors/warnings when ; deprecated behaviour exists in the codebase. strict = Off ; Session cookie name session_cookie_name = OJSSID ; Session cookie path; if not specified, defaults to the detected base path ; session_cookie_path = / ; Number of days a session remains valid while idle. Fractional days are allowed ; (e.g. 0.5 = 12 hours, 0.0833 ~ 2 hours); the value is clamped to a minimum of 1 minute. ; To expire sessions when the browser closes, use session_expire_on_close in [security] session_lifetime = 7 ; SameSite configuration for the cookie, see possible values and explanations ; at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite ; To set the "Secure" attribute for the cookie see the setting force_ssl at the [security] group session_samesite = Lax ; Site time zone ; Please refer to https://www.php.net/timezones for a full list of supported ; time zones. ; I.e.: "Europe/Amsterdam" ; time_zone="Europe/Amsterdam" time_zone = [[timezone]] ; Short and long date formats date_format_short = "Y-m-d" date_format_long = "F j, Y" datetime_format_short = "Y-m-d h:i A" datetime_format_long = "F j, Y - h:i A" time_format = "h:i A" ; Use fopen(...) for URL-based reads. Modern versions of dspace ; will not accept requests using fopen, as it does not provide a ; User Agent, so this option is disabled by default. If this feature ; is disabled by PHP's configuration, this setting will be ignored. allow_url_fopen = Off ; Base URL override settings: Entries like the following examples can ; be used to override the base URLs used by OJS. If you want to use a ; proxy to rewrite URLs to OJS, configure your proxy's URL with this format. ; Syntax: base_url[journal_path] = http://www.example.com ; ; Example1: URLs that aren't part of a particular journal. ; Example1: base_url[index] = http://www.example.com ; Example2: URLs that map to a subdirectory. ; Example2: base_url[myJournal] = http://www.example.com/myJournal ; Example3: URLs that map to a subdomain. ; Example3: base_url[myOtherJournal] = http://myOtherJournal.example.com ; Generate RESTful URLs using mod_rewrite. This requires the ; rewrite directive to be enabled in your .htaccess or httpd.conf. ; See FAQ for more details. restful_urls = Off ; Restrict the list of allowed hosts to prevent HOST header injection. ; See docs/README.md for more details. The list should be JSON-formatted. ; An empty string indicates that all hosts should be trusted (not recommended!) ; Example: ; allowed_hosts = '["myjournal.tld", "anotherjournal.tld", "mylibrary.tld"]' allowed_hosts = "[\"[[domhost]]\"]" ; Allow the X_FORWARDED_FOR header to override the REMOTE_ADDR as the source IP ; Set this to "On" if you are behind a reverse proxy and you control the ; X_FORWARDED_FOR header. ; Warning: This defaults to "On" if unset for backwards compatibility. trust_x_forwarded_for = Off ; Display a message on the site admin and journal manager user home pages if there is an upgrade available show_upgrade_warning = On ; Set the following parameter to off if you want to work with the uncompiled (non-minified) JavaScript ; source for debugging or if you are working off a development branch without compiled JavaScript. enable_minified = On ; Provide a unique site ID and OAI base URL to PKP for statistics and security ; alert purposes only. enable_beacon = On ; Set this to "On" if you would like to only have a single, site-wide Privacy ; Statement, rather than a separate Privacy Statement for each journal. Setting ; this to "Off" will allow you to enter a site-wide Privacy Statement as well ; as separate Privacy Statements for each journal. sitewide_privacy_statement = Off ; The number of days a new user has to validate their account. ; A new user account will be removed if this many days have passed since the user registered ; their account, and they have not validated their account or logged in. If set to 0, ; unvalidated accounts will never be removed. Use this setting to automatically remove bot registrations. user_validation_period = 28 ; Turn sandbox mode to On in order to prevent the software from interacting with outside systems. ; Use this for development or testing purposes. sandbox = Off ;;;;;;;;;;;;;;;;;;;;; ; Database Settings ; ;;;;;;;;;;;;;;;;;;;;; [database] driver = mysqli host = [[softdbhost]] username = [[softdbuser]] password = [[softdbpass]] name = [[softdb]] ; Set the non-standard port and/or socket, if used ; port = 3306 ; unix_socket = /var/run/mysqld/mysqld.sock ; Database collation ; collation = utf8_general_ci ; Enable database debug output (very verbose!) debug = Off ;;;;;;;;;;;;;;;;;; ; Cache Settings ; ;;;;;;;;;;;;;;;;;; [cache] ; Default driver for Laravel-based caching. Currently supports opcache and file drivers. ; By default, the file is used. ; default = file ; Path to store cache contents for file or opcode based caches. ; path = cache/opcache ; For site visitors who are not logged in, many pages are often entirely ; static (e.g. About, the home page, etc). If the option below is enabled, ; these pages will be cached in local flat files for the number of hours ; specified in the web_cache_hours option. This will cut down on server ; overhead for many requests, but should be used with caution because: ; 1) Things like journal metadata changes will not be reflected in cached ; data until the cache expires or is cleared, and ; 2) This caching WILL NOT RESPECT DOMAIN-BASED SUBSCRIPTIONS. ; However, for situations like hosting high-volume open access journals, it's ; an easy way of decreasing server load. ; ; When using web_cache, configure a tool to periodically clear out cache files ; such as CRON. For example, configure it to run the following command: ; find .../ojs/cache -maxdepth 1 -name wc-\*.html -mtime +1 -exec rm "{}" ";" web_cache = Off web_cache_hours = 1 ;;;;;;;;;;;;;;;;;;;;;;;;; ; Localization Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;; [i18n] ; Default locale locale = en ; Database connection character set connection_charset = utf8 ;;;;;;;;;;;;;;;;; ; File Settings ; ;;;;;;;;;;;;;;;;; [files] ; Complete path to directory to store uploaded files ; (This directory should not be directly web-accessible) ; Windows users should use forward slashes files_dir = [[softdatadir]] ; Path to the directory to store public uploaded files ; (This directory should be web-accessible and the specified path ; should be relative to the base OJS directory) ; Windows users should use forward slashes public_files_dir = public ; The maximum allowed size in kilobytes of each user's public files ; directory. This is where user's can upload images through the ; tinymce editor to their bio. Editors can upload images for ; some of the settings. ; Set this to 0 to disallow such uploads. public_user_dir_size = 5000 ; Permissions mask for created files and directories umask = 0022 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Fileinfo (MIME) Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;; [finfo] ; mime_database_path = /etc/magic.mime ;;;;;;;;;;;;;;;;;;;;; ; Security Settings ; ;;;;;;;;;;;;;;;;;;;;; [security] ; Cipher algorithm used to generate the app key and encryption purpose ; Available options: aes-128-cbc, aes-128-gcm, aes-256-cbc, aes-256-gcm ; cipher = aes-256-cbc ; Whether cookies will be encrypted. ; Changing this setting will log out all users. ; cookie_encryption = On ; Force SSL connections site-wide and also sets the "Secure" flag for session cookies ; See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#secure force_ssl = Off ; Force SSL connections for login only force_login_ssl = Off ; This check will invalidate a session if the user's IP address changes. ; Enabling this option provides some additional security, but may cause ; login problems for some users (e.g. if a user IP is changed frequently ; by a server or network configuration). session_check_ip = On ; The encryption (hashing) algorithm to use for encrypting user passwords ; Valid values are: md5, sha1 ; NOTE: This hashing method is deprecated, but necessary to permit gradual ; migration of old password hashes. encryption = sha1 ; When set to On, the session cookie expires when the browser is closed. ; The server-side session data still persists for session_lifetime days ; and is cleaned up by garbage collection. session_expire_on_close = Off ; Number of days the "remember me" persistent-login cookie remains valid. Fractional ; days are allowed. Only applies when the user ticks "remember me" at login. ; To extend login beyond the idle session, set this greater than session_lifetime in ; [general]; it is an absolute window measured from login (not refreshed on activity). remember_me_lifetime = 30 ; The unique salt to use for generating password reset hashes salt = "YouMustSetASecretKeyHere!!" ; The unique secret used for encoding and decoding API keys api_key_secret = "" ; The number of seconds before a password reset hash expires (defaults to 7200 / 2 hours) reset_seconds = 7200 ; Allowed HTML tags for fields that permit restricted HTML. ; Use e.g. "img[src,alt],p" to allow "src" and "alt" attributes to the "img" ; tag, and also to permit the "p" paragraph tag. Unspecified attributes will be ; stripped. allowed_html = "a[href|target|title],em,strong,cite,code,ul,ol,li[class],dl,dt,dd,b,i,u,img[src|alt],sup,sub,br,p" ; Allowed HTML tags for submission titles only ; Unspecified attributes will be stripped. allowed_title_html = "b,i,u,sup,sub" ;N.b.: The implicit_auth parameter has been removed in favor of plugin implementations such as shibboleth ; The URL to use to fetch the plugin gallery plugin list ; BEWARE: You should not extend the gallery with custom plugin gallery listing that collide with the official ones! ;plugin_gallery_urls = '["https://pkp.sfu.ca/ojs/xml/plugins.xml"]' ;;;;;;;;;;;;;;;;;; ; Email Settings ; ;;;;;;;;;;;;;;;;;; [email] ; Default method to send emails ; Available options: sendmail, smtp, log, phpmailer default = sendmail ; Path to the sendmail, -bs argument is for using SMTP protocol sendmail_path = "/usr/sbin/sendmail -bs" ; Use SMTP for sending mail instead of mail() ; smtp = On ; SMTP server settings ; smtp_server = mail.example.com ; smtp_port = 25 ; Enable SMTP authentication ; Supported smtp_auth: ssl, tls (see PHPMailer SMTPSecure) ; smtp_auth = ssl ; smtp_username = username ; smtp_password = password ; Enable suppressing SSL/TLS peer verification by SMTP transports ; Note: this is not recommended for security reasons ; smtp_suppress_cert_check = On ; Allow envelope sender to be specified ; (may not be possible with some server configurations) ; allow_envelope_sender = Off ; Default envelope sender to use if none is specified elsewhere ; default_envelope_sender = my_address@my_host.com ; Force the default envelope sender (if present) ; This is useful if setting up a site-wide no-reply address ; The reply-to field will be set with the reply-to or from address. ; force_default_envelope_sender = Off ; Force a DMARC compliant from header (RFC5322.From) ; If any of your users have email addresses in domains not under your control ; you may need to set this to be compliant with DMARC policies published by ; those 3rd party domains. ; Setting this will move the users address into the reply-to field and the ; from field wil be rewritten with the default_envelope_sender. ; To use this you must set force_default_enveloper_sender = On and ; default_envelope_sender must be set to a valid address in a domain you own. ; force_dmarc_compliant_from = Off ; The display name to use with a DMARC compliant from header ; By default the DMARC compliant from will have an empty name but this can ; be changed by adding a text here. ; You can use '%n' to insert the users name from the original from header ; and '%s' to insert the localized sitename. ; dmarc_compliant_from_displayname = '%n via %s' ; If enabled, email addresses must be validated before login is possible. require_validation = Off ; The number of days a user has to validate their account before their access key expires. validation_timeout = 14 ;;;;;;;;;;;;;;;;;;; ; Search Settings ; ;;;;;;;;;;;;;;;;;;; [search] ; Minimum indexed word length min_word_length = 3 ; The maximum number of search results fetched per keyword. These results ; are fetched and merged to provide results for searches with several keywords. results_per_keyword = 500 ; Paths to helper programs for indexing non-text files. ; Programs are assumed to output the converted text to stdout, and "%s" is ; replaced by the file argument. ; Note that using full paths to the binaries is recommended. ; Uncomment applicable lines to enable (at most one per file type). ; Additional "index[MIME_TYPE]" lines can be added for any mime type to be ; indexed. ; PDF ; index[application/pdf] = "/usr/bin/pstotext -enc UTF-8 -nopgbrk %s - | /usr/bin/tr '[:cntrl:]' ' '" ; index[application/pdf] = "/usr/bin/pdftotext -enc UTF-8 -nopgbrk %s - | /usr/bin/tr '[:cntrl:]' ' '" ; PostScript ; index[application/postscript] = "/usr/bin/pstotext -enc UTF-8 -nopgbrk %s - | /usr/bin/tr '[:cntrl:]' ' '" ; index[application/postscript] = "/usr/bin/ps2ascii %s | /usr/bin/tr '[:cntrl:]' ' '" ; Microsoft Word ; index[application/msword] = "/usr/bin/antiword %s" ; index[application/msword] = "/usr/bin/catdoc %s" ;;;;;;;;;;;;;;;; ; OAI Settings ; ;;;;;;;;;;;;;;;; [oai] ; Enable OAI front-end to the site oai = On ; OAI Repository identifier. This setting forms part of OAI-PMH record IDs. ; Changing this setting may affect existing clients and is not recommended. repository_id = "ojs2.[[domhost]]" ; Maximum number of records per request to serve via OAI oai_max_records = 100 ;;;;;;;;;;;;;;;;;;;;;; ; Interface Settings ; ;;;;;;;;;;;;;;;;;;;;;; [interface] ; Number of items to display per page; can be overridden on a per-journal basis items_per_page = 25 ; Number of page links to display; can be overridden on a per-journal basis page_links = 10 ;;;;;;;;;;;;;;;;;;;; ; Captcha Settings ; ;;;;;;;;;;;;;;;;;;;; [captcha] ; Whether or not to enable ReCaptcha recaptcha = off ; Public key for reCaptcha (see http://www.google.com/recaptcha) recaptcha_public_key = your_public_key ; Private key for reCaptcha (see http://www.google.com/recaptcha) recaptcha_private_key = your_private_key ; Whether or not to use Captcha on user registration captcha_on_register = on ; Whether or not to use Captcha on user login captcha_on_login = on ; Validate the hostname in the ReCaptcha response recaptcha_enforce_hostname = Off ; ALTCHA is a free and open-source alternative to Google's ReCaptcha ; The options below will manage all the required configurations used to ; work with ALTCHA instead of ReCaptcha on system ; Whether or not to enable ALTCHA altcha = off ; Private key for ALTCHA altcha_hmackey = 'Example key' ; Whether or not to use ALTCHA on user registration altcha_on_register = on ; Whether or not to use ALTCHA on user login altcha_on_login = on ; Whether or not to use ALTCHA on user lost password altcha_on_lost_password = on ; The quantity of encryption cycles performed by the ALTCHA system altcha_encrypt_number = 10000 ;;;;;;;;;;;;;;;;;;;;; ; External Commands ; ;;;;;;;;;;;;;;;;;;;;; [cli] ; These are paths to (optional) external binaries used in ; certain plug-ins or advanced program features. ; Using full paths to the binaries is recommended. ; tar (used in backup plugin, translation packaging) tar = /bin/tar ; On systems that do not have libxsl/xslt libraries installed, or for those who ; require a specific XSLT processor, you may enter the complete path to the ; XSLT renderer tool, with any required arguments. Use %xsl to substitute the ; location of the XSL stylesheet file, and %xml for the location of the XML ; source file; eg: ; /usr/bin/java -jar ~/java/xalan.jar -HTML -IN %xml -XSL %xsl xslt_command = "" ;;;;;;;;;;;;;;;;;; ; Proxy Settings ; ;;;;;;;;;;;;;;;;;; [proxy] ; The HTTP proxy configuration to use ; http_proxy = "http://username:password@192.168.1.1:8080" ; https_proxy = "https://username:password@192.168.1.1:8080" ;;;;;;;;;;;;;;;;;; ; Debug Settings ; ;;;;;;;;;;;;;;;;;; [debug] ; Display a stack trace when a fatal error occurs. ; Note that this may expose private information and should be disabled ; for any production system. show_stacktrace = Off ; Display an error message when something goes wrong. display_errors = Off ; Display deprecation warnings deprecation_warnings = Off ; Log web service request information for debugging log_web_service_info = Off ;;;;;;;;;;;;;;;;;;;;;;; ; Job Queues Settings ; ;;;;;;;;;;;;;;;;;;;;;;; [queues] ; Default queue driver default_connection = "database" ; Default queue to use when a job is added to the queue default_queue = "queue" ; Whether or not to turn on the built-in job runner. ; When enabled, jobs will be processed at the end of each web ; request to the application. ; Use of the built-in job runner is highly discouraged for high-volume ; sites. Instead, a worker daemon or cron job should be configured ; to process jobs off the application's main thread. ; See: https://docs.pkp.sfu.ca/admin-guide/en/deploy-jobs job_runner = On ; The maximum number of jobs to run in a single request when using ; the built-in job runner. job_runner_max_jobs = 30 ; The maximum number of seconds the built-in job runner should spend ; running jobs in a single request. ; This should be less than the max_execution_time the server has ; configured for PHP. ; Lower this setting if jobs are failing due to timeouts. job_runner_max_execution_time = 30 ; The maximum consumable memory that should be spent by the built-in ; job runner when running jobs. ; ; Set as a percentage, such as 80%: ; job_runner_max_memory = 80 ; ; Or set as a fixed value in megabytes: ; job_runner_max_memory = 128M ; ; When setting a fixed value in megabytes, this should be less than the ; memory_limit the server has configured for PHP. job_runner_max_memory = 80 ; Prevent multiple web requests from running JobRunner simultaneously. ; Recommended On for shared/weak hosting. Dedicated servers can disable for throughput. job_runner_cross_request_lock = On ; Controls whether queued jobs should be processed by the task scheduler. ; This setting has no effect when the job_runner and the [schedule].task_runner are enabled, ; on this situation the jobs will be processed solely by the job runner. process_jobs_at_task_scheduler = Off ; Remove failed jobs from the database after the following number of days. ; Remove this setting to leave failed jobs in the database. delete_failed_jobs_after = 180 ;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Scheduled Task Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;;;; [schedule] ; Whether or not to turn on the built-in scheduled task runner. ; When enabled, scheduled tasks will be processed at the end of each web ; request to the application. ; Use of the built-in scheduled task runner is strongly discouraged for high-volume ; sites. Use your operating system's task scheduler instead, and configure ; it to run the task scheduler every minute. ; ; Sample for the *nix crontab: ; * * * * * php lib/pkp/tools/scheduler.php run >> /dev/null 2>&1 ; ; See: https://docs.pkp.sfu.ca/admin-guide/en/deploy-scheduled-tasks task_runner = On ; How often the built-in scheduled task runner should run at the ; end of web request life cycle (value defined in seconds). ; This configuration will only affect the built-in task runner, it doesn't apply ; to the system crontab configuration. ; The default value is 60 seconds (a value smaller than that might affect the ; application performance negatively). task_runner_interval = 60 ; When enabled, an email with the scheduled task result will only be sent when an error ; has occurred. Otherwise, all tasks will generate a notification. scheduled_tasks_report_error_only = On ;;;;;;;;;;;;;;;;;;;;;;;;; ; Invitations Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;; [invitations] ; The number of days a user has to accept an invitation before it expires. expiration_days = 3 ;;;;;;;;;;;;;;;;;;;;;;;;; ; New Features Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;; [features] var/softaculous/omp/config.inc.php000064400000052501152346731040013234 0ustar00; ; DO NOT DELETE THE ABOVE LINE!!! ; Doing so will expose this configuration file through your web site! ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; config.TEMPLATE.inc.php ; ; Copyright (c) 2014-2024 Simon Fraser University ; Copyright (c) 2003-2024 John Willinsky ; Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. ; ; OMP Configuration settings. ; Rename config.TEMPLATE.inc.php to config.inc.php to use. ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ; General Settings ; ;;;;;;;;;;;;;;;;;;;; [general] ; An application-specific key that is required for the app to run ; Internally this is used for any encryption (specifically cookie encryption if enabled) app_key = "[[app_key]]" ; Set this to On once the system has been installed ; (This is generally done automatically by the installer) installed = On ; The canonical URL to the OMP installation (excluding the trailing slash) base_url = "[[softurl]]" ; Enable strict mode. This will more aggressively cause errors/warnings when ; deprecated behaviour exists in the codebase. strict = Off ; Session cookie name session_cookie_name = OMPSID ; Session cookie path; if not specified, defaults to the detected base path ; session_cookie_path = / ; Number of days a session remains valid while idle. Fractional days are allowed ; (e.g. 0.5 = 12 hours, 0.0833 ~ 2 hours); the value is clamped to a minimum of 1 minute. ; To expire sessions when the browser closes, use session_expire_on_close in [security] session_lifetime = 7 ; SameSite configuration for the cookie, see possible values and explanations ; at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite ; To set the "Secure" attribute for the cookie see the setting force_ssl at the [security] group session_samesite = Lax ; Site time zone ; Please refer to https://www.php.net/timezones for a full list of supported ; time zones. ; I.e.: "Europe/Amsterdam" ; time_zone="Europe/Amsterdam" time_zone = [[timezone]] ; Short and long date formats date_format_short = "Y-m-d" date_format_long = "F j, Y" datetime_format_short = "Y-m-d h:i A" datetime_format_long = "F j, Y - h:i A" time_format = "h:i A" ; Use fopen(...) for URL-based reads. Modern versions of dspace ; will not accept requests using fopen, as it does not provide a ; User Agent, so this option is disabled by default. If this feature ; is disabled by PHP's configuration, this setting will be ignored. allow_url_fopen = Off ; Base URL override settings: Entries like the following examples can ; be used to override the base URLs used by OMP. If you want to use a ; proxy to rewrite URLs to OMP, configure your proxy's URL with this format. ; Syntax: base_url[press_path] = http://www.example.com ; ; Example1: URLs that aren't part of a particular press. ; Example1: base_url[index] = http://www.example.com ; Example2: URLs that map to a subdirectory. ; Example2: base_url[myPress] = http://www.example.com/myPress ; Example3: URLs that map to a subdomain. ; Example3: base_url[myOtherPress] = http://myOtherPress.example.com ; Generate RESTful URLs using mod_rewrite. This requires the ; rewrite directive to be enabled in your .htaccess or httpd.conf. ; See FAQ for more details. restful_urls = Off ; Restrict the list of allowed hosts to prevent HOST header injection. ; See docs/README.md for more details. The list should be JSON-formatted. ; An empty string indicates that all hosts should be trusted (not recommended!) ; Example: ; allowed_hosts = '["mypress.tld", "anotherpress.tld", "mylibrary.tld"]' allowed_hosts = "[\"[[domhost]]\"]" ; Allow the X_FORWARDED_FOR header to override the REMOTE_ADDR as the source IP ; Set this to "On" if you are behind a reverse proxy and you control the ; X_FORWARDED_FOR header. ; Warning: This defaults to "On" if unset for backwards compatibility. trust_x_forwarded_for = Off ; Display a message on the site admin and press manager user home pages if there is an upgrade available show_upgrade_warning = On ; Set the following parameter to off if you want to work with the uncompiled (non-minified) JavaScript ; source for debugging or if you are working off a development branch without compiled JavaScript. enable_minified = On ; Provide a unique site ID and OAI base URL to PKP for statistics and security ; alert purposes only. enable_beacon = On ; Set this to "On" if you would like to only have a single, site-wide Privacy ; Statement, rather than a separate Privacy Statement for each press. Setting ; this to "Off" will allow you to enter a site-wide Privacy Statement as well ; as separate Privacy Statements for each press. sitewide_privacy_statement = Off ; The number of days a new user has to validate their account. ; A new user account will be removed if this many days have passed since the user registered ; their account, and they have not validated their account or logged in. If set to 0, ; unvalidated accounts will never be removed. Use this setting to automatically remove bot registrations. user_validation_period = 28 ; Turn sandbox mode to On in order to prevent the software from interacting with outside systems. ; Use this for development or testing purposes. sandbox = Off ;;;;;;;;;;;;;;;;;;;;; ; Database Settings ; ;;;;;;;;;;;;;;;;;;;;; [database] driver = mysqli host = [[softdbhost]] username = [[softdbuser]] password = [[softdbpass]] name = [[softdb]] ; Set the non-standard port and/or socket, if used ; port = 3306 ; unix_socket = /var/run/mysqld/mysqld.sock ; Database collation ; collation = utf8_general_ci ; Enable database debug output (very verbose!) debug = Off ;;;;;;;;;;;;;;;;;; ; Cache Settings ; ;;;;;;;;;;;;;;;;;; [cache] ; Default driver for Laravel-based caching. Currently supports opcache and file drivers. ; By default, the file is used. ; default = file ; Path to store cache contents for file or opcode based caches. ; path = cache/opcache ; For site visitors who are not logged in, many pages are often entirely ; static (e.g. About, the home page, etc). If the option below is enabled, ; these pages will be cached in local flat files for the number of hours ; specified in the web_cache_hours option. This will cut down on server ; overhead for many requests, but should be used with caution because: ; 1) Things like press metadata changes will not be reflected in cached ; data until the cache expires or is cleared, and ; 2) This caching WILL NOT RESPECT DOMAIN-BASED SUBSCRIPTIONS. ; However, for situations like hosting high-volume open access presses, it's ; an easy way of decreasing server load. ; ; When using web_cache, configure a tool to periodically clear out cache files ; such as CRON. For example, configure it to run the following command: ; find .../omp/cache -maxdepth 1 -name wc-\*.html -mtime +1 -exec rm "{}" ";" web_cache = Off web_cache_hours = 1 ;;;;;;;;;;;;;;;;;;;;;;;;; ; Localization Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;; [i18n] ; Default locale locale = en ; Database connection character set connection_charset = utf8 ;;;;;;;;;;;;;;;;; ; File Settings ; ;;;;;;;;;;;;;;;;; [files] ; Complete path to directory to store uploaded files ; (This directory should not be directly web-accessible) ; Windows users should use forward slashes files_dir = [[softdatadir]] ; Path to the directory to store public uploaded files ; (This directory should be web-accessible and the specified path ; should be relative to the base OMP directory) ; Windows users should use forward slashes public_files_dir = public ; The maximum allowed size in kilobytes of each user's public files ; directory. This is where user's can upload images through the ; tinymce editor to their bio. Editors can upload images for ; some of the settings. ; Set this to 0 to disallow such uploads. public_user_dir_size = 5000 ; Permissions mask for created files and directories umask = 0022 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Fileinfo (MIME) Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;; [finfo] ; mime_database_path = /etc/magic.mime ;;;;;;;;;;;;;;;;;;;;; ; Security Settings ; ;;;;;;;;;;;;;;;;;;;;; [security] ; Cipher algorithm used to generate the app key and encryption purpose ; Available options: aes-128-cbc, aes-128-gcm, aes-256-cbc, aes-256-gcm ; cipher = aes-256-cbc ; Whether cookies will be encrypted. ; Changing this setting will log out all users. ; cookie_encryption = On ; Force SSL connections site-wide and also sets the "Secure" flag for session cookies ; See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#secure force_ssl = Off ; Force SSL connections for login only force_login_ssl = Off ; This check will invalidate a session if the user's IP address changes. ; Enabling this option provides some additional security, but may cause ; login problems for some users (e.g. if a user IP is changed frequently ; by a server or network configuration). session_check_ip = On ; The encryption (hashing) algorithm to use for encrypting user passwords ; Valid values are: md5, sha1 ; NOTE: This hashing method is deprecated, but necessary to permit gradual ; migration of old password hashes. encryption = sha1 ; When set to On, the session cookie expires when the browser is closed. ; The server-side session data still persists for session_lifetime days ; and is cleaned up by garbage collection. session_expire_on_close = Off ; Number of days the "remember me" persistent-login cookie remains valid. Fractional ; days are allowed. Only applies when the user ticks "remember me" at login. ; To extend login beyond the idle session, set this greater than session_lifetime in ; [general]; it is an absolute window measured from login (not refreshed on activity). remember_me_lifetime = 30 ; The unique salt to use for generating password reset hashes salt = "YouMustSetASecretKeyHere!!" ; The unique secret used for encoding and decoding API keys api_key_secret = "" ; The number of seconds before a password reset hash expires (defaults to 7200 / 2 hours) reset_seconds = 7200 ; Allowed HTML tags for fields that permit restricted HTML. ; Use e.g. "img[src,alt],p" to allow "src" and "alt" attributes to the "img" ; tag, and also to permit the "p" paragraph tag. Unspecified attributes will be ; stripped. allowed_html = "a[href|target|title],em,strong,cite,code,ul,ol,li[class],dl,dt,dd,b,i,u,img[src|alt],sup,sub,br,p" ; Allowed HTML tags for submission titles only ; Unspecified attributes will be stripped. allowed_title_html = "b,i,u,sup,sub" ;N.b.: The implicit_auth parameter has been removed in favor of plugin implementations such as shibboleth ; The URL to use to fetch the plugin gallery plugin list ; BEWARE: You should not extend the gallery with custom plugin gallery listing that collide with the official ones! ;plugin_gallery_urls = '["https://pkp.sfu.ca/ojs/xml/plugins.xml"]' ;;;;;;;;;;;;;;;;;; ; Email Settings ; ;;;;;;;;;;;;;;;;;; [email] ; Default method to send emails ; Available options: sendmail, smtp, log, phpmailer default = sendmail ; Path to the sendmail, -bs argument is for using SMTP protocol sendmail_path = "/usr/sbin/sendmail -bs" ; Use SMTP for sending mail instead of mail() ; smtp = On ; SMTP server settings ; smtp_server = mail.example.com ; smtp_port = 25 ; Enable SMTP authentication ; Supported smtp_auth: ssl, tls (see PHPMailer SMTPSecure) ; smtp_auth = ssl ; smtp_username = username ; smtp_password = password ; Enable suppressing SSL/TLS peer verification by SMTP transports ; Note: this is not recommended for security reasons ; smtp_suppress_cert_check = On ; Allow envelope sender to be specified ; (may not be possible with some server configurations) ; allow_envelope_sender = Off ; Default envelope sender to use if none is specified elsewhere ; default_envelope_sender = my_address@my_host.com ; Force the default envelope sender (if present) ; This is useful if setting up a site-wide no-reply address ; The reply-to field will be set with the reply-to or from address. ; force_default_envelope_sender = Off ; Force a DMARC compliant from header (RFC5322.From) ; If any of your users have email addresses in domains not under your control ; you may need to set this to be compliant with DMARC policies published by ; those 3rd party domains. ; Setting this will move the users address into the reply-to field and the ; from field wil be rewritten with the default_envelope_sender. ; To use this you must set force_default_enveloper_sender = On and ; default_envelope_sender must be set to a valid address in a domain you own. ; force_dmarc_compliant_from = Off ; The display name to use with a DMARC compliant from header ; By default the DMARC compliant from will have an empty name but this can ; be changed by adding a text here. ; You can use '%n' to insert the users name from the original from header ; and '%s' to insert the localized sitename. ; dmarc_compliant_from_displayname = '%n via %s' ; If enabled, email addresses must be validated before login is possible. require_validation = Off ; The number of days a user has to validate their account before their access key expires. validation_timeout = 14 ;;;;;;;;;;;;;;;;;;; ; Search Settings ; ;;;;;;;;;;;;;;;;;;; [search] ; Minimum indexed word length min_word_length = 3 ; The maximum number of search results fetched per keyword. These results ; are fetched and merged to provide results for searches with several keywords. results_per_keyword = 500 ; Paths to helper programs for indexing non-text files. ; Programs are assumed to output the converted text to stdout, and "%s" is ; replaced by the file argument. ; Note that using full paths to the binaries is recommended. ; Uncomment applicable lines to enable (at most one per file type). ; Additional "index[MIME_TYPE]" lines can be added for any mime type to be ; indexed. ; PDF ; index[application/pdf] = "/usr/bin/pstotext -enc UTF-8 -nopgbrk %s - | /usr/bin/tr '[:cntrl:]' ' '" ; index[application/pdf] = "/usr/bin/pdftotext -enc UTF-8 -nopgbrk %s - | /usr/bin/tr '[:cntrl:]' ' '" ; PostScript ; index[application/postscript] = "/usr/bin/pstotext -enc UTF-8 -nopgbrk %s - | /usr/bin/tr '[:cntrl:]' ' '" ; index[application/postscript] = "/usr/bin/ps2ascii %s | /usr/bin/tr '[:cntrl:]' ' '" ; Microsoft Word ; index[application/msword] = "/usr/bin/antiword %s" ; index[application/msword] = "/usr/bin/catdoc %s" ;;;;;;;;;;;;;;;; ; OAI Settings ; ;;;;;;;;;;;;;;;; [oai] ; Enable OAI front-end to the site oai = On ; OAI Repository identifier. This setting forms part of OAI-PMH record IDs. ; Changing this setting may affect existing clients and is not recommended. repository_id = "omp.[[domhost]]" ; Maximum number of records per request to serve via OAI oai_max_records = 100 ;;;;;;;;;;;;;;;;;;;;;; ; Interface Settings ; ;;;;;;;;;;;;;;;;;;;;;; [interface] ; Number of items to display per page; can be overridden on a per-press basis items_per_page = 25 ; Number of page links to display; can be overridden on a per-press basis page_links = 10 ;;;;;;;;;;;;;;;;;;;; ; Captcha Settings ; ;;;;;;;;;;;;;;;;;;;; [captcha] ; Whether or not to enable ReCaptcha recaptcha = off ; Public key for reCaptcha (see http://www.google.com/recaptcha) recaptcha_public_key = your_public_key ; Private key for reCaptcha (see http://www.google.com/recaptcha) recaptcha_private_key = your_private_key ; Whether or not to use Captcha on user registration captcha_on_register = on ; Whether or not to use Captcha on user login captcha_on_login = on ; Validate the hostname in the ReCaptcha response recaptcha_enforce_hostname = Off ; ALTCHA is a free and open-source alternative to Google's ReCaptcha ; The options below will manage all the required configurations used to ; work with ALTCHA instead of ReCaptcha on system ; Whether or not to enable ALTCHA altcha = off ; Private key for ALTCHA altcha_hmackey = 'Example key' ; Whether or not to use ALTCHA on user registration altcha_on_register = on ; Whether or not to use ALTCHA on user login altcha_on_login = on ; Whether or not to use ALTCHA on user lost password altcha_on_lost_password = on ; The quantity of encryption cycles performed by the ALTCHA system altcha_encrypt_number = 10000 ;;;;;;;;;;;;;;;;;;;;; ; External Commands ; ;;;;;;;;;;;;;;;;;;;;; [cli] ; These are paths to (optional) external binaries used in ; certain plug-ins or advanced program features. ; Using full paths to the binaries is recommended. ; tar (used in backup plugin, translation packaging) tar = /bin/tar ; On systems that do not have libxsl/xslt libraries installed, or for those who ; require a specific XSLT processor, you may enter the complete path to the ; XSLT renderer tool, with any required arguments. Use %xsl to substitute the ; location of the XSL stylesheet file, and %xml for the location of the XML ; source file; eg: ; /usr/bin/java -jar ~/java/xalan.jar -IN %xml -XSL %xsl %params ; See xslt_parameter_option below for information on the %params token. xslt_command = "" ; For providing XSL parameters to the XSL transformer configured in ; xslt_command, the following snippet will be repeated once for each parameter ; to be supplied. %n will be replaced with the parameter name and %v will be ; replaced by the parameter value. The set of options thus constructed will be ; inserted into the xslt_command above in place of the %params token. xslt_parameter_option = "-PARAM %n %v " ;;;;;;;;;;;;;;;;;; ; Proxy Settings ; ;;;;;;;;;;;;;;;;;; [proxy] ; The HTTP proxy configuration to use ; http_proxy = "http://username:password@192.168.1.1:8080" ; https_proxy = "https://username:password@192.168.1.1:8080" ;;;;;;;;;;;;;;;;;; ; Debug Settings ; ;;;;;;;;;;;;;;;;;; [debug] ; Display a stack trace when a fatal error occurs. ; Note that this may expose private information and should be disabled ; for any production system. show_stacktrace = Off ; Display an error message when something goes wrong. display_errors = Off ; Display deprecation warnings deprecation_warnings = Off ; Log web service request information for debugging log_web_service_info = Off ;;;;;;;;;;;;;;;;;;;;;;; ; Job Queues Settings ; ;;;;;;;;;;;;;;;;;;;;;;; [queues] ; Default queue driver default_connection = "database" ; Default queue to use when a job is added to the queue default_queue = "queue" ; Whether or not to turn on the built-in job runner. ; When enabled, jobs will be processed at the end of each web ; request to the application. ; Use of the built-in job runner is highly discouraged for high-volume ; sites. Instead, a worker daemon or cron job should be configured ; to process jobs off the application's main thread. ; See: https://docs.pkp.sfu.ca/admin-guide/en/deploy-jobs job_runner = On ; The maximum number of jobs to run in a single request when using ; the built-in job runner. job_runner_max_jobs = 30 ; The maximum number of seconds the built-in job runner should spend ; running jobs in a single request. ; This should be less than the max_execution_time the server has ; configured for PHP. ; Lower this setting if jobs are failing due to timeouts. job_runner_max_execution_time = 30 ; The maximum consumable memory that should be spent by the built-in ; job runner when running jobs. ; ; Set as a percentage, such as 80%: ; job_runner_max_memory = 80 ; ; Or set as a fixed value in megabytes: ; job_runner_max_memory = 128M ; ; When setting a fixed value in megabytes, this should be less than the ; memory_limit the server has configured for PHP. job_runner_max_memory = 80 ; Prevent multiple web requests from running JobRunner simultaneously. ; Recommended On for shared/weak hosting. Dedicated servers can disable for throughput. job_runner_cross_request_lock = On ; Controls whether queued jobs should be processed by the task scheduler. ; This setting has no effect when the job_runner and the [schedule].task_runner are enabled, ; on this situation the jobs will be processed solely by the job runner. process_jobs_at_task_scheduler = Off ; Remove failed jobs from the database after the following number of days. ; Remove this setting to leave failed jobs in the database. delete_failed_jobs_after = 180 ;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Scheduled Task Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;;;; [schedule] ; Whether or not to turn on the built-in scheduled task runner. ; When enabled, scheduled tasks will be processed at the end of each web ; request to the application. ; Use of the built-in scheduled task runner is strongly discouraged for high-volume ; sites. Use your operating system's task scheduler instead, and configure ; it to run the task scheduler every minute. ; ; Sample for the *nix crontab: ; * * * * * php lib/pkp/tools/scheduler.php run >> /dev/null 2>&1 ; ; See: task_runner = On ; How often the built-in scheduled task runner should run at the ; end of web request life cycle (value defined in seconds). ; This configuration will only affect the built-in task runner, it doesn't apply ; to the system crontab configuration. ; The default value is 60 seconds (a value smaller than that might affect the ; application performance negatively). task_runner_interval = 60 ; When enabled, an email with the scheduled task result will only be sent when an error ; has occurred. Otherwise, all tasks will generate a notification. scheduled_tasks_report_error_only = On ;;;;;;;;;;;;;;;;;;;;;;;;; ; Invitations Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;; [invitations] ; The number of days a user has to accept an invitation before it expires. expiration_days = 3 ;;;;;;;;;;;;;;;;;;;;;;;;; ; New Features Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;; [features] var/softaculous/ops/config.inc.php000064400000051547152347566610013265 0ustar00; ; DO NOT DELETE THE ABOVE LINE!!! ; Doing so will expose this configuration file through your web site! ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; config.TEMPLATE.inc.php ; ; Copyright (c) 2014-2024 Simon Fraser University ; Copyright (c) 2003-2024 John Willinsky ; Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. ; ; OPS Configuration settings. ; Rename config.TEMPLATE.inc.php to config.inc.php to use. ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ; General Settings ; ;;;;;;;;;;;;;;;;;;;; [general] ; An application-specific key that is required for the app to run ; Internally this is used for any encryption (specifically cookie encryption if enabled) app_key = "[[app_key]]" ; Set this to On once the system has been installed ; (This is generally done automatically by the installer) installed = On ; The canonical URL to the OPS installation (excluding the trailing slash) base_url = "[[softurl]]" ; Enable strict mode. This will more aggressively cause errors/warnings when ; deprecated behaviour exists in the codebase. strict = Off ; Session cookie name session_cookie_name = OPSSID ; Session cookie path; if not specified, defaults to the detected base path ; session_cookie_path = / ; Number of days a session remains valid while idle. Fractional days are allowed ; (e.g. 0.5 = 12 hours, 0.0833 ~ 2 hours); the value is clamped to a minimum of 1 minute. ; To expire sessions when the browser closes, use session_expire_on_close in [security] session_lifetime = 7 ; SameSite configuration for the cookie, see possible values and explanations ; at https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite ; To set the "Secure" attribute for the cookie see the setting force_ssl at the [security] group session_samesite = Lax ; Site time zone ; Please refer to https://www.php.net/timezones for a full list of supported ; time zones. ; I.e.: "Europe/Amsterdam" ; time_zone="Europe/Amsterdam" time_zone = [[timezone]] ; Short and long date formats date_format_short = "Y-m-d" date_format_long = "F j, Y" datetime_format_short = "Y-m-d h:i A" datetime_format_long = "F j, Y - h:i A" time_format = "h:i A" ; Use fopen(...) for URL-based reads. Modern versions of dspace ; will not accept requests using fopen, as it does not provide a ; User Agent, so this option is disabled by default. If this feature ; is disabled by PHP's configuration, this setting will be ignored. allow_url_fopen = Off ; Base URL override settings: Entries like the following examples can ; be used to override the base URLs used by OPS. If you want to use a ; proxy to rewrite URLs to OPS, configure your proxy's URL with this format. ; Syntax: base_url[server_path] = http://www.example.com ; ; Example1: URLs that aren't part of a particular server. ; Example1: base_url[index] = http://www.example.com ; Example2: URLs that map to a subdirectory. ; Example2: base_url[myServer] = http://www.example.com/myServer ; Example3: URLs that map to a subdomain. ; Example3: base_url[myOtherServer] = http://myOtherServer.example.com ; Generate RESTful URLs using mod_rewrite. This requires the ; rewrite directive to be enabled in your .htaccess or httpd.conf. ; See FAQ for more details. restful_urls = Off ; Restrict the list of allowed hosts to prevent HOST header injection. ; See docs/README.md for more details. The list should be JSON-formatted. ; An empty string indicates that all hosts should be trusted (not recommended!) ; Example: ; allowed_hosts = '["myserver.tld", "anotherserver.tld", "mylibrary.tld"]' allowed_hosts = "[\"[[domhost]]\"]" ; Allow the X_FORWARDED_FOR header to override the REMOTE_ADDR as the source IP ; Set this to "On" if you are behind a reverse proxy and you control the ; X_FORWARDED_FOR header. ; Warning: This defaults to "On" if unset for backwards compatibility. trust_x_forwarded_for = Off ; Display a message on the site admin and server manager user home pages if there is an upgrade available show_upgrade_warning = On ; Set the following parameter to off if you want to work with the uncompiled (non-minified) JavaScript ; source for debugging or if you are working off a development branch without compiled JavaScript. enable_minified = On ; Provide a unique site ID and OAI base URL to PKP for statistics and security ; alert purposes only. enable_beacon = On ; Set this to "On" if you would like to only have a single, site-wide Privacy ; Statement, rather than a separate Privacy Statement for each server. Setting ; this to "Off" will allow you to enter a site-wide Privacy Statement as well ; as separate Privacy Statements for each server. sitewide_privacy_statement = Off ; The number of days a new user has to validate their account. ; A new user account will be removed if this many days have passed since the user registered ; their account, and they have not validated their account or logged in. If set to 0, ; unvalidated accounts will never be removed. Use this setting to automatically remove bot registrations. user_validation_period = 28 ; Turn sandbox mode to On in order to prevent the software from interacting with outside systems. ; Use this for development or testing purposes. sandbox = Off ;;;;;;;;;;;;;;;;;;;;; ; Database Settings ; ;;;;;;;;;;;;;;;;;;;;; [database] driver = mysqli host = [[softdbhost]] username = [[softdbuser]] password = [[softdbpass]] name = [[softdb]] ; Set the non-standard port and/or socket, if used ; port = 3306 ; unix_socket = /var/run/mysqld/mysqld.sock ; Database collation ; collation = utf8_general_ci ; Enable database debug output (very verbose!) debug = Off ;;;;;;;;;;;;;;;;;; ; Cache Settings ; ;;;;;;;;;;;;;;;;;; [cache] ; Default driver for Laravel-based caching. Currently supports opcache and file drivers. ; By default, the file is used. ; default = file ; Path to store cache contents for file or opcode based caches. ; path = cache/opcache ; For site visitors who are not logged in, many pages are often entirely ; static (e.g. About, the home page, etc). If the option below is enabled, ; these pages will be cached in local flat files for the number of hours ; specified in the web_cache_hours option. This will cut down on server ; overhead for many requests, but should be used with caution because: ; 1) Things like server metadata changes will not be reflected in cached ; data until the cache expires or is cleared, and ; 2) This caching WILL NOT RESPECT DOMAIN-BASED SUBSCRIPTIONS. ; However, for situations like hosting high-volume open access servers, it's ; an easy way of decreasing server load. ; ; When using web_cache, configure a tool to periodically clear out cache files ; such as CRON. For example, configure it to run the following command: ; find .../ops/cache -maxdepth 1 -name wc-\*.html -mtime +1 -exec rm "{}" ";" web_cache = Off web_cache_hours = 1 ;;;;;;;;;;;;;;;;;;;;;;;;; ; Localization Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;; [i18n] ; Default locale locale = en ; Database connection character set connection_charset = utf8 ;;;;;;;;;;;;;;;;; ; File Settings ; ;;;;;;;;;;;;;;;;; [files] ; Complete path to directory to store uploaded files ; (This directory should not be directly web-accessible) ; Windows users should use forward slashes files_dir = [[softdatadir]] ; Path to the directory to store public uploaded files ; (This directory should be web-accessible and the specified path ; should be relative to the base OPS directory) ; Windows users should use forward slashes public_files_dir = public ; The maximum allowed size in kilobytes of each user's public files ; directory. This is where user's can upload images through the ; tinymce editor to their bio. Editors can upload images for ; some of the settings. ; Set this to 0 to disallow such uploads. public_user_dir_size = 5000 ; Permissions mask for created files and directories umask = 0022 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Fileinfo (MIME) Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;; [finfo] ; mime_database_path = /etc/magic.mime ;;;;;;;;;;;;;;;;;;;;; ; Security Settings ; ;;;;;;;;;;;;;;;;;;;;; [security] ; Cipher algorithm used to generate the app key and encryption purpose ; Available options: aes-128-cbc, aes-128-gcm, aes-256-cbc, aes-256-gcm ; cipher = aes-256-cbc ; Whether cookies will be encrypted. ; Changing this setting will log out all users. ; cookie_encryption = On ; Force SSL connections site-wide and also sets the "Secure" flag for session cookies ; See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#secure force_ssl = Off ; Force SSL connections for login only force_login_ssl = Off ; This check will invalidate a session if the user's IP address changes. ; Enabling this option provides some additional security, but may cause ; login problems for some users (e.g. if a user IP is changed frequently ; by a server or network configuration). session_check_ip = On ; The encryption (hashing) algorithm to use for encrypting user passwords ; Valid values are: md5, sha1 ; NOTE: This hashing method is deprecated, but necessary to permit gradual ; migration of old password hashes. encryption = sha1 ; When set to On, the session cookie expires when the browser is closed. ; The server-side session data still persists for session_lifetime days ; and is cleaned up by garbage collection. session_expire_on_close = Off ; Number of days the "remember me" persistent-login cookie remains valid. Fractional ; days are allowed. Only applies when the user ticks "remember me" at login. ; To extend login beyond the idle session, set this greater than session_lifetime in ; [general]; it is an absolute window measured from login (not refreshed on activity). remember_me_lifetime = 30 ; The unique salt to use for generating password reset hashes salt = "YouMustSetASecretKeyHere!!" ; The unique secret used for encoding and decoding API keys api_key_secret = "" ; The number of seconds before a password reset hash expires (defaults to 7200 / 2 hours) reset_seconds = 7200 ; Allowed HTML tags for fields that permit restricted HTML. ; Use e.g. "img[src,alt],p" to allow "src" and "alt" attributes to the "img" ; tag, and also to permit the "p" paragraph tag. Unspecified attributes will be ; stripped. allowed_html = "a[href|target|title],em,strong,cite,code,ul,ol,li[class],dl,dt,dd,b,i,u,img[src|alt],sup,sub,br,p" ; Allowed HTML tags for submission titles only ; Unspecified attributes will be stripped. allowed_title_html = "b,i,u,sup,sub" ;N.b.: The implicit_auth parameter has been removed in favor of plugin implementations such as shibboleth ; The URL to use to fetch the plugin gallery plugin list ; BEWARE: You should not extend the gallery with custom plugin gallery listing that collide with the official ones! ;plugin_gallery_urls = '["https://pkp.sfu.ca/ojs/xml/plugins.xml"]' ;;;;;;;;;;;;;;;;;; ; Email Settings ; ;;;;;;;;;;;;;;;;;; [email] ; Default method to send emails ; Available options: sendmail, smtp, log, phpmailer default = sendmail ; Path to the sendmail, -bs argument is for using SMTP protocol sendmail_path = "/usr/sbin/sendmail -bs" ; Use SMTP for sending mail instead of mail() ; smtp = On ; SMTP server settings ; smtp_server = mail.example.com ; smtp_port = 25 ; Enable SMTP authentication ; Supported smtp_auth: ssl, tls (see PHPMailer SMTPSecure) ; smtp_auth = ssl ; smtp_username = username ; smtp_password = password ; Enable suppressing SSL/TLS peer verification by SMTP transports ; Note: this is not recommended for security reasons ; smtp_suppress_cert_check = On ; Allow envelope sender to be specified ; (may not be possible with some server configurations) ; allow_envelope_sender = Off ; Default envelope sender to use if none is specified elsewhere ; default_envelope_sender = my_address@my_host.com ; Force the default envelope sender (if present) ; This is useful if setting up a site-wide no-reply address ; The reply-to field will be set with the reply-to or from address. ; force_default_envelope_sender = Off ; Force a DMARC compliant from header (RFC5322.From) ; If any of your users have email addresses in domains not under your control ; you may need to set this to be compliant with DMARC policies published by ; those 3rd party domains. ; Setting this will move the users address into the reply-to field and the ; from field wil be rewritten with the default_envelope_sender. ; To use this you must set force_default_enveloper_sender = On and ; default_envelope_sender must be set to a valid address in a domain you own. ; force_dmarc_compliant_from = Off ; The display name to use with a DMARC compliant from header ; By default the DMARC compliant from will have an empty name but this can ; be changed by adding a text here. ; You can use '%n' to insert the users name from the original from header ; and '%s' to insert the localized sitename. ; dmarc_compliant_from_displayname = '%n via %s' ; If enabled, email addresses must be validated before login is possible. require_validation = Off ; The number of days a user has to validate their account before their access key expires. validation_timeout = 14 ;;;;;;;;;;;;;;;;;;; ; Search Settings ; ;;;;;;;;;;;;;;;;;;; [search] ; Minimum indexed word length min_word_length = 3 ; The maximum number of search results fetched per keyword. These results ; are fetched and merged to provide results for searches with several keywords. results_per_keyword = 500 ; Paths to helper programs for indexing non-text files. ; Programs are assumed to output the converted text to stdout, and "%s" is ; replaced by the file argument. ; Note that using full paths to the binaries is recommended. ; Uncomment applicable lines to enable (at most one per file type). ; Additional "index[MIME_TYPE]" lines can be added for any mime type to be ; indexed. ; PDF ; index[application/pdf] = "/usr/bin/pstotext -enc UTF-8 -nopgbrk %s - | /usr/bin/tr '[:cntrl:]' ' '" ; index[application/pdf] = "/usr/bin/pdftotext -enc UTF-8 -nopgbrk %s - | /usr/bin/tr '[:cntrl:]' ' '" ; PostScript ; index[application/postscript] = "/usr/bin/pstotext -enc UTF-8 -nopgbrk %s - | /usr/bin/tr '[:cntrl:]' ' '" ; index[application/postscript] = "/usr/bin/ps2ascii %s | /usr/bin/tr '[:cntrl:]' ' '" ; Microsoft Word ; index[application/msword] = "/usr/bin/antiword %s" ; index[application/msword] = "/usr/bin/catdoc %s" ;;;;;;;;;;;;;;;; ; OAI Settings ; ;;;;;;;;;;;;;;;; [oai] ; Enable OAI front-end to the site oai = On ; OAI Repository identifier. This setting forms part of OAI-PMH record IDs. ; Changing this setting may affect existing clients and is not recommended. repository_id = "ops.[[domhost]]" ; Maximum number of records per request to serve via OAI oai_max_records = 100 ;;;;;;;;;;;;;;;;;;;;;; ; Interface Settings ; ;;;;;;;;;;;;;;;;;;;;;; [interface] ; Number of items to display per page; can be overridden on a per-server basis items_per_page = 25 ; Number of page links to display; can be overridden on a per-server basis page_links = 10 ;;;;;;;;;;;;;;;;;;;; ; Captcha Settings ; ;;;;;;;;;;;;;;;;;;;; [captcha] ; Whether or not to enable ReCaptcha recaptcha = off ; Public key for reCaptcha (see http://www.google.com/recaptcha) recaptcha_public_key = your_public_key ; Private key for reCaptcha (see http://www.google.com/recaptcha) recaptcha_private_key = your_private_key ; Whether or not to use Captcha on user registration captcha_on_register = on ; Whether or not to use Captcha on user login captcha_on_login = on ; Validate the hostname in the ReCaptcha response recaptcha_enforce_hostname = Off ; ALTCHA is a free and open-source alternative to Google's ReCaptcha ; The options below will manage all the required configurations used to ; work with ALTCHA instead of ReCaptcha on system ; Whether or not to enable ALTCHA altcha = off ; Private key for ALTCHA altcha_hmackey = 'Example key' ; Whether or not to use ALTCHA on user registration altcha_on_register = on ; Whether or not to use ALTCHA on user login altcha_on_login = on ; Whether or not to use ALTCHA on user lost password altcha_on_lost_password = on ; The quantity of encryption cycles performed by the ALTCHA system altcha_encrypt_number = 10000 ;;;;;;;;;;;;;;;;;;;;; ; External Commands ; ;;;;;;;;;;;;;;;;;;;;; [cli] ; These are paths to (optional) external binaries used in ; certain plug-ins or advanced program features. ; Using full paths to the binaries is recommended. ; tar (used in backup plugin, translation packaging) tar = /bin/tar ; On systems that do not have libxsl/xslt libraries installed, or for those who ; require a specific XSLT processor, you may enter the complete path to the ; XSLT renderer tool, with any required arguments. Use %xsl to substitute the ; location of the XSL stylesheet file, and %xml for the location of the XML ; source file; eg: ; /usr/bin/java -jar ~/java/xalan.jar -HTML -IN %xml -XSL %xsl xslt_command = "" ;;;;;;;;;;;;;;;;;; ; Proxy Settings ; ;;;;;;;;;;;;;;;;;; [proxy] ; The HTTP proxy configuration to use ; http_proxy = "http://username:password@192.168.1.1:8080" ; https_proxy = "https://username:password@192.168.1.1:8080" ;;;;;;;;;;;;;;;;;; ; Debug Settings ; ;;;;;;;;;;;;;;;;;; [debug] ; Display a stack trace when a fatal error occurs. ; Note that this may expose private information and should be disabled ; for any production system. show_stacktrace = Off ; Display an error message when something goes wrong. display_errors = Off ; Display deprecation warnings deprecation_warnings = Off ; Log web service request information for debugging log_web_service_info = Off ;;;;;;;;;;;;;;;;;;;;;;; ; Job Queues Settings ; ;;;;;;;;;;;;;;;;;;;;;;; [queues] ; Default queue driver default_connection = "database" ; Default queue to use when a job is added to the queue default_queue = "queue" ; Whether or not to turn on the built-in job runner. ; When enabled, jobs will be processed at the end of each web ; request to the application. ; Use of the built-in job runner is highly discouraged for high-volume ; sites. Instead, a worker daemon or cron job should be configured ; to process jobs off the application's main thread. ; See: https://docs.pkp.sfu.ca/admin-guide/en/deploy-jobs job_runner = On ; The maximum number of jobs to run in a single request when using ; the built-in job runner. job_runner_max_jobs = 30 ; The maximum number of seconds the built-in job runner should spend ; running jobs in a single request. ; This should be less than the max_execution_time the server has ; configured for PHP. ; Lower this setting if jobs are failing due to timeouts. job_runner_max_execution_time = 30 ; The maximum consumable memory that should be spent by the built-in ; job runner when running jobs. ; ; Set as a percentage, such as 80%: ; job_runner_max_memory = 80 ; ; Or set as a fixed value in megabytes: ; job_runner_max_memory = 128M ; ; When setting a fixed value in megabytes, this should be less than the ; memory_limit the server has configured for PHP. job_runner_max_memory = 80 ; Prevent multiple web requests from running JobRunner simultaneously. ; Recommended On for shared/weak hosting. Dedicated servers can disable for throughput. job_runner_cross_request_lock = On ; Controls whether queued jobs should be processed by the task scheduler. ; This setting has no effect when the job_runner and the [schedule].task_runner are enabled, ; on this situation the jobs will be processed solely by the job runner. process_jobs_at_task_scheduler = Off ; Remove failed jobs from the database after the following number of days. ; Remove this setting to leave failed jobs in the database. delete_failed_jobs_after = 180 ;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Scheduled Task Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;;;; [schedule] ; Whether or not to turn on the built-in scheduled task runner. ; When enabled, scheduled tasks will be processed at the end of each web ; request to the application. ; Use of the built-in scheduled task runner is strongly discouraged for high-volume ; sites. Use your operating system's task scheduler instead, and configure ; it to run the task scheduler every minute. ; ; Sample for the *nix crontab: ; * * * * * php lib/pkp/tools/scheduler.php run >> /dev/null 2>&1 ; ; See: task_runner = On ; How often the built-in scheduled task runner should run at the ; end of web request life cycle (value defined in seconds). ; This configuration will only affect the built-in task runner, it doesn't apply ; to the system crontab configuration. ; The default value is 60 seconds (a value smaller than that might affect the ; application performance negatively). task_runner_interval = 60 ; When enabled, an email with the scheduled task result will only be sent when an error ; has occurred. Otherwise, all tasks will generate a notification. scheduled_tasks_report_error_only = On ;;;;;;;;;;;;;;;;;;;;;;;;; ; Invitations Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;; [invitations] ; The number of days a user has to accept an invitation before it expires. expiration_days = 3 ;;;;;;;;;;;;;;;;;;;;;;;;; ; New Features Settings ; ;;;;;;;;;;;;;;;;;;;;;;;;; [features] var/softaculous/agora/config.inc.php000064400000000530152351035000013512 0ustar00 1) array_pop($a); $url= implode("manager", $a); reset($a); $a= explode("manager", str_replace("\\", "/", dirname(__FILE__))); if (count($a) > 1) array_pop($a); $pth= implode("manager", $a); unset ($a); $base_url= $url . (substr($url, -1) != "/" ? "/" : ""); $base_path= $pth . (substr($pth, -1) != "/" && substr($pth, -1) != "\\" ? "/" : ""); } // assign site_url define('MODX_SERVER_NAME', $_SERVER ['SERVER_NAME']); $site_url= ((isset ($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') || $_SERVER['SERVER_PORT'] == $https_port) ? 'https://' : 'http://'; $site_url .= MODX_SERVER_NAME; if ($_SERVER['SERVER_PORT'] != 80) $site_url= str_replace(':' . $_SERVER['SERVER_PORT'], '', $site_url); // remove port from server name   $site_url .= ($_SERVER['SERVER_PORT'] == 80 || (isset ($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') || $_SERVER['SERVER_PORT'] == $https_port) ? '' : ':' . $_SERVER['SERVER_PORT']; $site_url .= $base_url; if (!defined('MODX_BASE_PATH')) define('MODX_BASE_PATH', $base_path); if (!defined('MODX_BASE_URL')) define('MODX_BASE_URL', $base_url); if (!defined('MODX_SITE_URL')) define('MODX_SITE_URL', $site_url); if (!defined('MODX_MANAGER_PATH')) define('MODX_MANAGER_PATH', $base_path.'manager/'); if (!defined('MODX_MANAGER_URL')) define('MODX_MANAGER_URL', $site_url.'manager/'); // start cms session if(!function_exists('startCMSSession')) { function startCMSSession(){ global $site_sessionname, $https_port; session_name($site_sessionname); session_start(); $cookieExpiration= 0; if (isset ($_SESSION['mgrValidated']) || isset ($_SESSION['webValidated'])) { $contextKey= isset ($_SESSION['mgrValidated']) ? 'mgr' : 'web'; if (isset ($_SESSION['modx.' . $contextKey . '.session.cookie.lifetime']) && is_numeric($_SESSION['modx.' . $contextKey . '.session.cookie.lifetime'])) { $cookieLifetime= intval($_SESSION['modx.' . $contextKey . '.session.cookie.lifetime']); } if ($cookieLifetime) { $cookieExpiration= time() + $cookieLifetime; } if (!isset($_SESSION['modx.session.created.time'])) { $_SESSION['modx.session.created.time'] = time(); } } $secure = ((isset ($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') || $_SERVER['SERVER_PORT'] == $https_port); setcookie(session_name(), session_id(), $cookieExpiration, MODX_BASE_URL, null, $secure, true); } } ?>var/softaculous/atutor/config.inc.php000075500000005636152351655330013774 0ustar00var/softaculous/testlink/config.inc.php000064400000250770152351702430014303 0ustar00api = new stdClass(); $tlCfg->cookie = new stdClass(); $tlCfg->document_generator = new stdClass(); $tlCfg->spec_cfg = new stdClass(); $tlCfg->exec_cfg = new stdClass(); $tlCfg->exec_cfg->view_mode = new stdClass(); $tlCfg->exec_cfg->exec_mode = new stdClass(); $tlCfg->UDFStripHTMLTags = true; // allow to define additional execution types other than // defined in testcase.class.php // array(code => lblkey) // code int value > latest standard execution code defined. // lblkey => key to be used on lang_get() call. // $tlCfg->custom_execution_types = null; $tlCfg->gui = new stdClass(); $tlCfg->gui->custom_fields = new stdClass(); $tlCfg->testcase_cfg = new stdClass(); $tlCfg->req_cfg = new stdClass(); $tlCfg->validation_cfg = new stdClass(); $tlCfg->custom_fields = new stdClass(); $tlCfg->req_spec_cfg = new stdClass(); $tlCfg->diffEngine = new stdClass(); $tlCfg->tplanDesign = new stdClass(); $tlCfg->notifications = new stdClass(); $tlCfg->proxy = new stdClass(); $tlCfg->reqTCLinks = new stdClass(); $tlCfg->keywords = new stdClass(); $tlCfg->keywords->onDeleteCheckFrozenTCVersions = TRUE; $tlCfg->keywords->onDeleteCheckExecutedTCVersions = TRUE; // main key testproject PREFIX // element array // 'addTCLinkIntoITS' true => add note to Issue Tracker to issue with // ISSUE ID similar to the KEYWORD (see kwPrefix below) // // 'kwPrefix' to remove from keyword to create the ISSUE ID // $tlCfg->keywords->byTestProject = array(); $tlCfg->keywords->headsUpTSuiteOnExec = 'CMD_OPEN_ON_EXEC'; $tlCfg->accessWithoutLogin = array(); /** @uses database access definition (generated automatically by TL installer) */ @include_once('config_db.inc.php'); if( !defined('DB_TABLE_PREFIX') ) { define('DB_TABLE_PREFIX','' ); } /** The root dir for the testlink installation with trailing slash */ define('TL_ABS_PATH', dirname(__FILE__) . DIRECTORY_SEPARATOR); /** Just for documentation */ $tlCfg->testlinkdotorg = 'http://www.testlink.org'; /** GUI themes (base for CSS and images)- modify if you create own one */ $tlCfg->theme_dir = 'gui/themes/default/'; /** Dir for compiled templates */ $tlCfg->temp_dir = TL_ABS_PATH . 'gui' . DIRECTORY_SEPARATOR . 'templates_c' . DIRECTORY_SEPARATOR; if (($tpltmp = getenv('TESTLINK_TEMPLATES_C'))) { $tlCfg->temp_dir = trim($tpltmp); } /** default filenames of CSS files of current GUI theme */ define('TL_CSS_MAIN', 'testlink.css'); define('TL_CSS_PRINT', 'tl_print.css'); define('TL_CSS_DOCUMENTS', 'tl_documents.css'); define('TL_THEME_BASE_DIR', $tlCfg->theme_dir); define('TL_THEME_IMG_DIR', $tlCfg->theme_dir . 'images/'); define('TL_THEME_CSS_DIR', $tlCfg->theme_dir . 'css/'); define('TL_TESTLINK_CSS', TL_THEME_CSS_DIR . TL_CSS_MAIN); define('TL_PRINT_CSS', TL_THEME_CSS_DIR . TL_CSS_PRINT); // name of your custom.css, place it in same folder that standard TL css // null or '' => do not use $tlCfg->custom_css = null; /** Include constants and magic numbers (users should not change it)*/ require_once(TL_ABS_PATH . 'cfg' . DIRECTORY_SEPARATOR . 'const.inc.php'); // ---------------------------------------------------------------------------- /** @var string used to have (when needed) a possibility to identify different TL instances @since 1.9.4 used on mail subject when mail logger is used */ $tlCfg->instance_name = 'Main TestLink Instance'; // do not use blanks or special characters, use a short string $tlCfg->instance_id = 'TLM'; $tlCfg->gui->ux = 'tl-classic'; /** * Copied from MantisBT * * Prefix for all TestLink cookies * This should be an identifier which does not include spaces or periods, * and should be unique per TestLink installation, especially if * $tlCfg->cookie_path is not restricting the cookies' scope to the actual * TestLink directory. * @see $tlCfg->cookie->path * @global string $tlCfg->cookie->prefix */ $tlCfg->cookie->prefix = 'TESTLINK1920'; /** * @link http://php.net/function.setcookie * */ $tlCfg->cookie->expire = (time()+60*60*24*30); // 30 days; $tlCfg->cookie->domain = ''; $tlCfg->cookie->secure = false; $tlCfg->cookie->httponly = false; $tlCfg->cookie->testProjectMemory = $tlCfg->cookie->prefix . '_PROJ_ID_USER_ID_'; /** * Copied from MantisBT * * Specifies the path under which a cookie is visible * All scripts in this directory and its sub-directories will be able * to access TestLink cookies. * It is recommended to set this to the actual TestLink path. * @link http://php.net/function.setcookie * @global string $tlCfg->cookie->path */ $tlCfg->cookie->path = '/'; /* [ROLE INHERITANCE] */ /** * possible values * * 'testproject' * 'global' * * 'testproject' * till a role is specifically assigned to test plan, test plan role * will be inherited from test project role. * * IMPORTANT NOTICE * test project role can be specifically assigned or inherited from * user's global role. * * if test project specifically assigned role changes, and test plan role was inherited, then it will also changes, due to inheritance. * * * 'global' * till a role is specifically assigned to test plan, test plan role * will be inherited from user's global role, and NOT from test project * specifically assigned role. * * if test project specifically assigned role changes, will not be changed. * */ $tlCfg->testplan_role_inheritance_mode = 'testproject'; /* [LOCALIZATION] */ /** @var string Default localization for users */ // The value must be available in $$tlCfg->locales (see cfg/const.inc.php). // Note: An attempt will be done to establish the default locale // automatically using $_SERVER['HTTP_ACCEPT_LANGUAGE'] $tlCfg->default_language = 'en_GB'; /** * @var string Charset 'UTF-8' is only officially supported charset (Require * MySQL version >= 4.1) 'ISO-8859-1' or another Charset could be set for * backward compatability by experienced users. However we have not resources * to support such patches. **/ $tlCfg->charset = 'UTF-8'; /** * @var string characters used to surround a description in the user interface * (for example role) **/ $tlCfg->gui_separator_open = '['; $tlCfg->gui_separator_close = ']'; $tlCfg->gui_room = '[ %s ]'; /** @var string Title separators are used when componing an title using several strings */ $tlCfg->gui_title_separator_1 = ' : '; // object : name (Test Specification : My best product) $tlCfg->gui_title_separator_2 = ' - '; // parent - child /** * @var string delimiter used to create DOC ID in this way: * . g_testcase_cfg->glue_character . * Could not be empty */ $tlCfg->testcase_cfg->glue_character = '-'; /** * fonts set used to draw charts **/ $tlCfg->charts_font_path = TL_ABS_PATH . "third_party/pchart/Fonts/tahoma.ttf"; /** * font size used to draw charts **/ $tlCfg->charts_font_size = 8; // ---------------------------------------------------------------------------- /* [SERVER ENVIRONMENT] */ /** * TICKET 4969: Add Setting to Force HTTPS */ $tlCfg->force_https = false; /** * @var integer Set the session timeout for inactivity [minutes]. * Default high value disables this feature. */ $tlCfg->sessionInactivityTimeout = 9900; /** * Set the session timeout value (in minutes). * This will prevent sessions timing out after very short periods of time * Warning: your server could block this settings **/ //ini_set('session.cache_expire',900); /** * Set the session garbage collection timeout value (in seconds) * The default session garbage collection in php is set to 1440 seconds (24 minutes) * If you want sessions to last longer this must be set to a higher value. * You may need to set this in your global php.ini if the settings don't take effect. */ //ini_set('session.gc_maxlifetime', 60*90); $tlCfg->notifications->userSignUp = new stdClass(); $tlCfg->notifications->userSignUp->enabled = TRUE; // @see notifyGlobalAdmins() $tlCfg->notifications->userSignUp->to = new stdClass(); $tlCfg->notifications->userSignUp->to->roles = array(TL_ROLES_ADMIN); $tlCfg->notifications->userSignUp->to->users = null; // i.e. array('login01','login02'); // ---------------------------------------------------------------------------- /* [LOGGING] */ /** Error reporting - do we want php errors to show up for users */ /** configure on custom_config.inc.php */ /** error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_WARNING); */ /** error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING); */ error_reporting(E_ALL); /** @var string Default level of logging (NONE, ERROR, INFO, DEBUG, EXTENDED) * is not used by tlLogger, we need to change this in future. */ $tlCfg->log_level = 'ERROR'; /** @var boolean show smarty debug window */ $tlCfg->smarty_debug = false; /** * @var string Path to store logs - * for security reasons (see http://itsecuritysolutions.org/2012-08-13-TestLink-1.9.3-multiple-vulnerabilities/) * put it out of reach via web or configure access denied. */ $tlCfg->log_path = '[[softpath]]/logs/'; /* unix example */ if (($lp = getenv('TESTLINK_LOG_PATH'))) { $tlCfg->log_path = trim($lp); } /** * @var string How to warning user when security weak points exists. * * 'SCREEN': messages will displayed on login screen, and tl desktop * 'FILE': a file with a list is created but users are not notified via GUI * user will receive a message on screen. (default) * 'SILENT': same that FILE, but user will not receive message on screen. */ $tlCfg->config_check_warning_mode = 'SILENT'; /** * ONCE_FOR_SESSION * ALWAYS */ $tlCfg->config_check_warning_frequence = 'ONCE_FOR_SESSION'; /** * */ $tlCfg->userDocOnDesktop = OFF; /** * Configure if individual logging data stores are enabled of disabled * Possibile values to identify loggers: 'db','file' * $g_loggerCfg=null; all loggers enabled * $g_loggerCfg['db']['enable']=true/false; * $g_loggerCfg['file']['enable']=true/false; * $g_loggerCfg['mail']['enable']=true/false; */ $g_loggerCfg = array('mail' => array('enable' => false)); /** @var integer All events older this value [days] are removed from the db, during login */ $g_removeEventsOlderThan = 30; /** @var map keys: 'all' + values present on proprety of logger class $loggerTypeDomain * values can be only these defined on logger.class.php * @since 1.9.4 * example array('all' => array('INFO','AUDIT'), * 'mail' => array('ERROR')) * * $tlCfg->loggerFilter = array('db' => array('DEBUG','AUDIT','WARNING','ERROR'), * 'file' => array('NONE')); * */ $tlCfg->loggerFilter = null; // default defined on logger.class.php ; // ---------------------------------------------------------------------------- /* [SMTP] */ /** * @var string SMTP server name or IP address ("localhost" should work in the most cases) * Configure using custom_config.inc.php * @uses lib/functions/email_api.php */ $g_smtp_host = '[smtp_host_not_configured]'; # SMTP server MUST BE configured # Configure using custom_config.inc.php $g_tl_admin_email = '[testlink_sysadmin_email_not_configured]'; # for problem/error notification $g_from_email = '[from_email_not_configured]'; # email sender $g_return_path_email = '[return_path_email_not_configured]'; /** * Email notification priority (low by default) * Urgent = 1, Not Urgent = 5, Disable = 0 **/ $g_mail_priority = 5; /** * Taken from mantis for phpmailer config * select the method to mail by: * PHPMAILER_METHOD_MAIL - mail() * PHPMAILER_METHOD_SENDMAIL - sendmail * PHPMAILER_METHOD_SMTP - SMTP */ $g_phpMailer_method = PHPMAILER_METHOD_SMTP; /** Configure only if SMTP server requires authentication */ $g_smtp_username = ''; # user $g_smtp_password = ''; # password /** * This control the connection mode to SMTP server. * Can be '', 'ssl','tls' * @global string $g_smtp_connection_mode */ $g_smtp_connection_mode = ''; /** * The smtp port to use. The typical SMTP ports are 25 and 587. The port to use * will depend on the SMTP server configuration and hence others may be used. * @global int $g_smtp_port */ $g_smtp_port = 25; /** * @see https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting * Opportunistic TLS */ $g_SMTPAutoTLS = false; // ---------------------------------------------------------------------------- /* [User Authentication] */ /** * Login authentication method: * 'MD5' => use password stored on db => will be deprecated and DB used. * 'DB' => Same as MD5 use password stored on db * 'LDAP' => use password from LDAP Server */ $tlCfg->authentication['domain'] = array('DB' => array('description' => 'DB', 'allowPasswordManagement' => true) , 'LDAP' => array('description' => 'LDAP', 'allowPasswordManagement' => false) ); /* Default Authentication method */ $tlCfg->authentication['method'] = 'DB'; // Applies only if authentication methos is DB. // Used when: // 1. user sign up // // null => only check password IS NOT EMPTY // // $tlCfg->passwordChecks = array('minlen' => 8,'maxlen' => 20,'number' => true,'letter' => true, // 'capital' => true, 'symbol' => true); $tlCfg->passwordChecks = null; // Applies ONLY to the HTML input. // If auth method is DB, password will be stored as MD5 HASH that requires 32 chars (128 bits) $tlCfg->loginPagePasswordMaxLenght = 40; /** * Standard logout url, used also when SSO is used and hint to skip SSO is used. * '' => use standard TestLink page */ $tlCfg->logoutUrl = ''; // users that will not allow expiration date management on GUI $tlCfg->noExpDateUsers = array('admin'); /** * OAUTH auth * Configure this on custom_config.inc.php */ $tlCfg->OAuthServers = array(); // Google // $tlCfg->OAuthServers = array(); // $tlCfg->OAuthServers[1]['oauth_enabled'] = true; // $tlCfg->OAuthServers[1]['oauth_name'] = 'google'; // Get from /gui/themes/default/images // $tlCfg->OAuthServers[1]['oauth_client_id'] = 'CLIENT_ID'; // $tlCfg->OAuthServers[1]['oauth_client_secret'] = 'CLIENT_SECRET'; // Can be authorization_code (by default), client_credentials or password // $tlCfg->OAuthServers[1]['oauth_grant_type'] = 'authorization_code'; // $tlCfg->OAuthServers[1]['oauth_url'] = 'https://accounts.google.com/o/oauth2/auth'; // $tlCfg->OAuthServers[1]['token_url'] = 'https://accounts.google.com/o/oauth2/token'; // false => then the only user will be selected automatically (applied for google) // $tlCfg->OAuthServers[1]['oauth_force_single'] = false; // the domain you want to whitelist // $tlCfg->OAuthServers[1]['oauth_domain'] = 'google.com'; // $tlCfg->OAuthServers[1]['oauth_profile'] = 'https://www.googleapis.com/oauth2/v1/userinfo'; // $tlCfg->OAuthServers[1]['oauth_scope'] = 'https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile'; // Github // $tlCfg->OAuthServers[2]['oauth_enabled'] = true; // $tlCfg->OAuthServers[2]['oauth_name'] = 'github'; // $tlCfg->OAuthServers[2]['oauth_client_id'] = 'CLIENT_ID'; // $tlCfg->OAuthServers[2]['oauth_client_secret'] = 'CLIENT_SECRET'; // Can be authorization_code (by default), client_credentials or password // $tlCfg->OAuthServers[2]['oauth_grant_type'] = 'authorization_code'; // $tlCfg->OAuthServers[2]['oauth_url'] = 'https://github.com/login/oauth/authorize'; // $tlCfg->OAuthServers[2]['token_url'] = 'https://github.com/login/oauth/access_token'; // false => then the only user will be selected automatically (applied for google) // $tlCfg->OAuthServers[2]['oauth_force_single'] = false; // $tlCfg->OAuthServers[2]['oauth_profile'] = 'https://api.github.com/user'; // $tlCfg->OAuthServers[2]['oauth_scope'] = 'user:email'; //Microsoft //$tlCfg->OAuthServers[1]['oauth_enabled'] = true; //$tlCfg->OAuthServers[1]['oauth_name'] = 'microsoft'; //$tlCfg->OAuthServers[1]['oauth_client_id'] = 'CLIENT_ID'; //$tlCfg->OAuthServers[1]['oauth_client_secret'] = 'CLIENT_SECRET'; // Can be authorization_code (by default), client_credentials or password //$tlCfg->OAuthServers[1]['oauth_grant_type'] = 'authorization_code'; //$tlCfg->OAuthServers[1]['oauth_url'] = 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize'; //$tlCfg->OAuthServers[1]['token_url'] = 'https://login.microsoftonline.com/common/oauth2/v2.0/token'; //$tlCfg->OAuthServers[1]['oauth_force_single'] = true; //$tlCfg->OAuthServers[1]['oauth_profile'] = 'https://graph.microsoft.com/v1.0/me'; //$tlCfg->OAuthServers[1]['oauth_scope'] = 'User.Read'; //$tlCfg->OAuthServers[1]['redirect_uri'] = 'TESTLINKURL/microsoftoauth.php'; // Azure AD // Fill in CLIENT_ID,CLIENT_SECRET,YOURTESTLINKSERVER and TENANTID with your information // See this article for registering an application: https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-protocols-oauth-code // Make sure, you grant admint consent for it: https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/configure-user-consent // $tlCfg->OAuthServers[1]['oauth_enabled'] = true; // $tlCfg->OAuthServers[1]['oauth_name'] = 'azuread'; //do not change this // $tlCfg->OAuthServers[1]['oauth_client_id'] = 'CLIENT_ID'; // $tlCfg->OAuthServers[1]['oauth_client_secret'] = 'CLIENT_SECRET'; // $tlCfg->OAuthServers[1]['redirect_uri'] = (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . '/login.php'; // $tlCfg->OAuthServers[1]['oauth_force_single'] = true; // $tlCfg->OAuthServers[1]['oauth_grant_type'] = 'authorization_code'; // $tlCfg->OAuthServers[1]['oauth_url'] = 'https://login.microsoftonline.com/TENANTID/oauth2/authorize'; // $tlCfg->OAuthServers[1]['token_url'] = 'https://login.microsoftonline.com/TENANTID/oauth2/token'; // the domain you want to whitelist (email domains) // $tlCfg->OAuthServers[1]['oauth_domain'] = 'autsoft.hu'; // $tlCfg->OAuthServers[1]['oauth_profile'] = 'https://login.microsoftonline.com/TENANTID/openid/userinfo'; // $tlCfg->OAuthServers[1]['oauth_scope'] = 'https://graph.microsoft.com/mail.read https://graph.microsoft.com/user.read openid profile email'; /** * Single Sign On authentication * * SSO_method: CLIENT_CERTIFICATE, tested with Apache Webserver * SSP_method: WEBSERVER_VAR, tested with Apache and Shibboleth Service Provider. */ $tlCfg->authentication['SSO_enabled'] = false; $tlCfg->authentication['SSO_logout_destination'] = 'YOUR LOGOUT DESTINATION'; // Tested with Apache Webserver //$tlCfg->authentication['SSO_method'] = 'CLIENT_CERTIFICATE'; //$tlCfg->authentication['SSO_uid_field'] = 'SSL_CLIENT_S_DN_Email'; // Tested with Apache and Shibboleth Service Provider //$tlCfg->authentication['SSO_method'] = 'WEBSERVER_VAR'; //$tlCfg->authentication['SSO_uid_field'] = 'REMOTE_USER'; //$tlCfg->authentication['SSO_user_target_dbfield'] = 'email'; /** * LDAP authentication credentials, Multiple LDAP Servers can be used. * User will be authenticaded against each server (one after other using array index order) * till authentication succeed or all servers have been used. */ $tlCfg->authentication['ldap'] = array(); $tlCfg->authentication['ldap'][1]['ldap_server'] = 'localhost'; $tlCfg->authentication['ldap'][1]['ldap_port'] = '389'; $tlCfg->authentication['ldap'][1]['ldap_version'] = '3'; // could be '2' in some cases $tlCfg->authentication['ldap'][1]['ldap_root_dn'] = 'dc=mycompany,dc=com'; $tlCfg->authentication['ldap'][1]['ldap_bind_dn'] = ''; // Left empty for anonymous LDAP binding $tlCfg->authentication['ldap'][1]['ldap_bind_passwd'] = ''; // Left empty for anonymous LDAP binding $tlCfg->authentication['ldap'][1]['ldap_tls'] = false; // true -> use tls // Following configuration parameters are used to build // ldap filter and ldap attributes used by ldap_search() // // filter => "(&$t_ldap_organization($t_ldap_uid_field=$t_username))"; // attributess => array( $t_ldap_uid_field, 'dn' ); // // This can be used to manage situation like explained on post on forum: // ActiveDirectory + users in AD group // $tlCfg->authentication['ldap'][1]['ldap_organization'] = ''; // e.g. '(organizationname=*Traffic)' $tlCfg->authentication['ldap'][1]['ldap_uid_field'] = 'uid'; // Use 'sAMAccountName' for Active Directory // Configure following fields in custom_config.inc.php according your configuration $tlCfg->authentication['ldap'][1]['ldap_email_field'] = 'mail'; $tlCfg->authentication['ldap'][1]['ldap_firstname_field'] = 'givenname'; $tlCfg->authentication['ldap'][1]['ldap_surname_field'] = 'sn'; // Follows Mantisbt idea. // True if user does not exist on DB, but can be get from LDAP, // the user will be created AUTOMATICALLY with default user role. // Create user with following data from LDAP // mail // name // surname $tlCfg->authentication['ldap_automatic_user_creation'] = false; /** Enable/disable Users to create accounts on login page */ $tlCfg->user_self_signup = TRUE; /** What happens when Administrator push the Reset Password Button 'send_password_by_mail' 'display_on_screen' */ $tlCfg->password_reset_send_method = 'send_password_by_mail'; /** * Validating new user login names * Taken mantisbt version 1.2.5 - www.mantisbt.org and adapted * * The regular expression to use when validating new user login names * The default regular expression allows a-z, A-Z, 0-9, +, -, dot, @ and underscore. * For testing regular expressions, use http://rubular.com/. * For regular expression to englihs, use http://xenon.stanford.edu/~xusch/regexp/analyzer.html */ $tlCfg->validation_cfg->user_login_valid_regex='/^([a-z\d\-.+_@]+(@[a-z\d\-.]+\.[a-z]{2,4})?)$/i'; /** * Validating user email addresses * Example of other possibilities: * * $regex = "/^[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*" . * "@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i"; * $regex = "/^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,4}$/"; * **/ // // This expression does not allow Top Level Domian (last part of domain name) longer than 4 // If you need to change this // Configure this on custom_config.inc.php $tlCfg->validation_cfg->user_email_valid_regex_js = "/^(\w+)([-+.][\w]+)*@(\w[-\w]*\.){1,5}([A-Za-z]){2,4}$/"; $tlCfg->validation_cfg->user_email_valid_regex_php = "/^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,4}$/U"; // -------------------------------------------------------------------------------------- /* [API] */ /** XML-RPC API availability - do less than promised ;) FALSE => user are not able to generate and set his/her API key. XML-RPC server do not check this config in order to answer or not a call. */ $tlCfg->api->enabled = TRUE; // used to display API ID info in the *View pages $tlCfg->api->id_format = "[ID: %s ]"; // --------------------------------------------------------------------------------- /* [GUI LAYOUT] */ /** Company logo (used by navigation bar and login page page) */ $tlCfg->logo_login = 'tl-logo-transparent-25.png'; $tlCfg->logo_navbar = 'tl-logo-transparent-12.5.png'; /** Height of the navbar always displayed */ $tlCfg->navbar_height = 70; /** Login page could show an informational text */ $tlCfg->login_info = ''; // Empty by default /** * controls if pagination (via Javascript) will be enabled */ $tlCfg->gui->projectView = new stdClass(); $tlCfg->gui->projectView->pagination = new stdClass(); $tlCfg->gui->projectView->pagination->enabled = true; $tlCfg->gui->projectView->pagination->length = '[20, 40, 60, -1], [20, 40, 60, "All"]'; $tlCfg->gui->usersAssign = new stdClass(); $tlCfg->gui->usersAssign->pagination = new stdClass(); $tlCfg->gui->usersAssign->pagination->enabled = true; $tlCfg->gui->usersAssign->pagination->length = '[20, 40, 60, -1], [20, 40, 60, "All"]'; $tlCfg->gui->planView = new stdClass(); $tlCfg->gui->planView->pagination = new stdClass(); $tlCfg->gui->planView->pagination->enabled = true; $tlCfg->gui->planView->pagination->length = '[20, 40, 60, -1], [20, 40, 60, "All"]'; $tlCfg->gui->planView->itemQtyForTopButton = 10; $tlCfg->gui->buildView = new stdClass(); $tlCfg->gui->buildView->itemQtyForTopButton = 10; /** * controls if operation area (buttons) starts open ('' or 'inline') or closed ('none') on: * - test suite management * - test case management * - req. spec management * - req. management */ $tlCfg->gui->op_area_display = new stdClass(); // test_spec_container => test project, test suite $tlCfg->gui->op_area_display->test_spec_container = 'none'; // '' $tlCfg->gui->op_area_display->test_case = 'none'; // 'inline' $tlCfg->gui->op_area_display->req_spec_container = 'none'; // 'inline' $tlCfg->gui->op_area_display->req = 'none'; // 'inline' /** * @var string Availability of Test Project specific background colour * 'background' -> standard behaviour for 1.6.x you can have a different * background colour for every test project. * 'none' -> new behaviour no background color change */ $tlCfg->gui->testproject_coloring = 'none'; // I'm sorry default is not coloring using coloring is a pain // and useless /** @TODO havlatm4francisco Ok, then merge these two attributes into one */ /** default background color */ $tlCfg->gui->background_color = '#9BD'; // ENABLED: on features that assign user role to test projects and test plan, colour user name // according GLOBAL role // DISABLED: do not color [STANDARD BEHAVIOUR] $tlCfg->gui->usersAssignGlobalRoleColoring = DISABLED; // Enable/disable rounded corners via javascript $tlCfg->gui->round_corners = new stdClass(); $tlCfg->gui->round_corners->exec_history = ENABLED; $tlCfg->gui->round_corners->tc_title = ENABLED; $tlCfg->gui->round_corners->tc_spec = ENABLED; /** * Display name definition (used to build a human readable display name for users) * Example of values: * '%first% %last%' -> John Cook * '%last%, %first%' -> Cook John * '%first% %last% %login%' -> John Cook [ux555] **/ $tlCfg->username_format = '%login%'; /** Configure the frame frmWorkArea navigator width */ $tlCfg->frame_workarea_default_width = "30%"; /** true => icon edit will be added into as indication an edit features */ $tlCfg->gui->show_icon_edit = false; /** * '' => test project name * 'prefix' => prefix : test project name * * ATTENTION : * is used to indicate test project is INACTIVE * see also $tlCfg->gui->tprojects_combo_order_by */ $tlCfg->gui->tprojects_combo_format = 'prefix'; /** * Order to use when building a testproject combobox (value must be SQL compliant) * For example: * 'ORDER BY name' * 'ORDER_BY nodes_hierarchy.id DESC' -> similar effect to order last created firts **/ // $tlCfg->gui->tprojects_combo_order_by = 'ORDER BY nodes_hierarchy.id DESC'; $tlCfg->gui->tprojects_combo_order_by = 'ORDER BY TPROJ.prefix ASC'; /** Configure the input size of test case search by id on navigation bar. * This value will be added to the length of the prefix to dynamically set input size. * Example: prefix is "projectA-" -> length of prefix is 9 * Now the here defined value (default: 6) will be added to the prefix length * -> Input field will have an input size of 15 **/ $tlCfg->gui->dynamic_quick_tcase_search_input_size = 6; // used to round percentages on metricsDashboard.php $tlCfg->dashboard_precision = 2; /** * Choose what kind of webeditor you want to use in every TL area. This configuration * will be used if no element with search key (area) is found on this structure. * Every element is a mp with this configuration keys: * * 'type': * 'ckeditor' * 'tinymce' ==> will be deprecated in future versions * 'none' -> use plain text area input field * 'toolbar': only applicable for type = 'fckeditor', 'ckeditor' * name of ToolbarSet (See: http://docs.fckeditor.net/ for more information about ToolbarSets) * TestLink stores own definitions in /cfg/tl_ckeditor_config.js * * * The next keys/areas are supported: * 'all' (default setting), * 'design', 'steps_design', 'testplan', 'build', 'testproject', 'role', 'requirement', 'requirement_spec'. * * Examples: * * // Copy this to custom_config.inc.php if you want use 'tinymce' as default. * $tlCfg->gui->text_editor['all'] = array( 'type' => 'tinymce'); * // Copy this to custom_config.inc.php if you want use 'nome' as default. * $tlCfg->gui->text_editor['all'] = array( 'type' => 'none'); * //This configuration is useful only if default type is set to 'fckeditor' * $tlCfg->gui->text_editor['design'] = array('toolbar' => 'tl_mini'); * * $tlCfg->gui->text_editor['testplan'] = array( 'type' => 'none'); * $tlCfg->gui->text_editor['build'] = array( 'type' => 'fckeditor','toolbar' => 'tl_mini'); * $tlCfg->gui->text_editor['testproject'] = array( 'type' => 'tinymce'); * $tlCfg->gui->text_editor['role'] = array( 'type' => 'tinymce'); * $tlCfg->gui->text_editor['requirement'] = array( 'type' => 'none'); * $tlCfg->gui->text_editor['requirement_spec'] = array( 'type' => 'none'); * * * Hint: After doing configuration changes, clean you Browser's cookies and cache */ /* $tlCfg->gui->text_editor = array(); $tlCfg->gui->text_editor['all'] = array('type' => 'fckeditor', 'toolbar' => 'tl_default', 'configFile' => 'cfg/tl_ckeditor_config.js',); $tlCfg->gui->text_editor['execution'] = array( 'type' => 'none'); */ $tlCfg->gui->text_editor = array(); $tlCfg->gui->text_editor['all'] = array('type' => 'ckeditor','toolbar' => 'Testlink', 'configFile' => 'cfg/tl_ckeditor_config.js', 'height' => 150); // mini toolbar for test case steps edit $tlCfg->gui->text_editor['steps_design'] = array('type' => 'ckeditor','toolbar' => 'TestlinkMini', 'configFile' => 'cfg/tl_ckeditor_config.js', 'height' => 100); $tlCfg->gui->text_editor['execution'] = array( 'type' => 'none'); $tlCfg->gui->text_editor['edit_execution'] = array( 'type' => 'none', 'cols' => 80, 'rows' => 20); $tlCfg->gui->text_editor['display_execution_notes'] = array('type' => 'none', 'cols' => 80, 'rows' => 20); /** User can choose order of menu areas */ $tlCfg->gui->layoutMainPageLeft = array( 'testProject' => 1, 'userAdministration' => 2 , 'requirements' => 3, 'testSpecification' => 4, 'general' => 5); $tlCfg->gui->layoutMainPageRight = array( 'testPlan' => 1, 'testExecution' => 2 , 'testPlanContents' => 3); /** * Enable warning on a changed content before an user leave a page. * * Tested in: * - IE8 OK * - Firefox 3 OK * - Chrome FAIL * * Does not work in Webkit browsers (Chrome, Safari) when using frames. * Bug in webkit: https://bugs.webkit.org/show_bug.cgi?id=19418 */ // seems that with config options that will be used on javascript via smarty template variables // we are having problems using FALSE/TRUE => use 0/1 (or our CONSTANT DISABLED/ENABLED) $tlCfg->gui->checkNotSaved = ENABLED; // ---------------------------------------------------------------------------- /* [GUI: TREE] */ /** Default ordering value for new Test Suites and Test Cases to separate them */ $tlCfg->treemenu_default_testsuite_order = 1; $tlCfg->treemenu_default_testcase_order = 1000; /** show/hide testcase id on tree menu */ $tlCfg->treemenu_show_testcase_id = TRUE; /** Reorder test cases based on TC Name or External ID in tree on * test suite level using reorder button */ // 'EXTERNAL_ID' -> Sort on Test Case External ID field displayed on tree.(Default) // 'NAME' -> Sort on Test Case Name field $tlCfg->testcase_reorder_by = 'EXTERNAL_ID'; // $tlCfg->testcase_reorder_by = 'NAME'; // ---------------------------------------------------------------------------- /* [GUI: Javascript libraries] */ // May be in future another table sort engine will be better // kryogenix.org -> Stuart Langridge sortTable // '' (empty string) -> disable table sorting feature $g_sort_table_engine='kryogenix.org'; // -------------------------------------------------------------------------------------- /* [Reports] */ $tlCfg->reportsCfg=new stdClass(); //Displayed execution statuses to use on reports (ordered). */ $tlCfg->reportsCfg->exec_status = $tlCfg->results['status_label_for_exec_ui']; /** * Default Offset in seconds for reporting start date (reports with date range) * @uses lib/results/resultsMoreBuilds.php */ $tlCfg->reportsCfg->start_date_offset = (7*24*60*60); // one week // minutes part is ignored but must be configured. // Hint: set always to :00 $tlCfg->reportsCfg->start_time = '00:00'; // Result matrix (resultsTC.php) $tlCfg->resultMatrixReport = new stdClass(); // Shows an extra column with the result of the latest execution on // the lastest CREATED build $tlCfg->resultMatrixReport->buildColumns['showExecutionResultLatestCreatedBuild'] = true; // Result matrix (resultsTC.php) // Shows an extra column with the note of latest execution on // the lastest CREATED build $tlCfg->resultMatrixReport->buildColumns['showExecutionNoteLatestCreatedBuild'] = true; // Show build columns in revers order. The latest build is to the left $tlCfg->resultMatrixReport->buildColumns['latestBuildOnLeft'] = false; // After having got performance and usability issue, a limit on max qty of builds // allowed on data extration has been set. // Is absolutely arbitrary // $tlCfg->resultMatrixReport->buildQtyLimit = 6; // ORDER BY sql clause, refers to builds table columns $tlCfg->resultMatrixReport->buildOrderByClause = " ORDER BY name ASC"; // Show all available status details for test plans on metrics dashboard $tlCfg->metrics_dashboard = new stdClass(); $tlCfg->metrics_dashboard->show_test_plan_status = false; // ---------------------------------------------------------------------------- /* [GENERATED DOCUMENTATION] */ /** * Texts and settings for printed documents * Image is expected in directory /gui/themes//images/ * Leave text values empty if you would like to hide parameters. */ $tlCfg->document_generator->company_name = 'TestLink Community [configure $tlCfg->document_generator->company_name]'; $tlCfg->document_generator->company_copyright = '2012 © TestLink Community'; $tlCfg->document_generator->confidential_msg = ''; // Logo for generated documents $tlCfg->document_generator->company_logo = $tlCfg->logo_login; $tlCfg->document_generator->company_logo_height = '53'; /** CSS used in printed html documents */ $tlCfg->document_generator->css_template = 'css/tl_documents.css'; // CSS file for Requirement Specification Document, Requirement and Requirement Spec Print View $tlCfg->document_generator->requirement_css_template = 'css/tl_documents.css'; /** Misc settings */ // Display test case version when creating: // - test spec document // - test reports $tlCfg->document_generator->tc_version_enabled = TRUE; // ---------------------------------------------------------------------------- /* [Test Executions] */ // $tlCfg->exec_cfg->enable_test_automation = DISABLED; // ENABLED -> enable XML-RPC calls to external test automation server // new buttons will be displayed on execution pages // DISABLED -> disable $tlCfg->exec_cfg->enable_test_automation = DISABLED; // ASCending -> last execution at bottom // DESCending -> last execution on top [STANDARD BEHAVIOUR] $tlCfg->exec_cfg->history_order = 'DESC'; // TRUE -> the whole execution history for the choosen build will be showed // FALSE -> just last execution for the choosen build will be showed [STANDARD BEHAVIOUR] $tlCfg->exec_cfg->history_on = FALSE; // TRUE -> test case VERY LAST (i.e. in any build) execution status will be displayed [STANDARD BEHAVIOUR] // FALSE -> only last result on current build. $tlCfg->exec_cfg->show_last_exec_any_build = TRUE; // TRUE -> History for all builds will be shown // FALSE -> Only history of the current build will be shown [STANDARD BEHAVIOUR] $tlCfg->exec_cfg->show_history_all_builds = FALSE; // TRUE -> History for all platforms (if any exists for test plan) will be shown // FALSE -> Only history of the current platform will be shown [STANDARD BEHAVIOUR] $tlCfg->exec_cfg->show_history_all_platforms = FALSE; // different models for the attachments management on execution page // $att_model_m1 -> shows upload button and title // $att_model_m2 -> hides upload button and title $tlCfg->exec_cfg->att_model = $att_model_m2; //defined in const.inc.php // IVU // Default Value // USE_LATEST_EXEC_ON_CONTEX_FOR_COUNTERS // USE_LATEST_EXEC_ON_TESTPLAN_FOR_COUNTERS // USE_LATEST_EXEC_ON_TESTPLAN_PLAT_FOR_COUNTERS $tlCfg->exec_cfg->tcases_counters_mode = array(); $tlCfg->exec_cfg->tcases_counters_mode['with_platforms'] = USE_LATEST_EXEC_ON_CONTEX_FOR_COUNTERS; $tlCfg->exec_cfg->tcases_counters_mode['without_platforms'] = USE_LATEST_EXEC_ON_TESTPLAN_FOR_COUNTERS; $tlCfg->exec_cfg->tcases_counters_mode_domain = array(); $tlCfg->exec_cfg->tcases_counters_mode_domain['with_platforms'] = array('USE_LATEST_EXEC_ON_CONTEX_FOR_COUNTERS', 'USE_LATEST_EXEC_ON_TESTPLAN_FOR_COUNTERS', 'USE_LATEST_EXEC_ON_TESTPLAN_PLAT_FOR_COUNTERS'); $tlCfg->exec_cfg->tcases_counters_mode_domain['without_platforms'] = array('USE_LATEST_EXEC_ON_CONTEX_FOR_COUNTERS', 'USE_LATEST_EXEC_ON_TESTPLAN_FOR_COUNTERS'); // ENABLED -> test cases will be coloured according to test case status $tlCfg->exec_cfg->enable_tree_testcases_colouring = ENABLED; // ENABLED -> test cases will be coloured according to execution status on build selected for execution // DISABLED -> test cases will be coloured according status on latest execution regardless of selected build // see http://mantis.testlink.org/view.php?id=3450 for more details $tlCfg->exec_cfg->testcases_colouring_by_selected_build = ENABLED; // ENABLED -> test case counters will be coloured according to test case status $tlCfg->exec_cfg->enable_tree_counters_colouring = ENABLED; // This can help to avoid performance problems. // Controls what happens on right frame when user clicks on a testsuite on tree. // ENABLED -> show all test cases // see $tlCfg->exec_cfg->show_testsuite_contents_deep // // DISABLED -> nothing happens, to execute a test case you need to click on test case $tlCfg->exec_cfg->show_testsuite_contents = DISABLED; // @since 1.9.13 // works in 'team' with $tlCfg->exec_cfg->show_testsuite_contents // children: only direct children. // deep: all test cases present in test suite and test suites in any level below // selected test suite. // IMPORTANT NOTICE: // selecting deep can create performance issues. // $tlCfg->exec_cfg->show_testsuite_contents_deep = 'children'; // ENABLED -> enable testcase counters by status on tree $tlCfg->exec_cfg->enable_tree_testcase_counters = ENABLED; // Define list of roles that are affected by: // $tlCfg->exec_cfg->view_mode and $tlCfg->exec_cfg->exec_mode // User must reconfigure if define other simple tester roles // // In addition (till code changes) also roles that verify this condition: // $effective_role->hasRight('testplan_execute') and !$effective_role->hasRight('testplan_planning') // Will be affected by: // $tlCfg->exec_cfg->view_mode and $tlCfg->exec_cfg->exec_mode // $tlCfg->exec_cfg->simple_tester_roles=array(TL_ROLES_TESTER); // Filter Test cases a user with tester role can VIEW depending on // test execution assignment. // all: all test cases. // assigned_to_me: test cases assigned to logged user. // assigned_to_me_or_free: test cases assigned to logged user or not assigned $tlCfg->exec_cfg->view_mode->tester='assigned_to_me'; // Filter Test cases a user with tester role can EXECUTE depending on // test execution assignment. // all: all test cases. // assigned_to_me: test cases assigned to logged user. // assigned_to_me_or_free: test cases assigned to logged user or not assigned $tlCfg->exec_cfg->exec_mode->tester='assigned_to_me'; // How to set defaut values for execution fields (standard & custom) // clean => all clean // latest => get as much as possible values from latest execution on // same context => test plan,platform, build $tlCfg->exec_cfg->exec_mode->new_exec='clean'; // @since 1.9.15 // Before 1.9.15 save & move to next worked JUST inside // a test suite => save_and_move = 'limited' // 1.9.15 will move on whole test project // save_and_move = 'unlimited' $tlCfg->exec_cfg->exec_mode->save_and_move='unlimited'; $tlCfg->exec_cfg->exec_mode->addLinkToTLChecked = false; $tlCfg->exec_cfg->exec_mode->addLinkToTLPrintViewChecked = false; $tlCfg->exec_cfg->exec_mode->assignTaskChecked = false; /** User filter in Test Execution navigator - default value */ // logged_user -> combo will be set to logged user // none -> no filter applied by default $tlCfg->exec_cfg->user_filter_default='none'; // 'horizontal' -> step and results on the same row // 'vertical' -> steps on one row, results in the row bellow $tlCfg->exec_cfg->steps_results_layout = 'horizontal'; // true => on single test case execution feature, notes and result // can be provided for each step // false => pre 1.9.10 behaviour // $tlCfg->exec_cfg->steps_exec = true; // this setting will work on AND mode with: // $tlCfg->exec_cfg->steps_exec $tlCfg->exec_cfg->steps_exec_attachments = true; // When textarea is displayed to allow user to write execution notes // at step level, choose what to display: // 'empty' // 'latest' => latest execution notes. $tlCfg->exec_cfg->steps_exec_notes_default = 'empty'; // 'empty' // 'latest' => latest execution notes. $tlCfg->exec_cfg->steps_exec_status_default = 'empty'; // Parameters to show notes/details when entering test execution feature // EXPAND: show expanded/open // COLLAPSE: show collapsed/closede // LAST_USER_CHOICE: get status from cookie that holds last user choice.[STANDARD BEHAVIOUR] $tlCfg->exec_cfg->expand_collapse = new stdClass(); $tlCfg->exec_cfg->expand_collapse->testplan_notes = LAST_USER_CHOICE; $tlCfg->exec_cfg->expand_collapse->platform_description = LAST_USER_CHOICE; $tlCfg->exec_cfg->expand_collapse->build_description = LAST_USER_CHOICE; $tlCfg->exec_cfg->expand_collapse->testsuite_details = LAST_USER_CHOICE; $tlCfg->exec_cfg->copyLatestExecIssues = new stdClass(); // true => When saving an execution, a new option will be displayed, and user will be // able to do a choice // COPY OR NOT issues linked to latest execution to the new execution // DEAFULT false => no option on GUI $tlCfg->exec_cfg->copyLatestExecIssues->enabled = FALSE; // value to set as default $tlCfg->exec_cfg->copyLatestExecIssues->default = FALSE; // you can choose only between columns present on // (see exec.inc.php, function get_bugs_for_exec()) $tlCfg->exec_cfg->bugs_order_clause = ' ORDER BY builds.name,step_number,bug_id '; $tlCfg->exec_cfg->features = new stdClass(); $tlCfg->exec_cfg->features->attachments = new stdClass(); $tlCfg->exec_cfg->features->attachments->enabled = true; $tlCfg->exec_cfg->features->exec_duration = new stdClass(); $tlCfg->exec_cfg->features->exec_duration->enabled = true; $tlCfg->exec_cfg->issues = new stdClass(); $tlCfg->exec_cfg->issues->tcase_level = new stdClass(); $tlCfg->exec_cfg->issues->tcstep_level = new stdClass(); /** * %%STEPNUMBER%%,%%TCNAME%%,%%PROJECTNAME%%,%%PLANNAME%% * %%BUILDNAME%%,%%PLATFNAME%%,%%EXECTSISO%%, * %%TCPATHNAME%% * * /saado/TS100/SAA-4:WSTEPS Executed ON (ISO FORMAT): 2018-02-25CET10:00 */ $tlCfg->exec_cfg->issues->tcase_level->subject = '$$issue_subject_tcname %%TCPATHNAME%% - $$issue_subject_execon %%EXECTSISO%% '; /* $tlCfg->exec_cfg->issues->tcstep_level->subject = '$$issue_on_step %%STEPNUMBER%% - $$issue_subject_tcname %%TCNAME%% - ' . '$$issue_subject_projectname %%PROJECTNAME%% - ' . '$$issue_subject_planname %%PLANNAME%% - ' . '$$issue_subject_buildname %%BUILDNAME%% - ' . '$$issue_subject_platfname %%PLATFNAME%%'; */ $tlCfg->exec_cfg->issues->tcstep_level->subject = '$$issue_on_step %%STEPNUMBER%% - $$issue_subject_tcname %%TCNAME%% '; // ---------------------------------------------------------------------- /* [Test Specification] */ // TRUE will be displayed when displayed a test case $tlCfg->spec_cfg->show_tplan_usage = TRUE; // 'horizontal' -> step and results on the same row // 'vertical' -> steps on one row, results in the row bellow $tlCfg->spec_cfg->steps_results_layout = 'horizontal'; // ENABLED -> User will see a test suite filter while creating test specification // DISABLED -> no filter available // $g_spec_cfg->show_tsuite_filter = ENABLED; $tlCfg->spec_cfg->show_tsuite_filter = ENABLED; // ENABLED -> every time user do some operation on test specification // tree is updated on screen. // DISABLED -> tree will not be updated, user can update it manually. // Anyway on user interface user will be able to change this choice // $g_spec_cfg->automatic_tree_refresh = ENABLED; $tlCfg->spec_cfg->automatic_tree_refresh = ENABLED; // To avoid perfomance problems on search test case feature, // we can decide when to inform user that results can not be displayed // due to too many results. $tlCfg->testcase_cfg->search=new stdClass(); $tlCfg->testcase_cfg->search->max_qty_for_display=200; $tlCfg->testcase_cfg->duplicated_name_algorithm = new stdClass(); // 'stringPrefix' => use duplicated_name_algorithm->text // 'counterSuffix' => creare name as : // test case title + (number of existent test cases +1) // example: My Test Title 2 // duplicated_name_algorithm->text is used as sprintf format mask $tlCfg->testcase_cfg->duplicated_name_algorithm->type = 'stringPrefix'; $tlCfg->testcase_cfg->duplicated_name_algorithm->text = "%Y%m%d-%H:%M:%S"; // $tlCfg->testcase_cfg->duplicated_name_algorithm->type = 'counterSuffix'; // $tlCfg->testcase_cfg->duplicated_name_algorithm->text = " (%s)"; // TICKET 6422: Estimation in Test specification as mandatory field // Implemented using HTML5 $tlCfg->testcase_cfg->estimated_execution_duration = new stdClass(); // $tlCfg->testcase_cfg->estimated_execution_duration->required = 'required'; $tlCfg->testcase_cfg->estimated_execution_duration->required = ''; // There are some preconfigured standard types which you can use, // additionally you can configure your own types. $tlCfg->testcase_cfg->relations = new stdClass(); $tlCfg->testcase_cfg->relations->enable = TRUE; $tlCfg->testcase_cfg->relations->interproject_linking = FALSE; /** * Localization identifiers for test cases relation types * Types, which are configured above, have to be configured * here too with attributes "source" and "destination". * * Last value will be selected in GUI as default. * * Form has to be like this: * * ... = array( * RELATIONNAME => array( * 'source' => 'SOURCE_LOCALIZATION_KEY', * 'destination' => 'DESTINATION_LOCALIZATION_KEY'), * ... * * @since TestLink 1.9.12 **/ $tlCfg->testcase_cfg->relations->type_labels = array( TL_REL_TYPE_PARENT_CHILD => array('source' => 'parent_of','destination' => 'child_of'), TL_REL_TYPE_BLOCKS_DEPENDS => array('source' => 'blocks','destination' => 'depends'), TL_REL_TYPE_RELATED => array('source' => 'related_to','destination' => 'related_to') ); $tlCfg->testcase_cfg->relations->type_description = array(TL_REL_TYPE_PARENT_CHILD => 'parent_child', TL_REL_TYPE_BLOCKS_DEPENDS => 'blocks_depends', TL_REL_TYPE_RELATED => 'related_to'); // @since 1.9.18 // TRUE => After a test case version has been executed // attachment on test case spec can not be added/removed // // FALSE // // This means that at GUI Level, will not be possible: // add a new attachment to an Executed Test Case Version // delete an attachment from Executed Test Case Version $tlCfg->testcase_cfg->downloadOnlyAfterExec = TRUE; // This means that at GUI Level, will not be possible: // add a new req version link to an Executed Test Case Version // delete a req version link from Executed Test Case Version $tlCfg->testcase_cfg->reqLinkingDisabledAfterExec = TRUE; // Effects on Linked Requirements Version after // execution of a Test Case Version $tlCfg->testcase_cfg->freezeReqVersionAfterExec = TRUE; // Effects on TCVersion N when TCVersion N+1 is created $tlCfg->testcase_cfg->freezeTCVersionOnNewTCVersion = TRUE; $tlCfg->testcase_cfg->freezeTCVRelationsOnNewTCVersion = TRUE; // Because: // The Relation must be frozen (cannot be deleted) when // a new version of the test case is created. // // It seems confusing that relation can be added, then // this new configuration will allow this operation // only on latest test case version // $tlCfg->testcase_cfg->addTCVRelationsOnlyOnLatestTCVersion = TRUE; // Not Already Implemented //$tlCfg->testcase_cfg->allowAddTCVRelationsOnOldTCVersion = TRUE; //$tlCfg->testcase_cfg->frozenNotExecutedTCVDelAttachtments = FALSE; //$tlCfg->testcase_cfg->frozenNotExecutedTCVAddAttachtments = FALSE; //$tlCfg->testcase_cfg->frozenNotExecutedTCVAddTCVRel = FALSE; //$tlCfg->testcase_cfg->frozenNotExecutedTCVDelTCVRel = FALSE; //$tlCfg->testcase_cfg->frozenNotExecutedTCVAddREQVLink = FALSE; //$tlCfg->testcase_cfg->frozenNotExecutedTCVDelREQVLink = FALSE; // Change order using CSS flexbox model // @used-by tcEdit.tpl $tlCfg->testcase_cfg->viewerFieldsOrder = new stdClass(); $tlCfg->testcase_cfg->viewerFieldsOrder->summary = 3; $tlCfg->testcase_cfg->viewerFieldsOrder->spaceOne = 2; $tlCfg->testcase_cfg->viewerFieldsOrder->preconditions = 1; // Effects on Req Version to TCVersion LINK // when a new version of a linked Test Case is created // If LINK is frozen, then this means that link can not be deleted. // $tlCfg->reqTCLinks->freezeLinkOnNewTCVersion = FALSE; // // Important Notice: // Req Version to TCVersion Link can be done ONLY TO LATEST TCV. // // This means that : // // on GUI on the Requirements Area on TEST CASE Specification Feature: // this option has NO EFFECT // // on GUI on the Coverage Area on REQUIREMENT Specification Feature: // this option has EFFECT // // on GUI on the Assign Requirements Feature: // this option has EFFECT // $tlCfg->reqTCLinks->freezeLinkOnNewTCVersion = TRUE; // Effects on Req Version to TCVersion LINK // when a new version of a linked Req Version is created $tlCfg->reqTCLinks->freezeLinkOnNewREQVersion = TRUE; // Effects on BOTH ends of Req Version to TCVersion LINK // when a new version of a linked TC Version is created $tlCfg->reqTCLinks->freezeBothEndsOnNewTCVersion = TRUE; // Effects on BOTH ends of Req Version to TCVersion LINK // when a new version of a linked REQ Version is created $tlCfg->reqTCLinks->freezeBothEndsOnNewREQVersion = TRUE; // Effects on REQ Version N when REQ Version N+1 is created $tlCfg->req_cfg->freezeREQVersionOnNewREQVersion = TRUE; /** text template for a new items: Test Case: summary, steps, expected_results, preconditions */ // object members has SAME NAME that FCK editor objects. // the logic present on tcEdit.php is dependent of this rule. // every text object contains an object with following members: type and value // // Possible values for type member: // none: template will not be used, default will be a clean editor screen. // // string: value of value member is assigned to FCK object // string_id: value member is used in a lang_get() call, and return value // is assigned to FCK object. Configure string_id on custom_strings.txt // value: value member is used as file name. // file is readed and it's contains assigned to FCK object // // any other value for type, results on '' assigned to FCK object $tlCfg->testcase_template = new stdClass(); $tlCfg->testcase_template->summary = new stdClass(); $tlCfg->testcase_template->summary->type = 'none'; $tlCfg->testcase_template->summary->value = ''; $tlCfg->testcase_template->steps = new stdClass(); $tlCfg->testcase_template->steps->type = 'none'; $tlCfg->testcase_template->steps->value = ''; $tlCfg->testcase_template->expected_results = new stdClass(); $tlCfg->testcase_template->expected_results->type = 'none'; $tlCfg->testcase_template->expected_results->value = ''; $tlCfg->testcase_template->preconditions = new stdClass(); $tlCfg->testcase_template->preconditions->type = 'none'; $tlCfg->testcase_template->preconditions->value = ''; /** text template for a new Test Suite description */ $tlCfg->testsuite_template = new stdClass(); $tlCfg->testsuite_template->details = new stdClass(); $tlCfg->testsuite_template->details->type = 'none'; $tlCfg->testsuite_template->details->value = ''; $tlCfg->project_template = new stdClass(); $tlCfg->project_template->notes = new stdClass(); $tlCfg->project_template->notes->type = 'none'; $tlCfg->project_template->notes->value = ''; $tlCfg->testplan_template = new stdClass(); $tlCfg->testplan_template->notes = new stdClass(); $tlCfg->testplan_template->notes->type = 'none'; $tlCfg->testplan_template->notes->value = ''; $tlCfg->execution_template = new stdClass(); $tlCfg->execution_template->bulk_exec_notes = new stdClass(); $tlCfg->execution_template->bulk_exec_notes->type = 'none'; $tlCfg->execution_template->bulk_exec_notes->value = ''; $tlCfg->execution_template->notes = new stdClass(); $tlCfg->execution_template->notes->type = 'none'; $tlCfg->execution_template->notes->value = ''; $tlCfg->build_template = new stdClass(); $tlCfg->build_template->notes = new stdClass(); $tlCfg->build_template->notes->type = 'none'; $tlCfg->build_template->notes->value = ''; $tlCfg->requirement_template = new stdClass(); $tlCfg->requirement_template->scope = new stdClass(); $tlCfg->requirement_template->scope->type = 'none'; $tlCfg->requirement_template->scope->value = ''; $tlCfg->req_spec_template = new stdClass(); $tlCfg->req_spec_template->scope = new stdClass(); $tlCfg->req_spec_template->scope->type = 'none'; $tlCfg->req_spec_template->scope->value = ''; $tlCfg->role_template = new stdClass(); $tlCfg->role_template->notes = new stdClass(); $tlCfg->role_template->notes->type = 'none'; $tlCfg->role_template->notes->value = ''; $tlCfg->platform_template = new stdClass(); $tlCfg->platform_template->notes = new stdClass(); $tlCfg->platform_template->notes->type = 'none'; $tlCfg->platform_template->notes->value = ''; // ---------------------------------------------------------------------------- /* [ATTACHMENTS] */ /** Attachment feature availability */ $tlCfg->attachments = new stdClass(); $tlCfg->attachments->enabled = TRUE; // TRUE -> when you upload a file you can give no title $tlCfg->attachments->allow_empty_title = TRUE; // $tlCfg->attachments->allow_empty_title == TRUE, you can ask the system // to do something // // 'none' -> just write on db an empty title // 'use_filename' -> use filename as title //$tlCfg->attachments->action_on_save_empty_title='use_filename'; // $tlCfg->attachments->action_on_save_empty_title = 'none'; // Remember that title is used as link description for download // then if title is empty, what the system has to do when displaying ? // 'show_icon' -> the $tlCfg->attachments->access_icon will be used. // 'show_label' -> the value of $tlCfg->attachments->access_string will be used . $tlCfg->attachments->action_on_display_empty_title = 'show_icon'; // Set display order of uploaded files $tlCfg->attachments->order_by = " ORDER BY date_added DESC "; // need to be moved AFTER include of custom_config // // $tlCfg->attachments->access_icon = ''; $tlCfg->attachments->access_string = "[*]"; /** * Files that are allowed. Separate items by commas. * eg. 'doc,xls,gif,png,jpg' */ $tlCfg->attachments->allowed_files = 'doc,xls,gif,png,jpg,xlsx,csv'; /** * Process filename against XSS * Thanks to http://owasp.org/index.php/Unrestricted_File_Upload * '/^[a-zA-Z0-9]{1,20}\.[a-zA-Z0-9]{1,10}$/'; * added - and _. * * NO CHECK if -> $g_attachments->allowed_filenames_regexp = ''; * */ $tlCfg->attachments->allowed_filenames_regexp = '/^[a-zA-Z0-9_-]{1,20}\.[a-zA-Z0-9]{1,10}$/'; /** the type of the repository can be database or filesystem * TL_REPOSITORY_TYPE_DB => database * TL_REPOSITORY_TYPE_FS => filesystem **/ $g_repositoryType = TL_REPOSITORY_TYPE_FS; /** * TL_REPOSITORY_TYPE_FS: the where the filesystem repository should be located * We recommend to change the directory for security reason. * (see http://itsecuritysolutions.org/2012-08-13-TestLink-1.9.3-multiple-vulnerabilities/) * Put it out of reach via web or configure access denied. * **/ $g_repositoryPath = '[[softpath]]/upload_area/'; /* unix example */ if (($upa = getenv('TESTLINK_UPLOAD_AREA'))) { $g_repositoryPath = trim($upa); } /** * compression used within the repository * TL_REPOSITORY_COMPRESSIONTYPE_NONE => no compression * TL_REPOSITORY_COMPRESSIONTYPE_GZIP => gzip compression */ $g_repositoryCompressionType = TL_REPOSITORY_COMPRESSIONTYPE_NONE; // the maximum allowed file size for each repository entry, default 1MB. // Also check your PHP settings (default is usually 2MBs) $tlCfg->repository_max_filesize = 1; //MB // ---------------------------------------------------------------------------- /* [Requirements] */ // HAS TO BE REMOVED - > req_doc_id UNIQUE INSIDE test project // true : you want req_doc_id UNIQUE IN THE WHOLE DB (system_wide) // false: you want req_doc_id UNIQUE INSIDE a SRS // $tlCfg->req_cfg->reqdoc_id->is_system_wide = FALSE; $tlCfg->req_cfg->monitor_enabled = true; // truncate log message to this amount of chars for reqCompareVersions $tlCfg->req_cfg->log_message_len = 200; /** * Test Case generation from Requirements - use_req_spec_as_testsuite_name * FALSE => test cases are created and assigned to a test suite * with name $tlCfg->req_cfg->default_testsuite_name * TRUE => REQuirement Specification Title is used as testsuite name */ $tlCfg->req_cfg->use_req_spec_as_testsuite_name = TRUE; $tlCfg->req_cfg->default_testsuite_name = "Auto-created Test cases"; $tlCfg->req_cfg->testsuite_details = "Test Cases in the Test Suite are generated from Requirements. " . "A refinement of test scenario is highly recommended."; $tlCfg->req_cfg->testcase_summary_prefix = "The Test Case was generated from the assigned requirement.
"; // If the following value is enabled, then the summary prefix string will include the // title and version number of the assigned requirement. $tlCfg->req_cfg->use_testcase_summary_prefix_with_title_and_version = ENABLED; // If above option is enabled, the following string will be used as a template for the tc summary prefix. // It has to include four variables in the form of "%s". The first and second one will be used internally by the system. // The third one will then be replaced by the title of the originating Requirement, // the fourth one by its version number. // Attention: If there aren't exactly three variables in it, the operation will fail. $tlCfg->req_cfg->testcase_summary_prefix_with_title_and_version = "The Test Case was generated from the assigned" . " requirement
\"%s\" (version %s).
"; /** * ENABLED: When generating Test Cases from Requirements, copy the scope of the Requirement * to the summary of the newly created Test Case. */ $tlCfg->req_cfg->copy_req_scope_to_tc_summary = DISABLED; // To avoid perfomance problems on search Requirements feature, // we can decide when to inform user that results can not be displayed // due to too many results. $tlCfg->req_cfg->search=new stdClass(); $tlCfg->req_cfg->search->max_qty_for_display=200; // ENABLED: allow N level depth tree // DISABLED: just one level $tlCfg->req_cfg->child_requirements_mgmt = ENABLED; // ENABLED: ask for this value on user interface and use on several features // DISABLED: do not ask, do not use $tlCfg->req_cfg->expected_coverage_management = ENABLED; // Show Child Requirements on Requirement Specification Print View // ENABLED: Requirement Specification including Child Requirements are shown // DIABLED: ONLY Requirement Specification is shown $tlCfg->req_cfg->show_child_reqs_on_reqspec_print_view = DISABLED; // // Order of test cases status in this array, is used to undestand // to what status set requirement in the requirements report. // Standard algorithm, present in getReqCoverage(), is: // // if at least one of Test Cases linked to Requirement has status FAILED // Requirement Coverage Status = FAILED // else if at least one of Test Cases linked to Requirement has status BLOCKED // Requirement Coverage Status = BLOCKED // else if ALL Test Cases linked to Requirement has status NOT RUN // Requirement Coverage Status = NOT RUN // else if ALL Test Cases linked to Requirement has status PASSED // Requirement Coverage Status = PASSED // else // Requirement Coverage Status = Partially Passed // // This logic is implemented using following config parameter $tlCfg->req_cfg->coverageStatusAlgorithm['checkOrder']=array('atLeastOne','all'); $tlCfg->req_cfg->coverageStatusAlgorithm['checkType']['atLeastOne']=array('failed','blocked'); $tlCfg->req_cfg->coverageStatusAlgorithm['checkType']['all']=array('passed'); // Configure here what status has to get requirement when check of type 'all' fails like // in following situation (Mantis 2171) // // If particular requirement has assigned more than one test cases, and: // - at least one of assigned test cases was not yet executed // - the rest of assigned test cases was executed and passed // then on the "Requirements based report" this particular requirement is not shown at all (in any section). // // $tlCfg->req_cfg->coverageStatusAlgorithm['checkFail']['all']='partially_passed'; // $tlCfg->req_cfg->coverageStatusAlgorithm['displayOrder']=array('passed','failed', // 'blocked','not_run','partially_passed'); // 20100819 - asimon - fix not needed anymore after rewrite of req based report //$tlCfg->req_cfg->coverageStatusAlgorithm['checkFail']['all']='failed'; //$tlCfg->req_cfg->coverageStatusAlgorithm['displayOrder']=array('passed','failed','blocked','not_run'); // truncate log message to this amount of chars for reqSpecCompareRevisions $tlCfg->req_spec_cfg->log_message_len = 200; // Linking between requirements/requirement specifications // $tlCfg->internal_links = new stdClass(); // // TRUE: links to other requirements/requirement specifications are // automatically generated from the corresponding Document ID, enclosed by tags (like BBCode). // // Usage: // link to requirements: [req]req_doc_id[/req] // link to requirement specifications: [req_spec]req_spec_doc_id[/req_spec] // // The test project of the requirement / requirement specification and an anchor // to jump to can also be specified: // [req tproj= anchor=]req_doc_id[/req] // This syntax also works for requirement specifications. // // FALSE: no links are automatically created. // $tlCfg->internal_links->enable = TRUE; // how a linked document (requirement/requirement specification) should be displayed. // posible values: // 'window': new window/tab will be used (depending on browser configuration) // 'frame' : same frame as the clicked link // 'popup' (default): popup window (ATTENTION to browser pop-up block). // $tlCfg->internal_links->target = 'popup'; // title for automatically created link // possible values: // 'string': lang_get() will be used to localize // 'none': no title will be generated, only link with ID // 'item' (default): localized type of item (e.g. "Requirement: ", "Req Spec") // will be used as title for the generated link // $tlCfg->internal_links->req_link_title = new stdClass(); $tlCfg->internal_links->req_link_title->type = 'item'; $tlCfg->internal_links->req_link_title->value = ''; $tlCfg->internal_links->req_spec_link_title = new stdClass(); $tlCfg->internal_links->req_spec_link_title->type = 'item'; $tlCfg->internal_links->req_spec_link_title->value = ''; // Relations between requirement documents: // // The relation types have to be configured in cfg/const.inc.php // and their respective localization values in locale strings.txt. // There are some preconfigured standard types which you can use, // additionally you can configure your own types. $tlCfg->req_cfg->relations = new stdClass(); $tlCfg->req_cfg->relations->enable = TRUE; $tlCfg->req_cfg->relations->interproject_linking = FALSE; // Requirement/testcase diff // default value of lines to show before and after each difference $tlCfg->diffEngine->context = 5; // Configuration for Requirement Import using DOCBOOK format $tlCfg->req_cfg->importDocBook = new stdClass(); $tlCfg->req_cfg->importDocBook->requirement= "sect3"; $tlCfg->req_cfg->importDocBook->title= "title"; $tlCfg->req_cfg->importDocBook->paragraph= "para"; $tlCfg->req_cfg->importDocBook->ordered_list="orderedlist"; $tlCfg->req_cfg->importDocBook->list_item="listitem"; $tlCfg->req_cfg->importDocBook->table="informaltable"; $tlCfg->req_cfg->importDocBook->table_group="tgroup"; $tlCfg->req_cfg->importDocBook->table_head="thead"; $tlCfg->req_cfg->importDocBook->table_body="tbody"; $tlCfg->req_cfg->importDocBook->table_row="row"; $tlCfg->req_cfg->importDocBook->table_entry="entry"; $tlCfg->req_cfg->importDocBook->list_item_children = array('para','title'); $tlCfg->req_cfg->importDocBook->table_entry_children = array('para'); // If an external tool is used for requirement management, enable this setting. // You will get an additional field on requirement specifications where you // can enter the total count of requirements so that external requirements // are also counted for metrics/statistics. $tlCfg->req_cfg->external_req_management = DISABLED; //If enabled an icon next to Document ID field will show up that allows //to insert the last defined Requirement Document ID within the same Project //into Document ID field $tlCfg->req_cfg->allow_insertion_of_last_doc_id = DISABLED; // used ONLY to configure the mask (text) . // algorithm type is fixed HARDCODED // $tlCfg->req_cfg->duplicated_name_algorithm = new stdClass(); $tlCfg->req_cfg->duplicated_name_algorithm->text = " (%s)"; $tlCfg->req_cfg->duplicated_docid_algorithm = new stdClass(); $tlCfg->req_cfg->duplicated_docid_algorithm->text = " (%s)"; // ---------------------------------------------------------------------------- /* [TREE FILTER CONFIGURATION] */ /* In the following section, you can configure which filters shall be used * in combination with the tree view for testcases and requirements. * There are five available filter modes (four for the testcase tree, * one for requirement documents), which are used for the different features * as listed here: * * For Test Cases: * --> execution_mode * execution of testcases * --> edit_mode * create and edit testcases * assign keywords to testcases * assign requirements to testcases * --> plan_mode * assign testcase execution to users * update linked versions for testplan * set urgent testcases * --> plan_add_mode * add/remove testcases to/from testplan * * For Requirements: * There are no modes defined, there is only one filter configuration. * The filters configured here will be used for requirement editing. */ $tlCfg->tree_filter_cfg = new stdClass(); $tlCfg->tree_filter_cfg->testcases = new stdClass(); $tlCfg->tree_filter_cfg->requirements = new stdClass(); // These are the available filter modes for testcases: $tlCfg->tree_filter_cfg->testcases->execution_mode = new stdClass(); $tlCfg->tree_filter_cfg->testcases->edit_mode = new stdClass(); $tlCfg->tree_filter_cfg->testcases->plan_mode = new stdClass(); $tlCfg->tree_filter_cfg->testcases->plan_add_mode = new stdClass(); // If you disable one of these items here, you switch // the complete filter panel off for a specific mode/feature. // You should rather do this here instead of individually disabling all the filters, // if you don't want to have any filters at all for a given feature. $tlCfg->tree_filter_cfg->testcases->execution_mode->show_filters = ENABLED; $tlCfg->tree_filter_cfg->testcases->edit_mode->show_filters = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_mode->show_filters = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_add_mode->show_filters = ENABLED; $tlCfg->tree_filter_cfg->requirements->show_filters = ENABLED; // Detailed settings for each mode. // Here, the single filter fields can be disabled if not wanted. // Also, the choice of advanced filter mode can be disabled. $tlCfg->tree_filter_cfg->testcases->execution_mode->filter_tc_id = ENABLED; $tlCfg->tree_filter_cfg->testcases->execution_mode->filter_testcase_name = ENABLED; $tlCfg->tree_filter_cfg->testcases->execution_mode->filter_toplevel_testsuite = ENABLED; $tlCfg->tree_filter_cfg->testcases->execution_mode->filter_keywords = ENABLED; $tlCfg->tree_filter_cfg->testcases->execution_mode->filter_priority = ENABLED; $tlCfg->tree_filter_cfg->testcases->execution_mode->filter_execution_type = ENABLED; $tlCfg->tree_filter_cfg->testcases->execution_mode->filter_assigned_user = ENABLED; $tlCfg->tree_filter_cfg->testcases->execution_mode->filter_custom_fields = ENABLED; $tlCfg->tree_filter_cfg->testcases->execution_mode->filter_result = ENABLED; $tlCfg->tree_filter_cfg->testcases->execution_mode->filter_bugs = ENABLED; $tlCfg->tree_filter_cfg->testcases->execution_mode->advanced_filter_mode_choice = ENABLED; $tlCfg->tree_filter_cfg->testcases->edit_mode->filter_tc_id = ENABLED; $tlCfg->tree_filter_cfg->testcases->edit_mode->filter_testcase_name = ENABLED; $tlCfg->tree_filter_cfg->testcases->edit_mode->filter_toplevel_testsuite = ENABLED; $tlCfg->tree_filter_cfg->testcases->edit_mode->filter_keywords = ENABLED; $tlCfg->tree_filter_cfg->testcases->edit_mode->filter_platforms = ENABLED; $tlCfg->tree_filter_cfg->testcases->edit_mode->filter_active_inactive = ENABLED; $tlCfg->tree_filter_cfg->testcases->edit_mode->filter_importance = ENABLED; $tlCfg->tree_filter_cfg->testcases->edit_mode->filter_execution_type = ENABLED; $tlCfg->tree_filter_cfg->testcases->edit_mode->filter_custom_fields = ENABLED; $tlCfg->tree_filter_cfg->testcases->edit_mode->filter_workflow_status = ENABLED; $tlCfg->tree_filter_cfg->testcases->edit_mode->advanced_filter_mode_choice = ENABLED; $tlCfg->tree_filter_cfg->testcases->edit_mode ->filter_workflow_status_values = array(); $tlCfg->tree_filter_cfg->testcases->plan_mode->filter_tc_id = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_mode->filter_testcase_name = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_mode->filter_toplevel_testsuite = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_mode->filter_keywords = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_mode->filter_priority = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_mode->filter_execution_type = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_mode->filter_assigned_user = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_mode->filter_custom_fields = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_mode->filter_result = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_mode->advanced_filter_mode_choice = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_mode->setting_build_inactive_out = FALSE; $tlCfg->tree_filter_cfg->testcases->plan_mode->setting_build_close_out = FALSE; $tlCfg->tree_filter_cfg->testcases->plan_add_mode->filter_tc_id = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_add_mode->filter_testcase_name = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_add_mode->filter_toplevel_testsuite = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_add_mode->filter_keywords = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_add_mode->filter_active_inactive = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_add_mode->filter_importance = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_add_mode->filter_execution_type = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_add_mode->filter_workflow_status = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_add_mode->filter_custom_fields = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_add_mode->advanced_filter_mode_choice = ENABLED; $tlCfg->tree_filter_cfg->testcases->plan_add_mode->filter_platforms = ENABLED; $tlCfg->tree_filter_cfg->requirements->filter_doc_id = ENABLED; $tlCfg->tree_filter_cfg->requirements->filter_title = ENABLED; $tlCfg->tree_filter_cfg->requirements->filter_status = ENABLED; $tlCfg->tree_filter_cfg->requirements->filter_type = ENABLED; $tlCfg->tree_filter_cfg->requirements->filter_spec_type = ENABLED; $tlCfg->tree_filter_cfg->requirements->filter_coverage = ENABLED; $tlCfg->tree_filter_cfg->requirements->filter_relation = ENABLED; $tlCfg->tree_filter_cfg->requirements->filter_tc_id = ENABLED; $tlCfg->tree_filter_cfg->requirements->filter_custom_fields = ENABLED; $tlCfg->tree_filter_cfg->requirements->advanced_filter_mode_choice = ENABLED; // ENABLED -> Every time the user does some operation on requirement spec, // the tree will be updated on screen. [DEFAULT] // DISABLED -> The tree will not be updated automatically, but the user can update it manually. // On graphical user interface any user will is able to change this setting. $tlCfg->tree_filter_cfg->requirements->automatic_tree_refresh = ENABLED; /* [Assign test cases to test plan] */ $tlCfg->tplanDesign->hideTestCaseWithStatusIn = array($tlCfg->testCaseStatus['obsolete'] => 'obsolete', $tlCfg->testCaseStatus['future'] => 'future' ); // ---------------------------------------------------------------------------- /* [MISC FUNCTIONALITY] */ /** Maximum uploadfile size to importing stuff in TL */ // Also check your PHP settings (default is usually 2MBs) // unit BYTES is required by MAX_FILE_SIZE HTML option $tlCfg->import_file_max_size_bytes = '409600'; /** Maximum line size of the imported file */ $tlCfg->import_max_row = '10000'; // in chars /** Set the default role used for new users */ // - created from the login page. // - created using user management features $tlCfg->default_roleid = TL_ROLES_GUEST; // only show custom fields if their value isn't empty $tlCfg->custom_fields->show_custom_fields_without_value = true; /** used to check size in char for TEXT AREA type custom fields */ // can not be greater that column definition on DB // 0 => do not check. $tlCfg->custom_fields->max_length = 255; // sizes for HTML INPUTS // for list, multiselection list // - MAXIMUM number of items displayed at once // // for checkbox,radio is useless // Hint: more than 120 produce weird effects on user interface // $tlCfg->custom_fields->sizes = array('string' => 100, 'numeric' => 10, 'float' => 10, 'email' => 100, 'list' => 1, 'multiselection list' => 5, 'text area' => array('rows' => 6, 'cols' => 80), 'script' => 100, 'server' => 100); // Use this variable (on custom_config.inc.php) to define new Custom Field types. // IMPORTANT: // check $custom_field_types property on cfield_mgr.class.php // to avoid overwrite of standard types. // $tlCfg->gui->custom_fields->types = null; // Use this variable (on custom_config.inc.php) // to define possible values behaviour for new Custom Field types. // // IMPORTANT: // check $possible_values_cfg property on cfield_mgr.class.php // to avoid overwrite of standard values. // $tlCfg->gui->custom_fields->possible_values_cfg = null; /** * Check unique titles of Test Project, Test Suite and Test Case * ENABLED => Check [STANDARD BEHAVIOUR] * DISABLED => don't check **/ $tlCfg->check_names_for_duplicates = ENABLED; /** * Action for duplication check (only if check_names_for_duplicates=ENABLED) * 'allow_repeat' => allow the name to be repeated (backward compatibility) * 'generate_new' => generate a new name using $g_prefix_name_for_copy * 'block' => return with an error **/ $tlCfg->action_on_duplicate_name = 'generate_new'; /** * String checking and conversions * Allow automatically convert www URLs and email adresses into clickable links * used by function string_display_links() for example by custom fields. * Valid values = ENABLED/DISABLED. **/ $tlCfg->html_make_links = ENABLED; /** * Define the valid html tags for "content driven" single-line and multi-line fields. * Do NOT include tags with parameters (eg. ), img and href. * It's used by function string_display_links() for example by custom fields. */ $tlCfg->html_valid_tags = 'p, li, ul, ol, br, pre, i, b, u, em'; $tlCfg->html_valid_tags_single_line = 'i, b, u, em'; /** * Defines the threshold values for filtering TC by a priority according to the formula * LOW => all Tc's with (urgency*importance) < LOW_Threshold * HIGH => all Tc's with (urgency*importance) >= HIGH_Threshold * MEDIUM => all Tc's with (urgency*importance) >= LOW_Threshold AND (urgency*importance) < HIGH_Threshold */ $tlCfg->urgencyImportance = new stdClass(); $tlCfg->urgencyImportance->threshold['low'] = 3; $tlCfg->urgencyImportance->threshold['high'] = 6; /** * @var boolean Demo mode disables some functionality * user edit disable * role create ENABLED * user create ENABLED * special users manage DISABLE */ $tlCfg->demoMode = OFF; $tlCfg->demoSpecialUsers = array('admin'); /** * If enabled, every Ext JS table in TestLink will offer an export button, * which generates a file with the contents of the table. * ATTENTION: This feature is fully experimental. Enable at your own risk! * Enabling it can cause broken tables. */ $tlCfg->enableTableExportButton = DISABLED; /** * Taken from Mantis to implement better login security * and solve TICKET 4342. */ $tlCfg->auth_cookie = $tlCfg->cookie->prefix . "TESTLINK_USER_AUTH_COOKIE"; /** Used when creating a Test Suite using copy and you have choose $g_action_on_duplicate_name = 'generate_new' if the name exist. */ $g_prefix_name_for_copy = strftime("%Y%m%d-%H:%M:%S", time()); /** * Configurable templates this can help if you want to use a non standard template. * i.e. you want to develop a new one without loosing the original template. * key: original TL template name WITHOUT extension * value: whatever name you want, only constrain you have to copy your template * ON SAME FOLDER where original template is. * See example below */ $g_tpl = array('inc_exec_controls' => 'inc_exec_img_controls.tpl'); //$g_tpl = array('inc_exec_controls' => 'inc_exec_controls.tpl'); $g_tpl['login'] = 'login/login-model-marcobiedermann.tpl'; // Example // $g_tpl = array('tcView' => 'custom_tcView.tpl', // 'tcSearchView' => 'myOwnTCSearchView.tpl', // 'tcEdit' => 'tcEdit_ultraCool.tpl'); /** Add o replace images */ $tlCfg->images = array(); // ---------------------------------------------------------------------------- /* [PROXY] */ /* Used only */ /* mantissoapInterface.class.php */ /* jirasoapInterface.class.php */ /* jirarestInterface.class.php */ $tlCfg->proxy->host = null; $tlCfg->proxy->port = null; $tlCfg->proxy->login = null; $tlCfg->proxy->password = null; /** Plugins feature */ define('TL_PLUGIN_PATH', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'plugins' . DIRECTORY_SEPARATOR); // ----- End of Config ------------------------------------------------------------------ // -------------------------------------------------------------------------------------- // DO NOT DO CHANGES BELOW // -------------------------------------------------------------------------------------- /** Functions for check request status */ require_once('configCheck.php'); if( !defined('TL_JQUERY') ) { define('TL_JQUERY','jquery-2.2.4.min.js' ); } if( !defined('TL_DATATABLES_DIR') ) { define('TL_DATATABLES_DIR','DataTables-1.10.4' ); } /** root of testlink directory location seen through the web server */ /* 20070106 - franciscom - this statement it's not 100% right better use $_SESSION['basehref'] in the scripts. */ define('TL_BASE_HREF', get_home_url(array('force_https' => $tlCfg->force_https))); clearstatcache(); if ( file_exists( TL_ABS_PATH . 'custom_config.inc.php' ) ) { require_once( TL_ABS_PATH . 'custom_config.inc.php' ); } if( !isset($tlCfg->attachments->access_icon) ) { $tlCfg->attachments->access_icon = ''; } // Important to do this only after custom_* to use (if exists) redefinition of // $tlCfg->results['status_label_for_exec_ui'] $tlCfg->reportsCfg->exec_status = $tlCfg->results['status_label_for_exec_ui']; /** Support for localization */ // @TODO move the code out of config and do it only once and // not always in any include! // @TODO a better parsing function should be include $serverLanguage = false; if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { @list($code) = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']); @list($a,$b) = explode("-",$code); if ($a && $b) { $a = strtolower($a); $b = strtoupper($a); $serverLanguage = $a."_".$b; } } if(false !== $serverLanguage) { if (array_key_exists($serverLanguage,$tlCfg->locales)) { $tlCfg->default_language = $serverLanguage; } } define ('TL_DEFAULT_LOCALE', $tlCfg->default_language); // Reverted execution status is used for two applications. // 1. To map code to CSS, Please if you add an status you need to add a corresponding CSS Class // in the CSS files (see the gui directory) // 2. to decode from code to some more human oriented to use in code // /** Revered list of Test Case execution results */ $tlCfg->results['code_status'] = array_flip($tlCfg->results['status_code']); // Enable CSRF global protection $tlCfg->csrf_filter_enabled = TRUE; // --------------------------------------------------------------------------------- /** Converted and derived variables (Users should not modify this section) */ define('REFRESH_SPEC_TREE',$tlCfg->spec_cfg->automatic_tree_refresh ? 1 : 0); define('TL_SORT_TABLE_ENGINE',$g_sort_table_engine); define("TL_REPOSITORY_MAXFILESIZE", 1024*1024*$tlCfg->repository_max_filesize); define('TL_XMLEXPORT_HEADER', "charset . "\"?>\n"); // --------------------------------------------------------------------------------- // when a role is deleted, a new role must be assigned to all users // having role to be deleted // A right choice seems to be using $g_default_roleid. // You can change this adding a config line in custom_config.inc.php // @TODO martin: remove - use directly $tlCfg->default_roleid; $g_role_replace_for_deleted_roles = $tlCfg->default_roleid; /** * Using "|" in the testsuite name causes malformed URLs * regexp used to check for chars not allowed in: * test project, test suite and testcase names. * @TODO martin: encode harm characters @see http://cz.php.net/urlencode (and remove the parameter) * * now is preg pattern */ $g_ereg_forbidden = "/[|]/i"; /** * @TODO remove from TL - unfinished refactorization; * use $tlCfg instead of old variables and constants */ define('TL_IMPORT_ROW_MAX', $tlCfg->import_max_row); define('TL_TPL_CHARSET', $tlCfg->charset); define('TITLE_SEP',$tlCfg->gui_title_separator_1); define('TITLE_SEP_TYPE2',$tlCfg->gui_title_separator_2); define('TITLE_SEP_TYPE3',$tlCfg->gui_title_separator_2); // obsolete: use type 1,2 define('TL_FRMWORKAREA_LEFT_FRAME_WIDTH', $tlCfg->frame_workarea_default_width); define('TL_TEMP_PATH', $tlCfg->temp_dir); $tlCfg->gui->title_separator_1 = $tlCfg->gui_title_separator_1; $tlCfg->gui->title_separator_2 = $tlCfg->gui_title_separator_2; $tlCfg->gui->role_separator_open = $tlCfg->gui_separator_open; $tlCfg->gui->role_separator_close = $tlCfg->gui_separator_close; $tlCfg->gui->version_separator_open = $tlCfg->gui_separator_open; $tlCfg->gui->version_separator_close = $tlCfg->gui_separator_close; /** * Globals for Events storage */ $g_event_cache = array(); /** * Globals for Plugins */ $g_plugin_config_cache = array(); // ----- END OF FILE -------------------------------------------------------------------- var/softaculous/advpoll/config.inc.php000075500000001305152353074700014102 0ustar00 class_mysql.php * PostgreSQL -> class_pgsql.php * */ $POLLDB = array(); $POLLDB["dbName"] = "[[softdb]]"; $POLLDB["host"] = "[[softdbhost]]"; $POLLDB["user"] = "[[softdbuser]]"; $POLLDB["pass"] = "[[softdbpass]]"; $POLLDB["class"] = "class_mysql.php"; /* tables */ $POLLTBL = array(); $POLLTBL["poll_config"] = "poll_config"; $POLLTBL["poll_index"] = "poll_index"; $POLLTBL["poll_data"] = "poll_data"; $POLLTBL["poll_ip"] = "poll_ip"; $POLLTBL["poll_log"] = "poll_log"; $POLLTBL["poll_comment"] = "poll_comment"; $POLLTBL["poll_user"] = "poll_user"; $POLLTBL["poll_tpl"] = "poll_templates"; $POLLTBL["poll_tplset"] = "poll_templateset"; ?>var/softaculous/cszcms/config.inc.php000075500000001326152361450520013743 0ustar00' Allows to add or override $PALANG interface texts. If you add new texts, please always prefix them with 'x_' (for example $PALANG['x_mytext'] = 'foo') to avoid they clash with texts that might be added to languages/*.lang in future versions of PostfixAdmin. Please also make sure that all your added texts are included in all sections - that includes all 'case "XY":' sections and the 'default:' section (for users that don't have any of the languages specified in the 'case "XY":' section). Usually the 'default:' section should contain english text. If you modify an existing text/translation, please consider to report it to the bugtracker on http://sf.net/projects/postfixadmin so that all users can benefit from the corrected text/translation. Returns: modified $PALANG array */ /* function language_hook($PALANG, $language) { switch ($language) { case "de": $PALANG['x_whatever'] = 'foo'; break; case "fr": $PALANG['x_whatever'] = 'bar'; break; default: $PALANG['x_whatever'] = 'foobar'; } return $PALANG; } */ // Database Config // mysql = MySQL 3.23 and 4.0, 4.1 or 5 // mysqli = MySQL 4.1+ or MariaDB // pgsql = PostgreSQL // sqlite = SQLite 3 $CONF['database_type'] = 'mysqli'; $CONF['database_host'] = '[[softdbhost]]'; $CONF['database_user'] = '[[softdbuser]]'; $CONF['database_password'] = '[[softdbpass]]'; $CONF['database_name'] = '[[softdb]]'; // Database SSL Config (PDO/MySQLi only) $CONF['database_use_ssl'] = false; $CONF['database_ssl_key'] = NULL; $CONF['database_ssl_cert'] = NULL; $CONF['database_ssl_ca'] = NULL; $CONF['database_ssl_ca_path'] = NULL; $CONF['database_ssl_cipher'] = NULL; $CONF['database_ssl_verify_server_cert'] = true; // If you need to specify a different port for a MYSQL database connection, use e.g. // $CONF['database_host'] = '172.30.33.66:3308'; // // If you need to specify a different port for MySQLi(3306)/POSTGRESQL(5432) database connection // uncomment and change the following // $CONF['database_port'] = '5432'; // // If you wish to connect using a local socket file (e.g /var/run/mysql.sock) set this to the socket path. // $CONF['database_socket'] = '/var/run/mysql/mysqld.sock'; $CONF['database_socket'] = ''; // If sqlite is used, specify the database file path: // $CONF['database_name'] = '/etc/postfix/sqlite/postfixadmin.db' // Here, if you need, you can customize table names. $CONF['database_prefix'] = ''; $CONF['database_tables'] = array ( 'admin' => 'admin', 'alias' => 'alias', 'alias_domain' => 'alias_domain', 'config' => 'config', 'domain' => 'domain', 'domain_admins' => 'domain_admins', 'fetchmail' => 'fetchmail', 'log' => 'log', 'mailbox' => 'mailbox', 'vacation' => 'vacation', 'vacation_notification' => 'vacation_notification', 'quota' => 'quota', 'quota2' => 'quota2', 'dkim' => 'dkim', 'dkim_signing' => 'dkim_signing', ); // Site Admin // Define the Site Admin's email address below. // This will be used to send emails from to // * create mailboxes and // * Send Email / Broadcast message pages and // * In password reset emails. // // Leave blank to send email from the logged-in Admin's Email address. $CONF['admin_email'] = ''; // Define the smtp password for admin_email. // This will be used to send emails from to create mailboxes and // from Send Email / Broadcast message pages. // Leave blank to send emails without authentification $CONF['admin_smtp_password'] = ''; // Site admin name // This will be used as signature in notification messages $CONF['admin_name'] = 'Postmaster'; // Mail Server // Hostname (FQDN) of your mail server. // This is used to send email to Postfix in order to create mailboxes. $CONF['smtp_server'] = 'localhost'; $CONF['smtp_port'] = '25'; // The communication layer used. // // 'plain' Everything in plain text (standard port: 25). // 'tls' TLS/SSL from the very beginning (standard port: 465). // 'starttls' "STARTTLS" in plain text and then TLS/SSL (standard port: 587). $CONF['smtp_type'] = 'plain'; // SMTP Client // Hostname (FQDN) of the server hosting Postfix Admin // Used in the HELO when sending emails from Postfix Admin $CONF['smtp_client'] = ''; // Encrypt - how passwords are stored/hashed in the database. // // See: https://github.com/postfixadmin/postfixadmin/blob/master/DOCUMENTS/HASHING.md // // - PLAIN, CLEAR or CLEARTEXT - plain text variants, may be useful for testing. // - ARGON2ID, ARGON2I, SHA512-CRYPT, SHA256-CRYPT or BLF-CRYPT might be good options. // // - other, older variants are : // - md5crypt, // - md5, // - system, // - dovecot:CRYPT-METHOD = use dovecotpw -s 'CRYPT-METHOD'. // - Note: dovecot relies on doveadm binary, and suitable permissions on config files - see https://github.com/postfixadmin/postfixadmin/issues/398 // // - authlib = support for courier-authlib style passwords - also set $CONF['authlib_default_flavor'] // // - php_crypt:CRYPT-METHOD:DIFFICULTY:PREFIX = use PHP built in crypt()-function. Example: php_crypt:SHA512:50000 // - php_crypt CRYPT-METHOD: Supported values are DES, MD5, BLOWFISH, SHA256, SHA512 (default) // - php_crypt - DIFFICULTY: Larger value is more secure, but uses more CPU and time for each login. // - php_crypt - DIFFICULTY: Set this according to your CPU processing power. // - php_crypt - DIFFICULTY: Supported values are BLOWFISH:4-31, SHA256:1000-999999999, SHA512:1000-999999999 // - php_crypt - DIFFICULTY: leave empty to use default values (BLOWFISH:10, SHA256:5000, SHA512:5000). Example: php_crypt:SHA512 // - php_crypt - PREFIX: hash has specified prefix - example: php_crypt:SHA512::{SHA512-CRYPT} // // - sha512.b64 - {SHA512-CRYPT.B64} (base64 encoded sha512 crypt) (no dovecot dependency; should support migration from md5crypt) // // If in doubt, use php_crypt which will give you a SHA512 style crypt which looks like: $6$ijF8bgunALqnEHTo$LHVa6XQB..... $CONF['encrypt'] = 'php_crypt'; // In what flavor should courier-authlib style passwords be encrypted? // (only used if $CONF['encrypt'] == 'authlib') // md5 = {md5} + base64 encoded md5 hash // md5raw = {md5raw} + plain encoded md5 hash // SHA = {SHA} + base64-encoded sha1 hash // crypt = {crypt} + Standard UNIX DES-encrypted with 2-character salt $CONF['authlib_default_flavor'] = 'md5raw'; // If you use the dovecot encryption method: where is the dovecotpw binary located? // For dovecot 1.x // $CONF['dovecotpw'] = "/usr/sbin/dovecotpw"; // // For dovecot 2.x (dovecot 2.0.0 - 2.0.7 is not supported!) // $CONF['dovecotpw'] = "/usr/bin/doveadm pw"; // // From dovecot 2.4, add -O to stop it reading any config files (which solves a common permissions problem) // $CONF['dovecotpw'] = "/usr/bin/doveadm -O pw"; // see https://github.com/postfixadmin/postfixadmin/issues/398 // see https://github.com/postfixadmin/postfixadmin/blob/master/DOCUMENTS/HASHING.md $CONF['dovecotpw'] = "/usr/sbin/doveadm pw"; if(@file_exists('/usr/bin/doveadm')) { // @ to silence openbase_dir stuff; see https://github.com/postfixadmin/postfixadmin/issues/171 $CONF['dovecotpw'] = "/usr/bin/doveadm pw"; # debian } // Password validation // New/changed passwords will be validated using all regular expressions in the array. // If a password doesn't match one of the regular expressions, the corresponding // error message from $PALANG (see languages/*.lang) will be displayed. // See http://de3.php.net/manual/en/reference.pcre.pattern.syntax.php for details // about the regular expression syntax. // If you need custom error messages, you can add them using $CONF['language_hook']. // If a $PALANG text contains a %s, you can add its value after the $PALANG key // (separated with a space). $CONF['password_validation'] = array( # '/regular expression/' => '$PALANG key (optional: + parameter)', '/.{5}/' => 'password_too_short 5', # minimum length 5 characters '/([a-zA-Z].*){3}/' => 'password_no_characters 3', # must contain at least 3 characters '/([0-9].*){2}/' => 'password_no_digits 2', # must contain at least 2 digits # '/([!\".,*&^%$£)(_+=\-`\'#@~\[\]\\<>\/].*){1,}/' => 'password_no_special 1', # must contain at least 1 special character /* support a 'callable' value which if it returns a non-empty string will be assumed to have failed, non-empty string should be a PALANG key */ // 'length_check' => function($password) { if (strlen(trim($password)) < 3) { return 'password_too_short'; } }, ); // Username legal characters // New/changed usernames will be checked against this regular expression with javascript // during entry, offending characters not displaying. // For example: // $CONF['username_legal_chars'] = '^[a-zA-Z0-9-_.]+$'; $CONF['username_legal_chars'] = ''; // Generate Password // Generate a random password for a mailbox or admin and display it. // If you want to automagically generate passwords set this to 'YES'. $CONF['generate_password'] = 'NO'; // Show Password // Always show password after adding a mailbox or admin. // If you want to always see what password was set set this to 'YES'. $CONF['show_password'] = 'NO'; // Page Size // Set the number of entries that you would like to see // in one page. $CONF['page_size'] = '10'; // Default Aliases // The default aliases that need to be created for all domains. // You can specify the target address in two ways: // a) a full mail address // b) only a localpart ('postmaster' => 'admin') - the alias target will point to the same domain $CONF['default_aliases'] = array ( 'abuse' => 'abuse@change-this-to-your.domain.tld', 'hostmaster' => 'hostmaster@change-this-to-your.domain.tld', 'postmaster' => 'postmaster@change-this-to-your.domain.tld', 'webmaster' => 'webmaster@change-this-to-your.domain.tld' ); // Mailboxes // If you want to store the mailboxes per domain set this to 'YES'. // Examples: // YES: /usr/local/virtual/domain.tld/username@domain.tld // NO: /usr/local/virtual/username@domain.tld $CONF['domain_path'] = 'YES'; // If you don't want to have the domain in your mailbox set this to 'NO'. // Examples: // YES: /usr/local/virtual/domain.tld/username@domain.tld // NO: /usr/local/virtual/domain.tld/username // Note: If $CONF['domain_path'] is set to NO, this setting will be forced to YES. $CONF['domain_in_mailbox'] = 'NO'; // If you want to define your own function to generate a maildir path set this to the name of the function. // Notes: // - this configuration directive will override both domain_path and domain_in_mailbox // - the maildir_name_hook() function example is present below, commented out // - if the function does not exist the program will default to the above domain_path and domain_in_mailbox settings $CONF['maildir_name_hook'] = 'NO'; /* maildir_name_hook example function Called when creating a mailbox if $CONF['maildir_name_hook'] == '' - allows for customized maildir paths determined by a custom function - the example below will prepend a single-character directory to the beginning of the maildir, splitting domains more or less evenly over 36 directories for improved filesystem performance with large numbers of domains. Returns: maildir path ie. I/example.com/user/ */ /* function maildir_name_hook($domain, $user) { $chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $dir_index = hexdec(substr(md5($domain), 28)) % strlen($chars); $dir = substr($chars, $dir_index, 1); return sprintf("%s/%s/%s/", $dir, $domain, $user); } */ /* *_struct_hook - change, add or remove fields If you need additional fields or want to change or remove existing fields, you can write a hook function to modify $struct in the *Handler classes. The edit form will automatically be updated according to the modified $struct. The list page is not yet updated automatically. You can define one hook function per class, named like the primary database table of that class. The hook function is called with $struct as parameter and must return the modified $struct. Note: Adding a field to $struct adds the handling of this field in PostfixAdmin, but it does not create it in the database. You have to do that yourself. Note: If you add fields here and you want them to be displayed in the virtual lists, you must also modify the corresponding virtual-list template. Please follow the naming policy for custom database fields and tables on https://sourceforge.net/p/postfixadmin/wiki/Custom_fields/ to avoid clashes with future versions of PostfixAdmin. See initStruct() in the *Handler class for the default $struct. See pacol() in the PFAHandler class for the available flags on each column. Example: function x_struct_admin_modify($struct) { $struct['superadmin']['editable'] = 0; # make the 'superadmin' flag read-only $struct['superadmin']['display_in_form'] = 0; # don't display the 'superadmin' flag in edit form $struct['x_newfield'] = PFAHandler::pacol( [...] ); # additional field 'x_newfield' return $struct; # important! } $CONF['admin_struct_hook'] = 'x_struct_admin_modify'; */ $CONF['admin_struct_hook'] = ''; $CONF['domain_struct_hook'] = ''; $CONF['alias_struct_hook'] = ''; $CONF['mailbox_struct_hook'] = ''; $CONF['alias_domain_struct_hook'] = ''; $CONF['fetchmail_struct_hook'] = ''; $CONF['dkim_struct_hook'] = ''; $CONF['dkim_signing_struct_hook'] = ''; /* mailbox_postcreation_hook example function Function called right after mailbox is created if $CONF['mailbox_postcreation_hook'] == '', in the form: function x_mailbox_postcreation_action($id, $values) { } $CONF['mailbox_postcreation_hook '] = 'x_mailbox_postcreation_action'; where: $id is the username $values contains the values of the mailbox record created */ $CONF['mailbox_postcreation_hook '] = ''; // Default Domain Values // Specify your default values below. Quota in MB. $CONF['aliases'] = '10'; $CONF['mailboxes'] = '10'; $CONF['maxquota'] = '10'; $CONF['domain_quota_default'] = '2048'; // Quota // When you want to enforce quota for your mailbox users set this to 'YES'. $CONF['quota'] = 'NO'; // If you want to enforce domain-level quotas set this to 'YES'. $CONF['domain_quota'] = 'YES'; // You can either use '1024000' or '1048576' $CONF['quota_multiplier'] = '1024000'; // fill state threshold (in per cent) for medium level (displayed as orange) $CONF['quota_level_med_pct'] = 55; // fill state threshold (in per cent) for high level (displayed as red) $CONF['quota_level_high_pct'] = 90; // Transport // If you want to define additional transport options for a domain set this to 'YES'. // Read the transport file of the Postfix documentation. $CONF['transport'] = 'NO'; // Transport options // If you want to define additional transport options put them in array below. $CONF['transport_options'] = array ( 'virtual', // for virtual accounts 'local', // for system accounts 'relay' // for backup mx ); // Transport default // You should define default transport. It must be in array above. $CONF['transport_default'] = 'virtual'; // // // Virtual Vacation Stuff // // // If you want to use virtual vacation for you mailbox users set this to 'YES'. // NOTE: Make sure that you install the vacation module. (See VIRTUAL-VACATION/) $CONF['vacation'] = 'NO'; // This is the autoreply domain that you will need to set in your Postfix // transport maps to handle virtual vacations. It does not need to be a // real domain (i.e. you don't need to setup DNS for it). // This domain must exclusively be used for vacation. Do NOT use it for "normal" mail addresses. $CONF['vacation_domain'] = 'autoreply.change-this-to-your.domain.tld'; // Vacation Control // If you want users to take control of vacation set this to 'YES'. $CONF['vacation_control'] ='YES'; // Vacation Control for admins // Set to 'YES' if your domain admins should be able to edit user vacation. $CONF['vacation_control_admin'] = 'YES'; // ReplyType options // If you want to define additional reply options put them in array below. // The array has the format seconds between replies => $PALANG text // Special values for seconds are: // 0 => only reply to the first mail while on vacation // 1 => reply on every mail $CONF['vacation_choice_of_reply'] = array ( 0 => 'reply_once', // Sends only Once the message during Out of Office # considered annoying - only send a reply on every mail if you really need it # 1 => 'reply_every_mail', // Reply on every email 60*60 *24*7 => 'reply_once_per_week' // Reply if last autoreply was at least a week ago ); // // End Vacation Stuff. // // Alias Control // Postfix Admin inserts an alias in the alias table for every mailbox it creates. // The reason for this is that when you want catch-all and normal mailboxes // to work you need to have the mailbox replicated in the alias table. // If you want to take control of these aliases as well set this to 'YES'. // If you don't want edit alias tab (user mode) set this to 'NO'; $CONF['edit_alias'] = 'YES'; // Alias control for superadmins $CONF['alias_control'] = 'YES'; // Alias Control for domain admins $CONF['alias_control_admin'] = 'YES'; // Special Alias Control // Set to 'NO' if your domain admins shouldn't be able to edit the default aliases // as defined in $CONF['default_aliases'] $CONF['special_alias_control'] = 'NO'; // Alias Domains // Alias domains allow to "mirror" aliases and mailboxes to another domain. This makes // configuration easier if you need the same set of aliases on multiple domains, but // also requires postfix to do more database queries. // Note: If you update from 2.2.x or earlier, you will have to update your postfix configuration. // Set to 'NO' to disable alias domains. $CONF['alias_domain'] = 'YES'; // Backup // If you don't want backup tab set this to 'NO'; $CONF['backup'] = 'NO'; // Send Mail // If you don't want sendmail tab set this to 'NO'; $CONF['sendmail'] = 'YES'; // Set this to YES if you want to allow non-super-admins to // send mails to their users $CONF['sendmail_all_admins'] = 'NO'; // Logging // If you don't want logging set this to 'NO'; $CONF['logging'] = 'YES'; // Fetchmail // If you don't want fetchmail tab set this to 'NO'; $CONF['fetchmail'] = 'YES'; // fetchmail_extra_options allows users to specify any fetchmail options and any MDA // (it will even accept 'rm -rf /' as MDA!) // This should be set to NO, except if you *really* trust *all* your users. $CONF['fetchmail_extra_options'] = 'NO'; // Header $CONF['show_header_text'] = 'NO'; $CONF['header_text'] = ':: Postfix Admin ::'; // Footer // Below information will be on all pages. // If you don't want the footer information to appear set this to 'NO'. $CONF['show_footer_text'] = 'YES'; $CONF['footer_text'] = 'Return to change-this-to-your.domain.tld'; $CONF['footer_link'] = 'http://change-this-to-your.domain.tld'; // MOTD ("Motto of the day") // You can display a MOTD below the menu on all pages. // This can be configured seperately for users, domain admins and superadmins $CONF['motd_user'] = ''; $CONF['motd_admin'] = ''; $CONF['motd_superadmin'] = ''; // Welcome Message // This message is send to every newly created mailbox. // Change the text between EOM. $CONF['welcome_text'] = <<= 1.2, set this to yes. // Note about dovecot config: table "quota" is for 1.0 & 1.1, table "quota2" is for dovecot 1.2 and newer $CONF['new_quota_table'] = 'YES'; // Optional: // Allows a user to reset his forgotten password with a code sent by email/SMS $CONF['forgotten_user_password_reset'] = true; // Allows an admin to reset his forgotten password with a code sent by email/SMS $CONF['forgotten_admin_password_reset'] = false; // Name of the function to send a SMS // Please use a name that begins with "x_" to prevent collisions // This function must accept 2 parameters: phone number and message, // and return true on success or false on failure // Note: if no sms_send_function is defined, the input field for the mobile // number won't be displayed $CONF['sms_send_function'] = ''; /* // Example of send SMS function using Clickatell HTTP API function x_send_sms_clickatell($to, $message) { $clickatell_api_id = 'CHANGEME'; $clickatell_user = 'CHANGEME'; $clickatell_password = 'CHANGEME'; $clickatell_sender = 'CHANGEME'; $url = 'https://api.clickatell.com/http/sendmsg?api_id=%s&user=%s&password=%s&to=%s&from=%s&text=%s'; $url = sprintf($url, $clickatell_api_id, $clickatell_user, $clickatell_password, $to, $clickatell_sender, urlencode($message)); $result = file_get_contents($url); return $result !== false; } */ // Theme Config $CONF['theme'] = 'default'; // Specify your own favicon, logo and CSS file $CONF['theme_favicon'] = 'images/favicon.ico'; $CONF['theme_logo'] = 'images/logo-default.png'; $CONF['theme_css'] = 'css/bootstrap.css'; // If you want to customize some styles without editing the $CONF['theme_css'] file, // you can add a custom CSS file. It will be included after $CONF['theme_css']. $CONF['theme_custom_css'] = ''; // XMLRPC Interface. // This should be only of use if you wish to use e.g the // Postfixadmin-Squirrelmail package // change to boolean true to enable xmlrpc $CONF['xmlrpc_enabled'] = false; //Account expiration info //If enabled, mailbox passwords have a password_expiry field set, which is updated each time the password is changed, based on the parent domain's password_expiry (days) value. //More details in Password_Expiration.md $CONF['password_expiration'] = 'YES'; // If defined, use this rather than trying to construct it from $_SERVER parameters. // used in (at least) password-recover.php. $CONF['site_url'] = null; $CONF['version'] = '4.0.5'; // The smtp_active_flag when set to YES enables editing of the smtp_active // field of the mailbox table. The smtp_active field can be used to enable // or disable smtp sending for a mailbox separately to other mailbox functions. // This can be useful if you want the ability to stop a user sending email // while still allowing receipt of new mail and reading existing email. // Please refer to DOCUMENTS/DOVECOT.txt for an example of how to configure this. // The default is NO for backwards compatibility. Only enable this if you // have also set up the SQL queries that make use of the smtp_active field // in your Dovecot SQL configuration. $CONF['smtp_active_flag'] = 'NO'; // If you want to keep most settings at default values and/or want to ensure // that future updates work without problems, you can use a separate config // file (config.local.php) instead of editing this file and override some // settings there. if (file_exists(dirname(__FILE__) . '/config.local.php')) { require_once(dirname(__FILE__) . '/config.local.php'); } // // END OF CONFIG FILE // /* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */ var/softaculous/webid/config.inc.php000064400000000330152364460270013530 0ustar00var/softaculous/vtiger72/config.inc.php000075500000014022152365114040014105 0ustar00 var/softaculous/uauctions/config.inc.php000064400000000330152371515760014453 0ustar00var/softaculous/rosariosis/config.inc.php000064400000003342152371764720014646 0ustar00 Rollover program */ $DefaultSyear = '2026'; /** * Email address to receive notifications * - new administrator account * - new student / user account * - new registration * * Leave empty to not receive email notifications */ $RosarioNotifyAddress = '[[admin_email]]'; /** * Email address to receive errors * - PHP fatal error * - database SQL error * - hacking attempts * - CSP violation reports * * Leave empty to not receive errors */ $RosarioErrorsAddress = ''; /** * Locales * * Add other languages you want to support here * * @see locale/ folder * * For American, French and Spanish: * * @example [ 'en_US.utf8', 'fr_FR.utf8', 'es_ES.utf8' ]; */ $RosarioLocales = [ '[[language]].utf8' ]; var/softaculous/myadmin/config.inc.php000075500000011366152374422350014110 0ustar00. */ declare(strict_types=1); /** * This is needed for cookie based authentication to encrypt the cookie. * Needs to be a 32-bytes long string of random bytes. See FAQ 2.10. */ $cfg['blowfish_secret'] = '[[secret]]'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ /** * Servers configuration */ $i = 0; /** * First server */ $i++; /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookie'; /* Server parameters */ $cfg['Servers'][$i]['host'] = '[[db_host]]'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['AllowNoPassword'] = false; /** * phpMyAdmin configuration storage settings. */ /* User used to manipulate with storage */ // $cfg['Servers'][$i]['controlhost'] = ''; // $cfg['Servers'][$i]['controlport'] = ''; // $cfg['Servers'][$i]['controluser'] = 'pma'; // $cfg['Servers'][$i]['controlpass'] = 'pmapass'; /* Storage database and tables */ // $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark'; // $cfg['Servers'][$i]['relation'] = 'pma__relation'; // $cfg['Servers'][$i]['table_info'] = 'pma__table_info'; // $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords'; // $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages'; // $cfg['Servers'][$i]['column_info'] = 'pma__column_info'; // $cfg['Servers'][$i]['history'] = 'pma__history'; // $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs'; // $cfg['Servers'][$i]['tracking'] = 'pma__tracking'; // $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; // $cfg['Servers'][$i]['recent'] = 'pma__recent'; // $cfg['Servers'][$i]['favorite'] = 'pma__favorite'; // $cfg['Servers'][$i]['users'] = 'pma__users'; // $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; // $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding'; // $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches'; // $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns'; // $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings'; // $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates'; /** * End of servers configuration */ /** * Directories for saving/loading files from server */ $cfg['UploadDir'] = ''; $cfg['SaveDir'] = ''; /** * Whether to display icons or text or both icons and text in table row * action segment. Value can be either of 'icons', 'text' or 'both'. * default = 'both' */ //$cfg['RowActionType'] = 'icons'; /** * Defines whether a user should be displayed a "show all (records)" * button in browse mode or not. * default = false */ //$cfg['ShowAll'] = true; /** * Number of rows displayed when browsing a result set. If the result * set contains more rows, "Previous" and "Next". * Possible values: 25, 50, 100, 250, 500 * default = 25 */ //$cfg['MaxRows'] = 50; /** * Disallow editing of binary fields * valid values are: * false allow editing * 'blob' allow editing except for BLOB fields * 'noblob' disallow editing except for BLOB fields * 'all' disallow editing * default = 'blob' */ //$cfg['ProtectBinary'] = false; /** * Default language to use, if not browser-defined or user-defined * (you find all languages in the locale folder) * uncomment the desired line: * default = 'en' */ //$cfg['DefaultLang'] = 'en'; //$cfg['DefaultLang'] = 'de'; $cfg['Lang'] = '[[language]]'; /** * How many columns should be used for table display of a database? * (a value larger than 1 results in some information being hidden) * default = 1 */ //$cfg['PropertiesNumColumns'] = 2; /** * Set to true if you want DB-based query history.If false, this utilizes * JS-routines to display query history (lost by window close) * * This requires configuration storage enabled, see above. * default = false */ //$cfg['QueryHistoryDB'] = true; /** * When using DB-based query history, how many entries should be kept? * default = 25 */ //$cfg['QueryHistoryMax'] = 100; /** * Whether or not to query the user before sending the error report to * the phpMyAdmin team when a JavaScript error occurs * * Available options * ('ask' | 'always' | 'never') * default = 'ask' */ //$cfg['SendErrorReports'] = 'always'; /** * 'URLQueryEncryption' defines whether phpMyAdmin will encrypt sensitive data from the URL query string. * 'URLQueryEncryptionSecretKey' is a 32 bytes long secret key used to encrypt/decrypt the URL query string. */ //$cfg['URLQueryEncryption'] = true; //$cfg['URLQueryEncryptionSecretKey'] = ''; /** * You can find more configuration options in the documentation * in the doc/ folder or at . */ var/softaculous/subrion/config.inc.php000075500000000741152400312770014120 0ustar00 'smtp.example.net'] $config['smtp_host'] = '[[smtp]]:[[smtp_port]]'; // provide an URL where a user can get support for this Roundcube installation // PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE! $config['support_url'] = '[[softurl]]'; // This key is used for encrypting purposes, like storing of imap password // in the session. For historical reasons it's called DES_key, but it's used // with any configured cipher_method (see below). // For the default cipher_method a required key length is 24 characters. $config['des_key'] = '[[des_key]]'; // Name your service. This is displayed on the login screen and in the window title $config['product_name'] = '[[site_name]]'; // ---------------------------------- // PLUGINS // ---------------------------------- // List of active plugins (in plugins/ directory) $config['plugins'] = []; // the default locale setting (leave empty for auto-detection) // RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR $config['language'] = '[[language]]'; var/softaculous/domainmod/config.inc.php000075500000002226152404567430014417 0ustar00 * * Project: http://domainmod.org Author: https://greg.ca * * DomainMOD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public * License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later * version. * * DomainMOD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with DomainMOD. If not, see * http://www.gnu.org/licenses/. * */ ?>