diff --git a/config/alfresco/messages/webclient.properties b/config/alfresco/messages/webclient.properties index dc1cc201cf..88dc9190f9 100644 --- a/config/alfresco/messages/webclient.properties +++ b/config/alfresco/messages/webclient.properties @@ -1450,6 +1450,7 @@ user_jobtitle=Job Title user_location=Location user_description=Biography user_avatar=Avatar +error_newuser_home_space=User home space cannot be set to User Homes folder. Please enter a new home space name or select a different parent space. # Trashcan messages title_deleted_items=Deleted Items diff --git a/source/java/org/alfresco/web/action/evaluator/EditDocOnlineCIFSEvaluator.java b/source/java/org/alfresco/web/action/evaluator/EditDocOnlineCIFSEvaluator.java index 6920c9902e..25317c628e 100644 --- a/source/java/org/alfresco/web/action/evaluator/EditDocOnlineCIFSEvaluator.java +++ b/source/java/org/alfresco/web/action/evaluator/EditDocOnlineCIFSEvaluator.java @@ -38,11 +38,9 @@ import org.alfresco.web.bean.repository.Repository; /** * UI Action Evaluator - Edit document online via CIFS. - * */ public class EditDocOnlineCIFSEvaluator extends CheckoutDocEvaluator { - /** * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) */ @@ -57,13 +55,14 @@ public class EditDocOnlineCIFSEvaluator extends CheckoutDocEvaluator if (dd.isSubClass(node.getType(), ContentModel.TYPE_CONTENT)) { Map props = node.getProperties(); - if ((node.hasAspect(ApplicationModel.ASPECT_INLINEEDITABLE) == false || props.get(ApplicationModel.PROP_EDITINLINE) == null || - ((Boolean)props.get(ApplicationModel.PROP_EDITINLINE)).booleanValue() == false) && "cifs".equals(Application.getClientConfig(fc).getEditLinkType())) + if ("cifs".equals(Application.getClientConfig(fc).getEditLinkType()) && + (!node.hasAspect(ApplicationModel.ASPECT_INLINEEDITABLE) || + props.get(ApplicationModel.PROP_EDITINLINE) == null || + !((Boolean)props.get(ApplicationModel.PROP_EDITINLINE)).booleanValue())) { if (node.hasAspect(ContentModel.ASPECT_WORKING_COPY)) { - if (props.get(ContentModel.PROP_WORKING_COPY_MODE) != null && props.get(ContentModel.PROP_WORKING_COPY_MODE).equals(EditOnlineDialog.ONLINE_EDITING)) - result = true; + result = (EditOnlineDialog.ONLINE_EDITING.equals(props.get(ContentModel.PROP_WORKING_COPY_MODE))); } else { @@ -71,8 +70,7 @@ public class EditDocOnlineCIFSEvaluator extends CheckoutDocEvaluator } } } - + return result; } - -} +} \ No newline at end of file diff --git a/source/java/org/alfresco/web/action/evaluator/EditDocOnlineHttpEvaluator.java b/source/java/org/alfresco/web/action/evaluator/EditDocOnlineHttpEvaluator.java index bea87320ba..d9156d7568 100644 --- a/source/java/org/alfresco/web/action/evaluator/EditDocOnlineHttpEvaluator.java +++ b/source/java/org/alfresco/web/action/evaluator/EditDocOnlineHttpEvaluator.java @@ -37,11 +37,9 @@ import org.alfresco.web.bean.repository.Repository; /** * UI Action Evaluator - Edit document online via http. - * */ public class EditDocOnlineHttpEvaluator extends CheckoutDocEvaluator { - /** * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) */ @@ -49,10 +47,10 @@ public class EditDocOnlineHttpEvaluator extends CheckoutDocEvaluator { FacesContext fc = FacesContext.getCurrentInstance(); DictionaryService dd = Repository.getServiceRegistry(fc).getDictionaryService(); - + boolean result = false; - - if(node.hasAspect(ContentModel.ASPECT_MULTILINGUAL_EMPTY_TRANSLATION)) + + if (node.hasAspect(ContentModel.ASPECT_MULTILINGUAL_EMPTY_TRANSLATION)) { // this branch from EditDocHttpEvaluator // skip, result = false @@ -61,13 +59,12 @@ public class EditDocOnlineHttpEvaluator extends CheckoutDocEvaluator { Map props = node.getProperties(); if ((node.hasAspect(ApplicationModel.ASPECT_INLINEEDITABLE) && - props.get(ApplicationModel.PROP_EDITINLINE) != null && - ((Boolean)props.get(ApplicationModel.PROP_EDITINLINE)).booleanValue() == true)) + props.get(ApplicationModel.PROP_EDITINLINE) != null && + ((Boolean)props.get(ApplicationModel.PROP_EDITINLINE)).booleanValue())) { if (node.hasAspect(ContentModel.ASPECT_WORKING_COPY)) { - if (props.get(ContentModel.PROP_WORKING_COPY_MODE) != null && props.get(ContentModel.PROP_WORKING_COPY_MODE).equals(EditOnlineDialog.ONLINE_EDITING)) - result = true; + result = EditOnlineDialog.ONLINE_EDITING.equals(props.get(ContentModel.PROP_WORKING_COPY_MODE)); } else { @@ -75,8 +72,7 @@ public class EditDocOnlineHttpEvaluator extends CheckoutDocEvaluator } } } - + return result; } - } \ No newline at end of file diff --git a/source/java/org/alfresco/web/action/evaluator/EditDocOnlineWebDavEvaluator.java b/source/java/org/alfresco/web/action/evaluator/EditDocOnlineWebDavEvaluator.java index 70df71bf27..478864d6a0 100644 --- a/source/java/org/alfresco/web/action/evaluator/EditDocOnlineWebDavEvaluator.java +++ b/source/java/org/alfresco/web/action/evaluator/EditDocOnlineWebDavEvaluator.java @@ -39,11 +39,9 @@ import org.alfresco.web.bean.repository.Repository; /** * UI Action Evaluator - Edit document online via WebDav. - * */ public class EditDocOnlineWebDavEvaluator extends CheckoutDocEvaluator { - /** * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) */ @@ -51,21 +49,22 @@ public class EditDocOnlineWebDavEvaluator extends CheckoutDocEvaluator { FacesContext fc = FacesContext.getCurrentInstance(); DictionaryService dd = Repository.getServiceRegistry(fc).getDictionaryService(); - + boolean result = false; - + // if the node is inline editable, the inline online editing should always be used if (dd.isSubClass(node.getType(), ContentModel.TYPE_CONTENT)) { Map props = node.getProperties(); - if ((node.hasAspect(ApplicationModel.ASPECT_INLINEEDITABLE) == false || props.get(ApplicationModel.PROP_EDITINLINE) == null || - ((Boolean)props.get(ApplicationModel.PROP_EDITINLINE)).booleanValue() == false) && "webdav".equals(Application.getClientConfig(fc).getEditLinkType())) + if ("webdav".equals(Application.getClientConfig(fc).getEditLinkType()) && + (!node.hasAspect(ApplicationModel.ASPECT_INLINEEDITABLE) || + props.get(ApplicationModel.PROP_EDITINLINE) == null || + !((Boolean)props.get(ApplicationModel.PROP_EDITINLINE)).booleanValue())) { if (node.hasAspect(ContentModel.ASPECT_WORKING_COPY)) { - if (props.get(ContentModel.PROP_WORKING_COPY_MODE) != null && props.get(ContentModel.PROP_WORKING_COPY_MODE).equals(EditOnlineDialog.ONLINE_EDITING)) - result = true; + result = (EditOnlineDialog.ONLINE_EDITING.equals(props.get(ContentModel.PROP_WORKING_COPY_MODE))); } else { @@ -73,8 +72,7 @@ public class EditDocOnlineWebDavEvaluator extends CheckoutDocEvaluator } } } - + return result; } - -} +} \ No newline at end of file diff --git a/source/java/org/alfresco/web/app/servlet/UploadFileServlet.java b/source/java/org/alfresco/web/app/servlet/UploadFileServlet.java index 4722b0ac2e..2225601315 100644 --- a/source/java/org/alfresco/web/app/servlet/UploadFileServlet.java +++ b/source/java/org/alfresco/web/app/servlet/UploadFileServlet.java @@ -25,6 +25,7 @@ package org.alfresco.web.app.servlet; import java.io.File; import java.io.IOException; import java.io.PrintWriter; +import java.util.Enumeration; import java.util.List; import javax.servlet.ServletConfig; @@ -59,7 +60,7 @@ import org.springframework.web.context.support.WebApplicationContextUtils; */ public class UploadFileServlet extends BaseServlet { - private static final long serialVersionUID = -5482538466491052873L; + private static final long serialVersionUID = -5482538466491052875L; private static final Log logger = LogFactory.getLog(UploadFileServlet.class); private ConfigService configService; @@ -165,8 +166,30 @@ public class UploadFileServlet extends BaseServlet } } - session.setAttribute(FileUploadBean.getKey(uploadId), bean); - + // examine the appropriate session to try and find the User object + if (Application.inPortalServer() == false) + { + session.setAttribute(FileUploadBean.getKey(uploadId), bean); + } + else + { + // naff solution as we need to enumerate all session keys until we find the one that + // should match our User objects - this is weak but we don't know how the underlying + // Portal vendor has decided to encode the objects in the session + Enumeration enumNames = session.getAttributeNames(); + while (enumNames.hasMoreElements()) + { + String name = (String)enumNames.nextElement(); + // find an Alfresco value we know must be there... + if (name.startsWith("javax.portlet.p") && name.endsWith(AuthenticationHelper.AUTHENTICATION_USER)) + { + String key = name.substring(0, name.lastIndexOf(AuthenticationHelper.AUTHENTICATION_USER)); + session.setAttribute(key + FileUploadBean.getKey(uploadId), bean); + break; + } + } + } + if (bean.getFile() == null && uploadId != null && logger.isWarnEnabled()) { logger.warn("no file uploaded for upload id: " + uploadId); diff --git a/source/java/org/alfresco/web/bean/coci/EditOnlineDialog.java b/source/java/org/alfresco/web/bean/coci/EditOnlineDialog.java index 4ef0102149..749c3d4d96 100644 --- a/source/java/org/alfresco/web/bean/coci/EditOnlineDialog.java +++ b/source/java/org/alfresco/web/bean/coci/EditOnlineDialog.java @@ -40,15 +40,14 @@ import org.alfresco.web.ui.common.Utils; import org.alfresco.web.ui.common.component.UIActionLink; /** - * This is fiction dialog class for provides method for online editing. He - * doesn't have entry in web-client-config-dialogs.xml - * + * This base dialog class provides methods for online editing. It does + * doesn't have entry in web-client-config-dialogs.xml as is not instantiated directly. */ public class EditOnlineDialog extends CCCheckoutFileDialog { - public final static String ONLINE_EDITING = "onlineEditing"; + /** * Action listener for handle webdav online editing action. E.g "edit_doc_online_webdav" action * @@ -57,24 +56,23 @@ public class EditOnlineDialog extends CCCheckoutFileDialog public void handleWebdavEditing(ActionEvent event) { handle(event); - + Node workingCopyNode = property.getDocument(); if (workingCopyNode != null) { UIActionLink link = (UIActionLink) event.getComponent(); Map params = link.getParameterMap(); String webdavUrl = params.get("webdavUrl"); - + if (webdavUrl != null) { // modify webDav for editing working copy - property.setWebdavUrl(webdavUrl.substring(0, webdavUrl.lastIndexOf("/") + 1) + workingCopyNode.getName()); + property.setWebdavUrl(webdavUrl.substring(0, webdavUrl.lastIndexOf('/') + 1) + workingCopyNode.getName()); } - FacesContext fc = FacesContext.getCurrentInstance(); - - fc.getApplication().getNavigationHandler().handleNavigation(fc, null,"dialog:close:browse"); + FacesContext fc = FacesContext.getCurrentInstance(); + fc.getApplication().getNavigationHandler().handleNavigation(fc, null, "dialog:close:browse"); } } @@ -86,23 +84,23 @@ public class EditOnlineDialog extends CCCheckoutFileDialog public void handleCifsEditing(ActionEvent event) { handle(event); - + Node workingCopyNode = property.getDocument(); if (workingCopyNode != null) { UIActionLink link = (UIActionLink) event.getComponent(); Map params = link.getParameterMap(); String cifsPath = params.get("cifsPath"); - + if (cifsPath != null) { // modify cifsPath for editing working copy - property.setCifsPath(cifsPath.substring(0, cifsPath.lastIndexOf("/") + 1) + workingCopyNode.getName()); + property.setCifsPath(cifsPath.substring(0, cifsPath.lastIndexOf('\\') + 1) + workingCopyNode.getName()); } - FacesContext fc = FacesContext.getCurrentInstance(); - - fc.getApplication().getNavigationHandler().handleNavigation(fc, null,"dialog:close:browse"); + FacesContext fc = FacesContext.getCurrentInstance(); + + fc.getApplication().getNavigationHandler().handleNavigation(fc, null, "dialog:close:browse"); } } @@ -114,23 +112,22 @@ public class EditOnlineDialog extends CCCheckoutFileDialog public void handleHttpEditing(ActionEvent event) { handle(event); - + Node workingCopyNode = property.getDocument(); if (workingCopyNode != null) { - ContentReader reader = property.getContentService().getReader(workingCopyNode.getNodeRef(), ContentModel.PROP_CONTENT); if (reader != null) { String mimetype = reader.getMimetype(); - + // calculate which editor screen to display - if (MimetypeMap.MIMETYPE_TEXT_PLAIN.equals(mimetype) || MimetypeMap.MIMETYPE_XML.equals(mimetype) || MimetypeMap.MIMETYPE_TEXT_CSS.equals(mimetype) - || MimetypeMap.MIMETYPE_JAVASCRIPT.equals(mimetype)) + if (MimetypeMap.MIMETYPE_TEXT_PLAIN.equals(mimetype) || MimetypeMap.MIMETYPE_XML.equals(mimetype) || + MimetypeMap.MIMETYPE_TEXT_CSS.equals(mimetype) || MimetypeMap.MIMETYPE_JAVASCRIPT.equals(mimetype)) { // make content available to the text editing screen property.setEditorOutput(reader.getContentString()); - + // navigate to appropriate screen FacesContext fc = FacesContext.getCurrentInstance(); fc.getApplication().getNavigationHandler().handleNavigation(fc, null, "dialog:close:browse"); @@ -142,7 +139,7 @@ public class EditOnlineDialog extends CCCheckoutFileDialog // make content available to the html editing screen property.setDocumentContent(reader.getContentString()); property.setEditorOutput(null); - + // navigate to appropriate screen FacesContext fc = FacesContext.getCurrentInstance(); fc.getApplication().getNavigationHandler().handleNavigation(fc, null, "dialog:close:browse"); @@ -150,7 +147,6 @@ public class EditOnlineDialog extends CCCheckoutFileDialog fc.getApplication().getNavigationHandler().handleNavigation(fc, null, "dialog:editHtmlInline"); } } - } } @@ -162,7 +158,7 @@ public class EditOnlineDialog extends CCCheckoutFileDialog public void handle(ActionEvent event) { super.setupContentAction(event); - + Node node = property.getDocument(); if (node != null) { @@ -202,5 +198,4 @@ public class EditOnlineDialog extends CCCheckoutFileDialog } } } - -} +} \ No newline at end of file diff --git a/source/java/org/alfresco/web/bean/users/CreateUserWizard.java b/source/java/org/alfresco/web/bean/users/CreateUserWizard.java index 0b20fb5e90..00ed14fb4d 100644 --- a/source/java/org/alfresco/web/bean/users/CreateUserWizard.java +++ b/source/java/org/alfresco/web/bean/users/CreateUserWizard.java @@ -73,7 +73,9 @@ public class CreateUserWizard extends BaseWizardBean private static Log logger = LogFactory.getLog(BaseWizardBean.class); protected static final String ERROR = "error_person"; protected static final String ERROR_DOMAIN_MISMATCH = "error_domain_mismatch"; - + + private static final String MSG_ERROR_NEWUSER_HOME_SPACE = "error_newuser_home_space"; + protected static final String QUOTA_UNITS_KB = "kilobyte"; protected static final String QUOTA_UNITS_MB = "megabyte"; protected static final String QUOTA_UNITS_GB = "gigabyte"; @@ -751,7 +753,7 @@ public class CreateUserWizard extends BaseWizardBean { // Admin Authority has full permissions by default (automatic - set in the permission config) // give full permissions to the new user - getPermissionService().setPermission(homeSpaceRef, this.userName, getPermissionService().getAllPermission(), true); + getPermissionService().setPermission(homeSpaceRef, this.userName, getPermissionService().getAllPermission(), true); // by default other users will only have GUEST access to the space contents // or whatever is configured as the default in the web-client-xml config @@ -815,8 +817,12 @@ public class CreateUserWizard extends BaseWizardBean } else if (this.homeSpaceLocation != null) { - // set to existing - homeSpaceNodeRef = homeSpaceLocation; + // set to existing - first ensure it is NOT "User Homes" space! + if (this.defaultHomeSpaceRef.equals(this.homeSpaceLocation)) + { + throw new AlfrescoRuntimeException(Application.getMessage(context, MSG_ERROR_NEWUSER_HOME_SPACE)); + } + homeSpaceNodeRef = this.homeSpaceLocation; setupHomeSpacePermissions(homeSpaceNodeRef); } else @@ -866,7 +872,8 @@ public class CreateUserWizard extends BaseWizardBean outcome = null; } - if (outcome == null) { + if (outcome == null) + { this.isFinished = false; } @@ -887,15 +894,15 @@ public class CreateUserWizard extends BaseWizardBean { if (quota != null) { - if (quota >= 0L) - { - quota = convertToBytes(quota, quotaUnits); - } - else - { - // ignore negative quota - return; - } + if (quota >= 0L) + { + quota = convertToBytes(quota, quotaUnits); + } + else + { + // ignore negative quota + return; + } } getContentUsageService().setUserQuota(userName, (quota == null ? -1 : quota)); diff --git a/source/java/org/alfresco/web/ui/common/Utils.java b/source/java/org/alfresco/web/ui/common/Utils.java index 77b9e8f324..e1aa68693a 100644 --- a/source/java/org/alfresco/web/ui/common/Utils.java +++ b/source/java/org/alfresco/web/ui/common/Utils.java @@ -269,7 +269,10 @@ public final class Utils extends StringUtils buf.append("']['"); buf.append(name); buf.append("'].value='"); - buf.append(replace(params.get(name), "'", "\\'")); + String val = params.get(name); + val = replace(val, "\\", "\\\\"); // encode escape character + val = replace(val, "'", "\\'"); // encode single quote as we wrap string with that + buf.append(val); buf.append("';"); // weak, but this seems to be the way Sun RI do it... @@ -390,24 +393,25 @@ public final class Utils extends StringUtils if (nodeService != null && navBean != null && cifsServer != null) { - // Resolve CIFS network folder location for this node - - FilesystemsConfigSection filesysConfig = (FilesystemsConfigSection) cifsServer.getConfiguration().getConfigSection(FilesystemsConfigSection.SectionName); - DiskSharedDevice diskShare = null; - - SharedDeviceList shares = filesysConfig.getShares(); - Enumeration shareEnum = shares.enumerateShares(); - - while ( shareEnum.hasMoreElements() && diskShare == null) { - SharedDevice curShare = shareEnum.nextElement(); - if ( curShare.getContext() instanceof ContentContext) - diskShare = (DiskSharedDevice) curShare; - } + // Resolve CIFS network folder location for this node + FilesystemsConfigSection filesysConfig = (FilesystemsConfigSection)cifsServer.getConfiguration().getConfigSection(FilesystemsConfigSection.SectionName); + DiskSharedDevice diskShare = null; + SharedDeviceList shares = filesysConfig.getShares(); + Enumeration shareEnum = shares.enumerateShares(); + + while (shareEnum.hasMoreElements() && diskShare == null) + { + SharedDevice curShare = shareEnum.nextElement(); + if (curShare.getContext() instanceof ContentContext) + { + diskShare = (DiskSharedDevice)curShare; + } + } if (diskShare != null) { - ContentContext contentCtx = (ContentContext) diskShare.getContext(); + ContentContext contentCtx = (ContentContext)diskShare.getContext(); NodeRef rootNode = contentCtx.getRootNode(); try { @@ -1038,19 +1042,23 @@ public final class Utils extends StringUtils */ public static String getUserAgent(FacesContext context) { - final String userAgent = context.getExternalContext().getRequestHeaderMap().get("User-Agent").toString(); + Object userAgent = context.getExternalContext().getRequestHeaderMap().get("User-Agent"); if (userAgent != null) { - if (userAgent.indexOf("Firefox/") != -1) + if (userAgent.toString().indexOf("Firefox/") != -1) { return USER_AGENT_FIREFOX; } - else if (userAgent.indexOf("MSIE") != -1) + else if (userAgent.toString().indexOf("MSIE") != -1) { return USER_AGENT_MSIE; } + else + { + return userAgent.toString(); + } } - return userAgent; + return ""; } /** diff --git a/source/java/org/alfresco/web/ui/common/component/data/UIDataPager.java b/source/java/org/alfresco/web/ui/common/component/data/UIDataPager.java index ad0e6f4c5a..51e24b391a 100644 --- a/source/java/org/alfresco/web/ui/common/component/data/UIDataPager.java +++ b/source/java/org/alfresco/web/ui/common/component/data/UIDataPager.java @@ -108,7 +108,7 @@ public class UIDataPager extends UICommand String beginTag = ""); + } + else + { + inputPageNumber.append(""); } - inputPageNumber.append(""); } buf.append(beginTag); @@ -584,7 +590,9 @@ public class UIDataPager extends UICommand script.append(" else if (e) keycode = e.which;"); script.append(" if (keycode == 13)"); script.append(" {"); - script.append(" var inputControl = document.getElementById('").append(getPageInputId()).append("');"); + script.append(" var inputControl = $('").append(getPageInputId()).append("');"); + script.append(" var dialogForm = $('dialog');"); + script.append(" if (dialogForm) {dialogForm.removeProperty('onsubmit');}"); script.append(" var val = parseInt(inputControl.value);"); script.append(" if (val == 'NaN' || document.forms['").append(formClientId).append("']['").append(getHiddenFieldName()).append("']==undefined)"); script.append(" { inputControl.value = 1; return false; }"); @@ -614,6 +622,43 @@ public class UIDataPager extends UICommand script.append(" else if (e) keycode = e.which;"); script.append(" var keychar = String.fromCharCode(keycode);"); script.append(" var numcheck = /\\d/;"); + script.append(" var dialogForm = $('dialog');"); + script.append(" if (dialogForm && keycode==13) { "); + script.append(" dialogForm.setProperty('onsubmit','return false;')"); + script.append(" }"); + script.append(" return keycode==13 || keycode==8 || keycode==37 || keycode==39 || keycode==46 || (keycode>=96 && keycode<=105) || numcheck.test(keychar);"); + script.append("}; return onlyDigits(event);"); + return script.toString(); + } + + /** + * Output the JavaScript event script to handle onkeydown event in the Page Number input (For IE6 browser). + * It handles only digits and some 'useful' keys. + * @return JavaScript code + */ + private String generateIE6InputOnkeydownScript() + { + final String formClientId = Utils.getParentForm(getFacesContext(), this).getClientId(getFacesContext()); + final StringBuilder script = new StringBuilder(128); + script.append("function onlyDigits(e)"); + script.append("{"); + script.append(" var keycode;"); + script.append(" if (window.event) keycode = window.event.keyCode;"); + script.append(" else if (e) keycode = e.which;"); + script.append(" var keychar = String.fromCharCode(keycode);"); + script.append(" var numcheck = /\\d/;"); + script.append(" if (keycode == 13)"); + script.append(" {"); + script.append(" var inputControl = $('").append(getPageInputId()).append("');"); + script.append(" var val = parseInt(inputControl.value);"); + script.append(" if (val == 'NaN' || document.forms['").append(formClientId).append("']['").append(getHiddenFieldName()).append("']==undefined)"); + script.append(" { inputControl.value = 1; return false; }"); + script.append(" else"); + script.append(" { val = (val-1)>=0 ? val-1 : 0; "); + script.append(" document.forms['").append(formClientId).append("']['").append(getHiddenFieldName()).append("'].value=val;"); + script.append(" document.forms['").append(formClientId).append("'].submit(); return false;"); + script.append(" }"); + script.append(" }"); script.append(" return keycode==13 || keycode==8 || keycode==37 || keycode==39 || keycode==46 || (keycode>=96 && keycode<=105) || numcheck.test(keychar);"); script.append("}; return onlyDigits(event);"); return script.toString(); diff --git a/source/java/org/alfresco/web/ui/repo/tag/PageTag.java b/source/java/org/alfresco/web/ui/repo/tag/PageTag.java index ec80959c0a..b672def5a2 100644 --- a/source/java/org/alfresco/web/ui/repo/tag/PageTag.java +++ b/source/java/org/alfresco/web/ui/repo/tag/PageTag.java @@ -61,7 +61,7 @@ public class PageTag extends TagSupport "/scripts/menu.js", // webdav javascript "/scripts/webdav.js", - // functional for window.onload + // functionality for window.onload "/scripts/onload.js", // base yahoo file "/scripts/ajax/yahoo/yahoo/yahoo-min.js", @@ -282,7 +282,7 @@ public class PageTag extends TagSupport out.write("');"); // generate window onload code - out.write(getWindowOnloadCode()); + generateWindowOnloadCode(out); out.write("\n"); // end - generate naked javascript code @@ -366,34 +366,41 @@ public class PageTag extends TagSupport } /** - * This method generate code for setting window.onload reference if we need (we need to open WebDav or Cifs url or may be else) - * Using javascript code(function onloadFunc) from onload.js file + * This method generate code for setting window.onload reference as + * we need to open WebDav or CIFS URL in a new window. + * + * Executes via javascript code(function onloadFunc()) in "onload.js" include file. + * * @return Returns window.onload javascript code */ - private String getWindowOnloadCode() + private static void generateWindowOnloadCode(Writer out) + throws IOException { FacesContext fc = FacesContext.getCurrentInstance(); if (fc != null) { - CCProperties ccProps = (CCProperties) FacesHelper.getManagedBean(fc, "CCProperties"); - - StringBuilder onloadCode = new StringBuilder(); + CCProperties ccProps = (CCProperties)FacesHelper.getManagedBean(fc, "CCProperties"); if (ccProps.getWebdavUrl() != null || ccProps.getCifsPath() != null) { - String webdavUrl = (ccProps.getWebdavUrl() != null) ? (ccProps.getWebdavUrl()) : (""); - String cifsPath = (ccProps.getCifsPath() != null) ? (ccProps.getCifsPath()) : (""); + out.write("window.onload=onloadFunc('"); + if (ccProps.getWebdavUrl() != null) + { + out.write(ccProps.getWebdavUrl()); + } + out.write("','"); + if (ccProps.getCifsPath() != null) + { + String val = ccProps.getCifsPath(); + val = Utils.replace(val, "\\", "\\\\"); // encode escape character + val = Utils.replace(val, "'", "\\'"); // encode single quote as we wrap string with that + out.write(val); + } + out.write("');"); - onloadCode.append("window.onload=onloadFunc('").append(webdavUrl).append("','").append(cifsPath).append("');"); - - ccProps.setCifsPath(null); // we need reset cifsPath flag - ccProps.setWebdavUrl(null); // we need reset webdavUrl flag + // reset session bean state + ccProps.setCifsPath(null); + ccProps.setWebdavUrl(null); } - - return onloadCode.toString(); - } - else - { - return ""; } } } diff --git a/source/web/scripts/onload.js b/source/web/scripts/onload.js index 388f96a36c..2535054261 100644 --- a/source/web/scripts/onload.js +++ b/source/web/scripts/onload.js @@ -4,9 +4,12 @@ function onloadFunc(webdavUrl, cifsPath) { - // i place this here only for others usage of onloadFunc if (webdavUrl != "") + { openDoc(webdavUrl); + } if (cifsPath != "") + { window.open(cifsPath, "_blank"); -} + } +} \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/langs/es.js b/source/web/scripts/tiny_mce/langs/es.js new file mode 100644 index 0000000000..14e0b6aa23 --- /dev/null +++ b/source/web/scripts/tiny_mce/langs/es.js @@ -0,0 +1,154 @@ +tinyMCE.addI18n({es:{ +common:{ +edit_confirm:" \u00BFDesea utilizar el modo WYSIWYG para esta caja de texto?", +apply:"Aplicar", +insert:"Insertar", +update:"Actualizar", +cancel:"Cancelar", +close:"Cerrar", +browse:"Examinar", +class_name:"Clase", +not_set:"-- Ninguno --", +clipboard_msg:"Copiar/Cortar/Pegar no se encuentra disponible en Mozilla y Firefox.\n \u00BFDesea obtener m\u00E1s informaci\u00F3n acerca de este tema?", +clipboard_no_support:"Su navegador no soporta las funciones de cortapapeles, use los accesos por teclado.", +popup_blocked:"Lo sentimos, su bloqueo de ventanas emergentes ha deshabilitado una ventana que provee funcionalidades a la aplicaci\u00F3n. Necesita deshabilitar este bloqueo en este sitio para poder utilizar todas las funciones.", +invalid_data:"Error: Introdujo un valor no v\u00E1lido, est\u00E1n marcados en rojo.", +more_colors:"M\u00E1s colores" +}, +contextmenu:{ +align:"Alineaci\u00F3n", +left:"Izquierda", +center:"Centrado", +right:"Derecha", +full:"Justificado" +}, +insertdatetime:{ +date_fmt:"%d-%m-%Y", +time_fmt:"%H:%M:%S", +insertdate_desc:"Insertar fecha", +inserttime_desc:"Insertar hora", +months_long:"Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre", +months_short:"Ene,Feb,Mar,Abr,May,Jun,Jul,Ago,Sep,Oct,Nov,Dic", +day_long:"Domingo,Lunes,Martes,Mi\u00E9rcoles,Jueves,Viernes,S\u00E1bado,Domingo", +day_short:"Dom,Lun,Mar,Mie,Jue,Vie,Sab,Dom" +}, +print:{ +print_desc:"Imprimir" +}, +preview:{ +preview_desc:"Vista previa" +}, +directionality:{ +ltr_desc:"Direcci\u00F3n izquierda a derecha", +rtl_desc:"Direcci\u00F3n derecha a izquierda" +}, +layer:{ +insertlayer_desc:"Insertar nueva capa", +forward_desc:"Avanzar", +backward_desc:"Retroceder", +absolute_desc:"Cambiar a posici\u00F3n absoluta", +content:"Nueva capa..." +}, +save:{ +save_desc:"Guardar", +cancel_desc:"Cancelar todos los cambios" +}, +nonbreaking:{ +nonbreaking_desc:"Insertar caracter de espacio 'non-breaking'" +}, +iespell:{ +iespell_desc:"Corrector ortogr\u00E1fico", +download:"No se detect\u00F3 'ieSpell'. \u00BFDesea instalarlo ahora?" +}, +advhr:{ +advhr_desc:"Regla horizontal" +}, +emotions:{ +emotions_desc:"Emoticones" +}, +searchreplace:{ +search_desc:"Buscar", +replace_desc:"Buscar/Reemplazar" +}, +advimage:{ +image_desc:"Insertar/editar imagen" +}, +advlink:{ +link_desc:"Insertar/editar hiperv\u00EDnculo" +}, +xhtmlxtras:{ +cite_desc:"Cita", +abbr_desc:"Abreviatura", +acronym_desc:"Acr\u00F3nimo", +del_desc:"Borrado", +ins_desc:"Inserci\u00F3n", +attribs_desc:"Insertar/Editar atributos" +}, +style:{ +desc:"Editar Estilo CSS" +}, +paste:{ +paste_text_desc:"Pegar como texto plano", +paste_word_desc:"Pegar desde Word", +selectall_desc:"Seleccionar todo" +}, +paste_dlg:{ +text_title:"Use CTRL+V en su teclado para pegar el texto en la ventana.", +text_linebreaks:"Keep linebreaks", +word_title:"Use CTRL+V en su teclado para pegar el texto en la ventana." +}, +table:{ +desc:"Inserta una nueva tabla", +row_before_desc:"Insertar fila (antes)", +row_after_desc:"Insertar fila (despu\u00E9s)", +delete_row_desc:"Suprimir fila", +col_before_desc:"Insertar columna (antes)", +col_after_desc:"Insertar columna (despu\u00E9s)", +delete_col_desc:"Suprimir columna", +split_cells_desc:"Dividir celdas", +merge_cells_desc:"Vincular celdas", +row_desc:"Propiedades de la fila", +cell_desc:"Propiedades de la celda", +props_desc:"Propiedades de la tabla", +paste_row_before_desc:"Pegar filas (antes)", +paste_row_after_desc:"Pegar filas (despu\u00E9s)", +cut_row_desc:"Cortar fila", +copy_row_desc:"Copiar fila", +del:"Eliminar tabla", +row:"Fila", +col:"Columna", +cell:"Celda" +}, +autosave:{ +unload_msg:"Los cambios realizados se perder\u00E1n si sale de esta p\u00E1gina." +}, +fullscreen:{ +desc:"Cambiar a modo Pantalla Completa" +}, +media:{ +desc:"Insertar/editar medio embebido", +edit:"Editar medio embebido" +}, +fullpage:{ +desc:"Propiedades del documento" +}, +template:{ +desc:"Insertar contenido de plantilla predefinida" +}, +visualchars:{ +desc:"Caracteres de control ON/OFF." +}, +spellchecker:{ +desc:"Cambiar a corrector ortogr\u00E1fico", +menu:"Configuraci\u00F3n de corrector ortogr\u00E1fico", +ignore_word:"Ignorar", +ignore_words:"Ignorar todo", +langs:"Idiomas", +wait:"Espere...", +sug:"Sugerencias", +no_sug:"Sin sugerencias", +no_mpell:"No se encontraron errores." +}, +pagebreak:{ +desc:"Insertar fin de p\u00E1gina" +}}}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/advhr/langs/es_dlg.js b/source/web/scripts/tiny_mce/plugins/advhr/langs/es_dlg.js new file mode 100644 index 0000000000..7de3a60b97 --- /dev/null +++ b/source/web/scripts/tiny_mce/plugins/advhr/langs/es_dlg.js @@ -0,0 +1,5 @@ +tinyMCE.addI18n('es.advhr_dlg',{ +width:"Ancho", +size:"Alto", +noshade:"Sin sombra" +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/advimage/langs/es_dlg.js b/source/web/scripts/tiny_mce/plugins/advimage/langs/es_dlg.js new file mode 100644 index 0000000000..80fd777be4 --- /dev/null +++ b/source/web/scripts/tiny_mce/plugins/advimage/langs/es_dlg.js @@ -0,0 +1,43 @@ +tinyMCE.addI18n('es.advimage_dlg',{ +tab_general:"General", +tab_appearance:"Apariencia", +tab_advanced:"Avanzado", +general:"General", +title:"T\u00EDtulo", +preview:"Vista previa", +constrain_proportions:"Bloquear relaci\u00F3n de aspecto", +langdir:"Direcci\u00F3n del lenguaje", +langcode:"C\u00F3digo del lenguaje", +long_desc:"V\u00EDnculo para descripci\u00F3n larga", +style:"Estilos", +classes:"Clases", +ltr:"Izquierda a derecha", +rtl:"Derecha a izquierda", +id:"Id", +map:"Mapa de imagen", +swap_image:"Intercambiar imagen", +alt_image:"Imagen alternativa", +mouseover:"para mouseover", +mouseout:"para mouseout", +misc:"Miscel\u00E1neo", +example_img:"Vista previa de la imagen", +missing_alt:" \u00BFEsta seguro de continuar sin introducir una descripci\u00F3n a la imagen? Sin ella puede no ser accesible para usuarios con discapacidades, o para aquellos que usen navegadores de modo texto, o tengan deshabilitadas las im\u00E1genes de la p\u00E1gina.", +dialog_title:"Insertar/editar imagen", +src:"URL de la imagen", +alt:"Descripci\u00F3n de la imagen", +list:"Lista de imagen", +border:"Bordes", +dimensions:"Dimensiones", +vspace:"Espacio vertical", +hspace:"Espacio horizontal", +align:"Alineaci\u00F3n", +align_baseline:"L\u00EDnea base", +align_top:"Arriba", +align_middle:"Medio", +align_bottom:"Debajo", +align_texttop:"Texto arriba", +align_textbottom:"Texto abajo", +align_left:"Izquierda", +align_right:"Derecha", +image_list:"Lista de imagen" +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/advlink/langs/es_dlg.js b/source/web/scripts/tiny_mce/plugins/advlink/langs/es_dlg.js new file mode 100644 index 0000000000..8f2056993d --- /dev/null +++ b/source/web/scripts/tiny_mce/plugins/advlink/langs/es_dlg.js @@ -0,0 +1,52 @@ +tinyMCE.addI18n('es.advlink_dlg',{ +title:"Insertar/editar hiperv\u00EDnculo", +url:"URL del hiperv\u00EDnculo", +target:"Destino", +titlefield:"T\u00EDtulo", +is_email:"La URL que ha introducido parece ser una direci\u00F3n de correo, \u00BFdesea agregar el prefijo mailto: necesario?", +is_external:"La URL que ha introducido parece ser un v\u00EDnculo externo, \u00BFdesea agregar el prefijo http:// necesario?", +list:"Lista de v\u00EDnculos", +general_tab:"General", +popup_tab:"Ventana emergente", +events_tab:"Eventos", +advanced_tab:"Avanzado", +general_props:"Propiedades generales", +popup_props:"Propiedades de ventanas emergentes", +event_props:"Eventos", +advanced_props:"Propiedades avanzadas", +popup_opts:"Opciones", +anchor_names:"Anclas", +target_same:"Abrir en esta ventana / marco", +target_parent:"Abrir en ventana padre / marco", +target_top:"Abrir en el marco superior (reemplaza todos los marcos)", +target_blank:"Abrir en ventana nueva", +popup:"Javascript popup", +popup_url:"URL de la ventana emergente", +popup_name:"Nombre de la ventana", +popup_return:"Insertar 'return false'", +popup_scrollbars:"Barras de desplazamiento", +popup_statusbar:"Barra de estado", +popup_toolbar:"Barra de herramientas", +popup_menubar:"Barra de men\u00FA", +popup_location:"Barra de localizaci\u00F3n", +popup_resizable:"Permitir cambiar el tama\u00F1o de la ventana", +popup_dependent:"Dependientes (s\u00F3lo Mozilla/Firefox)", +popup_size:"Tama\u00F1o", +popup_position:"Posici\u00F3n (X/Y)", +id:"Id", +style:"Estilo", +classes:"Clases", +target_name:"Nombre del Target", +langdir:"Direcci\u00F3n del lenguaje", +target_langcode:"Lenguaje del Target", +langcode:"C\u00F3digo del lenguaje", +encoding:"Codificaci\u00F3n de caracteres del Target", +mime:"Tipo MIME del Target", +rel:"Relaci\u00F3n p\u00E1gina a target", +rev:"Relaci\u00F3n target a p\u00E1gina", +tabindex:"Indice de tabulaci\u00F3n", +accesskey:"Tecla de acceso", +ltr:"Izquierda a derecha", +rtl:"Derecha a izquierda", +link_list:"Lista de v\u00EDnculo" +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/emotions/langs/es_dlg.js b/source/web/scripts/tiny_mce/plugins/emotions/langs/es_dlg.js new file mode 100644 index 0000000000..2aa315a5fb --- /dev/null +++ b/source/web/scripts/tiny_mce/plugins/emotions/langs/es_dlg.js @@ -0,0 +1,20 @@ +tinyMCE.addI18n('es.emotions_dlg',{ +title:"Insertar emoticon", +desc:"Emoticones", +cool:"Todo bien", +cry:"Llora", +embarassed:"Verg\u00C3\u0083\u00C2\u00BCenza", +foot_in_mouth:"Pie en la boca", +frown:"Triste", +innocent:"Inocente", +kiss:"Beso", +laughing:"Risa", +money_mouth:"Dinero boca", +sealed:"Sellado", +smile:"Sonrisa", +surprised:"Sorprendido", +tongue_out:"Lengua fuera", +undecided:"Indeciso", +wink:"Gui\u00F1o", +yell:"Enfadado" +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/fullpage/langs/es_dlg.js b/source/web/scripts/tiny_mce/plugins/fullpage/langs/es_dlg.js new file mode 100644 index 0000000000..48332740aa --- /dev/null +++ b/source/web/scripts/tiny_mce/plugins/fullpage/langs/es_dlg.js @@ -0,0 +1,85 @@ +tinyMCE.addI18n('es.fullpage_dlg',{ +title:"Propiedades del documento", +meta_tab:"General", +appearance_tab:"Apariencia", +advanced_tab:"Avanzado", +meta_props:"Informaci\u00F3n Meta", +langprops:"Lenguaje y codificaci\u00F3n", +meta_title:"T\u00EDtulo", +meta_keywords:"Palabras clave", +meta_description:"Descripci\u00F3n", +meta_robots:"Robots", +doctypes:"Tipo de doc.", +langcode:"C\u00F3digo del lenguaje", +langdir:"Direcci\u00F3n del lenguaje", +ltr:"Izquierda a derecha", +rtl:"Derecha a izquierda", +xml_pi:"Declaraci\u00F3n XML", +encoding:"Codificaci\u00F3n de caracteres", +appearance_bgprops:"Propiedades del fondo", +appearance_marginprops:"M\u00E1rgenes", +appearance_linkprops:"Colores del v\u00EDnculo", +appearance_textprops:"Propiedades de texto", +bgcolor:"Color de fondo", +bgimage:"Imagen de fondo", +left_margin:"Margen izquierdo", +right_margin:"Margen derecho", +top_margin:"Margen superior", +bottom_margin:"Margen inferior", +text_color:"Color del texto", +font_size:"Tama\u00F1o de fuente", +font_face:"Fuente", +link_color:"Color de v\u00EDnculo", +hover_color:"Color rat\u00F3n encima", +visited_color:"Color visitado", +active_color:"Color activo", +textcolor:"Color", +fontsize:"Tama\u00F1o de fuente", +fontface:"Fuente", +meta_index_follow:"Indexar y seguir los v\u00EDnculos", +meta_index_nofollow:"Indexar y no seguir los v\u00EDnculos", +meta_noindex_follow:"No indexar pero seguir v\u00EDnculos", +meta_noindex_nofollow:"No indexar y no seguir v\u00EDnculos", +appearance_style:"Propiedades de hoja de estilos y estilo", +stylesheet:"Hoja de estilo", +style:"Estilo", +author:"Autor", +copyright:"Copyright", +add:"Agregar nuevo elemento", +remove:"Eliminar elemento seleccionado", +moveup:"Mover elemento seleccionado hacia arriba", +movedown:"Mover elemento seleccionado hacia abajo", +head_elements:"Elemento Head", +info:"Informaci\u00F3n", +add_title:"Elemento Title", +add_meta:"Elemento Meta", +add_script:"Elemento Script", +add_style:"Elemento Style", +add_link:"Elemento Link", +add_base:"Elemento Base", +add_comment:"Nodo Comment", +title_element:"Elemento Title", +script_element:"Elemento Script", +style_element:"Elemento Style", +base_element:"Elemento Base", +link_element:"Elemento Link", +meta_element:"Elemento Meta", +comment_element:"Comentario", +src:"Src", +language:"Lenguaje", +href:"Href", +target:"Target", +type:"Tipo", +charset:"Charset", +defer:"Defer", +media:"Medio", +properties:"Propiedades", +name:"Nombre", +value:"Valor", +content:"Contenido", +rel:"Rel", +rev:"Rev", +hreflang:"Href lang", +general_props:"General", +advanced_props:"Avanzado" +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/media/langs/es_dlg.js b/source/web/scripts/tiny_mce/plugins/media/langs/es_dlg.js new file mode 100644 index 0000000000..fc00aa35e1 --- /dev/null +++ b/source/web/scripts/tiny_mce/plugins/media/langs/es_dlg.js @@ -0,0 +1,103 @@ +tinyMCE.addI18n('es.media_dlg',{ +title:"Insertar/editar medio embebido", +general:"General", +advanced:"Avanzado", +file:"Archivo/URL", +list:"Lista", +size:"Dimensiones", +preview:"Vista Previa", +constrain_proportions:"Bloquear relaci\u00F3n de aspecto", +type:"Tipo", +id:"Id", +name:"Nombre", +class_name:"Clase", +vspace:"V-Space", +hspace:"H-Space", +play:"Comienzo Autom\u00E1tico", +loop:"Repetitivo", +menu:"Mostrar Men\u00FA", +quality:"Calidad", +scale:"Scale", +align:"Alineaci\u00F3n", +salign:"SAlign", +wmode:"WMode", +bgcolor:"Fondo", +base:"Base", +flashvars:"Flashvars", +liveconnect:"SWLiveConnect", +autohref:"AutoHREF", +cache:"Cach\u00E9", +hidden:"Hidden", +controller:"Controller", +kioskmode:"Kiosk mode", +playeveryframe:"Reproducir todo los frames", +targetcache:"Target cache", +correction:"Sin correci\u00F3n", +enablejavascript:"Habilitar JavaScript", +starttime:"Inicio", +endtime:"Fin", +href:"Href", +qtsrcchokespeed:"Vel. de choque", +target:"Target", +volume:"Volumen", +autostart:"Comienzo Autom\u00E1tico", +enabled:"Habilitado", +fullscreen:"Pantalla Completa", +invokeurls:"Invocar URLs", +mute:"Silencio", +stretchtofit:"Estirar para ajustar", +windowlessvideo:"Video sin ventana", +balance:"Balance", +baseurl:"URL Base", +captioningid:"Captioning id", +currentmarker:"Marcador actual", +currentposition:"Posici\u00F3n actual", +defaultframe:"Frame predet.", +playcount:"Cuantas reproducciones", +rate:"Ratio", +uimode:"Modo UI", +flash_options:"Opciones Flash", +qt_options:"Opciones Quicktime", +wmp_options:"Opciones Windows media player", +rmp_options:"Opciones Real media player", +shockwave_options:"Opciones Shockwave", +autogotourl:"Ir a URL autom\u00E1t.", +center:"Centrado", +imagestatus:"Estado de imagen", +maintainaspect:"Mantener aspecto", +nojava:"No java", +prefetch:"Preb\u00FAsqueda", +shuffle:"Aleatorio", +console:"Consola", +numloop:"N\u00FAm. repeticiones", +controls:"Controles", +scriptcallbacks:"Script callbacks", +swstretchstyle:"Estilo estiramiento", +swstretchhalign:"Alin. H. Estiramiento", +swstretchvalign:"Alin. V. Estiramiento", +sound:"Sonido", +progress:"Progreso", +qtsrc:"QT Src", +qt_stream_warn:"Los recursos rtsp de Streaming deber\u00EDan a\u00F1adirse en el campo QT Src de la pesta\u00F1a avanzada.\nAdem\u00E1s deber\u00EDa a\u00F1adir una versi\u00F3n no Streaming en el campo Src.", +align_top:"Arriba", +align_right:"Derecha", +align_bottom:"Debajo", +align_left:"Izquierda", +align_center:"Centrado", +align_top_left:"Arriba Izda.", +align_top_right:"Arriba Dcha.", +align_bottom_left:"Debajo Izda.", +align_bottom_right:"Debajo Dcha.", +flv_options:"Opciones Video Flash", +flv_scalemode:"Modo escalado", +flv_buffer:"Buffer", +flv_startimage:"Imagen inicio", +flv_starttime:"Tiempo inicio", +flv_defaultvolume:"Volumen predet.", +flv_hiddengui:"Ocultar GUI", +flv_autostart:"Inicio auto.", +flv_loop:"Repetitivo", +flv_showscalemodes:"Mostrar modos escala", +flv_smoothvideo:"Video suave", +flv_jscallback:"JS Callback" +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/paste/langs/es_dlg.js b/source/web/scripts/tiny_mce/plugins/paste/langs/es_dlg.js new file mode 100644 index 0000000000..c2f4c797e4 --- /dev/null +++ b/source/web/scripts/tiny_mce/plugins/paste/langs/es_dlg.js @@ -0,0 +1,5 @@ +tinyMCE.addI18n('es.paste_dlg',{ +text_title:"Use CTRL+V en su teclado para pegar el texto en la ventana.", +text_linebreaks:"Keep linebreaks", +word_title:"Use CTRL+V en su teclado para pegar el texto en la ventana." +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/searchreplace/langs/es_dlg.js b/source/web/scripts/tiny_mce/plugins/searchreplace/langs/es_dlg.js new file mode 100644 index 0000000000..e4cd3a98f4 --- /dev/null +++ b/source/web/scripts/tiny_mce/plugins/searchreplace/langs/es_dlg.js @@ -0,0 +1,16 @@ +tinyMCE.addI18n('es.searchreplace_dlg',{ +searchnext_desc:"Buscar de nuevo", +notfound:"La b\u00FAsqueda se ha completado. No se encontr\u00F3 el texto introducido.", +search_title:"Buscar", +replace_title:"Buscar/Reemplazar", +allreplaced:"Se ha reemplazado el texto.", +findwhat:"Qu\u00E9 buscar", +replacewith:"Reemplazar por", +direction:"Direcci\u00F3n", +up:"Arriba", +down:"Abajo", +mcase:"Min\u00FAs./May\u00FAs.", +findnext:"Buscar siguiente", +replace:"Reemplazar", +replaceall:"Reemplazar todo" +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/style/langs/es_dlg.js b/source/web/scripts/tiny_mce/plugins/style/langs/es_dlg.js new file mode 100644 index 0000000000..5fe8a8beb3 --- /dev/null +++ b/source/web/scripts/tiny_mce/plugins/style/langs/es_dlg.js @@ -0,0 +1,63 @@ +tinyMCE.addI18n('es.style_dlg',{ +title:"Editar Estilo CSS", +apply:"Aplicar", +text_tab:"Texto", +background_tab:"Fondo", +block_tab:"Bloque", +box_tab:"Caja", +border_tab:"Borde", +list_tab:"Lista", +positioning_tab:"Posici\u00F3n", +text_props:"Texto", +text_font:"Fuente", +text_size:"Tama\u00F1o", +text_weight:"Peso", +text_style:"Estilo", +text_variant:"Variante", +text_lineheight:"Ancho de la fila", +text_case:"Min\u00FAs./May\u00FAs.", +text_color:"Color", +text_decoration:"Decorativos", +text_overline:"Subrayado superior", +text_underline:"Subrayado", +text_striketrough:"Tachado", +text_blink:"Parpadeo", +text_none:"Ninguno", +background_color:"Color de fondo", +background_image:"Imagen de fondo", +background_repeat:"Repetici\u00F3n", +background_attachment:"Adjunto", +background_hpos:"Posici\u00F3n horizontal", +background_vpos:"Posici\u00F3n vertical", +block_wordspacing:"Espacio entre palabra", +block_letterspacing:"Espacio entre letra", +block_vertical_alignment:"Alineaci\u00F3n vertical", +block_text_align:"Alineaci\u00F3n del texto", +block_text_indent:"Sangr\u00EDa", +block_whitespace:"Espacio en blanco", +block_display:"Display", +box_width:"Ancho", +box_height:"Alto", +box_float:"Float", +box_clear:"Clear", +padding:"Padding", +same:"Lo mismo en todos", +top:"Arriba", +right:"Derecha", +bottom:"Debajo", +left:"Izquierda", +margin:"Margen", +style:"Estilo", +width:"Ancho", +height:"Alto", +color:"Color", +list_type:"Tipo", +bullet_image:"Imagen de la vi\u00F1eta", +position:"Posici\u00F3n", +positioning_type:"Tipo", +visibility:"Visibilidad", +zindex:"Z-index", +overflow:"Overflow", +placement:"Placement", +clip:"Clip" +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/table/langs/es_dlg.js b/source/web/scripts/tiny_mce/plugins/table/langs/es_dlg.js new file mode 100644 index 0000000000..8f85c489a7 --- /dev/null +++ b/source/web/scripts/tiny_mce/plugins/table/langs/es_dlg.js @@ -0,0 +1,74 @@ +tinyMCE.addI18n('es.table_dlg',{ +general_tab:"General", +advanced_tab:"Avanzado", +general_props:"Propiedades generales", +advanced_props:"Propiedades avanzadas", +rowtype:"Tipo de fila", +title:"Insertar/Modificar tabla", +width:"Ancho", +height:"Alto", +cols:"Cols", +rows:"Filas", +cellspacing:"Espaciado de celda", +cellpadding:"Relleno de celda", +border:"Borde", +align:"Alineaci\u00F3n", +align_default:"Predet.", +align_left:"Izquierda", +align_right:"Derecha", +align_middle:"Centrado", +row_title:"Propiedades de la fila", +cell_title:"Propiedades de la celda", +cell_type:"Tipo de celda", +valign:"Alineaci\u00F3n vertical", +align_top:"Arriba", +align_bottom:"Debajo", +bordercolor:"Color del borde", +bgcolor:"Color de fondo", +merge_cells_title:"Vincular celdas", +id:"Id", +style:"Estilo", +langdir:"Direcci\u00F3n del lenguaje", +langcode:"C\u00F3digo del lenguaje", +mime:"Tipo MIME", +ltr:"Izquierda a derecha", +rtl:"Derecha a izquierda", +bgimage:"Imagen de fondo", +summary:"Resumen", +td:"Datos", +th:"Encabezado", +cell_cell:"Actualizar celda actual", +cell_row:"Actualizar todas las celdas en la fila", +cell_all:"Actualizar todas las celdas en la tabla", +row_row:"Actualizar fila actual", +row_odd:"Actualizar filas impares", +row_even:"Actualizar filas pares", +row_all:"Actualizar todas las filas", +thead:"Encabezado de la tabla", +tbody:"Cuerpo de la tabla", +tfoot:"Pie de la tabla", +scope:"Alcance", +rowgroup:"Grupo de filas", +colgroup:"Grupo de columnas", +col_limit:"Ha superado el n\u00FAmero m\u00E1ximo de columnas: {$cols}.", +row_limit:"Ha superado el n\u00FAmero m\u00E1ximo de filas: {$rows}.", +cell_limit:"Ha superado el n\u00FAmero m\u00E1ximo de celdas: {$cells}.", +missing_scope:" \u00BFEst\u00E1 seguro que desea continuar sin especificar el alcance del encabezado de celda? Sin \u00E9l podr\u00EDa ser dificultoso para algunos usuarios entender el contenido o los datos mostrados en la tabla.", +caption:"Subt\u00EDtulo de la tabla", +frame:"Recuadro", +frame_none:"ninguno", +frame_groups:"grupos", +frame_rows:"filas", +frame_cols:"cols", +frame_all:"todos", +rules:"Reglas", +rules_void:"vac\u00EDo", +rules_above:"encima", +rules_below:"debajo", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"box", +rules_border:"border" +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/template/langs/es_dlg.js b/source/web/scripts/tiny_mce/plugins/template/langs/es_dlg.js new file mode 100644 index 0000000000..897aad542a --- /dev/null +++ b/source/web/scripts/tiny_mce/plugins/template/langs/es_dlg.js @@ -0,0 +1,15 @@ +tinyMCE.addI18n('es.template_dlg',{ +title:"Plantillas", +label:"Plantilla", +desc_label:"Descripci\u00F3n", +desc:"Insertar contenido de plantilla predefinida", +select:"Seleccionar plantilla", +preview:"Vista previa", +warning:"Cuidado: Actualizar una plantilla con otra puede causar p\u00E9rdida de datos.", +mdate_format:"%d-%m-%Y %H:%M:%S", +cdate_format:"%d-%m-%Y %H:%M:%S", +months_long:"Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre", +months_short:"Ene,Feb,Mar,Abr,May,Jun,Jul,Ago,Sep,Oct,Nov,Dic", +day_long:"Domingo,Lunes,Martes,Mi\u00E9rcoles,Jueves,Viernes,S\u00E1bado,Domingo", +day_short:"Dom,Lun,Mar,Mie,Jue,Vie,Sab,Dom" +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/plugins/xhtmlxtras/langs/es_dlg.js b/source/web/scripts/tiny_mce/plugins/xhtmlxtras/langs/es_dlg.js new file mode 100644 index 0000000000..3d3036e13a --- /dev/null +++ b/source/web/scripts/tiny_mce/plugins/xhtmlxtras/langs/es_dlg.js @@ -0,0 +1,32 @@ +tinyMCE.addI18n('es.xhtmlxtras_dlg',{ +attribute_label_title:"T\u00EDtulo", +attribute_label_id:"ID", +attribute_label_class:"Clase", +attribute_label_style:"Estilo", +attribute_label_cite:"Cita", +attribute_label_datetime:"Fecha/Hora", +attribute_label_langdir:"Direcci\u00F3n de texto", +attribute_option_ltr:"Izquierda a derecha", +attribute_option_rtl:"Derecha a izquierda", +attribute_label_langcode:"Lenguaje", +attribute_label_tabindex:"Orden de tabulaci\u00F3n", +attribute_label_accesskey:"Tecla de acceso", +attribute_events_tab:"Eventos", +attribute_attrib_tab:"Atributos", +general_tab:"General", +attrib_tab:"Atributos", +events_tab:"Eventos", +fieldset_general_tab:"Configuraci\u00F3n general", +fieldset_attrib_tab:"Atributos", +fieldset_events_tab:"Evento", +title_ins_element:"Insertar", +title_del_element:"Borrar", +title_acronym_element:"Acr\u00F3nimo", +title_abbr_element:"Abreviatura", +title_cite_element:"Cita", +remove:"Suprimir", +insert_date:"Insertar fecha/hora actuales", +option_ltr:"Izquierda a derecha", +option_rtl:"Derecha a izquierda", +attribs_title:"Insertar/Editar atributos" +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/themes/advanced/langs/es.js b/source/web/scripts/tiny_mce/themes/advanced/langs/es.js new file mode 100644 index 0000000000..1892e27263 --- /dev/null +++ b/source/web/scripts/tiny_mce/themes/advanced/langs/es.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('es.advanced',{ +style_select:"Estilos", +font_size:"Tama\u00F1o", +fontdefault:"Fuente", +block:"Formato", +paragraph:"P\u00E1rrafo", +div:"Div", +address:"Direcci\u00F3n", +pre:"Preformateado", +h1:"Encabezado 1", +h2:"Encabezado 2", +h3:"Encabezado 3", +h4:"Encabezado 4", +h5:"Encabezado 5", +h6:"Encabezado 6", +blockquote:"Cita", +code:"C\u00F3digo", +samp:"Ejemplo de c\u00F3digo", +dt:"T\u00E9rmino de definici\u00F3n", +dd:"Descripci\u00F3n de definici\u00F3n", +bold_desc:"Negrita (Ctrl+B)", +italic_desc:"Cursiva (Ctrl+I)", +underline_desc:"Subrayado (Ctrl+U)", +striketrough_desc:"Tachado", +justifyleft_desc:"Alinear a la izquierda", +justifycenter_desc:"Alinear al centro", +justifyright_desc:"Alinear a la derecha", +justifyfull_desc:"Justificar", +bullist_desc:"Lista desordenada", +numlist_desc:"Lista ordenada", +outdent_desc:"Reducir sangr\u00EDa", +indent_desc:"Aumentar sangr\u00EDa", +undo_desc:"Deshacer (Ctrl+Z)", +redo_desc:"Rehacer (Ctrl+Y)", +link_desc:"Insertar/editar hiperv\u00EDnculo", +unlink_desc:"Quitar hiperv\u00EDnculo", +image_desc:"Insertar/editar imagen", +cleanup_desc:"Limpiar c\u00F3digo basura", +code_desc:"Editar c\u00F3digo HTML", +sub_desc:"Sub\u00EDndice", +sup_desc:"Super\u00EDndice", +hr_desc:"Insertar regla horizontal", +removeformat_desc:"Limpiar formato", +custom1_desc:"Su descripci\u00F3n personal aqu\u00ED", +forecolor_desc:"Seleccionar color del texto", +backcolor_desc:"Seleccionar color de fondo", +charmap_desc:"Insertar caracteres personalizados", +visualaid_desc:"Mostrar/ocultar l\u00EDnea de gu\u00EDa/elementos invisibles", +anchor_desc:"Insertar/editar ancla", +cut_desc:"Cortar", +copy_desc:"Copiar", +paste_desc:"Pegar", +image_props_desc:"Propiedades de imagen", +newdocument_desc:"Nuevo documento", +help_desc:"Ayuda", +blockquote_desc:"Cita", +clipboard_msg:"Copiar/Cortar/Pegar no se encuentra disponible en Mozilla y Firefox.\r\n \u00BFDesea obtener m\u00E1s informaci\u00F3n acerca de este tema?", +path:"Ruta", +newdocument:" \u00BFEst\u00E1 seguro que desea limpiar todo el contenido?", +toolbar_focus:"Ir a los botones de herramientas - Alt+Q, Ir al editor - Alt-Z, Ir a la ruta del elemento - Alt-X", +more_colors:"M\u00E1s colores" +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/themes/advanced/langs/es_dlg.js b/source/web/scripts/tiny_mce/themes/advanced/langs/es_dlg.js new file mode 100644 index 0000000000..5ec2896c1e --- /dev/null +++ b/source/web/scripts/tiny_mce/themes/advanced/langs/es_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('es.advanced_dlg',{ +about_title:"Acerca de TinyMCE", +about_general:"Acerca de ", +about_help:"Ayuda", +about_license:"Licencia", +about_plugins:"Complementos", +about_plugin:"Complemento", +about_author:"Autor", +about_version:"Versi\u00F3n", +about_loaded:"Complementos cargados", +anchor_title:"Insertar/editar ancla", +anchor_name:"Nombre del ancla", +code_title:"Editor del c\u00F3digo fuente HTML", +code_wordwrap:"Ajustar al margen", +colorpicker_title:"Seleccionar color", +colorpicker_picker_tab:"Selector", +colorpicker_picker_title:"Paleta de color", +colorpicker_palette_tab:"Paleta", +colorpicker_palette_title:"Paleta de colores", +colorpicker_named_tab:"Nombrados", +colorpicker_named_title:"Colores nombrados", +colorpicker_color:"Color:", +colorpicker_name:"Nombre:", +charmap_title:"Seleccionar caracter personalizado", +image_title:"Insertar/editar imagen", +image_src:"URL de la Imagen", +image_alt:"Descripci\u00F3n de la Imagen", +image_list:"Lista de la Imagen", +image_border:"Borde", +image_dimensions:"Dimensi\u00F3n", +image_vspace:"Espacio vertical", +image_hspace:"Espacio horizontal", +image_align:"Alineaci\u00F3n", +image_align_baseline:"L\u00EDnea base", +image_align_top:"Arriba", +image_align_middle:"Medio", +image_align_bottom:"Debajo", +image_align_texttop:"Texto arriba", +image_align_textbottom:"Texto debajo", +image_align_left:"Izquierda", +image_align_right:"Derecha", +link_title:"Insertar/editar hiperv\u00EDnculo", +link_url:"URL del hiperv\u00EDnculo", +link_target:"Destino", +link_target_same:"Abrir v\u00EDnculo en la misma ventana", +link_target_blank:"Abrir v\u00EDnculo en una ventana nueva", +link_titlefield:"T\u00EDtulo", +link_is_email:"La URL que introdujo parece ser una direcci\u00F3n de email, \u00BFdesea agregar el prefijo mailto: necesario?", +link_is_external:"La URL que introdujo parece ser un v\u00EDnculo externo, \u00BFdesea agregar el prefijo http:// necesario?", +link_list:"Lista de hiperv\u00EDnculos" +}); \ No newline at end of file diff --git a/source/web/scripts/tiny_mce/themes/simple/langs/es.js b/source/web/scripts/tiny_mce/themes/simple/langs/es.js new file mode 100644 index 0000000000..b7b776c8e8 --- /dev/null +++ b/source/web/scripts/tiny_mce/themes/simple/langs/es.js @@ -0,0 +1,11 @@ +tinyMCE.addI18n('es.simple',{ +bold_desc:"Negrita (Ctrl+B)", +italic_desc:"Cursiva (Ctrl+I)", +underline_desc:"Subrayado (Ctrl+U)", +striketrough_desc:"Tachado", +bullist_desc:"Lista desordenada", +numlist_desc:"Lista ordenada", +undo_desc:"Deshacer (Ctrl+Z)", +redo_desc:"Rehacer (Ctrl+Y)", +cleanup_desc:"Limpiar c\u00F3digo basura" +}); \ No newline at end of file