mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-13 04:04:12 +02:00
Merge remote-tracking branch 'github-phpbb/develop' into ticket/11700
* github-phpbb/develop: (586 commits) [ticket/11735] Display disabled checkbox in subsilver for read notifications [ticket/11735] Display disabled checkbox when notification is already read [ticket/11844] update acp/authentication language var [ticket/11795] Remove PM popup [ticket/11795] Remove outdated comment from forum_fn.js [ticket/11795] Move find user JS to forum_fn [ticket/11795] Replace TWIG with phpBB syntax in ACP [ticket/11795] Move MSN scripts to forum_fn.js [ticket/11795] Use phpBB template syntax instead of TWIG [ticket/11795] Move PM popup JS to forum_fn.js [ticket/11795] Get rid of pagination JS variables [ticket/11795] Get rid of onload_functions [ticket/11795] Use data-reset-on-edit attr to reset elements [ticket/11795] Redo form elements auto-focus [ticket/11811] Remove outline on :focus [ticket/11836] Fix subsilver fatal error [ticket/11837] Replace escaped single quote with utf-8 single quote [ticket/11836] Fix fatal error on unsupported provider for auth link [ticket/11837] Translate UCP_AUTH_LINK_NOT_SUPPORTED [ticket/11809] Ensure code.js is first script included after jQuery ... Conflicts: phpBB/config/services.yml phpBB/develop/create_schema_files.php phpBB/develop/mysql_upgrader.php phpBB/download/file.php phpBB/includes/bbcode.php phpBB/includes/functions_container.php phpBB/install/database_update.php phpBB/install/index.php phpBB/phpbb/controller/helper.php phpBB/phpbb/controller/resolver.php phpBB/phpbb/request/request_interface.php phpBB/phpbb/session.php phpBB/phpbb/style/extension_path_provider.php phpBB/phpbb/style/path_provider.php phpBB/phpbb/style/path_provider_interface.php phpBB/phpbb/style/resource_locator.php phpBB/phpbb/style/style.php phpBB/phpbb/template/locator.php phpBB/phpbb/template/template.php phpBB/phpbb/template/twig/node/includeasset.php phpBB/phpbb/template/twig/node/includecss.php phpBB/phpbb/template/twig/node/includejs.php phpBB/phpbb/template/twig/twig.php tests/controller/helper_url_test.php tests/di/create_container_test.php tests/extension/style_path_provider_test.php tests/notification/notification_test.php tests/session/continue_test.php tests/session/creation_test.php tests/template/template_events_test.php tests/template/template_test_case.php tests/template/template_test_case_with_tree.php tests/test_framework/phpbb_functional_test_case.php
This commit is contained in:
@@ -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'],
|
||||
@@ -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>' : '');
|
||||
}
|
||||
}
|
||||
|
@@ -379,6 +379,7 @@ class acp_modules
|
||||
$json_response->send(array(
|
||||
'MESSAGE_TITLE' => $user->lang('ERROR'),
|
||||
'MESSAGE_TEXT' => implode('<br />', $errors),
|
||||
'SUCCESS' => false,
|
||||
));
|
||||
}
|
||||
|
||||
|
@@ -25,7 +25,7 @@ class acp_permission_roles
|
||||
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $db, $user, $auth, $template, $cache;
|
||||
global $db, $user, $auth, $template, $cache, $phpbb_container;
|
||||
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
|
||||
|
||||
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
|
||||
@@ -306,6 +306,8 @@ class acp_permission_roles
|
||||
trigger_error($user->lang['NO_ROLE_SELECTED'] . adm_back_link($this->u_action), E_USER_WARNING);
|
||||
}
|
||||
|
||||
$phpbb_permissions = $phpbb_container->get('acl.permissions');
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_EDIT' => true,
|
||||
|
||||
@@ -314,9 +316,8 @@ class acp_permission_roles
|
||||
|
||||
'ROLE_NAME' => $role_row['role_name'],
|
||||
'ROLE_DESCRIPTION' => $role_row['role_description'],
|
||||
'L_ACL_TYPE' => $user->lang['ACL_TYPE_' . strtoupper($permission_type)],
|
||||
)
|
||||
);
|
||||
'L_ACL_TYPE' => $phpbb_permissions->get_type_lang($permission_type),
|
||||
));
|
||||
|
||||
// We need to fill the auth options array with ACL_NO options ;)
|
||||
$sql = 'SELECT auth_option_id, auth_option
|
||||
@@ -456,7 +457,9 @@ class acp_permission_roles
|
||||
*/
|
||||
function display_auth_options($auth_options)
|
||||
{
|
||||
global $template, $user;
|
||||
global $template, $user, $phpbb_container;
|
||||
|
||||
$phpbb_permissions = $phpbb_container->get('acl.permissions');
|
||||
|
||||
$content_array = $categories = array();
|
||||
$key_sort_array = array(0);
|
||||
@@ -473,7 +476,7 @@ class acp_permission_roles
|
||||
foreach ($content_array as $cat => $cat_array)
|
||||
{
|
||||
$template->assign_block_vars('auth', array(
|
||||
'CAT_NAME' => $user->lang['permission_cat'][$cat],
|
||||
'CAT_NAME' => $phpbb_permissions->get_category_lang($cat),
|
||||
|
||||
'S_YES' => ($cat_array['S_YES'] && !$cat_array['S_NEVER'] && !$cat_array['S_NO']) ? true : false,
|
||||
'S_NEVER' => ($cat_array['S_NEVER'] && !$cat_array['S_YES'] && !$cat_array['S_NO']) ? true : false,
|
||||
@@ -488,8 +491,8 @@ class acp_permission_roles
|
||||
'S_NO' => ($allowed == ACL_NO) ? true : false,
|
||||
|
||||
'FIELD_NAME' => $permission,
|
||||
'PERMISSION' => $user->lang['acl_' . $permission]['lang'])
|
||||
);
|
||||
'PERMISSION' => $phpbb_permissions->get_permission_lang($permission),
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -22,15 +22,18 @@ class acp_permissions
|
||||
{
|
||||
var $u_action;
|
||||
var $permission_dropdown;
|
||||
protected $permissions;
|
||||
|
||||
function main($id, $mode)
|
||||
{
|
||||
global $db, $user, $auth, $template, $cache;
|
||||
global $db, $user, $auth, $template, $cache, $phpbb_container;
|
||||
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
|
||||
|
||||
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
|
||||
include_once($phpbb_root_path . 'includes/acp/auth.' . $phpEx);
|
||||
|
||||
$this->permissions = $phpbb_container->get('acl.permissions');
|
||||
|
||||
$auth_admin = new auth_admin();
|
||||
|
||||
$user->add_lang('acp/permissions');
|
||||
@@ -49,7 +52,7 @@ class acp_permissions
|
||||
|
||||
if ($user_id && isset($auth_admin->acl_options['id'][$permission]) && $auth->acl_get('a_viewauth'))
|
||||
{
|
||||
$this->page_title = sprintf($user->lang['TRACE_PERMISSION'], $user->lang['acl_' . $permission]['lang']);
|
||||
$this->page_title = sprintf($user->lang['TRACE_PERMISSION'], $this->permissions->get_permission_lang($permission));
|
||||
$this->permission_trace($user_id, $forum_id, $permission);
|
||||
return;
|
||||
}
|
||||
@@ -512,7 +515,7 @@ class acp_permissions
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_PERMISSION_DROPDOWN' => (sizeof($this->permission_dropdown) > 1) ? $this->build_permission_dropdown($this->permission_dropdown, $permission_type, $permission_scope) : false,
|
||||
'L_PERMISSION_TYPE' => $user->lang['ACL_TYPE_' . strtoupper($permission_type)],
|
||||
'L_PERMISSION_TYPE' => $this->permissions->get_type_lang($permission_type),
|
||||
|
||||
'U_ACTION' => $this->u_action,
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields)
|
||||
@@ -587,7 +590,7 @@ class acp_permissions
|
||||
*/
|
||||
function build_permission_dropdown($options, $default_option, $permission_scope)
|
||||
{
|
||||
global $user, $auth;
|
||||
global $auth;
|
||||
|
||||
$s_dropdown_options = '';
|
||||
foreach ($options as $setting)
|
||||
@@ -598,7 +601,7 @@ class acp_permissions
|
||||
}
|
||||
|
||||
$selected = ($setting == $default_option) ? ' selected="selected"' : '';
|
||||
$l_setting = (isset($user->lang['permission_type'][$permission_scope][$setting])) ? $user->lang['permission_type'][$permission_scope][$setting] : $user->lang['permission_type'][$setting];
|
||||
$l_setting = $this->permissions->get_type_lang($setting, $permission_scope);
|
||||
$s_dropdown_options .= '<option value="' . $setting . '"' . $selected . '>' . $l_setting . '</option>';
|
||||
}
|
||||
|
||||
@@ -979,7 +982,7 @@ class acp_permissions
|
||||
$back = request_var('back', 0);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'PERMISSION' => $user->lang['acl_' . $permission]['lang'],
|
||||
'PERMISSION' => $this->permissions->get_permission_lang($permission),
|
||||
'PERMISSION_USERNAME' => $userdata['username'],
|
||||
'FORUM_NAME' => $forum_name,
|
||||
|
||||
|
@@ -261,7 +261,8 @@ class auth_admin extends \phpbb\auth\auth
|
||||
*/
|
||||
function display_mask($mode, $permission_type, &$hold_ary, $user_mode = 'user', $local = false, $group_display = true)
|
||||
{
|
||||
global $template, $user, $db, $phpbb_root_path, $phpEx;
|
||||
global $template, $user, $db, $phpbb_root_path, $phpEx, $phpbb_container;
|
||||
$phpbb_permissions = $phpbb_container->get('acl.permissions');
|
||||
|
||||
// Define names for template loops, might be able to be set
|
||||
$tpl_pmask = 'p_mask';
|
||||
@@ -269,7 +270,7 @@ class auth_admin extends \phpbb\auth\auth
|
||||
$tpl_category = 'category';
|
||||
$tpl_mask = 'mask';
|
||||
|
||||
$l_acl_type = (isset($user->lang['ACL_TYPE_' . (($local) ? 'LOCAL' : 'GLOBAL') . '_' . strtoupper($permission_type)])) ? $user->lang['ACL_TYPE_' . (($local) ? 'LOCAL' : 'GLOBAL') . '_' . strtoupper($permission_type)] : 'ACL_TYPE_' . (($local) ? 'LOCAL' : 'GLOBAL') . '_' . strtoupper($permission_type);
|
||||
$l_acl_type = $phpbb_permissions->get_type_lang($permission_type, (($local) ? 'local' : 'global'));
|
||||
|
||||
// Allow trace for viewing permissions and in user mode
|
||||
$show_trace = ($mode == 'view' && $user_mode == 'user') ? true : false;
|
||||
@@ -1100,7 +1101,9 @@ class auth_admin extends \phpbb\auth\auth
|
||||
*/
|
||||
function assign_cat_array(&$category_array, $tpl_cat, $tpl_mask, $ug_id, $forum_id, $show_trace = false, $s_view)
|
||||
{
|
||||
global $template, $user, $phpbb_admin_path, $phpEx;
|
||||
global $template, $user, $phpbb_admin_path, $phpEx, $phpbb_container;
|
||||
|
||||
$phpbb_permissions = $phpbb_container->get('acl.permissions');
|
||||
|
||||
@reset($category_array);
|
||||
while (list($cat, $cat_array) = each($category_array))
|
||||
@@ -1110,8 +1113,8 @@ class auth_admin extends \phpbb\auth\auth
|
||||
'S_NEVER' => ($cat_array['S_NEVER'] && !$cat_array['S_YES'] && !$cat_array['S_NO']) ? true : false,
|
||||
'S_NO' => ($cat_array['S_NO'] && !$cat_array['S_NEVER'] && !$cat_array['S_YES']) ? true : false,
|
||||
|
||||
'CAT_NAME' => $user->lang['permission_cat'][$cat])
|
||||
);
|
||||
'CAT_NAME' => $phpbb_permissions->get_category_lang($cat),
|
||||
));
|
||||
|
||||
/* Sort permissions by name (more naturaly and user friendly than sorting by a primary key)
|
||||
* Commented out due to it's memory consumption and time needed
|
||||
@@ -1145,8 +1148,8 @@ class auth_admin extends \phpbb\auth\auth
|
||||
'U_TRACE' => ($show_trace) ? append_sid("{$phpbb_admin_path}index.$phpEx", "i=permissions&mode=trace&u=$ug_id&f=$forum_id&auth=$permission") : '',
|
||||
'UA_TRACE' => ($show_trace) ? append_sid("{$phpbb_admin_path}index.$phpEx", "i=permissions&mode=trace&u=$ug_id&f=$forum_id&auth=$permission", false) : '',
|
||||
|
||||
'PERMISSION' => $user->lang['acl_' . $permission]['lang'])
|
||||
);
|
||||
'PERMISSION' => $phpbb_permissions->get_permission_lang($permission),
|
||||
));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1163,8 +1166,8 @@ class auth_admin extends \phpbb\auth\auth
|
||||
'U_TRACE' => ($show_trace) ? append_sid("{$phpbb_admin_path}index.$phpEx", "i=permissions&mode=trace&u=$ug_id&f=$forum_id&auth=$permission") : '',
|
||||
'UA_TRACE' => ($show_trace) ? append_sid("{$phpbb_admin_path}index.$phpEx", "i=permissions&mode=trace&u=$ug_id&f=$forum_id&auth=$permission", false) : '',
|
||||
|
||||
'PERMISSION' => $user->lang['acl_' . $permission]['lang'])
|
||||
);
|
||||
'PERMISSION' => $phpbb_permissions->get_permission_lang($permission),
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1176,7 +1179,9 @@ class auth_admin extends \phpbb\auth\auth
|
||||
*/
|
||||
function build_permission_array(&$permission_row, &$content_array, &$categories, $key_sort_array)
|
||||
{
|
||||
global $user;
|
||||
global $user, $phpbb_container;
|
||||
|
||||
$phpbb_permissions = $phpbb_container->get('acl.permissions');
|
||||
|
||||
foreach ($key_sort_array as $forum_id)
|
||||
{
|
||||
@@ -1191,20 +1196,12 @@ class auth_admin extends \phpbb\auth\auth
|
||||
@reset($permissions);
|
||||
while (list($permission, $auth_setting) = each($permissions))
|
||||
{
|
||||
if (!isset($user->lang['acl_' . $permission]))
|
||||
{
|
||||
$user->lang['acl_' . $permission] = array(
|
||||
'cat' => 'misc',
|
||||
'lang' => '{ acl_' . $permission . ' }'
|
||||
);
|
||||
}
|
||||
|
||||
$cat = $user->lang['acl_' . $permission]['cat'];
|
||||
$cat = $phpbb_permissions->get_permission_category($permission);
|
||||
|
||||
// Build our categories array
|
||||
if (!isset($categories[$cat]))
|
||||
{
|
||||
$categories[$cat] = $user->lang['permission_cat'][$cat];
|
||||
$categories[$cat] = $phpbb_permissions->get_category_lang($cat);
|
||||
}
|
||||
|
||||
// Build our content array
|
||||
|
Reference in New Issue
Block a user