Author: xlawrence
Date: Mon Jun 11 12:53:52 2007
New Revision: 17543
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17543&repname=
=3Djahia
Log:
resolve issue http://www.jahia.net/jira/browse/ATOS-49
Modified:
branches/JAHIA-5-0-SP-16498-AFD-BRANCH/core/src/java/org/jahia/ajax/sit=
emap/SiteMapAbstractAction.java
branches/JAHIA-5-0-SP-16498-AFD-BRANCH/core/src/java/org/jahia/data/fie=
lds/JahiaBigTextField.java
Modified: branches/JAHIA-5-0-SP-16498-AFD-BRANCH/core/src/java/org/jahia/aj=
ax/sitemap/SiteMapAbstractAction.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-16498-AFD-BRANCH/core/src/java/org/jahia/ajax/sitemap/SiteMapAbstractActio=
n.java&rev=3D17543&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-16498-AFD-BRANCH/core/src/java/org/jahia/ajax/sit=
emap/SiteMapAbstractAction.java (original)
+++ branches/JAHIA-5-0-SP-16498-AFD-BRANCH/core/src/java/org/jahia/ajax/sit=
emap/SiteMapAbstractAction.java Mon Jun 11 12:53:52 2007
@@ -23,6 +23,8 @@
import org.jahia.engines.workflow.ActionEntry;
import org.jahia.engines.workflow.AdvancedWorkflowEngine;
import org.jahia.engines.workflow.WorkflowHelper;
+import org.jahia.engines.EngineLanguageHelper;
+import org.jahia.engines.JahiaEngine;
import org.jahia.exceptions.JahiaException;
import org.jahia.gui.GuiBean;
import org.jahia.gui.HTMLToolBox;
@@ -162,8 +164,7 @@
final int mode) throws JahiaException {
=
// Moved page, only show the actual moved page, not where it was p=
reviously
- if ((page.hasSameParentID() !=3D ContentPage.SAME_PARENT) && (page=
.getParentID(jParams) !=3D parentID)
- && (page.getID() !=3D parentID) ) {
+ if ((page.getParentID(jParams) !=3D parentID) && (page.getID() !=
=3D parentID)) {
return;
}
=
@@ -192,7 +193,21 @@
titles =3D page.getTitles(ContentPage.LAST_UPDATED_TITLES);
opMode =3D EntryLoadRequest.STAGING_WORKFLOW_STATE;
}
- String pageTitle1 =3D (String) titles.get(jParams.getLocale().toSt=
ring());
+
+ final Map engineMap =3D (Map) jParams.getSessionState().getAttribu=
te("jahia_session_engineMap");
+ final Locale currentLocale;
+ if (engineMap =3D=3D null) {
+ currentLocale =3D jParams.getLocale();
+
+ } else {
+ EngineLanguageHelper elh =3D (EngineLanguageHelper) engineMap.=
get(JahiaEngine.ENGINE_LANGUAGE_HELPER);
+ if (elh =3D=3D null) {
+ elh =3D new EngineLanguageHelper(jParams.getLocale());
+ }
+ currentLocale =3D elh.getCurrentLocale();
+ }
+
+ String pageTitle1 =3D (String) titles.get(currentLocale.toString()=
);
final int siteMapTitlesLength =3D Jahia.getSettings().getSiteMapTi=
tlesLength();
if (pageTitle1 =3D=3D null || pageTitle1.length() =3D=3D 0) {
pageTitle1 =3D "N.A.";
@@ -203,7 +218,7 @@
if (! page.isAvailable()) {
final String labelResourceName =3D "org.jahia.engines.timebase=
dpublishing.timebpstatus." +
page.getTimeBasedPublishingState() + ".label";
- pageTitle1 +=3D " (" + JahiaResourceBundle.getEngineResource(l=
abelResourceName, jParams, jParams.getLocale()) + ")";
+ pageTitle1 +=3D " (" + JahiaResourceBundle.getEngineResource(l=
abelResourceName, jParams, currentLocale) + ")";
}
=
if (isLiveMode && "N.A.".equals(pageTitle1)) return;
@@ -212,7 +227,7 @@
if (moveOp && (String.valueOf(pid).equals(entryPoint))) {
pageTitle1 +=3D " (" + JahiaResourceBundle.
getEngineResource("org.jahia.engines.selectpage.Select=
Page_Engine.insertionPoint.label",
- jParams, jParams.getLocale()) + ")";
+ jParams, currentLocale) + ")";
item.setAttribute("Disable", "Disable");
}
=
@@ -236,7 +251,7 @@
item.setAttribute("id", String.valueOf(pid));
item.setAttribute("key", page.getObjectKey().toString());
item.setAttribute("title", pageTitle1);
- item.setAttribute("url", getPageURL(jParams, pid, jParams.getLocal=
e().toString()));
+ item.setAttribute("url", getPageURL(jParams, pid, currentLocale.to=
String()));
item.setAttribute("parentID", String.valueOf(parentID));
=
if (! page.getContentPageChilds(currentUser, loadFlags, null, true=
).hasNext()) {
@@ -289,7 +304,8 @@
}
}
=
- if (languageState =3D=3D null || languageState.intValu=
e() =3D=3D -1) {
+ final String langTitle =3D (String) titles.get(languag=
eCode);
+ if (languageState =3D=3D null || languageState.intValu=
e() =3D=3D -1 || langTitle =3D=3D null || langTitle.length() =3D=3D 0) {
lang.appendChild(resp.createTextNode("-1"));
} else {
lang.appendChild(resp.createTextNode(languageState=
.toString()));
Modified: branches/JAHIA-5-0-SP-16498-AFD-BRANCH/core/src/java/org/jahia/da=
ta/fields/JahiaBigTextField.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-16498-AFD-BRANCH/core/src/java/org/jahia/data/fields/JahiaBigTextField.jav=
a&rev=3D17543&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-16498-AFD-BRANCH/core/src/java/org/jahia/data/fie=
lds/JahiaBigTextField.java (original)
+++ branches/JAHIA-5-0-SP-16498-AFD-BRANCH/core/src/java/org/jahia/data/fie=
lds/JahiaBigTextField.java Mon Jun 11 12:53:52 2007
@@ -338,8 +338,6 @@
final String path =3D buff.append(jParams.getContextPath()).ap=
pend(SERVLET_PATH).toString();
buff.delete(0, buff.length());
=
- logger.debug("path: " + path);
-
final String mode =3D jParams.getOperationMode();
=
final StringTokenizer tokenizer =3D new StringTokenizer(conten=
t, " ");
@@ -351,7 +349,7 @@
}
=
final String res;
- if ((res =3D getURLwithURLKey(path, token, mode, jParams))=
!=3D null) {
+ if ((res =3D getURLwithURLKey(path, token, mode)) !=3D nul=
l) {
content =3D StringUtils.replace(content, token, res);
}
}
@@ -483,7 +481,8 @@
token =3D rawToken;
}
=
- if (token.toLowerCase().startsWith("href=3D") && token.length(=
) > 6) {
+ if (token.toLowerCase().startsWith("href=3D") && token.length(=
) > 6 &&
+ token.toLowerCase().indexOf("javascript:") < 0) {
=
// To know if we have to close the '<a' tag...
final boolean close =3D (token.indexOf('>') > -1);
@@ -540,8 +539,9 @@
}
logger.debug("Link is: " + link);
=
- link =3D StringUtils.replace(link, "\"" + processingContex=
t.getContextPath() + SERVLET_PATH, "\"");
- link =3D StringUtils.replace(link, "'" + processingContext=
.getContextPath() + SERVLET_PATH, "'");
+ link =3D StringUtils.replace(link, "\"" + contextAndServle=
tPath, "\"");
+ link =3D StringUtils.replace(link, "'" + contextAndServlet=
Path, "'");
+ link =3D StringUtils.replace(link, URL_MARKER, "");
=
// All Jahia links are this stage are treated as relative =
URLs
if (! link.startsWith("/") && ! link.startsWith("http") &&=
! link.startsWith(URL_MARKER)) {
@@ -571,11 +571,9 @@
rawResult.append("href=3D\"");
displayResult.append("href=3D\"");
=
- if (link.toLowerCase().indexOf("http") < 0) {
+ if (link.toLowerCase().indexOf("http:") < 0) {
displayResult.append(contextAndServletPath);
- if (link.indexOf(URL_MARKER) < 0) {
- rawResult.append(URL_MARKER);
- }
+ rawResult.append(URL_MARKER);
=
Integer pageID;
if (pid > 0) {
@@ -619,6 +617,13 @@
}
displayResult.append("\"");
rawResult.append(link);
+ if (urlKey !=3D null && urlKey.length() > 0) {
+ final int index =3D urlKey.indexOf("?");
+ if (index > -1) {
+ // Append URL parameters
+ rawResult.append(urlKey.substring(index));
+ }
+ }
rawResult.append("\"");
=
if (close) {
@@ -638,21 +643,24 @@
final int serverNameIndex =3D token.indexOf(serverName=
);
logger.debug("image: " + token);
if ((token.indexOf("http") > -1 && serverNameIndex > -=
1) ||
- token.indexOf("'" + context) > -1) {
+ (context.length() !=3D 0 && token.indexOf("'" =
+ context) > -1)) {
rawResult.append("src=3D'");
displayResult.append("src=3D'");
if (serverNameIndex > -1) {
index =3D token.indexOf(context);
}
=
- rawResult.append(URL_MARKER);
- displayResult.append(context);
-
final String value =3D token.substring(index);
- final int index2;
+ if (!value.startsWith("http://")) {
+ rawResult.append(URL_MARKER);
+ displayResult.append(context);
+ }
=
- if (!"".equals(context) && token.indexOf("'" + con=
text) > -1) {
+ final int index2;
+ if (!"".equals(context) && value.startsWith(contex=
t)) {
index2 =3D value.indexOf(context) + context.le=
ngth();
+ } else if (value.startsWith(URL_MARKER)) {
+ index2 =3D URL_MARKER.length();
} else {
index2 =3D 0;
}
@@ -671,7 +679,7 @@
final int serverNameIndex =3D token.indexOf(serverName=
);
logger.debug("image: " + token);
if ((token.indexOf("http") > -1 && serverNameIndex > -=
1) ||
- token.indexOf(context) > -1) {
+ token.indexOf(context) > -1) {
rawResult.append("src=3D\"");
displayResult.append("src=3D\"");
if (serverNameIndex > -1) {
@@ -680,13 +688,12 @@
=
final String value =3D token.substring(index);
if (!value.startsWith("http://")) {
- rawResult.append(URL_MARKER);
- displayResult.append(context);
+ rawResult.append(URL_MARKER);
+ displayResult.append(context);
}
=
final int index2;
-
- if (!"".equals(context) && token.indexOf("\"" + co=
ntext) > -1) {
+ if (!"".equals(context) && value.startsWith(contex=
t)) {
index2 =3D value.indexOf(context) + context.le=
ngth();
} else if (value.startsWith(URL_MARKER)) {
index2 =3D URL_MARKER.length();
@@ -714,7 +721,6 @@
=
result[0] =3D StringUtils.replace(rawResult.toString(), URL_MARKER=
+ contextAndServletPath, URL_MARKER);
result[1] =3D displayResult.toString();
- logger.debug("displayResult before: " + result[1]);
result[1] =3D StringUtils.replace(result[1], contextAndServletPath=
+ contextAndServletPath, contextAndServletPath);
logger.debug("rawResult: " + result[0]);
logger.debug("displayResult: " + result[1]);
@@ -751,6 +757,11 @@
} catch (UnsupportedEncodingException e) {
urlKey =3D link.substring(link.lastIndexOf('/') + 1);
}
+
+ final int index =3D urlKey.indexOf("?");
+ if (index > -1) {
+ urlKey =3D urlKey.substring(0, index);
+ }
logger.debug("urlKey: " + urlKey);
=
if (urlKey.length() =3D=3D 0 || Character.isDigit(urlKey.charAt(0)=
)) return -1;
@@ -831,7 +842,7 @@
protected static String getPID(final String s) {
logger.debug("Getting PID from: " + s);
final StringBuffer buff =3D new StringBuffer();
- final String value;
+ String value;
final int index;
if ((index =3D s.indexOf("/pid/")) > -1) {
value =3D s.substring(index + 5);
@@ -843,6 +854,11 @@
value =3D s;
}
=
+ final int index2 =3D value.indexOf("?");
+ if (index2 > -1) {
+ value =3D value.substring(0, index2);
+ }
+
if (hasOnlyDigits(value)) {
return value;
}
@@ -866,11 +882,19 @@
protected static String getURLwithURLKey(
final String path,
final String rawURL,
- final String mode,
- final ProcessingContext jParams) {
+ final String mode) {
final StringBuffer buff =3D new StringBuffer();
final String pid =3D rawURL.substring(rawURL.indexOf("/pid/"));
=
+ final int langIndex =3D rawURL.indexOf("/lang/") + 6;
+ final String langCode;
+ if (langIndex >=3D 6) {
+ final String lang =3D rawURL.substring(langIndex);
+ langCode =3D lang.substring(0, lang.indexOf("/"));
+ } else {
+ langCode =3D null;
+ }
+
final String urlKey;
int pageId =3D -1;
try {
@@ -894,15 +918,30 @@
} catch (JahiaException e) {
return null;
}
+
+ if (langCode !=3D null) {
+ buff.append("/lang/");
+ buff.append(langCode);
+ }
+
if (! ProcessingContext.NORMAL.equals(mode)) {
buff.append("/op/").append(mode);
}
buff.append("/").append(urlKey);
=
- buff.append("\"");
- final int index =3D rawURL.indexOf(">");
+ final int index =3D rawURL.indexOf("?");
+ final int index2 =3D rawURL.indexOf(">");
if (index > -1) {
- buff.append(rawURL.substring(index));
+ if (index2 > -1) {
+ buff.append(rawURL.substring(index, index2));
+ } else {
+ buff.append(rawURL.substring(index));
+ }
+ }
+
+ buff.append("\"");
+ if (index2 > -1) {
+ buff.append(rawURL.substring(index2));
}
return buff.toString();
}
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list