diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist.get.html.ftl index ce3aa4835a..166e9237bb 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist.get.html.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist.get.html.ftl @@ -186,6 +186,10 @@ a.docfilterLinkSelected:link, a.docfilterLinkSelected:visited vertical-align: top; } +.docHeader th +{ + text-align: center; +} .docFooter { diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces.get.html.ftl index 60795833b0..b096c6c026 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces.get.html.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces.get.html.ftl @@ -132,6 +132,8 @@ a.spacefilterLink:hover { color: #168ECE; background-color: #EEF7FB; + font-weight: bold; + text-decoration: none; } a.spacefilterLinkSelected:link, a.spacefilterLinkSelected:visited, .spaceCurrentSpace @@ -164,6 +166,11 @@ a.spacefilterLinkSelected:link, a.spacefilterLinkSelected:visited, .spaceCurrent background-image: url(${url.context}/images/parts/doclist_headerbg.png); height: 30px; } +.spaceHeader table +{ + border-collapse: separate; + border-spacing: 6px 6px; +} #spacePanel { diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel.get.html.ftl index 6051b9a32e..183be2436d 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel.get.html.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspacespanel.get.html.ftl @@ -18,7 +18,7 @@ <#else> <#-- the component parts need to build up an encoded url to the outer webscript --> <#-- the client-side url encoder method of the outer webscript runtime will be used --> - ${url.serviceContext}/ui/myspaces?f=${args.f}&p=${args.p}/${d.name} + ${url.serviceContext}/ui/myspaces?f=${args.f}&p=${args.p?url}%2F${d.name?url}
diff --git a/config/alfresco/web-client-config.xml b/config/alfresco/web-client-config.xml index f333a3b826..ef1917266d 100644 --- a/config/alfresco/web-client-config.xml +++ b/config/alfresco/web-client-config.xml @@ -85,6 +85,11 @@ 2 3 + + + diff --git a/source/java/org/alfresco/web/bean/NavigationBean.java b/source/java/org/alfresco/web/bean/NavigationBean.java index 1a12dccfb8..b59053797a 100644 --- a/source/java/org/alfresco/web/bean/NavigationBean.java +++ b/source/java/org/alfresco/web/bean/NavigationBean.java @@ -826,9 +826,15 @@ public class NavigationBean String serverName = this.cifsServer.getConfiguration().getServerName(); if (serverName != null && serverName.length() != 0) { - buf.append("\\\\") - .append(serverName) - .append("\\"); + buf.append("\\\\"); + buf.append(serverName); + + // Check if there is a suffix to apply to the host name + + if ( clientConfig != null && clientConfig.getCifsURLSuffix() != null) + buf.append(clientConfig.getCifsURLSuffix()); + + buf.append("\\"); buf.append(diskShare.getName()); } diff --git a/source/java/org/alfresco/web/bean/SpaceDetailsBean.java b/source/java/org/alfresco/web/bean/SpaceDetailsBean.java index 82242c918b..329eb870da 100644 --- a/source/java/org/alfresco/web/bean/SpaceDetailsBean.java +++ b/source/java/org/alfresco/web/bean/SpaceDetailsBean.java @@ -411,7 +411,7 @@ public class SpaceDetailsBean extends BaseDetailsBean // add the mimetype=text/xml URL parameter - required to return correct stream type return GuestTemplateContentServlet.generateURL(space.getNodeRef(), (NodeRef)space.getProperties().get(ApplicationModel.PROP_FEEDTEMPLATE)) - + "/rss.xml?mimetype=text%2Fxml"; + + "/rss.xml?mimetype=text%2Fxml%3Bcharset=utf-8"; } /** diff --git a/source/java/org/alfresco/web/config/ClientConfigElement.java b/source/java/org/alfresco/web/config/ClientConfigElement.java index 0f89251af0..a902186e4e 100644 --- a/source/java/org/alfresco/web/config/ClientConfigElement.java +++ b/source/java/org/alfresco/web/config/ClientConfigElement.java @@ -74,6 +74,7 @@ public class ClientConfigElement extends ConfigElementAdapter private List simpleSearchAdditionalAttributes = null; private int minUsernameLength = 2; private int minPasswordLength = 3; + private String cifsURLSuffix; /** * Default Constructor @@ -232,6 +233,12 @@ public class ClientConfigElement extends ConfigElementAdapter combinedElement.setMinPasswordLength(newElement.getMinPasswordLength()); } + if ( newElement.getCifsURLSuffix() != null && + newElement.getCifsURLSuffix().equals(combinedElement.getCifsURLSuffix()) == false) + { + combinedElement.setCifsURLSuffix(newElement.getCifsURLSuffix()); + } + return combinedElement; } @@ -623,4 +630,24 @@ public class ClientConfigElement extends ConfigElementAdapter { this.minPasswordLength = minPasswordLength; } + + /** + * Get the CIFs URL suffix + * + * @return String + */ + public final String getCifsURLSuffix() + { + return cifsURLSuffix; + } + + /** + * Set the CIFS URL suffix + * + * @param suffix String + */ + void setCifsURLSuffix(String suffix) + { + cifsURLSuffix = suffix; + } } diff --git a/source/java/org/alfresco/web/config/ClientElementReader.java b/source/java/org/alfresco/web/config/ClientElementReader.java index 7f7481671d..699cef93d5 100644 --- a/source/java/org/alfresco/web/config/ClientElementReader.java +++ b/source/java/org/alfresco/web/config/ClientElementReader.java @@ -63,6 +63,7 @@ public class ClientElementReader implements ConfigElementReader public static final String ELEMENT_SIMPLESEARCHADDITIONALATTRSQNAME = "qname"; public static final String ELEMENT_MINUSERNAMELENGTH = "username-min-length"; public static final String ELEMENT_MINPASSWORDLENGTH = "password-min-length"; + public static final String ELEMENT_CIFSURLSUFFIX = "cifs-url-suffix"; /** * @see org.alfresco.config.xml.elementreader.ConfigElementReader#parse(org.dom4j.Element) @@ -244,6 +245,16 @@ public class ClientElementReader implements ConfigElementReader { configElement.setMinPasswordLength(Integer.parseInt(minPassword.getTextTrim())); } + + // Get the CIFS URL suffix + Element cifsSuffix = element.element(ELEMENT_CIFSURLSUFFIX); + if ( cifsSuffix != null) + { + String suffix = cifsSuffix.getTextTrim(); + if ( suffix.startsWith( ".") == false) + suffix = "." + suffix; + configElement.setCifsURLSuffix( suffix); + } } return configElement; diff --git a/source/web/scripts/ajax/doclist.js b/source/web/scripts/ajax/doclist.js index 3e80dd0814..4cd9725e0b 100644 --- a/source/web/scripts/ajax/doclist.js +++ b/source/web/scripts/ajax/doclist.js @@ -18,7 +18,7 @@ var MyDocs = { { $('docPanelOverlay').setStyle('opacity', 0); // show AJAX loading overlay - $('docPanelOverlayAjax').setStyle('visibility', 'visible'); + $('docPanelOverlayAjax').setStyle('display', 'block'); $('docPanel').setStyle('visibility', 'hidden'); var messagePanel = $('docMessagePanel'); @@ -48,7 +48,7 @@ var MyDocs = { $('docPanel').setHTML("Sorry, data currently unavailable."); // hide the ajax wait panel and show the main doc panel - $('docPanelOverlayAjax').setStyle('visibility', 'hidden'); + $('docPanelOverlayAjax').setStyle('display', 'none'); $('docPanel').setStyle('visibility', 'visible'); } } @@ -61,7 +61,7 @@ var MyDocs = { MyDocs.parseDocPanels(); // hide the ajax wait panel and show the main doc panel $('docPanel').setStyle('visibility', 'visible'); - $('docPanelOverlayAjax').setStyle('visibility', 'hidden'); + $('docPanelOverlayAjax').setStyle('display', 'none'); if (MyDocs.postInit) { @@ -741,7 +741,7 @@ var MyDocs = { var docPanel = $('docPanel'); docPanel.setStyle('visibility', 'hidden'); // show the ajax wait panel - $('docPanelOverlayAjax').setStyle('visibility', 'visible'); + $('docPanelOverlayAjax').setStyle('display', 'block'); // Stop all the animation effects MyDocs.FxAll.each(function(fx, i) diff --git a/source/web/scripts/ajax/mootools.v1.11.js b/source/web/scripts/ajax/mootools.v1.11.js index 2bd1502995..b1553d39a5 100644 --- a/source/web/scripts/ajax/mootools.v1.11.js +++ b/source/web/scripts/ajax/mootools.v1.11.js @@ -20,7 +20,7 @@ return array?hex:'#'+hex.join('');},hexToRgb:function(array){if(this.length!=3)r return array?rgb:'rgb('+rgb.join(',')+')';}});Function.extend({create:function(options){var fn=this;options=$merge({'bind':fn,'event':false,'arguments':null,'delay':false,'periodical':false,'attempt':false},options);if($chk(options.arguments)&&$type(options.arguments)!='array')options.arguments=[options.arguments];return function(event){var args;if(options.event){event=event||window.event;args=[(options.event===true)?event:new options.event(event)];if(options.arguments)args.extend(options.arguments);} else args=options.arguments||arguments;var returns=function(){return fn.apply($pick(options.bind,fn),args);};if(options.delay)return setTimeout(returns,options.delay);if(options.periodical)return setInterval(returns,options.periodical);if(options.attempt)try{return returns();}catch(err){return false;};return returns();};},pass:function(args,bind){return this.create({'arguments':args,'bind':bind});},attempt:function(args,bind){return this.create({'arguments':args,'bind':bind,'attempt':true})();},bind:function(bind,args){return this.create({'bind':bind,'arguments':args});},bindAsEventListener:function(bind,args){return this.create({'bind':bind,'event':true,'arguments':args});},delay:function(delay,bind,args){return this.create({'delay':delay,'bind':bind,'arguments':args})();},periodical:function(interval,bind,args){return this.create({'periodical':interval,'bind':bind,'arguments':args})();}});Number.extend({toInt:function(){return parseInt(this);},toFloat:function(){return parseFloat(this);},limit:function(min,max){return Math.min(max,Math.max(min,this));},round:function(precision){precision=Math.pow(10,precision||0);return Math.round(this*precision)/precision;},times:function(fn){for(var i=0;i';} el=document.createElement(el);} -el=$(el);return(!props||!el)?el:el.set(props);}});var Elements=new Class({initialize:function(elements){return(elements)?$extend(elements,this):this;}});Elements.extend=function(props){for(var prop in props){this.prototype[prop]=props[prop];this[prop]=$native.generic(prop);}};function $(el){if(!el)return null;if(el.htmlElement)return Garbage.collect(el);if([window,document].contains(el))return el;var type=$type(el);if(type=='string'){el=document.getElementById(el);type=(el)?'element':false;} +el=$(el);return(!props||!el)?el:el.set(props);}});var Elements=new Class({initialize:function(elements){return(elements)?$extend(elements,this):this;}});Elements.extend=function(props){for(var prop in props){this.prototype[prop]=props[prop];this[prop]=$native.generic(prop);}};function $(el){if(!el)return null;if(el.htmlElement)return Garbage.collect(el);/* if([window,document].contains(el))return el; */ var type=$type(el);if(type=='string'){el=document.getElementById(el);type=(el)?'element':false;} if(type!='element')return null;if(el.htmlElement)return Garbage.collect(el);if(['object','embed'].contains(el.tagName.toLowerCase()))return el;$extend(el,Element.prototype);el.htmlElement=function(){};return Garbage.collect(el);};document.getElementsBySelector=document.getElementsByTagName;function $$(){var elements=[];for(var i=0,j=arguments.length;i\<\?\/\:\|]+.*)|(.*[\.]?.*[\.]+$)|(.*[ ]+$)/i)) { - // Different object access methods to workaround MSIE7 problem - panel.getElementsBySelector('#space-name').addClass("spaceFormItemError"); - panel.getElementById("space-name").focus(); + var spaceName = $E("#space-name", panel); + spaceName.addClass("spaceFormItemError"); + spaceName.focus(); } else { @@ -905,7 +905,7 @@ var MySpaces = { var spacePanel = $('spacePanel'); spacePanel.setStyle('visibility', 'hidden'); // show the ajax wait panel - $('spacePanelOverlayAjax').setStyle('visibility', 'visible'); + $('spacePanelOverlayAjax').setStyle('display', 'block'); // Stop all the animation effects MySpaces.FxAll.each(function(fx, i) @@ -923,7 +923,9 @@ var MySpaces = { */ applyModal: function() { - $("spacePanelOverlay").setStyle('opacity', MySpaces.OVERLAY_OPACITY); + var overlay = $('spacePanelOverlay') + overlay.setStyle('opacity', MySpaces.OVERLAY_OPACITY); + overlay.setStyle('display', 'block'); }, /** @@ -931,7 +933,10 @@ var MySpaces = { */ removeModal: function() { - $("spacePanelOverlay").setStyle('opacity', 0); + var overlay = $('spacePanelOverlay') + overlay.setStyle('opacity', 0); + overlay.setStyle('display', 'none'); + overlay.setStyle('visibility', 'visible'); }, /**