Author: jfthomps
Date: Fri May 18 17:20:11 2012
New Revision: 1340176
URL: http://svn.apache.org/viewvc?rev=1340176&view=rev
Log:
VCL-576
Finalizing for 2.3 release
added $VCLversion global variable that is set in index.php as the current
version of VCL. This is then used when javascript files are included in the
page headers as an appended query variable in the form of somefile.js?v=$v
where $v is locally set to $VCLversion. This makes browsers reload the
javascript file whenever $VCLversion is changed so that people don't end up
with old, cached javascript files with new code, resulting in things not
working correctly. For whatever, we're regularly seeing apache and browsers
think the javascript files have not been modified since the browser last loaded
them when they actually have.
Modified:
incubator/vcl/trunk/web/.ht-inc/utils.php
incubator/vcl/trunk/web/index.php
incubator/vcl/trunk/web/themes/default/page.php
Modified: incubator/vcl/trunk/web/.ht-inc/utils.php
URL:
http://svn.apache.org/viewvc/incubator/vcl/trunk/web/.ht-inc/utils.php?rev=1340176&r1=1340175&r2=1340176&view=diff
==============================================================================
--- incubator/vcl/trunk/web/.ht-inc/utils.php (original)
+++ incubator/vcl/trunk/web/.ht-inc/utils.php Fri May 18 17:20:11 2012
@@ -10485,7 +10485,7 @@ function getExtraCSS() {
///
////////////////////////////////////////////////////////////////////////////////
function getDojoHTML($refresh) {
- global $mode, $actions, $skin, $locale;
+ global $mode, $actions, $skin, $locale, $VCLversion;
$filename = '';
$dojoRequires = array();
@@ -10774,6 +10774,7 @@ function getDojoHTML($refresh) {
$customfile = sprintf("<script type=\"text/javascript\"
src=\"dojo/dojo/%s\"></script>\n", $filename);
$rt = '';
$jslocale = strtolower(str_replace('_', '-', $locale));
+ $v = $VCLversion;
switch($mode) {
case "connectRequest":
$rt .= "<style type=\"text/css\">\n";
@@ -10782,7 +10783,7 @@ function getDojoHTML($refresh) {
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/requests.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/requests.js?v=$v\"></script>\n";
$rt .= $customfile;
$rt .= "<script type=\"text/javascript\">\n";
$rt .= " dojo.addOnLoad(function() {\n";
@@ -10800,7 +10801,7 @@ function getDojoHTML($refresh) {
$rt .= " @import
\"dojo/dojox/layout/resources/FloatingPane.css\";\n";
$rt .= " @import
\"dojo/dojox/layout/resources/ResizeHandle.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/requests.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/requests.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -10828,7 +10829,7 @@ function getDojoHTML($refresh) {
$rt .= "<style type=\"text/css\">\n";
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/requests.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/requests.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -10852,7 +10853,7 @@ function getDojoHTML($refresh) {
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= " @import
\"dojo/dojox/grid/resources/Grid.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/blockallocations.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/blockallocations.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -10879,7 +10880,7 @@ function getDojoHTML($refresh) {
$rt .= "<style type=\"text/css\">\n";
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/blockallocations.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/blockallocations.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -10897,7 +10898,7 @@ function getDojoHTML($refresh) {
$rt .= "<style type=\"text/css\">\n";
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/blockallocations.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/blockallocations.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -10917,7 +10918,7 @@ function getDojoHTML($refresh) {
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= " @import
\"dojo/dojox/grid/resources/Grid.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/schedules.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/schedules.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -10942,7 +10943,7 @@ function getDojoHTML($refresh) {
$rt .= "<style type=\"text/css\">\n";
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/images.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/images.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -10975,7 +10976,7 @@ function getDojoHTML($refresh) {
$rt .= "<style type=\"text/css\">\n";
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/images.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/images.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -11022,7 +11023,7 @@ function getDojoHTML($refresh) {
else
$rt .= " var firstscroll = 0;\n";
$rt .= "</script>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/groups.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/groups.js?v=$v\"></script>\n";
return $rt;
case 'editMgmtNode':
@@ -11043,15 +11044,15 @@ function getDojoHTML($refresh) {
$rt .= " });\n";
$rt .= " dojo.addOnLoad(function()
{document.onmousemove = updateMouseXY;});\n";
$rt .= "</script>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/managementnodes.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/managementnodes.js?v=$v\"></script>\n";
return $rt;
case "serverProfiles":
$rt .= "<style type=\"text/css\">\n";
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/serverprofiles.js\"></script>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/requests.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/serverprofiles.js?v=$v\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/requests.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -11073,7 +11074,7 @@ function getDojoHTML($refresh) {
$rt .= "<style type=\"text/css\">\n";
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/computers.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/computers.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -11099,7 +11100,7 @@ function getDojoHTML($refresh) {
$rt .= "<style type=\"text/css\">\n";
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/computers.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/computers.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -11125,7 +11126,7 @@ function getDojoHTML($refresh) {
$rt .= "<style type=\"text/css\">\n";
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/vm.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/vm.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -11148,7 +11149,7 @@ function getDojoHTML($refresh) {
$rt .= "<style type=\"text/css\">\n";
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/privileges.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/privileges.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -11165,7 +11166,7 @@ function getDojoHTML($refresh) {
$rt .= "<style type=\"text/css\">\n";
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/sitemaintenance.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/sitemaintenance.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -11181,7 +11182,7 @@ function getDojoHTML($refresh) {
$rt .= "<style type=\"text/css\">\n";
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/statistics.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/statistics.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
@@ -11199,7 +11200,7 @@ function getDojoHTML($refresh) {
$rt .= " @import
\"themes/$skin/css/dojo/$skin.css\";\n";
$rt .= " @import \"css/dashboard.css\";\n";
$rt .= "</style>\n";
- $rt .= "<script type=\"text/javascript\"
src=\"js/dashboard.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/dashboard.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\"
src=\"dojo/dojo/dojo.js\"\n";
$rt .= " djConfig=\"parseOnLoad: true, locale:
'$jslocale'\">\n";
$rt .= "</script>\n";
Modified: incubator/vcl/trunk/web/index.php
URL:
http://svn.apache.org/viewvc/incubator/vcl/trunk/web/index.php?rev=1340176&r1=1340175&r2=1340176&view=diff
==============================================================================
--- incubator/vcl/trunk/web/index.php (original)
+++ incubator/vcl/trunk/web/index.php Fri May 18 17:20:11 2012
@@ -17,6 +17,7 @@
*/
# ASF VCL v2.3
+$VCLversion = '2.3';
@include_once("fckeditor/fckeditor.php");
require_once(".ht-inc/conf.php");
Modified: incubator/vcl/trunk/web/themes/default/page.php
URL:
http://svn.apache.org/viewvc/incubator/vcl/trunk/web/themes/default/page.php?rev=1340176&r1=1340175&r2=1340176&view=diff
==============================================================================
--- incubator/vcl/trunk/web/themes/default/page.php (original)
+++ incubator/vcl/trunk/web/themes/default/page.php Fri May 18 17:20:11 2012
@@ -28,7 +28,8 @@
///
////////////////////////////////////////////////////////////////////////////////
function getHeader($refresh) {
- global $user, $mode, $authed, $locale;
+ global $user, $mode, $authed, $locale, $VCLversion;
+ $v = $VCLversion;
#$rt = "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01
Frameset//EN\">\n";
$rt = "<!DOCTYPE html>\n";
$rt .= "<html lang=\"$locale\">\n";
@@ -43,9 +44,9 @@ function getHeader($refresh) {
$rt .= "<title>VCL :: Virtual Computing Lab</title>\n";
$rt .= "<link rel=stylesheet type=\"text/css\" href=\"css/vcl.css\">\n";
$rt .= "<link rel=stylesheet type=\"text/css\"
href=\"themes/default/css/vcl.css\">\n";
- $rt .= "<script src=\"js/code.js\"
type=\"text/javascript\"></script>\n";
+ $rt .= "<script src=\"js/code.js?v=$v\"
type=\"text/javascript\"></script>\n";
if($usenls)
- $rt .= "<script type=\"text/javascript\"
src=\"js/nls/$locale/messages.js\"></script>\n";
+ $rt .= "<script type=\"text/javascript\"
src=\"js/nls/$locale/messages.js?v=$v\"></script>\n";
$rt .= "<script type=\"text/javascript\">\n";
$rt .= "var cookiedomain = '" . COOKIEDOMAIN . "';\n";
$rt .= "usenls = $usenlsstr;\n";