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 + 
"&amp;range=month\">&lt;&lt;</a>" );
  +
  +    // current month
  +    cal.add( Calendar.MONTH, 1 );
  +    dayDate = cal.getTimeInMillis();
  +    buf.append( "<a href=\"" + bypassUrl + "?t=" + dayDate + 
"&amp;range=month\">" );
  +    sdf.applyPattern("MMMM");
  +    buf.append( sdf.format( cal.getTime() ) );
  +    buf.append( "</a>" );
  +    buf.append( "<a href=\"" + bypassUrl + "?t=" + dayDate + 
"&amp;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 + 
"&amp;range=month\">&gt;&gt;</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() + 
"&amp;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( "&nbsp;&nbsp;&nbsp;" );
  +    }
  +
  +    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 + 
"&amp;range=week\" class=\"weekOfYear\">");
  +            buf.append(weekOfYear + "</a> ");
  +        }
  +        if (d < 10) {
  +            buf.append( " " );
  +        }
  +        buf.append( "<a href=\"" + bypassUrl + "?t=" + dayDate + 
"&amp;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 + 
"&amp;range=day\">Today</a> | \n" );
  +    buf.append( " <a href=\"" + bypassUrl + "?t=" + now + 
"&amp;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());
  

Reply via email to