1
0
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:
Matt Friedman
2011-09-26 20:26:32 -07:00
parent 2a28b6fc40
commit 2dca3c3c27
7 changed files with 11 additions and 61 deletions

View File

@@ -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>';
}
}

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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'])
);