Author: buildbot Date: Sun Sep 14 22:02:01 2014 New Revision: 922203 Log: Staging update by buildbot for ooo-site
Added: websites/staging/ooo-site/trunk/content/scripts/ooo.js Modified: websites/staging/ooo-site/trunk/cgi-bin/ (props changed) websites/staging/ooo-site/trunk/content/ (props changed) Propchange: websites/staging/ooo-site/trunk/cgi-bin/ ------------------------------------------------------------------------------ --- cms:source-revision (original) +++ cms:source-revision Sun Sep 14 22:02:01 2014 @@ -1 +1 @@ -1624913 +1624914 Propchange: websites/staging/ooo-site/trunk/content/ ------------------------------------------------------------------------------ --- cms:source-revision (original) +++ cms:source-revision Sun Sep 14 22:02:01 2014 @@ -1 +1 @@ -1624913 +1624914 Added: websites/staging/ooo-site/trunk/content/scripts/ooo.js ============================================================================== --- websites/staging/ooo-site/trunk/content/scripts/ooo.js (added) +++ websites/staging/ooo-site/trunk/content/scripts/ooo.js Sun Sep 14 22:02:01 2014 @@ -0,0 +1,206 @@ +/* + * Overview of all methods (functions) defined below of the global object "DL" + * --------------------------------------------------------------------------- + * function follow ( platform ) + * function showEventBox () + * function showAlertBox () + * function setRedirect () + */ + +/* + * Link AOO to a social media + * @param: platform - The social media (Apache Blog, Facebook, Twitter, Google+) that the scriping should link to + * @return: None + */ +function follow( platform ) { + _gaq.push( ['_trackEvent', 'social', 'followUs', platform] ); + + if ( platform == 'ApacheBlog' ) { + window.open( "https://blogs.apache.org/OOo/", "_blank" ); + } else if ( platform == 'Facebook' ) { + window.open( "https://www.facebook.com/ApacheOO", "_blank" ); + } else if ( platform == 'Twitter' ) { + window.open( "https://twitter.com/ApacheOO", "_blank" ); + } else if ( platform == 'GooglePlus' ) { + window.open( "https://plus.google.com/+openoffice", "_blank" ); + } + + return; +} + +/* + * Show an event box with colored background (e.g., to announce the Apache Conference Europe) + * @param: None + * @return: None + */ +function showEventBox() { + // The text is defined in "/msg_prop_l10n.js". + + // Show the event box or not? + if( l10n.index_event_box_show ) { + // Show the banner logo and text with link and cursor as poiner. + document.write( "<div id='event_box' onclick='window.open( \"" + l10n.index_event_box_text_href + + "\", \"_blank\" ); return false;'>" + + "<ul>" + + "<li>" + // Event banner logo on the left hand side. + + "<p style='float: left;'>" + + "<a href='" + l10n.index_event_box_graphic_href + + "' title='" + l10n.index_event_box_graphic_title + "' target='_blank'>" + + "<img src='" + l10n.index_event_box_graphic_src + + "' alt='" + l10n.index_event_box_graphic_alt + "' />" + + "</a>" + + "</p>" + + // Event text on the right hand side. + + "<p>" + + "<a style='color: black; text-decoration: none;'" + + "' title='" + l10n.index_event_box_text_title + "' target='_blank'>" + + l10n.index_event_box_text_text + + "</a>" + + "</p>" + + "</li>" + + "</ul>" + + "</div>" ); + } + + return; +} + +/* + * Show an alert box with colored background (e.g., to announce an outage of an AOO service) + * @param: None + * @return: None + */ +function showAlertBox() { + // The text is defined in "/msg_prop_l10n.js". + + // Show the alert box or not? + if( l10n.index_alert_box_show ) { + // Depending if link is available, make the whole DIV clickable or not. + if( l10n.index_alert_box_href ) { + // Show the text with link and cursor as poiner. + document.write( "<div id='alert_box' onclick='window.open( \"" + l10n.index_alert_box_href + + "\", \"_blank\" ); return false;'><ul><li>" ); + + // Show headline. + document.write( "<h2 style='cursor: pointer;'>" + + l10n.index_alert_box_headline_text + "</h2>" ); + + // Show text. + if( l10n.index_alert_box_text_text ) { + document.write( "<p style='cursor: pointer;'>" + + l10n.index_alert_box_text_text + "</p>" ); + } + } else { + // Show the text without link and normal cursor. + document.write( "<div id='alert_box'><ul><li>" ); + + // Show headline. + document.write( "<h2 style='cursor: default;'>" + + l10n.index_alert_box_headline_text + "</h2>" ); + + // Show text. + if( l10n.index_alert_box_text_text ) { + document.write( "<p style='cursor: default;'>" + + l10n.index_alert_box_text_text + "</p>" ); + } + } + document.write( "</li></ul></div>" ); // Alert box. + + return; + } +} + +/* + * Show a redirect box with colored background to give the user a message that a localized NL webpage is available + * @param: None + * @return: None + */ + +function setRedirect() { + // The text is defined in "/msg_prop_l10n.js". + DL.NL_LANG = ""; // Set to empty as both variables ... + DL.LANG_SEL = ""; // ... must not be used in following function. + var lang_iso = DL.getLanguage(); // Get the language ISO code from browser guessed data. + var lang_mode = ""; // Customized redirect mode. + var lang_text = ""; // Customized message text that can be shown. + var link = ""; // Override redirect mode. + + // Add ECMA262-5 Array methods if not supported natively. + // To workaround that MSIE 8 and older do not support this function. + if( !( 'indexOf' in Array.prototype ) ) { + Array.prototype.indexOf= function( find, i ) { // 'i' is an optional parameter. + if( i === undefined ) { + i = 0; + } + if( i < 0 ) { + i+= this.length; + } + if( i < 0 ) { + i = 0; + } + for( var n = this.length; i < n; i++ ) { + if( i in this && this[ i ] === find ) { + return i; + } + } + return -1; + }; + } + + // Fix for Portuguese (European) as they are named only "pt" without region code! + if( lang_iso === "pt-pt" || lang_iso === "pt-PT" ) { + lang_iso = "pt"; + } + + // Query if the browser language is one of the released languages. + // The array has 3 elements per language (defined in "/download/globalvars.js" + for( var i = 0, j = DL.SEL_LANG.length; i < j; i = i + 3 ) { + // If the ISO code is found in the language array. + if( DL.SEL_LANG[ i ] === lang_iso ) { + // Query for the redirect method (defined in "/msg_prop_l10n.js", column 0). + lang_mode = l10n.index_redirect_text[ i / 3 * 2 ]; + lang_text = l10n.index_redirect_text[ i / 3 * 2 + 1 ]; + break; + } + } + + // Convert the browser URL into a string. + link = String( document.location ); + + // Does the browser URL contain already a redirect mode? + // If yes, set the new redirect mode to override the customized mode. + if( link.indexOf( "hard" ) !== -1 ) { + lang_mode = "hard"; + } else if( link.indexOf( "soft" ) !== -1 ) { + lang_mode = "soft"; + } else if( link.indexOf( "none" ) !== -1 ) { + lang_mode = "none"; + } + + switch( lang_mode ) { + case "hard": + // Do not show a message, just redirect. + window.open( "http://www.openoffice.org/" + lang_iso , "_self" ); + break; + case "soft": + // Show a message and redirect only on user's click. + // Assign the message text that is defined in: + // "/msg_prop_l10n.js", array "l10n.index_redirect_text", column 1), + document.write( "<div id='redirect_box'" + + " onclick='window.open( \"http://www.openoffice.org/" + lang_iso + "\", \"_self\" );" + + "return false;'>" + + "<ul><li>" + + "<p>" + lang_text + "</p>" + + "</li></ul>" + + "</div>" ); // Redirect box. + break; + case "none": + default: + // Do nothing and show nothing. + } + + return; +} +