Configuration


Config parameters for WackoWiki R6.1


Default values are set in the config_defaults.php file in the config/ folder.

1. Primary

generated by installer


config/config.php

<?php
 
$wacko_config = [
    'base_url' => 'https://example.com/wiki/',
    'db_charset' => 'utf8mb4',
    'db_collation' => 'utf8mb4_unicode_520_ci',
    'db_driver' => 'mysql_pdo',
    'db_engine' => 'InnoDB',
    'db_vendor' => 'mariadb',
    'db_host' => 'localhost',
    'db_port' => '3306',
    'db_name' => 'wiki',
    'db_user' => 'db_user_name',
    'db_password' => '',
    'sql_mode' => '0',
    'table_prefix' => 'wacko_',
    'system_seed' => 'c-&P[(13N#Nj62l*mYE4',
    'hashid_seed' => '6MH]g{Fpa}#Ck~I22^X#',
    'recovery_password' => '',
    'wacko_version' => '6.1.28',
];

2. Secondary

stored in config table


Changes in the secondary config can be done via

  1. editing the config_value in the config table via phpMyAdmin.
    • Don't forget to delete the _cache/config/config.php afterwards, e.g. {{admincache}}
  2. the Admin panel

no config_name value default
1. abuse_email abuse@example.com
2. account_page Settings
3. acl_lock 0
4. admin_email webmaster@example.com
5. admin_name WikiAdmin
6. allow_email_reuse 0
7. allow_intercom 0
8. allow_license_per_page 0
9. allow_massemail 0
10. allow_persistent_cookie 1
11. allow_rawhtml 1
12. allow_registration 0
13. allow_themes 0
14. allow_themes_per_page 0
15. allow_x11colors 0
16. allowed_email_domains
17. allowed_languages 0
18. american_date 1
19. anonymize_ip 0
20. ap_failed_login_count 0
21. ap_max_login_attempts 4
22. approve_new_user 0
23. attachments_handler 2
24. autosubscribe 1
25. cache 1
26. cache_sql 0
27. cache_sql_ttl 600
28. cache_ttl 600
29. canonical 0
30. captcha_edit_page 1
31. captcha_new_comment 1
32. captcha_new_page 1
33. captcha_registration 1
34. categories_handler 1
35. category_page Category
36. changes_page RecentChanges
37. check_mimetype 1
38. comment_delay 1
39. comments_count 10
40. comments_offset
41. comments_page RecentlyCommented
42. create_thumbnail 0
43. csp 1
44. date_format dd.MM.y
45. debug 3
46. debug_admin_only 0
47. debug_sql_threshold 0
48. default_comment_acl $
49. default_create_acl $
50. default_diff_mode 3
51. default_read_acl *
52. default_rename_redirect 0
53. default_upload_acl Admins
54. default_write_acl $
55. diff_modes 0,1,2,3,4,5
56. disable_bracketslinks 0
57. disable_formatters 0
58. disable_safehtml 0
59. disable_wikilinks 1
60. disable_wikiname 1
61. edit_summary 0
62. email_confirmation 0
63. email_from WackoWiki
64. email_priority 3
65. email_subject_prefix
66. enable_captcha 1
67. enable_comments 1
68. enable_counters 1
69. enable_email 1
70. enable_email_notification 1
71. enable_feeds 1
72. enable_license 0
73. enable_referrers 0
74. enable_security_headers 1
75. enable_system_message 1
76. export_handler 2
77. ext_bad_behaviour 0
78. footer_comments 1
79. footer_files 1
80. footer_tags 1
81. forbidden_email_domains
82. form_token_time 7200
83. forum_cluster Forum
84. forum_topics 10
85. groups_page Groups
86. help_page
87. hide_index 0
88. hide_locked 1
89. hide_revisions 0
90. hide_toc 0
91. index_page PageIndex
92. intercom_delay 30
93. ip_login_limit_max 50
94. jpeg_quality 80
95. keep_deleted_time 0
96. language en
97. license
98. link_target 0
99. list_count 50
100. log_default_show 1
101. log_level 7
102. log_purge_time 0
103. login_notice 0
104. login_page Login
105. logo_display 0
106. logo_height 50
107. logo_width 108
108. maint_last_cache 1753529961
109. maint_last_delpages 1
110. maint_last_log 1
111. maint_last_oldpages 1
112. maint_last_refs 1753612761
113. maint_last_session 1753785561
114. maint_last_update 2025-07-26 10:32:04
115. maint_last_xml_sitemap 1
116. max_image_area 0
117. max_image_width 0
118. max_login_attempts 3
119. max_page_size 2097152
120. max_thumb_width 150
121. menu_items 5
122. minor_edit 0
123. multilanguage 1
124. name_date_macro %s (%s)
125. news_cluster News
126. news_levels
127. news_structure
128. nofollow 0
129. noindex 0
130. noreferrer 0
131. noreply_email noreply@example.com
132. notify_comment 1
133. notify_diff_mode 2
134. notify_minor_edit 1
135. notify_new_user_account 1
136. notify_page 2
137. notify_upload 1
138. numerate_links 0
139. opensearch 0
140. owners_can_remove_comments 1
141. pages_purge_time 0
142. paragrafica 1
143. password_page Password
144. permissions_policy 1
145. phpmailer_method mail
146. privacy_page
147. publish_anonymously 0
148. pwd_admin_min_chars 15
149. pwd_char_classes 0
150. pwd_min_chars 10
151. pwd_unlike_login 1
152. random_page RandomPage
153. referrer_policy 7
154. referrers_purge_time 1
155. registration_delay 10
156. registration_page Registration
157. remove_onlyadmins 0
158. rename_global_acl Admins
159. reverse_proxy 0
160. reverse_proxy_addresses
161. reverse_proxy_header
162. review 0
163. rewrite_mode 1
164. root_page HomePage
165. search_page Search
166. section_edit 1
167. session_length 30
168. session_notice 0
169. session_store 1
170. show_permalink 0
171. show_spaces 1
172. site_desc Cover what you do best. Link to the rest.
173. site_favicon
174. site_logo wacko_logo.png
175. site_name MyWikiSite
176. smtp_connection_mode
177. smtp_host localhost
178. smtp_password
179. smtp_port 587
180. smtp_username
181. sorting_comments 0
182. source_handler 1
183. spam_filter 1
184. standard_handlers addcomment|admin\.php|attachments|categories|...
185. store_deleted_pages 1
186. svg_sanitizer 1
187. system_message
188. system_message_audience 1
189. system_message_type
190. terms_page
191. theme default
192. theme_color
193. time_format HH:mm
194. time_format_seconds HH:mm:ss
195. timezone UTC
196. tls 0
197. tls_implicit 0
198. tree_level 1
199. typografica 0
200. upload admins
201. upload_allowed_exts
202. upload_banned_exts asax, asa, ascx, ashx, asmx, aspx, asp, axd, ...
203. upload_images_only 1
204. upload_max_size 512000
205. upload_quota 0
206. upload_quota_per_user 104857600
207. upload_translit 1
208. upload_translit_lower 0
209. urls_underscores 0
210. user_can_delete_account 0
211. username_chars_max 20
212. username_chars_min 3
213. users_page Users
214. xml_changes_link 1
215. xml_sitemap 0
216. xml_sitemap_gz 0
217. xml_sitemap_time 1
218. xml_sitemap_update
219. youarehere_text

3. User Settings

stored in usersetting table


Relation of corresponding user settings to config settings:


guest user remarks
config
user setting

The default values for the user settings are either set as DEFAULT value in the table itself or taken from the corresponding settings in the secondary config.


no config_name value default
1. allow_intercom 0
2. allow_massemail 0
3. autocomplete 0
4. comments_offset 1
5. date_preference system
6. diff_mode 3
7. dont_redirect
8. doubleclick_edit 1
9. hide_lastsession
10. list_count 50
11. menu_items 5
12. noid_pubs 0
13. notify_comment 1
14. notify_minor_edit 1
15. notify_page 2
16. numerate_links 1
17. send_watchmail
18. session_length
19. setting_id 1
20. show_comments 1
21. show_files
22. show_spaces 1
23. sorting_comments 0
24. theme default
25. timezone UTC
26. user_id 3
27. user_lang en
28. validate_ip

4. Constants

config/constants.php

const CONFIG_DIR			= 'config'; // NB hardcoded as config/constants.php for bootstrap
const CONFIG_FILE			= 'config/config.php';
const CONFIG_DEFAULTS			= 'config/config_defaults.php';
const SITE_LOCK				= 'config/lock';
const AP_LOCK				= 'config/lock_ap';

const ACTION_DIR			= 'action';
const LANG_DIR				= 'lang';
const FORMATTER_DIR			= 'formatter';
const HANDLER_DIR			= 'handler';
const IMAGE_DIR				= 'image';
const THEME_DIR				= 'theme';
const THUMB_DIR				= 'file/thumb';
const THUMB_LOCAL_DIR			= 'file/thumb_local';
const UPLOAD_GLOBAL_DIR			= 'file/global';
const UPLOAD_LOCAL_DIR			= 'file/perpage';
const UPLOAD_BACKUP_DIR			= 'file/backup';
const XML_DIR				= 'xml';

const CACHE_CONFIG_DIR			= '_cache/config';
const CACHE_FEED_DIR			= '_cache/feed';
const CACHE_PAGE_DIR			= '_cache/page';
const CACHE_SQL_DIR			= '_cache/query';
const CACHE_TEMPLATE_DIR		= '_cache/template';
const CACHE_SESSION_DIR			= '/tmp';			// '/tmp', '_cache/session'

const CHMOD_SAFE			= 0640;				// better to use 0600 in production
const CHMOD_FILE			= 0644;				// file creation mode
const CHMOD_DIR				= 0755;				// directory creation mode

const SITEMAP_XML			= 'sitemap.xml';

const HTTP_403				= 'image/upload403.svg';
const HTTP_404				= 'image/upload404.svg';

const DAYSECS				= 86400;			// 24 * 60 * 60

const BACKUP_COMPRESSION_RATE		= 9;				// gzip compression rate
const BACKUP_MEMORY_STEP		= 1048576;			// max bytes to process per cycle (make sure it's at least 10 times less than PHP memory limit!)
const BACKUP_FILE_LOG			= 'backup.log';		// backup log filename
const BACKUP_FILE_STRUCTURE		= 'structure.sql';	// tables structure filename
const BACKUP_FILE_DUMP_SUFFIX		= '.dat.gz';		// tables dump filename suffix
const BACKUP_FILE_GZIP_SUFFIX		= '.gz';			// regular compressed files suffix

const GLOB_ALL				= '{,.}*';			// for glob()
const ADD_NO_DIV			= '*';				// for Wacko::method()
const SYSTEM_LANG			= -1;				// for Wacko::_t()

const COOKIE_SAMESITE			= 'Lax';			// Strict, Lax, None
const AUTH_TOKEN			= 'Auth';
const GUEST				= 'guest@wacko';

const INTERCOM_MAX_SIZE			= 262144;

const LOAD_NOCACHE			= false;
const LOAD_CACHE			= true;
const LOAD_ALL				= false;
const LOAD_META				= true;

const IS_HEADING			= 66666;
const IS_PARAGRAPH			= 77777;
const IS_INCLUDE			= 99999;

const MENU_AUTO				= 0;
const MENU_USER				= 1;
const MENU_DEFAULT			= 2;

const LINK_PAGE				= 0;
const LINK_FILE				= 1;
const LINK_EXTERNAL			= 2;

const OBJECT_PAGE			= 1;
const OBJECT_FILE			= 2;
const OBJECT_REVISION			= 3;

const NBSP				= ' ';				// \u{00A0} No-Break Space (NBSP)

const RECOVERY_MODE			= 0;				// 1 - restore database
const AUTO_REWRITE			= 1;				// 0 - off, turns off auto rewrite for debugging,

const SQL_MODE_STRICT		= [
		'mariadb'	=> 'TRADITIONAL,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY',
		'mysql'		=> 'TRADITIONAL,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY'
];
const SQL_MODE_LAX		= [
		'mariadb'	=> 'NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER',
		'mysql'		=> 'NO_ENGINE_SUBSTITUTION'
];

// Do not change these two lines, PLEASE-PLEASE. In fact, don't change anything! Ever!
const WACKO_VERSION			= '6.1.28';
const HTML_ENTITIES_CHARSET		= 'UTF-8';

const WACKO_ENV				= 4;			// Environment: 1 - development, 2 - test, 3 - stage, 4 - production

const ACTION4DIFF			= 'anchor, toc';	// allowed actions in DIFF

const DB_MIN_VERSION			= ['mariadb' => '10.4', 'mysql' => '8.0'];
const DB_ERROR_MODE			= 0;			// 0 - silent, 1 - warning, 2 - exception

const PHP_MIN_VERSION			= '8.0';		// minimum required PHP version
const PHP_MAX_VERSION			= '8.4';		// maximum supported PHP version
const PHP_ERROR_REPORTING		= 0;			// PHP error reporting: 0 - off, 6 - all