pvollenweider    2005/04/26 18:05:15 CEST

  Modified files:        (Branch: JAHIA-4-1-BRANCH)
    src/view/jsp         blog_listing.jsp 
  Log:
  Add categories on main page
  
  Revision  Changes    Path
  1.1.2.30  +131 -67   corporate_portal_templates/src/view/jsp/blog_listing.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/corporate_portal_templates/src/view/jsp/blog_listing.jsp.diff?r1=1.1.2.29&r2=1.1.2.30&f=h
  
  
  
  Index: blog_listing.jsp
  ===================================================================
  RCS file: 
/home/cvs/repository/corporate_portal_templates/src/view/jsp/Attic/blog_listing.jsp,v
  retrieving revision 1.1.2.29
  retrieving revision 1.1.2.30
  diff -u -r1.1.2.29 -r1.1.2.30
  --- blog_listing.jsp  26 Apr 2005 15:30:46 -0000      1.1.2.29
  +++ blog_listing.jsp  26 Apr 2005 16:05:15 -0000      1.1.2.30
  @@ -10,6 +10,24 @@
           <div class="blog">
               <dl class="previously">
                   <%
  +                if (requestedCategory != null) {
  +                    try {
  +                        Category curCategory = 
Category.getCategory(requestedCategory);
  +                        if (curCategory != null) {
  +                            String categoryTitle = 
curCategory.getTitle(jParams.getLocale());
  +                            if (categoryTitle == null) {
  +                                categoryTitle = requestedCategory;
  +                            }
  +                            %><h2>Category <%=categoryTitle%></h2><%
  +                        } else {
  +                            logger.debug("Category is null for categoryKey 
["+requestedCategory+"]");
  +                        }
  +                    } catch (JahiaException je) {
  +                        logger.debug("Could not get category with key [" + 
requestedCategory +"]");
  +                    }
  +                }
  +                %>
  +                <%
                   // last entries
                   Vector containerFilterVector = new Vector();
   
  @@ -26,76 +44,95 @@
                   containerFilterVector.add(entriesDefFilter);
   
                   String blogSearchString = 
request.getParameter("blogSearchString");
  -                if (blogSearchString != null) {
  -                    // get the list of child pages to construct the query
  -                    StringBuffer searchBlogQuery =  new 
StringBuffer(blogSearchString);
  -                    ContentPage startPage = 
ContentPage.getPage(jData.page().getID());
  -                    int pageInfosFlag = ContentPage.ACTIVE_PAGE_INFOS | 
ContentPage.STAGING_PAGE_INFOS;
  -                    FlatSiteMapViewHelper flatSiteMap = new 
FlatSiteMapViewHelper(jParams.getUser(), startPage, pageInfosFlag,
  -                                                        
jParams.getLocale().toString(), FlatSiteMapViewHelper.DEFAULT_LEVEL);
  -
  -                    searchBlogQuery.append(" AND (");
  -                    for (int j = 0; j < flatSiteMap.size(); j++) {
  -                        int pageId = flatSiteMap.getPageID(j);
  -                        if (j > 0){
  -                            searchBlogQuery.append(" OR ");
  -                        }
  -                        searchBlogQuery.append("pageid:" + pageId );
  -                    }
  -                    searchBlogQuery.append(")");
  -                    searchBlogQuery.append(" AND 
(container_definition_name:entries OR container_definition_name:comments)");
  -
  -                    logger.debug("Query is " + searchBlogQuery.toString());
  -                    ContainerSearcher containerSearcher = new 
ContainerSearcher(jParams.getSiteID(),null,searchBlogQuery.toString(),jParams.getEntryLoadRequest());
  -                    
request.setAttribute("entries_search_handler",containerSearcher);
  +
  +                if (requestedCategory != null) {
  +                    HashSet cats = new HashSet();
  +                    Category cat = Category.getCategory(requestedCategory);
  +                    if (cat != null) {
  +                        cats.add(cat);
  +                        //boolean withAllContainersOfCompoundContainerList = 
false;
  +                        //if (jData.gui().isEditMode()){
  +                        //    withAllContainersOfCompoundContainerList = 
true;
  +                        //}
  +                        ContainerFilterByCategories categoryFilter =
  +                            new ContainerFilterByCategories(cats, 
jParams.getEntryLoadRequest(),false);
  +                        containerFilterVector.add(categoryFilter);
  +                        logger.debug("Add filter with category " + 
requestedCategory);
  +                    } else {
  +                        logger.debug("Could not fing category " + 
requestedCategory);
  +                    }
                   } else {
  -                    blogSearchString = "";
  -                    if (request.getParameter("t") != null) {
  -                        // add filter on field date
  -                        // Adding equality comparison with selected values
  -                        Calendar cal = Calendar.getInstance();
  -                        cal.setTimeZone(TimeZone.getTimeZone("UTC"));
  -                        cal.setTime(new Date(t));
  +                    if (blogSearchString != null) {
  +                        // get the list of child pages to construct the query
  +                        StringBuffer searchBlogQuery =  new 
StringBuffer(blogSearchString);
  +                        ContentPage startPage = 
ContentPage.getPage(jData.page().getID());
  +                        int pageInfosFlag = ContentPage.ACTIVE_PAGE_INFOS | 
ContentPage.STAGING_PAGE_INFOS;
  +                        FlatSiteMapViewHelper flatSiteMap = new 
FlatSiteMapViewHelper(jParams.getUser(), startPage, pageInfosFlag,
  +                                                            
jParams.getLocale().toString(), FlatSiteMapViewHelper.DEFAULT_LEVEL);
  +
  +                        searchBlogQuery.append(" AND (");
  +                        for (int j = 0; j < flatSiteMap.size(); j++) {
  +                            int pageId = flatSiteMap.getPageID(j);
  +                            if (j > 0){
  +                                searchBlogQuery.append(" OR ");
  +                            }
  +                            searchBlogQuery.append("pageid:" + pageId );
  +                        }
  +                        searchBlogQuery.append(")");
  +                        searchBlogQuery.append(" AND 
(container_definition_name:entries OR container_definition_name:comments)");
   
  -                        cal.set( Calendar.HOUR_OF_DAY, 0 );
  -                        cal.set( Calendar.MINUTE, 0);
  -                        cal.set( Calendar.SECOND, -1);
  +                        logger.debug("Query is " + 
searchBlogQuery.toString());
  +                        ContainerSearcher containerSearcher = new 
ContainerSearcher(jParams.getSiteID(),null,searchBlogQuery.toString(),jParams.getEntryLoadRequest());
  +                        
request.setAttribute("entries_search_handler",containerSearcher);
   
  -                        if ("week".equals(range)){
  -                            cal.set( Calendar.DAY_OF_WEEK, Calendar.MONDAY);
  -                        }
  -                        if ("month".equals(range)){
  -                            cal.set( Calendar.DAY_OF_MONTH, 1);
  -                        }
  -                        if ("year".equals(range)){
  -                            cal.set( Calendar.DAY_OF_YEAR, 1);
  -                        }
  -                        Date lowerVal = cal.getTime();
  -                        cal.add( Calendar.HOUR_OF_DAY, 24 );
  -                        if ("week".equals(range)){
  -                            cal.add( Calendar.HOUR_OF_DAY, 24*6 );
  -                        }
  -                        if ("month".equals(range)){
  -                            cal.add( Calendar.MONTH, 1 );
  -                        }
  -                        if ("year".equals(range)){
  -                            cal.add( Calendar.YEAR, 1 );
  -                        }
  -                        Date upperVal = cal.getTime();
  +                    } else {
  +                        blogSearchString = "";
  +                        if (request.getParameter("t") != null) {
  +                            // add filter on field date
  +                            // Adding equality comparison with selected 
values
  +                            Calendar cal = Calendar.getInstance();
  +                            cal.setTimeZone(TimeZone.getTimeZone("UTC"));
  +                            cal.setTime(new Date(t));
  +
  +                            cal.set( Calendar.HOUR_OF_DAY, 0 );
  +                            cal.set( Calendar.MINUTE, 0);
  +                            cal.set( Calendar.SECOND, -1);
   
  -                        logger.debug("Filter from " + sdf.format( (new 
Date(lowerVal.getTime())) ) + " to " +
  -                            sdf.format( (new Date(upperVal.getTime())) ));
  +                            if ("week".equals(range)){
  +                                cal.set( Calendar.DAY_OF_WEEK, 
Calendar.MONDAY);
  +                            }
  +                            if ("month".equals(range)){
  +                                cal.set( Calendar.DAY_OF_MONTH, 1);
  +                            }
  +                            if ("year".equals(range)){
  +                                cal.set( Calendar.DAY_OF_YEAR, 1);
  +                            }
  +                            Date lowerVal = cal.getTime();
  +                            cal.add( Calendar.HOUR_OF_DAY, 24 );
  +                            if ("week".equals(range)){
  +                                cal.add( Calendar.HOUR_OF_DAY, 24*6 );
  +                            }
  +                            if ("month".equals(range)){
  +                                cal.add( Calendar.MONTH, 1 );
  +                            }
  +                            if ("year".equals(range)){
  +                                cal.add( Calendar.YEAR, 1 );
  +                            }
  +                            Date upperVal = cal.getTime();
   
  -                        ContainerFilterBean dateFilter = new 
ContainerFilterBean("date",true,jParams.getEntryLoadRequest());
  -                        
dateFilter.addClause(ContainerFilterBean.COMP_SMALLER, 
String.valueOf(upperVal.getTime()) );
  -                        containerFilterVector.add(dateFilter);
  +                            logger.debug("Filter from " + sdf.format( (new 
Date(lowerVal.getTime())) ) + " to " +
  +                                sdf.format( (new Date(upperVal.getTime())) 
));
   
  -                        dateFilter = new 
ContainerFilterBean("date",true,jParams.getEntryLoadRequest());
  -                        
dateFilter.addClause(ContainerFilterBean.COMP_BIGGER, 
String.valueOf(lowerVal.getTime()) );
  -                        containerFilterVector.add(dateFilter);
  +                            ContainerFilterBean dateFilter = new 
ContainerFilterBean("date",true,jParams.getEntryLoadRequest());
  +                            
dateFilter.addClause(ContainerFilterBean.COMP_SMALLER, 
String.valueOf(upperVal.getTime()) );
  +                            containerFilterVector.add(dateFilter);
  +
  +                            dateFilter = new 
ContainerFilterBean("date",true,jParams.getEntryLoadRequest());
  +                            
dateFilter.addClause(ContainerFilterBean.COMP_BIGGER, 
String.valueOf(lowerVal.getTime()) );
  +                            containerFilterVector.add(dateFilter);
  +                        }
                       }
                   }
  -
                   if ( containerFilterVector.size()>0 ) {
                       ContainerFilters containerFilters =
                           new 
ContainerFilters(containerFilterVector,jParams.getSiteID(),"entries");
  @@ -205,7 +242,7 @@
                               if (categoryTitle == null) {
                                   categoryTitle = categoryKey;
                               }
  -                            %><a 
href="<%=bypassUrl%>?category=<%=categoryKey%>"><%=categoryTitle%></a><%
  +                            %><a 
href="<%=blogPageUrl%>?category=<%=categoryKey%>"><%=categoryTitle%></a><%
                               if (catIter.hasNext()){
                                   %>, <%
                               }
  @@ -430,10 +467,37 @@
               </ul>
               </jahiaHtml:actionMenu>
               </content:containerList>
  -        <jsp:include page="include/box.jsp" flush="true">
  -            <jsp:param name="id" value="right"/>
  -            <jsp:param name="width" value="100"/>
  -        </jsp:include>
  +
  +            <h2><jahia:resourceBundle 
resourceBundle="jahiatemplates.Corporate_portal_templates"
  +                resourceName="blog.categories"/></h2>
  +            <ul class="offsite">
  +            <li><a href="<%=bypassUrl%>"><jahia:resourceBundle 
resourceBundle="jahiatemplates.Corporate_portal_templates"
  +                resourceName="blog.allCategories"/></a></li>
  +            <%
  +            for (int i = 0; i < categoriesAL.size(); i++) {
  +                String categoryKey = (String) categoriesAL.get(i);
  +                try {
  +                    Category curCategory = Category.getCategory(categoryKey);
  +                    if (curCategory != null) {
  +                        String categoryTitle = 
curCategory.getTitle(jParams.getLocale());
  +                        if (categoryTitle == null) {
  +                            categoryTitle = categoryKey;
  +                        }
  +                        %><li><a 
href="<%=bypassUrl%>?category=<%=categoryKey%>"><%=categoryTitle%></a></li><%
  +                    } else {
  +                        logger.debug("Category is null for categoryKey 
["+categoryKey+"]");
  +                    }
  +                } catch (JahiaException je) {
  +                    logger.debug("Could not get category with key [" + 
categoryKey +"]");
  +                }
  +            }
  +            %>
  +            </ol>
  +
  +            <jsp:include page="include/box.jsp" flush="true">
  +                <jsp:param name="id" value="right"/>
  +                <jsp:param name="width" value="100"/>
  +            </jsp:include>
   
           </div>
   
  

Reply via email to