MyForums Portlet
Geändert: * Inkompatible Verwendung des Tags forum:forum entfernt. Stattdessen lautet das Tag nun forum:forumShortcut git-svn-id: https://svn.libreccm.org/ccm/trunk@2202 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
a97ec7426b
commit
ee445f5ddd
|
|
@ -52,8 +52,7 @@ import com.arsdigita.portal.apportlet.AppPortlet;
|
||||||
public class MyForumsPortlet extends Portlet {
|
public class MyForumsPortlet extends Portlet {
|
||||||
|
|
||||||
public static final String BASE_DATA_OBJECT_TYPE =
|
public static final String BASE_DATA_OBJECT_TYPE =
|
||||||
"com.arsdigita.forum.MyForumsPortlet";
|
"com.arsdigita.forum.MyForumsPortlet";
|
||||||
|
|
||||||
|
|
||||||
protected String getBaseDataObjectType() {
|
protected String getBaseDataObjectType() {
|
||||||
return BASE_DATA_OBJECT_TYPE;
|
return BASE_DATA_OBJECT_TYPE;
|
||||||
|
|
@ -63,35 +62,30 @@ public class MyForumsPortlet extends Portlet {
|
||||||
super(dataObject);
|
super(dataObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected AbstractPortletRenderer doGetPortletRenderer() {
|
protected AbstractPortletRenderer doGetPortletRenderer() {
|
||||||
return new MyForumsPortletRenderer(this);
|
return new MyForumsPortletRenderer(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class MyForumsPortletRenderer
|
class MyForumsPortletRenderer
|
||||||
extends AbstractPortletRenderer
|
extends AbstractPortletRenderer
|
||||||
implements Constants {
|
implements Constants {
|
||||||
|
|
||||||
private MyForumsPortlet m_portlet;
|
private MyForumsPortlet m_portlet;
|
||||||
|
|
||||||
public MyForumsPortletRenderer(MyForumsPortlet
|
public MyForumsPortletRenderer(MyForumsPortlet portlet) {
|
||||||
portlet) {
|
|
||||||
m_portlet = portlet;
|
m_portlet = portlet;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void generateBodyXML(PageState pageState,
|
protected void generateBodyXML(PageState pageState,
|
||||||
Element parent) {
|
Element parent) {
|
||||||
Element content = parent.newChildElement(FORUM_XML_PREFIX + ":myForumsPortlet",
|
Element content = parent.newChildElement(FORUM_XML_PREFIX + ":myForumsPortlet",
|
||||||
FORUM_XML_NS);
|
FORUM_XML_NS);
|
||||||
|
|
||||||
|
|
||||||
Party party = Kernel.getContext().getParty();
|
Party party = Kernel.getContext().getParty();
|
||||||
if (party == null) {
|
if (party == null) {
|
||||||
party = Kernel.getPublicUser();
|
party = Kernel.getPublicUser();
|
||||||
}
|
}
|
||||||
|
|
||||||
DataCollection forums = SessionManager.getSession().retrieve(Forum.BASE_DATA_OBJECT_TYPE);
|
DataCollection forums = SessionManager.getSession().retrieve(Forum.BASE_DATA_OBJECT_TYPE);
|
||||||
|
|
@ -100,24 +94,23 @@ class MyForumsPortletRenderer
|
||||||
|
|
||||||
|
|
||||||
while (forums.next()) {
|
while (forums.next()) {
|
||||||
Forum forum = (Forum)DomainObjectFactory.newInstance(forums.getDataObject());
|
Forum forum = (Forum) DomainObjectFactory.newInstance(forums.getDataObject());
|
||||||
Element forumEl = content.newChildElement(FORUM_XML_PREFIX + ":forum", FORUM_XML_NS);
|
Element forumEl = content.newChildElement(FORUM_XML_PREFIX + ":forumShortcut", FORUM_XML_NS);
|
||||||
URL url = URL.there(forum, "/", null);
|
URL url = URL.there(forum, "/", null);
|
||||||
forumEl.addAttribute("url", url.toString());
|
forumEl.addAttribute("url", url.toString());
|
||||||
forumEl.addAttribute("title", forum.getTitle());
|
forumEl.addAttribute("title", forum.getTitle());
|
||||||
// display last forum update info
|
// display last forum update info
|
||||||
ThreadCollection threads = forum.getThreads();
|
ThreadCollection threads = forum.getThreads();
|
||||||
threads.addOrder(MessageThread.LAST_UPDATE);
|
threads.addOrder(MessageThread.LAST_UPDATE);
|
||||||
if (threads.next()) {
|
if (threads.next()) {
|
||||||
MessageThread lastUpdatedThread = threads.getMessageThread();
|
MessageThread lastUpdatedThread = threads.getMessageThread();
|
||||||
forumEl.addAttribute("lastUpdated", new DateFormatter().format(lastUpdatedThread.getLatestUpdateDate()));
|
forumEl.addAttribute("lastUpdated", new DateFormatter().format(lastUpdatedThread.getLatestUpdateDate()));
|
||||||
threads.close();
|
threads.close();
|
||||||
} else {
|
} else {
|
||||||
forumEl.addAttribute("lastUpdated", "");
|
forumEl.addAttribute("lastUpdated", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue