From d0e3f0a921ac748c0edf93fa2334618d358ba2d9 Mon Sep 17 00:00:00 2001 From: eric_G <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 28 Dec 2023 19:58:01 +0100 Subject: [PATCH] Config file (#116) * add mail * cleaning * Update manifest.toml * Auto-update README * cleaning * Update tests.toml * Update tests.toml * Auto-update README * Update config.inc.php --------- Co-authored-by: yunohost-bot --- conf/config.inc.php | 992 +++++++++++++++++++++++++++++++++++++++++++- manifest.toml | 1 + 2 files changed, 989 insertions(+), 4 deletions(-) diff --git a/conf/config.inc.php b/conf/config.inc.php index ceee03a..d4dedda 100644 --- a/conf/config.inc.php +++ b/conf/config.inc.php @@ -1,13 +1,997 @@ 'PWG website', +// 'http://piwigo.org/forum' => 'PWG forum', +// ); +// +// Advanced use: +// You can also used special options. Instead to pass a string like parameter value +// you can pass a array with different optional parameter values +// $conf['links'] = array( +// 'http://piwigo.org' => array('label' => 'PWG website', 'new_window' => false, 'eval_visible' => 'return true;'), +// 'http://piwigo.org/forum' => array('label' => 'For ADMIN', 'new_window' => true, 'eval_visible' => 'return is_admin();'), +// 'http://piwigo.org/ext' => array('label' => 'For Guest', 'new_window' => true, 'eval_visible' => 'return is_a_guest();'), +// 'http://piwigo.org/downloads' => +// array('label' => 'PopUp', 'new_window' => true, +// 'nw_name' => 'PopUp', 'nw_features' => 'width=800,height=450,location=no,status=no,toolbar=no,scrollbars=no,menubar=no'), +// ); +// Parameters: +// 'label': +// Label to display for the link, must be defined +// 'new_window': +// If true open link on tab/window +// [Default value is true if it's not defined] +// 'nw_name': +// Name use when new_window is true +// [Default value is '' if it's not defined] +// 'nw_features': +// features use when new_window is true +// [Default value is '' if it's not defined] +// 'eval_visible': +// It's php code witch must return if the link is visible or not +// [Default value is true if it's not defined] +// +// Equivalence: +// $conf['links'] = array( +// 'http://piwigo.org' => 'PWG website', +// ); +// $conf['links'] = array( +// 'http://piwigo.org' => array('label' => 'PWG website', 'new_window' => false, 'visible' => 'return true;'), +// ); +// +// If the array is empty, the "Links" box won't be displayed on the main +// page. +$conf['links'] = array(); + +// random_index_redirect: list of 'internal' links to use when no section is defined on index.php. +// An example is the best than a long explanation : +// +// for each link is associated a php condition +// '' condition is equivalent to 'return true;' +// $conf['random_index_redirect'] = array( +// PHPWG_ROOT_PATH.'index.php?/best_rated' => 'return true;', +// PHPWG_ROOT_PATH.'index.php?/recent_pics' => 'return is_a_guest();', +// PHPWG_ROOT_PATH.'random.php' => '', +// PHPWG_ROOT_PATH.'index.php?/categories' => '', +// ); +$conf['random_index_redirect'] = array(); + +// List of notes to display on all header page +// example $conf['header_notes'] = array('Test', 'Hello'); +$conf['header_notes'] = array(); + +// show_thumbnail_caption : on thumbnails page, show thumbnail captions ? +$conf['show_thumbnail_caption'] = true; + +// allow_random_representative : do you wish Piwigo to search among +// categories elements a new representative at each reload ? +// +// If false, an element is randomly or manually chosen to represent its +// category and remains the representative as long as an admin does not +// change it. +// +// Warning : setting this parameter to true is CPU consuming. Each time you +// change the value of this parameter from false to true, an administrator +// must update categories informations in screen [Admin > General > +// Maintenance]. +$conf['allow_random_representative'] = false; + +// representative_cache_on_level: if a thumbnail is chosen as representative +// but has higher privacy level than current user, Piwigo randomly selects +// another thumbnail. Should be store this thumbnail in cache to avoid +// another consuming SQL query on next page refresh? +$conf['representative_cache_on_level'] = true; + +// representative_cache_on_subcats: if a category (= album) only contains +// sub-categories, Piwigo randomly selects a thumbnail among sub-categories +// representative. Should we store this thumbnail in cache to avoid another +// "slightly" consuming SQL query on next page refresh? +$conf['representative_cache_on_subcats'] = true; + +// allow_html_descriptions : authorize administrators to use HTML in +// category and element description. +$conf['allow_html_descriptions'] = true; + +// image level permissions available in the admin interface +$conf['available_permission_levels'] = array(0,1,2,4,8); + +// check_upgrade_feed: check if there are database upgrade required. Set to +// true, a message will strongly encourage you to upgrade your database if +// needed. +// +// This configuration parameter is set to true in BSF branch and to false +// elsewhere. +$conf['check_upgrade_feed'] = false; + +// rate_items: available rates for a picture +$conf['rate_items'] = array(0,1,2,3,4,5); + +// Define default method to use ('http' or 'html' in order to do redirect) +$conf['default_redirect_method'] = 'http'; + +// Define using double password type in admin's users management panel +$conf['double_password_type_in_admin'] = false; + +// Define if logins must be case sensitive or not of user's registration. ie : +// If set true, the login "user" will equal "User" or "USER" or "user", +// etc. ... And it will be impossible to use such login variation to create a +// new user account. +$conf['insensitive_case_logon'] = false; + +// how should we check for unicity when adding a photo. Can be 'md5sum' or +// 'filename' +$conf['uniqueness_mode'] = 'md5sum'; + +// Library used for image resizing. Value could be 'auto', 'imagick', +// 'ext_imagick' or 'gd'. If value is 'auto', library will be chosen in this +// order. If chosen library is not available, another one will be picked up. +$conf['graphics_library'] = 'auto'; + +// If library used is external installation of ImageMagick ('ext_imagick'), +// you can define imagemagick directory. +$conf['ext_imagick_dir'] = ''; + +// how many user comments to display by default on comments.php. Use 'all' +// to display all user comments without pagination. Default available values +// are array(5,10,20,50,'all') but you can set any other numeric value. +$conf['comments_page_nb_comments'] = 10; // how often should we check for new versions of Piwigo on piwigo.org? In // seconds. The check is made only if there are visits on Piwigo. // 0 to disable. $conf['update_notify_check_period'] = 0; + +// how often should be remind of new versions available? For example a first +// notification was sent on May 5th 2017 for 2.9.1, after how many seconds +// we send it again? 0 to disable. +$conf['update_notify_reminder_period'] = 7*24*60*60; + +// should the album description be displayed on all pages (value=true) or +// only the first page (value=false) +$conf['album_description_on_all_pages'] = false; + +// Number of years displayed in the history compare mode (for the years chart) +$conf['stat_compare_year_displayed'] = 5; + +// Limit for linked albums search +$conf['linked_album_search_limit'] = 100; + +// how often should we check for missing photos in the filesystem. Only in the +// administration. Consider the fs_quick_check is always performed on +// dashboard and maintenance pages. This setting is only for any other +// administration page. +// 0 to disable. +$conf['fs_quick_check_period'] = 24*60*60; + +// +-----------------------------------------------------------------------+ +// | email | +// +-----------------------------------------------------------------------+ + +// send_bcc_mail_webmaster: send bcc mail to webmaster. Set true for debug +// or test. +$conf['send_bcc_mail_webmaster'] = false; + +// define the name of sender mail: if value is empty, gallery title is used +$conf['mail_sender_name'] = '__APP__'; + +// define the email of sender mail: if value is empty, webmaster email is used +$conf['mail_sender_email'] = '__APP__@__DOMAIN__'; + +// set true to allow text/html emails +$conf['mail_allow_html'] = true; + +// smtp configuration (work if fsockopen function is allowed for smtp port) +// smtp_host: smtp server host +// if null, regular mail function is used +// format: hoststring[:port] +// exemple: smtp.pwg.net:21 +// smtp_user/smtp_password: user & password for smtp authentication +$conf['smtp_host'] = 'localhost:25'; +$conf['smtp_user'] = '__APP__'; +$conf['smtp_password'] = '__MAIL_PWD__'; + +// 'ssl' or 'tls' +$conf['smtp_secure'] = null; + +// +-----------------------------------------------------------------------+ +// | metadata | +// +-----------------------------------------------------------------------+ + +// show_iptc: Show IPTC metadata on picture.php if asked by user +$conf['show_iptc'] = false; + +// show_iptc_mapping : is used for showing IPTC metadata on picture.php +// page. For each key of the array, you need to have the same key in the +// $lang array. For example, if my first key is 'iptc_keywords' (associated +// to '2#025') then you need to have $lang['iptc_keywords'] set in +// language/$user['language']/common.lang.php. If you don't have the lang +// var set, the key will be simply displayed +// +// To know how to associated iptc_field with their meaning, use +// tools/metadata.php +$conf['show_iptc_mapping'] = array( + 'iptc_keywords' => '2#025', + 'iptc_caption_writer' => '2#122', + 'iptc_byline_title' => '2#085', + 'iptc_caption' => '2#120' + ); + +// use_iptc: Use IPTC data during database synchronization with files +// metadata +$conf['use_iptc'] = false; + +// use_iptc_mapping : in which IPTC fields will Piwigo find image +// information ? This setting is used during metadata synchronisation. It +// associates a piwigo_images column name to a IPTC key +$conf['use_iptc_mapping'] = array( + 'keywords' => '2#025', + 'date_creation' => '2#055', + 'author' => '2#122', + 'name' => '2#005', + 'comment' => '2#120' + ); + +// show_exif: Show EXIF metadata on picture.php (table or line presentation +// available) +$conf['show_exif'] = true; + +// show_exif_fields : in EXIF fields, you can choose to display fields in +// sub-arrays, for example ['COMPUTED']['ApertureFNumber']. for this, add +// 'COMPUTED;ApertureFNumber' in $conf['show_exif_fields'] +// +// The key displayed in picture.php will be $lang['exif_field_Make'] for +// example and if it exists. For compound fields, only take into account the +// last part : for key 'COMPUTED;ApertureFNumber', you need +// $lang['exif_field_ApertureFNumber'] +// +// for PHP version newer than 4.1.2 : +// $conf['show_exif_fields'] = array('CameraMake','CameraModel','DateTime'); +// +$conf['show_exif_fields'] = array( + 'Make', + 'Model', + 'DateTimeOriginal', + 'COMPUTED;ApertureFNumber' + ); + +// use_exif: Use EXIF data during database synchronization with files +// metadata +$conf['use_exif'] = true; + +// use_exif_mapping: same behaviour as use_iptc_mapping +$conf['use_exif_mapping'] = array( + 'date_creation' => 'DateTimeOriginal' + ); + +// allow_html_in_metadata: in case the origin of the photo is unsecure (user +// upload), we remove HTML tags to avoid XSS (malicious execution of +// javascript) +$conf['allow_html_in_metadata'] = false; + +// decide which characters can be used as keyword separators (works in EXIF +// and IPTC). Coma "," cannot be removed from this list. +$conf['metadata_keyword_separator_regex'] = '/[.,;]/'; + +// +-----------------------------------------------------------------------+ +// | sessions | +// +-----------------------------------------------------------------------+ + +// session_use_cookies: specifies to use cookie to store +// the session id on client side +$conf['session_use_cookies'] = true; + +// session_use_only_cookies: specifies to only use cookie to store +// the session id on client side +$conf['session_use_only_cookies'] = true; + +// session_use_trans_sid: do not use transparent session id support +$conf['session_use_trans_sid'] = false; + +// session_name: specifies the name of the session which is used as cookie name +$conf['session_name'] = 'pwg_id'; + +// session_save_handler: comment the line below +// to use file handler for sessions. +$conf['session_save_handler'] = 'db'; + +// authorize_remembering : permits user to stay logged for a long time. It +// creates a cookie on client side. +$conf['authorize_remembering'] = true; + +// remember_me_name: specifies the name of the cookie used to stay logged +$conf['remember_me_name'] = 'pwg_remember'; + +// remember_me_length : time of validity for "remember me" cookies, in +// seconds. +$conf['remember_me_length'] = 5184000; + +// session_length : time of validity for normal session, in seconds. +$conf['session_length'] = 3600; + +// session_use_ip_address: avoid session hijacking by using a part of the IP +// address +$conf['session_use_ip_address'] = true; + +// Probability, on each page generated, to launch session garbage +// collector. Integer value between 1 and 100, in %. 0 to disable and let +// the system default behavior (on Debian-like, it's "never delete +// session"). +$conf['session_gc_probability'] = 1; + +// +-----------------------------------------------------------------------+ +// | debug/performance | +// +-----------------------------------------------------------------------+ + +// number of photos beyond which individual photos are added in the +// lounge, a temporary zone where photos wait before being "launched". +// 50k photos by default. +$conf['lounge_activate_threshold'] = 1; + +// Lounge is automatically emptied (photos are being pushed to their +// albums) when the oldest one reaches this duration. Lounge can be emptied +// before, either manually or at the end of the upload. In seconds. +// 5 minutes by default. +$conf['lounge_max_duration'] = 5*60; + +// show_queries : for debug purpose, show queries and execution times +$conf['show_queries'] = false; + +// show_gt : display generation time at the bottom of each page +$conf['show_gt'] = false; + +// debug_l10n : display a warning message each time an unset language key is +// accessed +$conf['debug_l10n'] = false; + +// activate template debugging - a new window will appear +$conf['debug_template'] = false; + +// save copies of sent mails into local data dir +$conf['debug_mail'] = false; + +// die_on_sql_error: if an SQL query fails, should everything stop? +$conf['die_on_sql_error'] = false; + +// if true, some language strings are replaced during template compilation +// (instead of template output). this results in better performance. however +// any change in the language file will not be propagated until you purge +// the compiled templates from the admin / maintenance menu +$conf['compiled_template_cache_language'] = false; + +// This tells Smarty whether to check for recompiling or not. Recompiling +// does not need to happen unless a template is changed. false results in +// better performance. +$conf['template_compile_check'] = true; + +// This forces Smarty to (re)compile templates on every invocation. This is +// handy for development and debugging. It should never be used in a +// production environment. +$conf['template_force_compile'] = false; + +// activate merging of javascript / css files +$conf['template_combine_files'] = true; + +// this permit to show the php errors reporting (see INI 'error_reporting' +// for possible values) +// gives an empty value '' to deactivate +$conf['show_php_errors'] = E_ALL; + +// This sets the display_errors php option to true, so php errors and warning +// messages are shown in the browser. If this is false, the error messages are +// available in the php log of the server if show_php_errors has any set. +// If the below is turned off in local config and errors are still shown on +// frontend, check for display_errors setting server's php config +$conf['show_php_errors_on_frontend'] = true; + + +// +-----------------------------------------------------------------------+ +// | authentication | +// +-----------------------------------------------------------------------+ + +// apache_authentication : use Apache authentication as reference instead of +// users table ? +$conf['apache_authentication'] = false; + +// users_table: which table is the reference for users? Can be a different +// table than Piwigo table +// +// If you decide to use another table than the default one, you need to +// prepare your database by deleting some datas : +// +// delete from piwigo_user_access; +// delete from piwigo_user_cache; +// delete from piwigo_user_feed; +// delete from piwigo_user_group; +// delete from piwigo_user_infos; +// delete from piwigo_sessions; +// delete from piwigo_rate; +// update piwigo_images set rating_score = null, added_by = ; +// delete from piwigo_caddie; +// delete from piwigo_favorites; +// +// All informations contained in these tables and column are related to +// piwigo_users table. +$conf['users_table'] = null; + +// If you decide to use external authentication +// change conf below by $conf['external_authentification'] = true; +$conf['external_authentification'] = true; + +// Other tables can be changed, if you define associated constants +// Example: +// define('USER_INFOS_TABLE', 'pwg_main'.'user_infos'); + +// user_fields : mapping between generic field names and table specific +// field names. For example, in PWG, the mail address is names +// "mail_address" and in punbb, it's called "email". +//$conf['user_fields'] = array( +// 'id' => 'id', +// 'username' => 'username', +// 'password' => 'password', +// 'email' => 'mail_address' +// ); + +// password_hash: function hash the clear user password to store it in the +// database. The function takes only one parameter: the clear password. +//$conf['password_hash'] = 'pwg_password_hash'; + +// password_verify: function that checks the password against its hash. The +// function takes 2 mandatory parameter : clear password, hashed password + +// an optional parameter user_id. The user_id is used to update the password +// with the new hash introduced in Piwigo 2.5. See function +// pwg_password_verify in include/functions_user.inc.php +//$conf['password_verify'] = 'pwg_password_verify'; + +// guest_id : id of the anonymous user +//$conf['guest_id'] = 2; + +// default_user_id : id of user used for default value +//$conf['default_user_id'] = $conf['guest_id']; + +// Registering process and guest/generic members get language from the browser +// if language isn't available PHPWG_DEFAULT_LANGUAGE is used as previously +$conf['browser_language'] = true; + +// webmaster_id : webmaster'id. +$conf['webmaster_id'] = 1; + +// does the guest have access ? +// (not a security feature, set your categories "private" too) +// If false it'll be redirected from index.php to identification.php +$conf['guest_access'] = true; + +// +-----------------------------------------------------------------------+ +// | history | +// +-----------------------------------------------------------------------+ + +// nb_logs_page : how many logs to display on a page +$conf['nb_logs_page'] = 300; + +// Every X new line in history, perform an automatic purge. The more often, +// the fewer lines to delete. 0 to disable. +$conf['history_autopurge_every'] = 1021; + +// How many lines to keep in history on autopurge? 0 to disable. +$conf['history_autopurge_keep_lines'] = 1000000; + +// On history autopurge, how many lines should to deleted at once, maximum? +$conf['history_autopurge_blocksize'] = 50000; + +// +-----------------------------------------------------------------------+ +// | urls | +// +-----------------------------------------------------------------------+ + +// gallery_url : you can set a specific URL for the home page of your +// gallery. This is for very specific use and you don't need to change this +// setting when move your gallery to a new directory or a new domain name. +$conf['gallery_url'] = null; + +// question_mark_in_urls : the generated urls contain a ? sign. This can be +// changed to false only if the server translates PATH_INFO variable +// (depends on the server AcceptPathInfo directive configuration) +$conf['question_mark_in_urls'] = true; + +// php_extension_in_urls : if true, the urls generated for picture and +// category will not contain the .php extension. This will work only if +// .htaccess defines Options +MultiViews parameter or url rewriting rules +// are active. +$conf['php_extension_in_urls'] = true; + +// category_url_style : one of 'id' (default) or 'id-name'. 'id-name' +// means that an simplified ascii representation of the category name will +// appear in the url +$conf['category_url_style'] = 'id'; + +// picture_url_style : one of 'id' (default), 'id-file' or 'file'. 'id-file' +// or 'file' mean that the file name (without extension will appear in the +// url). Note that one additional sql query will occur if 'file' is chosen. +// Note that you might experience navigation issues if you choose 'file' +// and your file names are not unique +$conf['picture_url_style'] = 'id'; + +// tag_url_style : one of 'id-tag' (default), 'id' or 'tag'. +// Note that if you choose 'tag' and the url (ascii) representation of your +// tags is not unique, all tags with the same url representation will be shown +$conf['tag_url_style'] = 'id-tag'; + +// +-----------------------------------------------------------------------+ +// | tags | +// +-----------------------------------------------------------------------+ + +// full_tag_cloud_items_number: number of tags to show in the full tag +// cloud. Only the most represented tags will be shown +$conf['full_tag_cloud_items_number'] = 200; + +// menubar_tag_cloud_items_number: number of tags to show in the tag +// cloud in the menubar. Only the most represented tags will be shown +$conf['menubar_tag_cloud_items_number'] = 20; + +// menubar_tag_cloud_content: 'always_all', 'current_only' or 'all_or_current' +// For the tag cloud in the menubar. +// 'always_all': tag cloud always displays all tags available to the user +// 'current_only': tag cloud always displays the tags from the current pictures +// 'all_or_current': when pictures are displayed, tag cloud shows their tags, but +// when none are displayed, all the tags available to the user are shown. +$conf['menubar_tag_cloud_content'] = 'all_or_current'; + +// content_tag_cloud_items_number: number of related tags to show in the tag +// cloud on the content page, when the current section is not a set of +// tags. Only the most represented tags will be shown +$conf['content_tag_cloud_items_number'] = 12; + +// tags_levels: number of levels to use for display. Each level is bind to a +// CSS class tagLevelX. +$conf['tags_levels'] = 5; + +// tags_default_display_mode: group tags by letter or display a tag cloud by +// default? 'letters' or 'cloud'. +$conf['tags_default_display_mode'] = 'cloud'; + +// tag_letters_column_number: how many columns to display tags by letter +$conf['tag_letters_column_number'] = 4; + +// +-----------------------------------------------------------------------+ +// | Related albums | +// +-----------------------------------------------------------------------+ + +// beyond this limit, do not try to find related albums. If there are too +// many items, the SQL query will be slow and the results irrelevant, +// because showing too many related albums. +$conf['related_albums_maximum_items_to_compute'] = 1000; + +// once found the related albums, how many to show in the menubar? We take +// the heaviest (with more relations). +$conf['related_albums_display_limit'] = 20; + +// +-----------------------------------------------------------------------+ +// | Notification by mail | +// +-----------------------------------------------------------------------+ + +// Default Value for nbm user +$conf['nbm_default_value_user_enabled'] = false; + +// Search list user to send quickly (List all without to check news) +// More quickly but less fun to use +$conf['nbm_list_all_enabled_users_to_send'] = false; + +// Max time used on one pass in order to send mails. +// Timeout delay ratio. +$conf['nbm_max_treatment_timeout_percent'] = 0.8; + +// If timeout cannot be combined with nbm_max_treatment_timeout_percent, +// nbm_treatment_timeout_default is used by default +$conf['nbm_treatment_timeout_default'] = 20; + +// Parameters used in get_recent_post_dates for the 2 kind of notification +$conf['recent_post_dates'] = array( + 'RSS' => array('max_dates' => 5, 'max_elements' => 6, 'max_cats' => 6), + 'NBM' => array('max_dates' => 7, 'max_elements' => 3, 'max_cats' => 9) + ); + +// the author shown in the RSS feed element +$conf['rss_feed_author'] = 'Piwigo notifier'; + +// how long does the authentication key stays valid, in seconds. 3 days by +// default. 0 to disable. +$conf['auth_key_duration'] = 3*24*60*60; + +// +-----------------------------------------------------------------------+ +// | Set admin layout | +// +-----------------------------------------------------------------------+ + +$conf['admin_theme'] = 'clear'; + +// should we load the active plugins ? true=Yes, false=No +$conf['enable_plugins']=true; + +// Web services are allowed (true) or completely forbidden (false) +$conf['allow_web_services'] = true; + +// Maximum number of images to be returned foreach call to the web service +$conf['ws_max_images_per_page'] = 500; + +// Maximum number of users to be returned foreach call to the web service +$conf['ws_max_users_per_page'] = 1000; + +// Display a link to subscribe to Piwigo Announcements Newsletter +$conf['show_newsletter_subscription'] = true; + +// Fetch and show latest news from piwigo.org +$conf['show_piwigo_latest_news'] = true; + +// Check for available updates on Piwigo or extensions, performed each time +// the dashboard is displayed +$conf['dashboard_check_for_updates'] = true; + +// Number Weeks displayed on activity chart on the dashboard +$conf['dashboard_activity_nb_weeks'] = 4; + +// On the Admin>Users>Activity page, should we display the connection/disconnections? +// 'all' = do not filter, display all +// 'admins_only' = only display connections of admin users +// 'none' = don't even display connections of admin users +$conf['activity_display_connections'] = 'admins_only'; + +// On album mover page, number of seconds before auto openning album when +// dragging an album. In milliseconds. 3 seconds by default. +$conf['album_move_delay_before_auto_opening'] = 3*1000; + +// This variable is used to show or hide the template tab in the side menu +$conf['show_template_in_side_menu'] = false; + +// Add last calculated cache size to Dashboard Storage chart if true. +// To recalculate use Tools -> Maintenance, Refresh. +// To disable, set to false. +$conf['add_cache_to_storage_chart'] = true; + +// +-----------------------------------------------------------------------+ +// | Filter | +// +-----------------------------------------------------------------------+ +// $conf['filter_pages'] contains configuration for each pages +// o If values are not defined for a specific page, default value are used +// o Array is composed by the basename of each page without extension +// o List of value names: +// - used: filter function are used +// (if false nothing is done [start, cancel, stop, ...] +// - cancel: cancel current started filter +// - add_notes: add notes about current started filter on the header +// o Empty configuration in order to disable completely filter functions +// No filter, No icon,... +// $conf['filter_pages'] = array(); +$conf['filter_pages'] = array + ( + // Default page + 'default' => array( + 'used' => true, 'cancel' => false, 'add_notes' => false), + // Real pages + 'index' => array('add_notes' => true), + 'tags' => array('add_notes' => true), + 'search' => array('add_notes' => true), + 'comments' => array('add_notes' => true), + 'admin' => array('used' => false), + 'feed' => array('used' => false), + 'notification' => array('used' => false), + 'nbm' => array('used' => false), + 'popuphelp' => array('used' => false), + 'profile' => array('used' => false), + 'ws' => array('used' => false), + 'identification' => array('cancel' => true), + 'install' => array('cancel' => true), + 'password' => array('cancel' => true), + 'register' => array('cancel' => true), + ); + +// +-----------------------------------------------------------------------+ +// | Slideshow | +// +-----------------------------------------------------------------------+ +// slideshow_period : waiting time in seconds before loading a new page +// during automated slideshow +// slideshow_period_min, slideshow_period_max are bounds of slideshow_period +// slideshow_period_step is the step of navigation between min and max +$conf['slideshow_period_min'] = 1; +$conf['slideshow_period_max'] = 10; +$conf['slideshow_period_step'] = 1; +$conf['slideshow_period'] = 4; + +// slideshow_repeat : slideshow loops on pictures +$conf['slideshow_repeat'] = true; + +// $conf['light_slideshow'] indicates to use slideshow.tpl in state of +// picture.tpl for slideshow +// Take care to have slideshow.tpl in all available templates +// Or set it false. +// Check if Picture's plugins are compliant with it +// Every plugin from 1.7 would be design to manage light_slideshow case. +$conf['light_slideshow'] = true; + +// the local data directory is used to store data such as compiled templates, +// plugin variables, combined css/javascript or resized images. Beware of +// mandatory trailing slash. +$conf['data_location'] = '__DATA_DIR__/_data/'; + +// where should the API/UploadForm add photos? This path must be relative to +// the Piwigo installation directory (but can be outside, as long as it's +// reachable from your webserver). +$conf['upload_dir'] = '__DATA_DIR__/upload'; + +// where should the user be guided when there is no photo in his gallery yet? +$conf['no_photo_yet_url'] = 'admin.php?page=photos_add'; + +// directory with themes inside +$conf['themes_dir'] = PHPWG_ROOT_PATH.'themes'; + +// enable the synchronization method for adding photos +$conf['enable_synchronization'] = true; + +// enable the update of Piwigo core from administration pages +$conf['enable_core_update'] = true; + +// enable install/update of plugins/themes/languages from administration pages +$conf['enable_extensions_install'] = true; + +// Permitted characters for files/directories during synchronization. +// Do not add the ' U+0027 single quote apostrophe character, it WILL make some +// SQL queries fail. URI reserved characters (see +// https://tools.ietf.org/html/rfc3986#section-2.2 ) MAY make things fail, this +// is known for example for the & character leading to a query parameter +// separator if the resulting URI path is not urlencoded. Adding accented +// characters or characters of Unicode letter or digit classes in the basic +// plane *usually* are fine iff the file system's names *and* the config file +// content are both UTF-8 encoded, as is the MySQL database table, and the file +// system does not use decomposed Unicode characters for accented characters. +// +// Possible expressions could be: +// * Just add the space character: +// $conf['sync_chars_regex'] = '/^[a-zA-Z0-9-_. ]+$/'; +// * Add space character and German umlauts and sharp s (sz) (note this is +// UTF-8 encoded, if you see "odd" sequences then the encoding in your viewer +// or editor is wrong, and maybe your file system is as well), and +// parentheses and brackets; also note the trailing 'u' regex option to have +// PHP interpret the expression as UTF-8 string instead of ASCII: +// $conf['sync_chars_regex'] = '/^[a-zA-Z0-9-_. äÄöÖüÜßẞ()\[\]]+$/u'; +// * Allow all Unicode letter and numeric and whitespace characters (largely +// encoding independent but still might have quirks with file system's file +// name encoding) and parentheses and brackets; again with the 'u' regex +// option to let PHP match Unicode characters and properties: +// $conf['sync_chars_regex'] = '/^[-_.\p{L}\p{N}\p{Z}()\[\]]+$/u'; +// You may try your expression at https://regex101.com/ choosing the +// PCRE2 (PHP >=7.3) flavor. +// See also: +// https://www.regular-expressions.info/unicode.html +// https://www.regular-expressions.info/php.html#preg +// https://www.php.net/manual/en/pcre.pattern.php +// +// The default expression is restrictive but safe and sane ASCII only +// alphanumeric and hyphen-minus and underscore and dot. +$conf['sync_chars_regex'] = '/^[a-zA-Z0-9-_.]+$/'; + +// folders name excluded during synchronization +$conf['sync_exclude_folders'] = array(); + +// PEM url (default is http://piwigo.org/ext) +$conf['alternative_pem_url'] = ''; + +// categories ID on PEM +$conf['pem_plugins_category'] = 12; +$conf['pem_themes_category'] = 10; +$conf['pem_languages_category'] = 8; + +// based on the EXIF "orientation" tag, should we rotate photos added in the +// upload form or through pwg.images.addSimple web API method? +$conf['upload_form_automatic_rotation'] = true; + +// 0-'auto', 1-'derivative' 2-'script' +$conf['derivative_url_style']=0; + +$conf['chmod_value']= substr_compare(PHP_SAPI, 'apa', 0, 3)==0 ? 0777 : 0755; + +// 'small', 'medium' or 'large' +$conf['derivative_default_size'] = 'medium'; + +// below which size (in pixels, ie width*height) do we remove metadata +// EXIF/IPTC... from derivative? +$conf['derivatives_strip_metadata_threshold'] = 256000; + +//Maximum Ajax requests at once, for thumbnails on-the-fly generation +$conf['max_requests']=3; + +// one of '', 'images', 'all' +//TODO: Put this in admin and also manage .htaccess in #sites and upload folders +$conf['original_url_protection'] = ''; + + +// Default behaviour when a new album is created: should the new album inherit the group/user +// permissions from its parent? Note that config is only used for Ftp synchro, +// and if that option is not explicitly transmit when the album is created. +$conf['inheritance_by_default'] = false; + +// 'png' or 'jpg': your uploaded TIF photos will have a representative in +// JPEG or PNG file format +$conf['tiff_representative_ext'] = 'png'; + +// in the upload form, let users upload only picture_exts or all file_exts? +// for some file types, Piwigo will try to generate a pwg_representative +// (TIFF, videos, PDF) +$conf['upload_form_all_types'] = false; + +// Size of chunks, in kilobytes. Fast connections will have better +// performances with high values, such as 5000. +$conf['upload_form_chunk_size'] = 500; + +// Maximum size for a file in the upload form, in megabytes. +$conf['upload_form_max_file_size'] = 1000; + +// If we try to generate a pwg_representative for a video we use ffmpeg. If +// "ffmpeg" is not visible by the web user, you can define the full path of +// the directory where "ffmpeg" executable is. +$conf['ffmpeg_dir'] = ''; + +// batch manager: how many images should Piwigo display by default on the +// global mode. Must be among values {20,50,100} +$conf['batch_manager_images_per_page_global'] = 20; + +// batch manager: how many images should Piwigo display by default on the +// unit mode. Must be among values {5, 10, 50} +$conf['batch_manager_images_per_page_unit'] = 5; + +// how many missing md5sum should Piwigo compute at once. +$conf['checksum_compute_blocksize'] = 50; + +// quicksearch engine: include all photos from sub-albums of any matching +// album. For example, if search is "bear", then we display photos from +// "bear/grizzly". When value changed, delete database cache files in +// _data/cache directory +$conf['quick_search_include_sub_albums'] = false; + +// +-----------------------------------------------------------------------+ +// | log | +// +-----------------------------------------------------------------------+ +// Logs directory, relative to $conf['data_location'] +$conf['log_dir'] = '/logs'; + +// Log level (OFF, CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG) +// development = DEBUG, production = ERROR +$conf['log_level'] = 'DEBUG'; + +// Keep logs file during X days +$conf['log_archive_days'] = 30; + +// +-----------------------------------------------------------------------+ +// | Proxy Settings | +// +-----------------------------------------------------------------------+ + +// If piwigo needs a http-proxy to connect to the internet, set this to true +$conf['use_proxy'] = false; + +// Connection string of the proxy +$conf['proxy_server'] = 'proxy.domain.org:port'; + +// If the http-proxy requires authentication, set username and password here +// e.g. username:password +$conf['proxy_auth'] = ''; ?> + diff --git a/manifest.toml b/manifest.toml index ad2908c..220c7aa 100644 --- a/manifest.toml +++ b/manifest.toml @@ -73,6 +73,7 @@ ram.runtime = "50M" format = "zip" [resources.system_user] + allow_email = true [resources.install_dir]