Index: site-impl/impl/src/java/org/sakaiproject/site/impl/BaseSite.java =================================================================== --- site-impl/impl/src/java/org/sakaiproject/site/impl/BaseSite.java (revisiĆ³n: 52386) +++ site-impl/impl/src/java/org/sakaiproject/site/impl/BaseSite.java (copia de trabajo) @@ -63,6 +63,8 @@ import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.sakaiproject.util.FormattedText; + /** *
* BaseSite is a base implementation of the Site API Site.
@@ -1645,4 +1647,25 @@
if (changed) m_azgChanged = true;
return changed;
}
+
+ public String doPlainTextAndLimit(String formattedText, int maxNumOfChars, String ellipse)
+ {
+ formattedText = StringUtil.trimToNull(formattedText);
+ if(formattedText == null || formattedText.equalsIgnoreCase("
") || formattedText.equalsIgnoreCase("
")||
+ formattedText.equals(" ") || FormattedText.escapeHtml(formattedText,false).equals("<br type="_moz" />")){
+
+ return "";
+ }
+
+ StringBuilder sb = new StringBuilder();
+ String text = FormattedText.convertFormattedTextToPlaintext(formattedText);
+ if(maxNumOfChars>text.length()){
+ maxNumOfChars=text.length();
+ }
+ String trimmedText=text.substring(0, maxNumOfChars);
+ sb.setLength(0);
+ sb.append(trimmedText).append(ellipse);
+ return sb.toString();
+ }
+
}
Index: site-api/api/src/java/org/sakaiproject/site/api/Site.java
===================================================================
--- site-api/api/src/java/org/sakaiproject/site/api/Site.java (revisiĆ³n: 52386)
+++ site-api/api/src/java/org/sakaiproject/site/api/Site.java (copia de trabajo)
@@ -347,4 +347,6 @@
* true if the site has a custom page ordering, false if not.
*/
void setCustomPageOrdered(boolean custom);
+
+ public String doPlainTextAndLimit(String formattedText, int maxNumOfChars, String ellipse);
}