mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-06 16:56:44 +02:00
[ticket/10390] Serve jQuery from Google CDN Yes/No button in ACP
jQuery will now be available via remote CDN from Google. Microsoft and jQuery CDNs have been removed, so we can simplify this option for the user. Default mode is NO so the copy of jQuery included with phpBB is served by default. PHPBB3-10390
This commit is contained in:
@@ -99,7 +99,7 @@ class acp_board
|
||||
'load_cpf_pm' => array('lang' => 'LOAD_CPF_PM', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
|
||||
'load_cpf_viewprofile' => array('lang' => 'LOAD_CPF_VIEWPROFILE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
|
||||
'load_cpf_viewtopic' => array('lang' => 'LOAD_CPF_VIEWTOPIC', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
|
||||
'load_jquery_host' => array('lang' => 'JQUERY_HOST', 'validate' => 'string', 'type' => 'select', 'method' => 'jquery_host_select', 'explain' => true),
|
||||
'load_jquery_cdn' => array('lang' => 'LOAD_JQUERY_CDN', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||
|
||||
'legend3' => 'ACP_SUBMIT_CHANGES',
|
||||
)
|
||||
@@ -998,14 +998,4 @@ class acp_board
|
||||
$cache->destroy('sql', FORUMS_TABLE);
|
||||
}
|
||||
|
||||
function jquery_host_select($value, $key = '')
|
||||
{
|
||||
global $user;
|
||||
|
||||
return '<option value="localhost"' . (($value == 'localhost') ? ' selected="selected"' : '') . '>' . $user->lang['JQUERY_HOST_LOCAL'] . '</option>
|
||||
<option value="google"' . (($value == 'google') ? ' selected="selected"' : '') . '>' . $user->lang['JQUERY_HOST_GOOGLE'] . '</option>
|
||||
<option value="microsoft"' . (($value == 'microsoft') ? ' selected="selected"' : '') . '>' . $user->lang['JQUERY_HOST_MS'] . '</option>
|
||||
<option value="jquery"' . (($value == 'jquery') ? ' selected="selected"' : '') . '>' . $user->lang['JQUERY_HOST_JQUERY'] . '</option>';
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -30,9 +30,6 @@ define('PHPBB_VERSION', '3.1.0-dev');
|
||||
// QA-related
|
||||
// define('PHPBB_QA', 1);
|
||||
|
||||
// jQuery Version
|
||||
define('JQUERY_VERSION', '1.6.2'); // Important follow jQuery versioning, ie: 1.6, 1.6.1, 1.6.2
|
||||
|
||||
// User related
|
||||
define('ANONYMOUS', 1);
|
||||
|
||||
|
@@ -4569,8 +4569,8 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0
|
||||
'T_STYLESHEET_LINK' => "{$web_path}styles/" . $user->theme['theme_path'] . '/theme/stylesheet.css',
|
||||
'T_STYLESHEET_LANG_LINK' => "{$web_path}styles/" . $user->theme['theme_path'] . '/theme/' . $user->lang_name . '/stylesheet.css',
|
||||
'T_STYLESHEET_NAME' => $user->theme['theme_name'],
|
||||
'T_JQUERY_LINK' => (!empty($config['load_jquery_host']) && $config['load_jquery_host'] != 'localhost') ? remote_jquery_url($config['load_jquery_host']) : "{$web_path}assets/javascript/jquery.js",
|
||||
'S_JQUERY_FALLBACK' => (!empty($config['load_jquery_host']) && $config['load_jquery_host'] != 'localhost') ? true : false,
|
||||
'T_JQUERY_LINK' => ($config['load_jquery_cdn'] && !empty($config['load_jquery_url'])) ? $config['load_jquery_url'] : "{$web_path}assets/javascript/jquery.js",
|
||||
'S_JQUERY_FALLBACK' => ($config['load_jquery_cdn']) ? true : false,
|
||||
|
||||
'T_THEME_NAME' => $user->theme['theme_path'],
|
||||
'T_THEME_LANG_NAME' => $user->data['user_lang'],
|
||||
@@ -4769,34 +4769,3 @@ function phpbb_pcre_utf8_support()
|
||||
}
|
||||
return $utf8_pcre_properties;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build jQuery URL for remote CDNs
|
||||
* Reference: http://docs.jquery.com/Downloading_jQuery#CDN_Hosted_jQuery
|
||||
* HTTP protocols intentionally omitted for Google and Microsoft - its the best
|
||||
* way to reference third party content that is available via both HTTP and HTTPS
|
||||
*
|
||||
* @return string Returns url to a jQuery library
|
||||
*/
|
||||
function remote_jquery_url($host)
|
||||
{
|
||||
switch($host)
|
||||
{
|
||||
case 'google':
|
||||
// Google uses a 1.5.0, 1.5.1 format (we need to add a .0 to new 1.X releases)
|
||||
$version = (substr_count(JQUERY_VERSION, '.') == 1) ? JQUERY_VERSION . '.0' : JQUERY_VERSION;
|
||||
$url = '//ajax.googleapis.com/ajax/libs/jquery/' . $version . '/jquery.min.js';
|
||||
break;
|
||||
|
||||
case 'microsoft':
|
||||
// Microsoft uses a 1.5, 1.5.1 format
|
||||
$url = '//ajax.aspnetcdn.com/ajax/jQuery/jquery-' . JQUERY_VERSION . '.min.js';
|
||||
break;
|
||||
|
||||
case 'jquery':
|
||||
// jQuery uses a 1.5, 1.5.1 format
|
||||
$url = 'http://code.jquery.com/jquery-' . JQUERY_VERSION . '.min.js';
|
||||
break;
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
|
@@ -126,8 +126,8 @@ function adm_page_footer($copyright_html = true)
|
||||
'DEBUG_OUTPUT' => (defined('DEBUG')) ? $debug_output : '',
|
||||
'TRANSLATION_INFO' => (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
|
||||
'S_COPYRIGHT_HTML' => $copyright_html,
|
||||
'T_JQUERY_LINK' => (!empty($config['load_jquery_host']) && $config['load_jquery_host'] != 'localhost') ? remote_jquery_url($config['load_jquery_host']) : "{$phpbb_root_path}assets/javascript/jquery.js",
|
||||
'S_JQUERY_FALLBACK' => (!empty($config['load_jquery_host']) && $config['load_jquery_host'] != 'localhost') ? true : false,
|
||||
'T_JQUERY_LINK' => ($config['load_jquery_cdn'] && !empty($config['load_jquery_url'])) ? $config['load_jquery_url'] : "{$phpbb_root_path}assets/javascript/jquery.js",
|
||||
'S_JQUERY_FALLBACK' => ($config['load_jquery_cdn']) ? true : false,
|
||||
'VERSION' => $config['version'])
|
||||
);
|
||||
|
||||
|
Reference in New Issue
Block a user