[tuxdroid-svn] r4834 - in software_suite_v3/smart-core/smart-server/trunk: data/web_interface/user
Status: Beta
Brought to you by:
ks156
Author: remi
Date: 2009-06-19 12:36:12 +0200 (Fri, 19 Jun 2009)
New Revision: 4834
Added:
software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/css/menu.css
software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/js/common.js
software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/xsl/index.xsl
software_suite_v3/smart-core/smart-server/trunk/resources/07_web_interfaces/01_resourceWIUser01.py
Modified:
software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/img/menu_center_enable.png
software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/img/menu_left_enable.png
software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/img/menu_right_enable.png
Log:
* updated 3 images
* added menu interface (http://127.0.0.1:270/user/)
Added: software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/css/menu.css
===================================================================
--- software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/css/menu.css (rev 0)
+++ software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/css/menu.css 2009-06-19 10:36:12 UTC (rev 4834)
@@ -0,0 +1,109 @@
+div.ContentView{
+ position:absolute;
+ left:0px;
+ top:0px;
+ width:855px;
+ height:25px;
+ display:table;
+ margin-top:85px;
+ margin-left:50px;
+ margin-right:50px;
+ background-color:#EFEFEF;
+ color:#EFEFEF;
+}
+
+a.menuLeftEnable{
+ float:left;
+ margin-top:0px;
+ width:171px;
+ height:65px;
+ display:table;
+ line-height:58px;
+ text-decoration:none;
+ background-image:url(/data/web_interface/user_01/img/menu_left_enable.png);
+ font-size:14px;
+ font-family:Verdana, Bitstream Vera Sans;
+ color:white;
+ font-weight:bold;
+ text-align:center;
+}
+
+a.menuLeftActivate{
+ float:left;
+ margin-top:0px;
+ width:171px;
+ height:65px;
+ display:table;
+ line-height:58px;
+ text-decoration:none;
+ background-image:url(/data/web_interface/user_01/img/menu_left_activate.png);
+ font-size:14px;
+ font-family:Verdana, Bitstream Vera Sans;
+ color:white;
+ font-weight:bold;
+ text-align:center;
+}
+
+a.menuCenterEnable{
+ float:left;
+ margin-top:0px;
+ width:171px;
+ height:65px;
+ display:table;
+ line-height:58px;
+ text-decoration:none;
+ background-image:url(/data/web_interface/user_01/img/menu_center_enable.png);
+ font-size:14px;
+ font-family:Verdana, Bitstream Vera Sans;
+ color:white;
+ font-weight:bold;
+ text-align:center;
+}
+
+a.menuCenterActivate{
+ float:left;
+ margin-top:0px;
+ width:171px;
+ height:65px;
+ display:table;
+ line-height:58px;
+ text-decoration:none;
+ background-image:url(/data/web_interface/user_01/img/menu_center_activate.png);
+ font-size:14px;
+ font-family:Verdana, Bitstream Vera Sans;
+ color:white;
+ font-weight:bold;
+ text-align:center;
+}
+
+a.menuRightEnable{
+ float:left;
+ margin-top:0px;
+ width:171px;
+ height:65px;
+ display:table;
+ line-height:58px;
+ text-decoration:none;
+ background-image:url(/data/web_interface/user_01/img/menu_right_enable.png);
+ font-size:14px;
+ font-family:Verdana, Bitstream Vera Sans;
+ color:white;
+ font-weight:bold;
+ text-align:center;
+}
+
+a.menuRightActivate{
+ float:left;
+ margin-top:0px;
+ width:171px;
+ height:65px;
+ display:table;
+ line-height:58px;
+ text-decoration:none;
+ background-image:url(/data/web_interface/user_01/img/menu_right_activate.png);
+ font-size:14px;
+ font-family:Verdana, Bitstream Vera Sans;
+ color:white;
+ font-weight:bold;
+ text-align:center;
+}
\ No newline at end of file
Modified: software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/img/menu_center_enable.png
===================================================================
(Binary files differ)
Modified: software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/img/menu_left_enable.png
===================================================================
(Binary files differ)
Modified: software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/img/menu_right_enable.png
===================================================================
(Binary files differ)
Added: software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/js/common.js
===================================================================
--- software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/js/common.js (rev 0)
+++ software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/js/common.js 2009-06-19 10:36:12 UTC (rev 4834)
@@ -0,0 +1,278 @@
+/**
+ *
+ */
+function fillHelpBox()
+{
+ document.getElementById("helpBox").innerHTML = Wiky.toHtml(document.getElementById("req_helpContent").value);
+}
+
+/**
+ *
+ */
+function setpng(img)
+{
+ if (document.all && (IEver=parseFloat(navigator.appVersion.split("MSIE")[1])) && (IEver>=5.5) && (IEver<7) && document.body.filters && img)
+ {
+ var imgName = img.src.toUpperCase();
+ if (imgName.substring(imgName.length-3,imgName.length) == "PNG")
+ {
+ img.outerHTML= "<span "+(img.id?"id='"+img.id+"' ":"")+(img.className?"class='"+img.className+"' ":"")+(img.title?"title=\""+img.title+"\" ":"")
+ +"style=\"width:"+img.width+"px;height:"+img.height+"px;"+(img.align=="left"?"float:left;":(img.align=="right"?"float:right;":""))
+ +(img.parentElement.href?"cursor:hand;":"")+"display:inline-block;"+img.style.cssText+";"
+ +"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+img.src+"',sizingMethod='scale');\"></span>";
+ }
+ }
+}
+
+/**
+ *
+ */
+function formatValue(value)
+{
+ value = value.replace(/(\r?\n)/g, '[RETURN]');
+ value = value.replace('/\&/g', '&&');
+ value = value.replace(/\|/g, '[PIPE]');
+ value = value.replace(/\=/g, '[EQUAL]');
+ value = value.replace(/\&/g, '[AMP]');
+ return value;
+}
+
+/**
+ *
+ */
+function computeParameters()
+{
+ var result = '';
+ var elements = document.getElementsByTagName('input');
+ for (var i = 0; i < elements.length; i++)
+ {
+ var element = elements[i];
+ if (element.id.indexOf('req_', 0) == 0)
+ {
+ if (element.type == 'checkbox')
+ {
+ result += element.id + '=' + element.checked + '|';
+ }
+ else if (element.type == 'radio')
+ {
+ if (element.checked)
+ {
+ result += element.id + '=' + formatValue(element.value) + '|';
+ }
+ }
+ else
+ {
+ result += element.id + '=' + formatValue(element.value) + '|';
+ }
+ }
+ }
+ var elements = document.getElementsByTagName('select');
+ for (var i = 0; i < elements.length; i++)
+ {
+ var element = elements[i];
+ if (element.id.indexOf('req_', 0) == 0)
+ {
+ result += element.id + '=' + formatValue(element.value) + '|';
+ }
+ }
+ var helptext = "";
+ if (document.getElementById("req_helpContent") != null)
+ {
+ helptext = document.getElementById("req_helpContent").value;
+ }
+ result += 'req_helpContent=' + formatValue(helptext) + '|';
+ return result;
+}
+
+/**
+ *
+ */
+function postRequest(url, values)
+{
+ var httpRequest = false;
+ var isIe = false;
+ var result = new Array(false, "");
+ if (window.XMLHttpRequest)
+ { // Mozilla, Safari,...
+ httpRequest = new XMLHttpRequest();
+ if (httpRequest.overrideMimeType)
+ {
+ httpRequest.overrideMimeType('text/xml');
+ }
+ }
+ else
+ {
+ isIe = true;
+ if (window.ActiveXObject)
+ { // IE
+ try
+ {
+ httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
+ }
+ catch (e)
+ {
+ try
+ {
+ httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+ catch (e){}
+ }
+ }
+ }
+ if (!httpRequest)
+ {
+ alert('Cannot create XMLHTTP instance');
+ return result;
+ }
+ var data = "";
+ for (var property in values)
+ {
+ if (values.hasOwnProperty(property))
+ {
+ if (data.length > 0)
+ {
+ data += "&";
+ }
+ data += property + "=" + values[property];
+ }
+ }
+ httpRequest.open('POST', url, false);
+ var stateChangeFunction = function() {
+ if(httpRequest.readyState == 4)
+ {
+ if (httpRequest.status == 200)
+ {
+ result[0] = true;
+ result[1] = httpRequest.responseText;
+ }
+ }
+ }
+ if (isIe)
+ {
+ httpRequest.onreadystatechange = stateChangeFunction;
+ }
+ else
+ {
+ httpRequest.onload = stateChangeFunction;
+ }
+
+ try
+ {
+ httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
+ httpRequest.send(data);
+ }
+ catch (e)
+ {
+ return result;
+ }
+ return result;
+}
+
+/**
+ *
+ */
+function getRequest(url, values)
+{
+ var httpRequest = false;
+ var isIe = false;
+ var result = false;
+ if (window.XMLHttpRequest)
+ { // Mozilla, Safari,...
+ httpRequest = new XMLHttpRequest();
+ if (httpRequest.overrideMimeType)
+ {
+ httpRequest.overrideMimeType('text/xml');
+ }
+ }
+ else
+ {
+ isIe = true;
+ if (window.ActiveXObject)
+ { // IE
+ try
+ {
+ httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
+ }
+ catch (e)
+ {
+ try
+ {
+ httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+ catch (e){}
+ }
+ }
+ }
+ if (!httpRequest)
+ {
+ alert('Cannot create XMLHTTP instance');
+ return result;
+ }
+ url += "?rndTag=" + Math.random() ;
+ for (var property in values)
+ {
+ if (values.hasOwnProperty(property))
+ {
+ url += "&" + property + "=" + values[property];
+ }
+ }
+ httpRequest.open('GET', url, false);
+ var stateChangeFunction = function() {
+ if(httpRequest.readyState == 4)
+ {
+ if (httpRequest.status == 200)
+ {
+ result = true;
+ }
+ }
+ }
+ if (isIe)
+ {
+ httpRequest.onreadystatechange = stateChangeFunction;
+ }
+ else
+ {
+ httpRequest.onload = stateChangeFunction;
+ }
+ try
+ {
+ httpRequest.send(null);
+ }
+ catch (e)
+ {
+ return result;
+ }
+ return result;
+}
+
+/**
+ *
+ */
+function gotoLocation(url, values)
+{
+ url += "?";
+ for (var property in values)
+ {
+ if (values.hasOwnProperty(property))
+ {
+ url += property + "=" + values[property] + "&";
+ }
+ }
+ window.location = url;
+}
+
+/**
+ *
+ */
+function showPopup(url, values)
+{
+ url += "?";
+ for (var property in values)
+ {
+ if (values.hasOwnProperty(property))
+ {
+ url += property + "=" + values[property] + "&";
+ }
+ }
+ window.open(url);
+}
Added: software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/xsl/index.xsl
===================================================================
--- software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/xsl/index.xsl (rev 0)
+++ software_suite_v3/smart-core/smart-server/trunk/data/web_interface/user_01/xsl/index.xsl 2009-06-19 10:36:12 UTC (rev 4834)
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format">
+
+<xsl:template match="/">
+<html>
+ <head>
+ <LINK href="/data/web_interface/user_01/css/menu.css" rel="stylesheet" type="text/css"/>
+ <script src="/data/web_interface/user_01/js/common.js" type="text/javascript"/>
+ <script language="javascript">
+ <![CDATA[
+ function showContent()
+ {
+ var menu = document.getElementById("menu").value;
+ var menuLeft = document.getElementById("menuLeft");
+ var menuCenter1 = document.getElementById("menuCenter1");
+ var menuCenter2 = document.getElementById("menuCenter2");
+ var menuCenter3 = document.getElementById("menuCenter3");
+ var menuRight = document.getElementById("menuRight");
+ menuLeft.className = "menuLeftEnable";
+ menuCenter1.className = "menuCenterEnable";
+ menuCenter2.className = "menuCenterEnable";
+ menuCenter3.className = "menuCenterEnable";
+ menuRight.className = "menuRightEnable";
+ var frameUrl = "";
+ if (menu == "livewithtux")
+ {
+ menuLeft.className = "menuLeftActivate";
+ frameUrl = "/wi_devel/page_livewithtux?uuid=NULL";
+ }
+ else if (menu == "gadgets")
+ {
+ menuCenter1.className = "menuCenterActivate";
+ frameUrl = "/wi_devel/gadgets?";
+ }
+ else if (menu == "attitunes")
+ {
+ menuCenter2.className = "menuCenterActivate";
+ frameUrl = "/wi_devel/page_attitunes?";
+ }
+ else if (menu == "tools")
+ {
+ menuCenter3.className = "menuCenterActivate";
+ frameUrl = "/wi_devel/page_tools?";
+ }
+ else if (menu == "online")
+ {
+ menuRight.className = "menuRightActivate";
+ frameUrl = "/wi_devel/page_online?";
+ }
+ else
+ {
+ menuLeft.className = "menuLeftActivate";
+ frameUrl = "/wi_devel/page_livewithtux?uuid=NULL";
+ }
+ frameUrl += "&language=" + document.getElementById('language').value;
+ frameUrl += "&skin='" + document.getElementById('skin').value + "'";
+ var iframe = document.getElementById('ContentIFrame');
+ iframe.src = frameUrl;
+ }
+
+ function gotoMenu(menuName)
+ {
+ document.getElementById("menu").value = menuName;
+ showContent();
+ }
+ ]]>
+ </script>
+ </head>
+ <body bgcolor="#EFEFEF" onLoad="showContent();">
+ <!-- SKIN STORAGE -->
+ <xsl:element name="input">
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="id">skin</xsl:attribute>
+ <xsl:attribute name="value">
+ <xsl:value-of select="root/skin"/>
+ </xsl:attribute>
+ </xsl:element>
+
+ <!-- LANGUAGE STORAGE -->
+ <xsl:element name="input">
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="id">language</xsl:attribute>
+ <xsl:attribute name="value">
+ <xsl:value-of select="root/language"/>
+ </xsl:attribute>
+ </xsl:element>
+
+ <!-- CURRENT MENU STORAGE -->
+ <xsl:element name="input">
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="id">menu</xsl:attribute>
+ <xsl:attribute name="value">
+ <xsl:value-of select="root/menu"/>
+ </xsl:attribute>
+ </xsl:element>
+
+ <!-- MAIN DIV FRAMES -->
+ <div style="position:absolute;
+ top:0px;
+ left:0px;
+ height:65px;
+ width:855px;
+ margin-left:50px;
+ margin-right:50px;">
+ <xsl:element name="a">
+ <xsl:attribute name="class">menuLeftEnable</xsl:attribute>
+ <xsl:attribute name="id">menuLeft</xsl:attribute>
+ <xsl:attribute name="onclick">javascript:gotoMenu('livewithtux');return false;</xsl:attribute>
+ <xsl:attribute name="href"></xsl:attribute>Live with Tux
+ </xsl:element>
+ <xsl:element name="a">
+ <xsl:attribute name="class">menuCenterEnable</xsl:attribute>
+ <xsl:attribute name="id">menuCenter1</xsl:attribute>
+ <xsl:attribute name="onclick">javascript:gotoMenu('gadgets');return false;</xsl:attribute>
+ <xsl:attribute name="href"></xsl:attribute>Gadgets
+ </xsl:element>
+ <xsl:element name="a">
+ <xsl:attribute name="class">menuCenterEnable</xsl:attribute>
+ <xsl:attribute name="id">menuCenter2</xsl:attribute>
+ <xsl:attribute name="onclick">javascript:gotoMenu('attitunes');return false;</xsl:attribute>
+ <xsl:attribute name="href"></xsl:attribute>Attitunes
+ </xsl:element>
+ <xsl:element name="a">
+ <xsl:attribute name="class">menuCenterEnable</xsl:attribute>
+ <xsl:attribute name="id">menuCenter3</xsl:attribute>
+ <xsl:attribute name="onclick">javascript:gotoMenu('tools');return false;</xsl:attribute>
+ <xsl:attribute name="href"></xsl:attribute>Tools
+ </xsl:element>
+ <xsl:element name="a">
+ <xsl:attribute name="class">menuRightEnable</xsl:attribute>
+ <xsl:attribute name="id">menuRight</xsl:attribute>
+ <xsl:attribute name="onclick">javascript:gotoMenu('online');return false;</xsl:attribute>
+ <xsl:attribute name="href"></xsl:attribute>Online
+ </xsl:element>
+ </div>
+ <div class="ContentView" id="ContentView">
+ <iframe class="ContentIFrame"
+ id="ContentIFrame"
+ name="ContentIFrame"
+ frameborder="0"
+ scrolling="no"
+ width="100%"
+ height="535"
+ src="">
+ </iframe>
+ </div>
+ </body>
+</html>
+</xsl:template>
+</xsl:stylesheet>
\ No newline at end of file
Added: software_suite_v3/smart-core/smart-server/trunk/resources/07_web_interfaces/01_resourceWIUser01.py
===================================================================
--- software_suite_v3/smart-core/smart-server/trunk/resources/07_web_interfaces/01_resourceWIUser01.py (rev 0)
+++ software_suite_v3/smart-core/smart-server/trunk/resources/07_web_interfaces/01_resourceWIUser01.py 2009-06-19 10:36:12 UTC (rev 4834)
@@ -0,0 +1,59 @@
+# ==============================================================================
+# Resource : Web Interface - User 01.
+# ==============================================================================
+
+# ------------------------------------------------------------------------------
+# Declaration of the resource "wi_user_01".
+# ------------------------------------------------------------------------------
+class TDSResourceWIUser01(TDSResource):
+
+ # --------------------------------------------------------------------------
+ # Inherited methods from TDSResource
+ # --------------------------------------------------------------------------
+
+ def configure(self):
+ self.name = "wi_user_01"
+ self.comment = "Resource to manage the web interface - user 01."
+ self.fileName = RESOURCE_FILENAME
+
+# Create an instance of the resource
+resourceWIUser01 = TDSResourceWIUser01("resourceWIUser01")
+# Register the resource into the resources manager
+resourcesManager.addResource(resourceWIUser01)
+
+# ------------------------------------------------------------------------------
+# Declaration of the service "index".
+# ------------------------------------------------------------------------------
+class TDSServiceWIUser01Index(TDSService):
+
+ def configure(self):
+ self.parametersDict = {
+ 'language' : 'string',
+ 'skin' : 'string',
+ 'menu' : 'string',
+ }
+ self.minimalUserLevel = TDS_CLIENT_LEVEL_ANONYMOUS
+ self.exclusiveExecution = False
+ self.name = "index"
+ self.comment = "Show the main user page."
+
+ def execute(self, id, parameters):
+ headersStruct = self.getDefaultHeadersStruct()
+ contentStruct = self.getDefaultContentStruct()
+ contentStruct['root']['result'] = getStrError(E_TDREST_SUCCESS)
+ language = parameters['language']
+ skin = parameters['skin']
+ menu = parameters['menu']
+ contentStruct['root']['data'] = {}
+ contentStruct['root']['skin'] = skin
+ contentStruct['root']['menu'] = menu
+ contentStruct['root']['language'] = language
+ self.haveXsl = True
+ self.xslPath = "/data/web_interface/%s/xsl/index.xsl" % skin
+ return headersStruct, contentStruct
+
+# Register the service into the resource
+resourceWIUser01.addService(TDSServiceWIUser01Index)
+# Bind the resource index url to this service
+resourcesManager.addBinding("user", "wi_user_01", "index", "skin=user_01&language=en&menu=livewithtux")
+resourcesManager.addBinding("user/index", "wi_user_01", "index", "skin=user_01&language=en&menu=livewithtux")
|