You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ma...@apache.org on 2014/09/15 00:01:25 UTC

svn commit: r1624914 - /openoffice/ooo-site/trunk/content/scripts/ooo.js

Author: marcus
Date: Sun Sep 14 22:01:25 2014
New Revision: 1624914

URL: http://svn.apache.org/r1624914
Log:
New JS file to collect all functions that should be used on the homepage, to cleanup the 'index.html' file of JS code

Added:
    openoffice/ooo-site/trunk/content/scripts/ooo.js   (with props)

Added: openoffice/ooo-site/trunk/content/scripts/ooo.js
URL: http://svn.apache.org/viewvc/openoffice/ooo-site/trunk/content/scripts/ooo.js?rev=1624914&view=auto
==============================================================================
--- openoffice/ooo-site/trunk/content/scripts/ooo.js (added)
+++ openoffice/ooo-site/trunk/content/scripts/ooo.js Sun Sep 14 22:01:25 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;
+}
+

Propchange: openoffice/ooo-site/trunk/content/scripts/ooo.js
------------------------------------------------------------------------------
    svn:eol-style = native