pvollenweider 2005/04/06 16:29:58 CEST
Modified files: (Branch: JAHIA-4-1-BRANCH)
src/view/jsp blog.jsp web_css.jsp
src/view/jsp/include declarations.inc
Log:
Add calendar for date selection
Revision Changes Path
1.1.2.4 +249 -36 corporate_portal_templates/src/view/jsp/blog.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/corporate_portal_templates/src/view/jsp/blog.jsp.diff?r1=1.1.2.3&r2=1.1.2.4&f=h
1.6.4.1 +1 -0
corporate_portal_templates/src/view/jsp/include/declarations.inc
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/corporate_portal_templates/src/view/jsp/include/declarations.inc.diff?r1=1.6&r2=1.6.4.1&f=h
1.28.4.5 +52 -0 corporate_portal_templates/src/view/jsp/web_css.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/corporate_portal_templates/src/view/jsp/web_css.jsp.diff?r1=1.28.4.4&r2=1.28.4.5&f=h
Index: blog.jsp
===================================================================
RCS file:
/home/cvs/repository/corporate_portal_templates/src/view/jsp/Attic/blog.jsp,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -r1.1.2.3 -r1.1.2.4
--- blog.jsp 4 Apr 2005 12:28:04 -0000 1.1.2.3
+++ blog.jsp 6 Apr 2005 14:29:57 -0000 1.1.2.4
@@ -1,57 +1,270 @@
<%@ include file="include/header.inc"%>
+<%!
+public String printMonthView(long t, String bypassUrl, String range,
+ org.apache.log4j.Logger logger) {
+ SimpleDateFormat sdf = new SimpleDateFormat( "dd/MM/yy kk:mm" );
+ sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
+ //Calendar cal = new GregorianCalendar(new Locale("CH_fr"));
+ Calendar cal = new GregorianCalendar();
+ long now = cal.getTimeInMillis();
+ if (t != -1){
+ cal.setTime(new Date(t));
+ }
+ boolean isLastCurrentDivClosed = false;
+ StringBuffer buf = new StringBuffer();
+
+ int currDay = cal.get( Calendar.DAY_OF_MONTH );
+ int currWeek = cal.get( Calendar.WEEK_OF_YEAR );
+ int currMonth = cal.get( Calendar.MONTH );
+ int currYear = cal.get( Calendar.YEAR );
+
+ // display next/previous month
+ cal.setFirstDayOfWeek( Calendar.MONDAY );
+ cal.set( Calendar.DAY_OF_MONTH, 1 ); // 1 is start date
+
+ buf.append("<h2>");
+
+ // add link to previous month
+ cal.add( Calendar.MONTH, -1 );
+ cal.add( Calendar.DAY_OF_MONTH, currDay-1 ); // keep the same day of
month
+ long dayDate = cal.getTimeInMillis();
+ buf.append( "<a href=\"" + bypassUrl + "?t=" + dayDate +
"&range=month\"><<</a>" );
+
+ // current month
+ cal.add( Calendar.MONTH, 1 );
+ dayDate = cal.getTimeInMillis();
+ buf.append( "<a href=\"" + bypassUrl + "?t=" + dayDate +
"&range=month\">" );
+ sdf.applyPattern("MMMM");
+ buf.append( sdf.format( cal.getTime() ) );
+ buf.append( "</a>" );
+ buf.append( "<a href=\"" + bypassUrl + "?t=" + dayDate +
"&range=year\">" );
+ buf.append( cal.get( Calendar.YEAR ) );
+ buf.append( "</a>" );
+
+ // add link to next month
+ cal.add( Calendar.MONTH, 1 );
+ dayDate = cal.getTimeInMillis();
+ buf.append( "<a href=\"" + bypassUrl + "?t=" + dayDate +
"&range=month\">>></a>\n" );
+ buf.append("</h2><div class=\"pre\"><pre>");
+
+ buf.append( "<span class=\"days\"> mo tu we th fr sa su</span>\n" );
+
+ // get current month
+ cal.add( Calendar.MONTH, -1 );
+ cal.set( Calendar.DAY_OF_MONTH, 1 ); // 1 is start date
+ cal.setFirstDayOfWeek(Calendar.MONDAY);
+ int weekOfYear = cal.get(Calendar.WEEK_OF_YEAR);
+ if( weekOfYear == currWeek ) {
+ buf.append("<span id=\"currentweek\">");
+ } else {
+ buf.append("<span>");
+ }
+
+
+ if( (weekOfYear == currWeek) && "week".equals(range)) {
+ buf.append("<span class=\"currentweek\">");
+ } else {
+ buf.append("<span>");
+ }
+ if (weekOfYear < 10) {
+ buf.append( " " );
+ }
+ buf.append( "<a href=\"" + bypassUrl + "?t=" + cal.getTimeInMillis() +
"&range=week\" class=\"weekOfYear\">");
+ buf.append(weekOfYear + "</a> ");
+ int firstWeekOfYear = weekOfYear;
+
+ // don't display previous month days
+ int dow = cal.get( Calendar.DAY_OF_WEEK );
+ if (dow == 1) {
+ dow = 8;
+ }
+ for( int i = Calendar.MONDAY; i < dow; i++ ){
+ buf.append( " " );
+ }
+
+ while( cal.get( Calendar.MONTH ) == currMonth ) {
+ int d = cal.get( Calendar.DAY_OF_MONTH );
+ weekOfYear = cal.get(Calendar.WEEK_OF_YEAR);
+ dayDate = cal.getTimeInMillis();
+ if( (cal.get( Calendar.DAY_OF_WEEK ) == Calendar.MONDAY ) &&
+ (firstWeekOfYear != weekOfYear)) {
+ if( (weekOfYear == currWeek) && "week".equals(range)) {
+ buf.append("<span class=\"currentweek\">");
+ } else {
+ buf.append("<span>");
+ }
+ if (weekOfYear < 10) {
+ buf.append(" ");
+ }
+ buf.append( "<a href=\"" + bypassUrl + "?t=" + dayDate +
"&range=week\" class=\"weekOfYear\">");
+ buf.append(weekOfYear + "</a> ");
+ }
+ if (d < 10) {
+ buf.append( " " );
+ }
+ buf.append( "<a href=\"" + bypassUrl + "?t=" + dayDate +
"&range=day\"");
+ if ((currDay == d ) && (! "week".equals(range)) && (!
"month".equals(range)) ) {
+ buf.append( " class=\"currentday\"" );
+ }
+ buf.append( ">" + d + "</a>" );
+ if( cal.get( Calendar.DAY_OF_WEEK ) == Calendar.SUNDAY ) {
+ buf.append("</span>\n");
+ isLastCurrentDivClosed = true;
+ } else {
+ buf.append( " " );
+ }
+ cal.add( Calendar.DAY_OF_MONTH, 1 );
+ }
+ if (! isLastCurrentDivClosed) {
+ buf.append("</span>");
+ }
+ buf.append("</pre></div>");
+ buf.append( " <a href=\"" + bypassUrl + "?t=" + now +
"&range=day\">Today</a> | \n" );
+ buf.append( " <a href=\"" + bypassUrl + "?t=" + now +
"&range=week\">This week</a>\n" );
+ return( buf.toString() );
+} // printMonthView
+%>
+<%
+int currentPageId = jData.page().getID();
+
+boolean isNewPage = false;
+Integer savedPageID = (Integer)session.getAttribute("pageId");
+if (savedPageID != null){
+ if (savedPageID.intValue() != currentPageId){
+ isNewPage = true;
+ }
+}
+session.setAttribute("pageId", new Integer(currentPageId));
+
+if(isNewPage){
+ session.removeAttribute(currentPageId + "_blogId");
+}
+
+// t is the choosen date. Default is now
+// remove the blogId attribute in sesssion if t is set.
+long t = -1;
+try {
+ t = Long.parseLong(request.getParameter("t"));
+ session.removeAttribute(currentPageId + "_blogId");
+} catch (NumberFormatException nfe) {
+ t = (Calendar.getInstance()).getTimeInMillis();
+}
+
+// try to get the blogId from parameter or from session, then set in session.
+int blogId = -1;
+try {
+ blogId = Integer.parseInt(request.getParameter("blogId"));
+ session.setAttribute(currentPageId + "_blogId",new Integer(blogId));
+} catch (NumberFormatException nfe) {
+ Integer blogIdInteger = (Integer) session.getAttribute (currentPageId +
"_blogId");
+ if (blogIdInteger != null){
+ blogId = blogIdInteger.intValue();
+ }
+}
+
+// filters
+String range = request.getParameter("range");
+if (range == null) {
+ range = "month";
+}
+%>
+<content:declareContainerList name="entries" title="List of entries">
+<content:declareContainer>
+ <content:declareField name="title" title="Title" type="SmallText"/>
+ <content:declareField name="body" title="Body" type="BigText"/>
+ <content:declareField name="attachement" title="Attachment associated"
type="File"/>
+ <content:declareField name="date" title="Date" type="Date"/>
+ <content:declareField name="categories" title="Categories"
type="SharedSmallText"
+ value="<jahia_multivalue_multiple[cat1:cat2]>"/>
+ <content:declareField name="author" title="Author" type="SharedSmallText"
+ value="<%=jData.params().getUser().getUsername()%>"/>
+
+ <content:declareContainerList name="comments" title="List of comments">
+ <content:declareContainer>
+ <content:declareField name="commentAuthor" title="Name of the
author" type="SharedSmallText"/>
+ <content:declareField name="commentBody" title="Body of this
comment" type="BigText"/>
+ <content:declareField name="commentDate" title="Date" type="Date"/>
+ </content:declareContainer>
+ </content:declareContainerList>
+
+ <content:declareContainerList name="trackbacks"
+ title="List of MovableType TrackBacks">
+ <content:declareContainer>
+ <content:declareField name="trackBackTitle"
+ title="Title of the blog entry for this trackback"
type="SharedSmallText"/>
+ <content:declareField name="trackBackExcerpt"
+ title="Excerpt of the blog entry for this trackback."
type="BigText"/>
+ <content:declareField name="trackBackUrl"
+ title="Url (permalink) of the blog entry for this trackback"
type="SharedSmallText"/>
+ <content:declareField name="trackBackBlog_name"
+ title="Name of the blog for this trackback"
type="SharedSmallText"/>
+ </content:declareContainer>
+ </content:declareContainerList>
+
+</content:declareContainer>
+</content:declareContainerList>
+
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="159" valign="top"><%@ include
file="include/left_menu.inc"%></td>
- <% if (!thePrint && hasLeft != 0) { %><td class="verticaleline"><img
src="<jahia:contextURL/>/images/pix.gif" width="25" height="12" alt=""/></td><%
} %>
+ <%
+ if (!thePrint && hasLeft != 0) { %><td class="verticaleline"><img
+ src="<jahia:contextURL/>/images/pix.gif" width="25" height="12"
alt=""/></td><%
+ }
+ %>
<td width="100%" valign="top">
<h1><%@ include file="include/page_title.inc"%></h1>
- <content:declareContainerList name='blogEntryContainerList'
title="Blog entry container list">
- <content:declareContainer>
- <content:declareField name='entry' title="Entry"
type="BigText"/>
- <content:declareField name='image' title="Image"
- titleKey="image" bundleKey="<%=resBundleID%>" type="File"
- />
- <content:declareField name='align' title="Image align"
- titleKey="imageAlign" bundleKey="<%=resBundleID%>"
- type="SharedSmallText"
- value="<jahia_multivalue[left:right:default]>left"
- />
- </content:declareContainer>
- </content:declareContainerList>
- <content:containerList name='blogEntryContainerList'
id="blogEntryContainerList">
- <jahiaHtml:actionMenu name="blogEntryContainerList"
namePostFix="Page"
- resourceBundle="jahiatemplates.Corporate_portal_templates">
- </jahiaHtml:actionMenu>
- </content:containerList>
<%
- JahiaContainerList blogEntryContainerList =
jData.containers().getContainerList( "blogEntryContainerList" );
- if (blogEntryContainerList != null) {
- Enumeration blogEntryEnumeration =
blogEntryContainerList.getContainers();
- while (blogEntryEnumeration.hasMoreElements()) {
- JahiaContainer blogEntryContainer = (JahiaContainer)
blogEntryEnumeration.nextElement();
- ContainerBean blogEntryContainerBean = new
ContainerBean(blogEntryContainer,jParams);
-
jData.gui().html().drawBeginActionMenu(blogEntryContainerBean ,
+ JahiaContainerList entries = jData.containers().getContainerList(
"entries" );
+ if (entries != null) {
+ ContainerListBean entriesBean = new
ContainerListBean(entries,jParams);
+ jData.gui().html().drawBeginActionMenu(entriesBean ,
+ null, null, true, "",
"jahiatemplates.Corporate_portal_templates", null, out);
+
+ Enumeration entriesEnum = entries.getContainers();
+ while (entriesEnum.hasMoreElements()) {
+ JahiaContainer entry = (JahiaContainer)
entriesEnum.nextElement();
+ ContainerBean entryBean = new ContainerBean(entry,jParams);
+ jData.gui().html().drawBeginActionMenu(entryBean ,
null, null, true, "",
"jahiatemplates.Corporate_portal_templates", null, out);
- JahiaFileField image = (JahiaFileField)
blogEntryContainer.getFieldObject("image");
- if (image != null) {
- if (image.isImage()) {
- %><img src="<%=image.getDownloadUrl()%>"
- alt="<%=image.getTitle()%>" border="0" align="left"/>
- <%
+ String title = entry.getFieldValue("title","");
+ String body = entry.getFieldValue("body","");
+ String date = entry.getFieldValue("date","");
+ String author = entry.getFieldValue("author","");
+ String excerpt = "";
+ excerpt = removeTags(body);
+ if ( (excerpt.length()) > 255 ) {
+ excerpt = excerpt.substring( 0, 255 - 3 ) + "...";
+ }
+ %>
+ <h2><%=title%></h2>
+ <%=excerpt%>
+ <p class="posted">Posted by <%=author%> at <%=date%>
+ <%
+ JahiaFileField attachement =
+ (JahiaFileField) entry.getFieldObject("attachement");
+ if (attachement != null) {
+ if (attachement.isImage()) {
+ // display image
+ } else {
+ // display link to the attachement
}
}
- String entry = blogEntryContainer.getFieldValue("entry","");
- %><%=entry%><%
- jData.gui().html().drawEndActionMenu(blogEntryContainerBean ,
+ jData.gui().html().drawEndActionMenu(entryBean ,
null, null, true, "",
"jahiatemplates.Corporate_portal_templates", null, out);
}
+ jData.gui().html().drawEndActionMenu(entriesBean ,
+ null, null, true, "",
"jahiatemplates.Corporate_portal_templates", null, out);
+
}
%>
</td>
<td><img src="<jahia:contextURL/>/images/pix.gif" width="25" height="12"
alt=""/></td>
<td valign="top">
- <%@ include file="include/calendar.inc"%>
+ <div class="calendar">
+ <%=printMonthView(t,bypassUrl,range,logger)%>
+ </div>
</td>
</tr>
</table>
Index: web_css.jsp
===================================================================
RCS file:
/home/cvs/repository/corporate_portal_templates/src/view/jsp/web_css.jsp,v
retrieving revision 1.28.4.4
retrieving revision 1.28.4.5
diff -u -r1.28.4.4 -r1.28.4.5
--- web_css.jsp 4 Apr 2005 12:28:04 -0000 1.28.4.4
+++ web_css.jsp 6 Apr 2005 14:29:57 -0000 1.28.4.5
@@ -603,3 +603,55 @@
.nfDate { font-size: 9px; font-style: normal; font-weight: bold; color:
<%=color1%> }
.nfSource { font-size: 9px; font-style: normal; color: <%=color1%> }
.nfMedia { font-size: 9px; font-style: italic; color: <%=color1%> }
+
+ /* calendar */
+div.calendar {
+ background-color: #FFFFFF;
+ display: block;
+ float: right;
+ /*font-family: Arial, Helvetica, sans-serif;*/
+ font-family: Courrier;
+ font-size: 11px;
+ line-height: 17px;
+ margin-right: 10px; /* Invalid value: width: 170; */
+}
+div.calendar div.pre {
+ white-space: pre;
+}
+
+div.calendar a {
+ color: #000066;
+ text-decoration: none;
+ font-family: "Courier New", Courier, mono;
+ font-size: 11px;
+}
+div.calendar a.weekOfYear {
+ color: #75777B;
+}
+div.calendar .currentweek,
+div.calendar a.currentday {
+ background-color: #E7E7E7;
+ border: 1px solid #B42C29;
+ font-weight: bold;
+}
+
+div.calendar a:hover {
+ background-color: #E7E7E7;
+}
+
+div.calendar h2 {
+ color: #006699;
+ font-weight: bold;
+ font-size: 12px;
+ text-align: center;
+}
+
+div.calendar h2 a {
+ color: #006699;
+ padding: 0 5px 0 5px;
+}
+div.calendar span.days {
+ background-color: #E7E7E7;
+ font-weight: bold;
+ padding: 0 2px 0 2px;
+}
\ No newline at end of file
Index: declarations.inc
===================================================================
RCS file:
/home/cvs/repository/corporate_portal_templates/src/view/jsp/include/declarations.inc,v
retrieving revision 1.6
retrieving revision 1.6.4.1
diff -u -r1.6 -r1.6.4.1
--- declarations.inc 6 Aug 2004 10:02:34 -0000 1.6
+++ declarations.inc 6 Apr 2005 14:29:57 -0000 1.6.4.1
@@ -45,6 +45,7 @@
jParams.setCacheStatus(ParamBean.CACHE_OFFONCE);
String actionURL = jParams.composePageUrl(jData.page().getID());
jParams.setCacheStatus(ParamBean.CACHE_BYPASS);
+ String bypassUrl = jParams.composePageUrl(jData.page().getID());
String savedOperationMode = jParams.getOperationMode();
//jParams.setOperationMode(jParams.NORMAL);
String actionCacheOffURL = jParams.composePageUrl(jData.page().getID());