diff options
| author | Andreas Fischer <bantu@phpbb.com> | 2013-10-10 23:39:09 +0200 |
|---|---|---|
| committer | Andreas Fischer <bantu@phpbb.com> | 2013-10-10 23:39:09 +0200 |
| commit | 353ac33d5cea1752047779eb8c70c7ce3a64b6c8 (patch) | |
| tree | 76e08c4e16c68256700506b7111c3cbb547dc877 /phpBB/includes/acp/acp_board.php | |
| parent | 0228424983e35badc779923a1f0398fc3ab7c8b2 (diff) | |
| parent | b59131f558a6d0fe4c836e2658152c8698f0cd22 (diff) | |
| download | forums-353ac33d5cea1752047779eb8c70c7ce3a64b6c8.tar forums-353ac33d5cea1752047779eb8c70c7ce3a64b6c8.tar.gz forums-353ac33d5cea1752047779eb8c70c7ce3a64b6c8.tar.bz2 forums-353ac33d5cea1752047779eb8c70c7ce3a64b6c8.tar.xz forums-353ac33d5cea1752047779eb8c70c7ce3a64b6c8.zip | |
Merge remote-tracking branch 'phpbb/develop' into ticket/11621
* phpbb/develop: (542 commits)
[ticket/11901] Pass empty string as relative_url for non-local magic URL.
[ticket/11898] Correct adm_relative_path created by installer
[ticket/11898] Correct admin S_LOGIN_ACTION
[ticket/11892] Fix undefined variables: to_forum_id & to_topic_id
[ticket/11890] Fix untranslated string when deleting posts through MCP.
[ticket/11895] Fix undefined $forum_id
[ticket/10383] Update the results without the overlay popup.
[ticket/10383] Make the content transitions smoother.
[ticket/10383] AJAXify poll voting
[ticket/11888] Update default search backend in namespaces migration
[ticket/11739] Rename “Remember Me” login keys module
[ticket/11893] Remove unnecessary <fieldset> causing a large font size
[ticket/11894] Fix typo in "Delete post" option
[ticket/11888] Use \phpbb\search\fulltext_native as search backend config
[ticket/11608] Mark failed test as incomplete for mysql search backend
[ticket/11608] Update search backend class names to namespaces
[ticket/11608] Move markIncomplete to search backends test
[ticket/11608] Rename base search test class file
[ticket/11608] Remove suffix test from base class
[ticket/11608] Mark postgres search not found test as incomplete
...
Diffstat (limited to 'phpBB/includes/acp/acp_board.php')
| -rw-r--r-- | phpBB/includes/acp/acp_board.php | 58 |
1 files changed, 57 insertions, 1 deletions
diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php index 12e2a1bf72..8f2548166b 100644 --- a/phpBB/includes/acp/acp_board.php +++ b/phpBB/includes/acp/acp_board.php @@ -328,6 +328,7 @@ class acp_board 'session_length' => array('lang' => 'SESSION_LENGTH', 'validate' => 'int:60:9999999999', 'type' => 'number:60:9999999999', 'explain' => true, 'append' => ' ' . $user->lang['SECONDS']), 'active_sessions' => array('lang' => 'LIMIT_SESSIONS', 'validate' => 'int:0:9999', 'type' => 'number:0:9999', 'explain' => true), 'load_online_time' => array('lang' => 'ONLINE_LENGTH', 'validate' => 'int:0:999', 'type' => 'number:0:999', 'explain' => true, 'append' => ' ' . $user->lang['MINUTES']), + 'read_notification_expire_days' => array('lang' => 'READ_NOTIFICATION_EXPIRE_DAYS', 'validate' => 'int:0', 'type' => 'number:0', 'explain' => true, 'append' => ' ' . $user->lang['DAYS']), 'legend2' => 'GENERAL_OPTIONS', 'load_notifications' => array('lang' => 'LOAD_NOTIFICATIONS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), @@ -375,6 +376,7 @@ class acp_board 'use_system_cron' => array('lang' => 'USE_SYSTEM_CRON', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true), 'legend2' => 'PATH_SETTINGS', + 'enable_mod_rewrite' => array('lang' => 'MOD_REWRITE_ENABLE', 'validate' => 'bool', 'type' => 'custom', 'method' => 'enable_mod_rewrite', 'explain' => true), 'smilies_path' => array('lang' => 'SMILIES_PATH', 'validate' => 'rpath', 'type' => 'text:20:255', 'explain' => true), 'icons_path' => array('lang' => 'ICONS_PATH', 'validate' => 'rpath', 'type' => 'text:20:255', 'explain' => true), 'upload_icons_path' => array('lang' => 'UPLOAD_ICONS_PATH', 'validate' => 'rpath', 'type' => 'text:20:255', 'explain' => true), @@ -658,6 +660,13 @@ class acp_board $auth_tpl = $provider->get_acp_template($this->new_config); if ($auth_tpl) { + if (array_key_exists('BLOCK_VAR_NAME', $auth_tpl)) + { + foreach ($auth_tpl['BLOCK_VARS'] as $block_vars) + { + $template->assign_block_vars($auth_tpl['BLOCK_VAR_NAME'], $block_vars); + } + } $template->assign_vars($auth_tpl['TEMPLATE_VARS']); $template->assign_block_vars('auth_tpl', array( 'TEMPLATE_FILE' => $auth_tpl['TEMPLATE_FILE'], @@ -679,7 +688,7 @@ class acp_board foreach ($auth_providers as $key => $value) { - if (!($value instanceof phpbb_auth_provider_interface)) + if (!($value instanceof \phpbb\auth\provider\provider_interface)) { continue; } @@ -994,4 +1003,51 @@ class acp_board $cache->destroy('sql', FORUMS_TABLE); } + /** + * Option to enable/disable removal of 'app.php' from URLs + * + * Note that if mod_rewrite is on, URLs without app.php will still work, + * but any paths generated by the controller helper url() method will not + * contain app.php. + * + * @param int $value The current config value + * @param string $key The config key + * @return string The HTML for the form field + */ + function enable_mod_rewrite($value, $key) + { + global $user, $config; + + // Determine whether mod_rewrite is enabled on the server + // NOTE: This only works on Apache servers on which PHP is NOT + // installed as CGI. In that case, there is no way for PHP to + // determine whether or not the Apache module is enabled. + // + // To be clear on the value of $mod_rewite: + // null = Cannot determine whether or not the server has mod_rewrite + // enabled + // false = Can determine that the server does NOT have mod_rewrite + // enabled + // true = Can determine that the server DOES have mod_rewrite_enabled + $mod_rewrite = null; + if (function_exists('apache_get_modules')) + { + $mod_rewrite = (bool) in_array('mod_rewrite', apache_get_modules()); + } + + // If $message is false, mod_rewrite is enabled. + // Otherwise, it is not and we need to: + // 1) disable the form field + // 2) make sure the config value is set to 0 + // 3) append the message to the return + $value = ($mod_rewrite === false) ? 0 : $value; + $message = $mod_rewrite === null ? 'MOD_REWRITE_INFORMATION_UNAVAILABLE' : ($mod_rewrite === false ? 'MOD_REWRITE_DISABLED' : false); + + // Let's do some friendly HTML injection if we want to disable the + // form field because h_radio() has no pretty way of doing so + $field_name = 'config[enable_mod_rewrite]' . ($message === 'MOD_REWRITE_DISABLED' ? '" disabled="disabled' : ''); + + return h_radio($field_name, array(1 => 'YES', 0 => 'NO'), $value) . + ($message !== false ? '<br /><span>' . $user->lang($message) . '</span>' : ''); + } } |
