dpillot     2005/10/19 16:22:27 CEST

  Modified files:
    core/src/webapp/jsp/jahia/engines/importexport contentpick.jsp 
  Log:
  content pick final enhancements
  
  Revision  Changes    Path
  1.28      +655 -234  
jahia/core/src/webapp/jsp/jahia/engines/importexport/contentpick.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/webapp/jsp/jahia/engines/importexport/contentpick.jsp.diff?r1=1.27&r2=1.28&f=h
  
  
  
  Index: contentpick.jsp
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/webapp/jsp/jahia/engines/importexport/contentpick.jsp,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- contentpick.jsp   12 Oct 2005 10:40:12 -0000      1.27
  +++ contentpick.jsp   19 Oct 2005 14:22:27 -0000      1.28
  @@ -4,13 +4,16 @@
                    java.util.HashMap" %>
   <%@ page import="java.util.Enumeration" %>
   <%@ page import="org.jahia.services.sites.JahiaSite" %>
  -
  +<%@ page import="org.jahia.engines.selectpage.SelectPage_Engine" %>
   <%@ page import="org.jahia.services.containers.ContentContainer" %>
  -<%@ page import="org.apache.log4j.Logger" %>
   <%@ page import="org.jahia.exceptions.JahiaException" %>
   <%@ page import="java.text.SimpleDateFormat" %>
   <%@ page import="java.util.*" %>
  -<%@ page import="java.text.DateFormat" %>
  +<%@ page import="org.jahia.data.JahiaData" %>
  +
  +<%@ page import="org.jahia.data.fields.JahiaField" %>
  +<%@ page import="org.jahia.params.ParamBean" %>
  +<%@ page import="org.jahia.gui.HTMLToolBox" %>
   <%@ taglib uri="/WEB-INF/etc/taglibs/pager-taglib" prefix="pg" %>
   <%@ taglib uri="JahiaLib" prefix="jahia" %>
   <%!
  @@ -20,7 +23,7 @@
               org.apache.log4j.Logger.getLogger("jsp.jahia.engines.engine");
   
       /**
  -     * to format a date in a friendly way
  +     * to format a hit date in a friendly way
        * @param hit
        * @param datekey
        * @param l
  @@ -57,11 +60,12 @@
                   Calendar c = Calendar.getInstance(l);
                   c.setTime(new Date(d));
                   if (c.after(now)) {
  +                    //TODO ressource bundle
                       return "aujourd'hui&nbsp;a&nbsp;" + sd.format(new 
Date(d));
                   } else if (c.after(hier) && c.before(now)) {
                       return "hier&nbsp;a&nbsp;" + sd.format(new Date(d));
                   }
  -                //logger.debug(c.getTime());
  +
                   s = df.format(new Date(d));
               } catch (NumberFormatException e) {
                   //defensive code!
  @@ -76,24 +80,85 @@
   %>
   <%
       /**
  -     * @version $Id: contentpick.jsp,v 1.27 2005/10/12 10:40:12 dpillot Exp $
  +     * @version $Id: contentpick.jsp,v 1.28 2005/10/19 14:22:27 dpillot Exp $
        */
   
       HashMap engineMap = (HashMap) 
request.getAttribute("org.jahia.engines.EngineHashMap");
       JahiaSearchResult sr = (JahiaSearchResult) 
engineMap.get("searchResults");
       String theScreen = (String) engineMap.get("screen");
  +    final JahiaData jData = (JahiaData) 
request.getAttribute("org.jahia.data.JahiaData");
  +
       //parameter to order the results (def:score)
       String orderBy = (String) engineMap.get("orderby");
  -    logger.debug("enginemap orderby="+orderBy);
  -    if(orderBy==null || orderBy.equalsIgnoreCase("")) {
  +    logger.debug("enginemap orderby=" + orderBy);
  +    if (orderBy == null || orderBy.equalsIgnoreCase("")) {
           logger.debug("set order to def score");
  -        orderBy="score";
  +        orderBy = "score";
       }
  -    // # of sites
  +    // # of virtual sites
       int sitecount = Integer.parseInt((String) engineMap.get("sitecount"));
       // server path
       String serverpath = "http://"; + request.getServerName() + ":" + 
request.getServerPort();
       String searchsite = (String) engineMap.get("searchSite");
  +    StringBuffer sb;
  +
  +    // specific code to render link to call select_page engine
  +    final ParamBean jParams = (ParamBean) 
request.getAttribute("org.jahia.params.ParamBean");
  +    HashMap selectPageURLParams = new HashMap();
  +    selectPageURLParams.put(SelectPage_Engine.OPERATION, 
SelectPage_Engine.LINK_OPERATION);
  +    selectPageURLParams.put(SelectPage_Engine.PARENT_PAGE_ID, new 
Integer(0));
  +    selectPageURLParams.put(SelectPage_Engine.PAGE_ID, new Integer(0));
  +    int homepageid = 0;
  +    if (!searchsite.equalsIgnoreCase("all")) {
  +        homepageid = 
ServicesRegistry.getInstance().getJahiaSitesService().getSite(Integer.parseInt(searchsite)).getHomePageID();
  +        logger.debug("homepageid=" + homepageid + " on site:" + searchsite);
  +    }
  +    selectPageURLParams.put(SelectPage_Engine.HOMEPAGE_ID, new 
Integer(homepageid));
  +    String selectPageURL = 
SelectPage_Engine.getInstance().renderLink(jParams, selectPageURLParams);
  +
  +    String query2 = (String) engineMap.get("query2");
  +    String query21 = (String) engineMap.get("query21");
  +    String query22 = (String) engineMap.get("query22");
  +    String query23 = (String) engineMap.get("query23");
  +    String query24 = (String) engineMap.get("query24");
  +
  +    String query3 = (String) engineMap.get("query3");
  +    String query31 = (String) engineMap.get("query31");
  +    String query32 = (String) engineMap.get("query32");
  +    String query33 = (String) engineMap.get("query33");
  +    String query34 = (String) engineMap.get("query34");
  +
  +    String query4 = (String) engineMap.get("query4");
  +    String query41 = (String) engineMap.get("query41");
  +    String query42 = (String) engineMap.get("query42");
  +    String query43 = (String) engineMap.get("query43");
  +    String query44 = (String) engineMap.get("query44");
  +
  +    String smode2 = (String) engineMap.get("smode2");
  +    String smode3 = (String) engineMap.get("smode3");
  +    String smode4 = (String) engineMap.get("smode4");
  +
  +    if (query2 == null) query2 = "";
  +    if (query21 == null) query21 = "";
  +    if (query22 == null) query22 = "";
  +    if (query23 == null) query23 = "";
  +    if (query24 == null) query24 = "";
  +
  +    if (query3 == null) query3 = "";
  +    if (query31 == null) query31 = "";
  +    if (query32 == null) query32 = "";
  +    if (query33 == null) query33 = "";
  +    if (query34 == null) query34 = "";
  +
  +    if (query4 == null) query4 = "";
  +    if (query41 == null) query41 = "";
  +    if (query42 == null) query42 = "";
  +    if (query43 == null) query43 = "";
  +    if (query44 == null) query44 = "";
  +
  +    if (smode2 == null) smode2 = "";
  +    if (smode3 == null) smode3 = "";
  +    if (smode4 == null) smode4 = "";
   
   
   %>
  @@ -125,6 +190,18 @@
           background-color: #eee;
   
       }
  +    /* invisible */
  +    .contvis {
  +        display: none;
  +        width: 100%;
  +    }
  +    /* visible */
  +    .contvis1 {
  +        display: block;
  +        width: 100%;
  +    }
  +
  +
   </style>
   
   
  @@ -132,6 +209,8 @@
   <%@ include file="../tools.inc" %>
   <div class="content"><!-- content -->
   <div id="editor"><!--editor-->
  +<img src="/jahia/jsp/jahia/engines/images/pix.gif" width="600" height="1" 
border="0"><br/>
  +
   <!-- debug
   sort by <%=orderBy%><br/>
   screen <%=theScreen%><br/>
  @@ -139,205 +218,544 @@
   <%=sitecount%>
   -->
   <script type="text/javascript">
  -    var expand=1;
  -    function orderby(param) {
  -        document.mainForm.orderby.value = param;
  -        handleActionChange("contentPick");
  -    }
  -    //submit
  -    function submitenter(myfield, e)
  -    {
  -        var keycode;
  -        if (window.event) {
  -            keycode = window.event.keyCode;
  -            //alert(myfield.name+""+keycode);
  -        }
  -        else if (e) {
  -            keycode = e.which;
  -            //alert(myfield.name+""+keycode);
  -        }
  -        else return true;
  +var expand = 1;//number of queries non-empty
   
  -        if (keycode == 13)
  -        {
  -            //document.mainForm.screen.value = "contentPick";
  -            goSearch();
  -            //return false;
  -        }
  -        else
  -            return true;
  +
  +//used to call the pagelink select
  +function callSelectPageLink(callback_cond) {
  +    var url = "<%=selectPageURL%>&cond=" + callback_cond;
  +    OpenJahiaScrollableWindow(url, 
'selectPage_<%=HTMLToolBox.cleanSessionID(jParams.getSessionID())%>', 950, 720);
  +}
  +
  +//callback function to grab the pageid selected
  +function handleActionChanges(param) {
  +    var substr = param.substring(param.indexOf("pageSelected=") + 13)
  +    var end = substr.lastIndexOf("&");
  +    var cond;
  +    var pselected;
  +    //alert(param)
  +    if (end != -1) {
  +        pselected = substr.substring(0, end);
  +
  +    } else {
  +        pselected = substr.substring(0);
  +    }
  +    var substr1 = param.substring(param.indexOf("callback=") + 9)
  +    var end1 = substr1.lastIndexOf("&");
  +    if (end1 != -1) {
  +        cond = substr1.substring(0, end1);
  +    } else {
  +        cond = substr1.substring(0);
  +    }
  +    if (cond == 2) {
  +        if (document.getElementById("sc2").style.display == "none") 
expandcontent("sc2");
  +        document.getElementById("input23").style.display == "block";
  +
  +        document.mainForm.query23.value = pselected;
  +    }
  +    if (cond == 3) {
  +        if (document.getElementById("sc3").style.display == "none") 
expandcontent("sc3");
  +        document.getElementById("input33").style.display == "block";
  +        document.mainForm.query33.value = pselected;
  +    }
  +    if (cond == 4) {
  +        if (document.getElementById("sc4").style.display == "none") 
expandcontent("sc4");
  +        document.getElementById("input43").style.display == "block";
  +        document.mainForm.query43.value = pselected;
  +    }
  +    //alert(cond);
  +    //displayWaiting();
  +    //handleActionChange("contentPick");
  +    //alert(pselected)
  +}
  +// sorting
  +function orderby(param) {
  +    document.mainForm.orderby.value = param;
  +    handleActionChange("contentPick");
  +}
  +
  +//submit
  +function submitenter(myfield, e)
  +{
  +    var characterCode;
  +    if (e && e.which) { // (NN4+)
  +        e = e
  +        characterCode = e.which //character code is contained in NN4's which 
property
  +    } else {
  +        e = event
  +        characterCode = e.keyCode //IE's keyCode property
  +    }
  +
  +    if (characterCode == 13) { //(enter key)
  +
  +        goSearch("go");
  +        return false
  +    } else return true
  +}
  +
  +// cosmetic search query functions
  +function expandcontent(cid) {
  +    //alert(document.getElementById(cid).style.display);
  +    if (document.getElementById(cid).style.display != "block") {
  +        document.getElementById(cid).style.display = "block";
  +        expand++;
  +    } else {
  +        document.getElementById(cid).style.display = "none";
  +        expand--;
  +        if (expand == 1) document.getElementById("sc0").style.display = 
"none";
       }
   
  -    // cosmetic search query functions
  -    function expandcontent(cid) {
  -        //alert(document.getElementById(cid).style.display);
  -        if(document.getElementById(cid).style.display != "block"){
  -         document.getElementById(cid).style.display="block";
  -            expand++;
  -        } else {
  -          document.getElementById(cid).style.display="none";
  -            expand--;
  -            if(expand==1) 
document.getElementById("sc0").style.display="none";
  -        }
  +    if (expand > 1) document.getElementById("sc0").style.display = "block";
  +}
   
  -        if(expand>1) document.getElementById("sc0").style.display="block";
  +
  +function contractcontent(cid) {
  +    document.getElementById(cid).style.display = "none";
  +    expand--;
  +    if (expand == 1) document.getElementById("sc0").style.display = "none";
  +    if (cid == "sc2") {
  +        document.mainForm.query21.value = "";
  +        document.mainForm.query22.value = "";
  +        document.mainForm.query23.value = "";
  +        document.mainForm.query24.value = "";
  +    }
  +    if (cid == "sc3") {
  +        document.mainForm.query31.value = "";
  +        document.mainForm.query32.value = "";
  +        document.mainForm.query33.value = "";
  +        document.mainForm.query34.value = "";
  +    }
  +    if (cid == "sc4") {
  +        document.mainForm.query41.value = "";
  +        document.mainForm.query42.value = "";
  +        document.mainForm.query43.value = "";
  +        document.mainForm.query44.value = "";
       }
  +}
   
  +// search function to preprocess queries
   
  -    function contractcontent(cid) {
  -        document.getElementById(cid).style.display = "none";
  -        expand--;
  -        if(expand==1) document.getElementById("sc0").style.display="none";
  -    }
  +//to check the emptyness of queries
  +function checkQueries() {
  +    if (document.getElementById("query").value == "") return false;
   
  -    // search function to preprocess queries
  -    function goSearch() {
  -        //alert("searching....");
  -        
document.getElementById("waiting").src="/jahia/jsp/jahia/engines/images/waiting.gif";
  +
  +    return true;
  +}
  +
  +//display waiting icon
  +function displayWaiting() {
  +    document.getElementById("waiting").src = 
"/jahia/jsp/jahia/engines/images/waiting.gif";
  +}
  +
  +//searching
  +function goSearch(name) {
  +    //alert("name="+name);
  +
  +    if (name == "go") {
  +        displayWaiting();
  +        handleActionChange("contentPick");
  +        return;
  +    }
  +    if (name == "concat") {
  +        if (checkQueries() && expand > 1) {
  +            displayWaiting();
  +            handleActionChange("contentPick");
  +        }
  +        return;
  +    }
  +    if (name == "searchSite") {
           handleActionChange("contentPick");
       }
  -    //
  -    function viewDoc(path) {
  -        //alert(path);
  -        opener.location = path;
  +    if (name == "condition1" && checkQueries()) {
  +        displayWaiting();
  +        handleActionChange("contentPick");
  +    }
  +    // to get the page selected id (call to selectedpage engine)
  +    if (name == "condition2") {
  +        if (document.mainForm.condition2.selectedIndex == 0) {
  +            //author
  +            document.getElementById('input21').style.display = "block";
  +            document.getElementById('input22').style.display = "none";
  +            document.getElementById('input23').style.display = "none";
  +            document.getElementById('input24').style.display = "none";
  +            document.getElementById('sitemap2').style.display = "none";
  +        } else if (document.mainForm.condition2.selectedIndex == 1) {
  +            //keywords
  +            document.getElementById('input22').style.display = "block";
  +            document.getElementById('input21').style.display = "none";
  +            document.getElementById('input23').style.display = "none";
  +            document.getElementById('input24').style.display = "none";
  +            document.getElementById('sitemap2').style.display = "none";
  +        } else if (document.mainForm.condition2.selectedIndex == 2) {
  +            //pageid
  +            document.getElementById('input23').style.display = "block";
  +            document.getElementById('input21').style.display = "none";
  +            document.getElementById('input22').style.display = "none";
  +            document.getElementById('input24').style.display = "none";
  +            document.getElementById('sitemap2').style.display = "block";
  +        } else if (document.mainForm.condition2.selectedIndex == 3) {
  +            //date range
  +            document.getElementById('input24').style.display = "block";
  +            document.getElementById('input21').style.display = "none";
  +            document.getElementById('input22').style.display = "none";
  +            document.getElementById('input23').style.display = "none";
  +            document.getElementById('sitemap2').style.display = "none";
  +        }
       }
   
  -    //preloading
  -    waitingimage=new Image();
  -    waitingimage.src="/jahia/jsp/jahia/engines/images/waiting.gif";
  +    if (name == "condition3") {
  +        if (document.mainForm.condition3.selectedIndex == 0) {
  +            //author
  +            document.getElementById('input31').style.display = "block";
  +            document.getElementById('input32').style.display = "none";
  +            document.getElementById('input33').style.display = "none";
  +            document.getElementById('input34').style.display = "none";
  +            document.getElementById('sitemap3').style.display = "none";
  +        } else if (document.mainForm.condition3.selectedIndex == 1) {
  +            //keywords
  +            document.getElementById('input32').style.display = "block";
  +            document.getElementById('input31').style.display = "none";
  +            document.getElementById('input33').style.display = "none";
  +            document.getElementById('input34').style.display = "none";
  +            document.getElementById('sitemap3').style.display = "none";
  +        } else if (document.mainForm.condition3.selectedIndex == 2) {
  +            //pageid
  +            document.getElementById('input33').style.display = "block";
  +            document.getElementById('input31').style.display = "none";
  +            document.getElementById('input32').style.display = "none";
  +            document.getElementById('input34').style.display = "none";
  +
  +            document.getElementById('sitemap3').style.display = "block";
  +        } else if (document.mainForm.condition3.selectedIndex == 3) {
  +            //date range
  +            document.getElementById('input34').style.display = "block";
  +            document.getElementById('input31').style.display = "none";
  +            document.getElementById('input32').style.display = "none";
  +            document.getElementById('input33').style.display = "none";
  +            document.getElementById('sitemap3').style.display = "none";
  +        }
  +    }
   
  -</script>
  +    if (name == "condition4") {
  +        if (document.mainForm.condition4.selectedIndex == 0) {
  +            //author
  +            document.getElementById('input41').style.display = "block";
  +            document.getElementById('input42').style.display = "none";
  +            document.getElementById('input43').style.display = "none";
  +            document.getElementById('input44').style.display = "none";
  +            document.getElementById('sitemap4').style.display = "none";
  +        } else if (document.mainForm.condition4.selectedIndex == 1) {
  +            //keywords
  +            document.getElementById('input42').style.display = "block";
  +            document.getElementById('input41').style.display = "none";
  +            document.getElementById('input43').style.display = "none";
  +            document.getElementById('input44').style.display = "none";
  +            document.getElementById('sitemap4').style.display = "none";
  +        } else if (document.mainForm.condition4.selectedIndex == 2) {
  +            //pageid
  +            document.getElementById('input43').style.display = "block";
  +            document.getElementById('input41').style.display = "none";
  +            document.getElementById('input42').style.display = "none";
  +            document.getElementById('input44').style.display = "none";
  +
  +            document.getElementById('sitemap4').style.display = "block";
  +        } else if (document.mainForm.condition4.selectedIndex == 3) {
  +            //date range
  +            document.getElementById('input44').style.display = "block";
  +            document.getElementById('input41').style.display = "none";
  +            document.getElementById('input42').style.display = "none";
  +            document.getElementById('input43').style.display = "none";
  +            document.getElementById('sitemap4').style.display = "none";
  +        }
  +    }
  +}
   
   
  +//preloading
  +waitingimage = new Image();
  +waitingimage.src = "/jahia/jsp/jahia/engines/images/waiting.gif";
  +
  +</script>
  +
  +<!-- order param -->
   <input type="hidden" name="orderby" value="<%=orderBy%>"/>
  -<input type="hidden" name="bigquery" value=""/>
  +<!-- lucene query param -->
  +<input type="hidden" name="bigquery" 
value="<%=engineMap.get("searchString")%>"/>
  +<!-- page selected param -->
  +<input type="hidden" name="pageselected" value=""/>
  +
   <table border=0><tr><td colspan="2">
  -    <div id="sc0" class="switchcontent">
  -     <select name="concat" id="cond0" onchange="goSearch()">
  -         <% if(((String)engineMap.get("concat")).equalsIgnoreCase("or")) {%>
  -         <option value="or" selected="selected">au moins une de ces 
conditions</option>
  -         <% } else { %>
  -            <option value="or">au moins une de ces conditions</option>
  -            <% } %>
  -         <% if(((String)engineMap.get("concat")).equalsIgnoreCase("and")) {%>
  -         <option value="and" selected="selected">toutes ces 
conditions</option>
  -         <% } else { %>
  -            <option value="or">toutes ces conditions</option>
  -            <% } %>
  -         </select>
  -    </div>
  -    <div id="sc1" class="switchcontent1">
  -
  -        <select name="condition1" id="cond1" onchange="goSearch()">
  -            <% if(((String)engineMap.get("smode")).equalsIgnoreCase("or")) 
{%>
  -            <option value="or" selected="selected">au moins un des 
mots</option>
  -            <% } else { %>
  -            <option value="or">au moins un des mots</option>
  -            <% } %>
  -            <% if(((String)engineMap.get("smode")).equalsIgnoreCase("and")) 
{%>
  -            <option value="and" selected="selected">tous les mots</option>
  -            <% } else { %>
  -            <option value="and">tous les mots</option>
  -            <% } %>
  -            <% 
if(((String)engineMap.get("smode")).equalsIgnoreCase("exact")) {%>
  -            <option value="exact" selected="selected">la phrase 
exacte</option>
  -            <% } else { %>
  -            <option value="exact">la phrase exacte</option>
  -            <% } %>
  -        </select>
  -        <!-- query -->
  -        <INPUT name="query" size=30 
value="<%=engineMap.get("searchString")%>"
  -               onkeypress="submitenter(this,window.event)" 
onfocus="this.value=''"/>
  +<div id="sc0" class="switchcontent" style="background-color: #ffffff;">
  +    <select name="concat" id="cond0" onchange="goSearch(this.name)">
  +        <% if (((String) engineMap.get("concat")).equalsIgnoreCase("or")) {%>
  +        <option value="or" selected="selected">au moins une de ces 
conditions</option>
  +        <% } else { %>
  +        <option value="or">au moins une de ces conditions</option>
  +        <% } %>
  +        <% if (((String) engineMap.get("concat")).equalsIgnoreCase("and")) 
{%>
  +        <option value="and" selected="selected">toutes ces 
conditions</option>
  +        <% } else { %>
  +        <option value="and">toutes ces conditions</option>
  +        <% } %>
  +    </select>
  +</div>
   
  +<div id="sc1" class="switchcontent1">
  +
  +    <select name="condition1" id="cond1" onchange="goSearch(this.name)">
  +        <% if (((String) engineMap.get("smode")).equalsIgnoreCase("or")) {%>
  +        <option value="or" selected="selected">au moins un des mots</option>
  +        <% } else { %>
  +        <option value="or">au moins un des mots</option>
  +        <% } %>
  +        <% if (((String) engineMap.get("smode")).equalsIgnoreCase("and")) {%>
  +        <option value="and" selected="selected">tous les mots</option>
  +        <% } else { %>
  +        <option value="and">tous les mots</option>
  +        <% } %>
  +        <% if (((String) engineMap.get("smode")).equalsIgnoreCase("exact")) 
{%>
  +        <option value="exact" selected="selected">la phrase exacte</option>
  +        <% } else { %>
  +        <option value="exact">la phrase exacte</option>
  +        <% } %>
  +    </select>
  +
  +    <!-- main query -->
  +    <INPUT id="query" name="query" size=30 
value="<%=engineMap.get("query1")%>"
  +           onkeypress="submitenter(this,event)" onfocus="this.value=''"/>
  +
  +    <%
  +        int count = 0;
  +        Enumeration enum = (Enumeration) engineMap.get("sites");
  +        if (sitecount > 1) {
  +            // looping on all sites
  +    %>
  +
  +    <select name="searchSite" onchange="goSearch(this.name)">
           <%
  -            int count = 0;
  -            Enumeration enum = (Enumeration) engineMap.get("sites");
  -            if (sitecount > 1) {
  -                // looping on all sites
  -        %>
  -        <!--id searchsite:<%=searchsite%> -->
  -        <select name="searchSite" onchange="goSearch()">
  -            <%
  -                String isSelected = "";
  -                while (enum.hasMoreElements()) {
  -                    JahiaSite jahiaSite = (JahiaSite) enum.nextElement();
  -                    String id = "" + jahiaSite.getID();
  -                    String key = "" + jahiaSite.getSiteKey();
  -                    if (searchsite.equalsIgnoreCase(id)) isSelected = 
"selected=selected";
  -                    else isSelected = "";
  -                    count++;
  -            %>
  -            <option value="<%=id%>" <%=isSelected%>><%=key%></option>
  -            <%
  -                }//end looping
  -                if (searchsite.equalsIgnoreCase("all")) isSelected = 
"selected=selected";
  -            %>
  -            <option value="all" <%=isSelected%>>all</option>
  -        </select>
  -        <%
  -        } else {
  -            // one site only
  -            JahiaSite jahiaSite = (JahiaSite) enum.nextElement();
  +            sb = new StringBuffer();
  +            while (enum.hasMoreElements()) {
  +                sb.append("<option value=\"");
  +                JahiaSite jahiaSite = (JahiaSite) enum.nextElement();
  +                sb.append(jahiaSite.getID());
  +                sb.append("\" ");
  +                if 
(searchsite.equalsIgnoreCase(String.valueOf(jahiaSite.getID()))) 
sb.append("selected=\"selected\" ");
  +
  +                sb.append(">");
  +                sb.append(jahiaSite.getSiteKey());
  +                sb.append("</option>");
  +                count++;
  +
  +            }//end looping
  +
  +            sb.append("<option value=\"all\" ");
  +            if (searchsite.equalsIgnoreCase("all")) 
sb.append("selected=\"selected\"");
  +            sb.append(" >all</option>");
           %>
  -        &nbsp; on site <b><%=jahiaSite.getSiteKey() %></b>
  -        <input type="hidden" name="searchSite" value="<%=jahiaSite.getID() 
%>"/>
  -        <% } %>
  +        <%=sb.toString()%>
  +    </select>
  +    <%
  +    } else {
  +        // one site only
  +        JahiaSite jahiaSite = (JahiaSite) enum.nextElement();
  +    %>
  +    &nbsp; on site <b><%=jahiaSite.getSiteKey() %></b>
  +    <input type="hidden" name="searchSite" value="<%=jahiaSite.getID() %>"/>
  +    <% } %>
  +
  +    <a href="javascript:expandcontent('sc2')"><img 
src="/jahia/jsp/jahia/engines/images/adding.png" width="16"
  +                                                   height="16" border="0" 
alt="ajoute un critere"></a>&nbsp;
  +</div>
  +<%
  +
  +    // to create the queries html
  +    sb = new StringBuffer();
  +    for (int z = 2; z < 5; z++) {
  +        sb.append("<div id=\"sc");
  +        sb.append(z);
  +        sb.append("\" class=\"switchcontent");
  +        //visibility modules
  +        if (z == 2 && !query2.equalsIgnoreCase("")) sb.append(1); 
//visibility
  +        if (z == 3 && !query3.equalsIgnoreCase("")) sb.append(1);
  +        if (z == 4 && !query4.equalsIgnoreCase("")) sb.append(1);
  +        //condition modules
  +        sb.append("\"><select name=\"condition");
  +        sb.append(z);
  +        sb.append("\" onchange=\"goSearch(this.name)\">");
  +        sb.append("<option value=\"creator\" ");
  +        if (z == 2 && smode2.equalsIgnoreCase("creator")) 
sb.append("selected=\"selected\"");
  +        if (z == 3 && smode3.equalsIgnoreCase("creator")) 
sb.append("selected=\"selected\"");
  +        if (z == 4 && smode4.equalsIgnoreCase("creator")) 
sb.append("selected=\"selected\"");
  +        sb.append(">par auteur</option>");
  +        sb.append("<option value=\"keywords\" ");
  +        if (z == 2 && smode2.equalsIgnoreCase("keywords")) 
sb.append("selected=\"selected\"");
  +        if (z == 3 && smode3.equalsIgnoreCase("keywords")) 
sb.append("selected=\"selected\"");
  +        if (z == 4 && smode4.equalsIgnoreCase("keywords")) 
sb.append("selected=\"selected\"");
  +        sb.append(">par mots-cles</option>");
  +        sb.append("<option value=\"pageid\" ");
  +        if (z == 2 && smode2.equalsIgnoreCase("pageid")) 
sb.append("selected=\"selected\"");
  +        if (z == 3 && smode3.equalsIgnoreCase("pageid")) 
sb.append("selected=\"selected\"");
  +        if (z == 4 && smode4.equalsIgnoreCase("pageid")) 
sb.append("selected=\"selected\"");
  +        sb.append(">par page id</option>");
  +        sb.append("<option value=\"date\" ");
  +        if (z == 2 && smode2.equalsIgnoreCase("date")) 
sb.append("selected=\"selected\"");
  +        if (z == 3 && smode3.equalsIgnoreCase("date")) 
sb.append("selected=\"selected\"");
  +        if (z == 4 && smode4.equalsIgnoreCase("date")) 
sb.append("selected=\"selected\"");
  +        sb.append(">par intervalle de temps</option>");
  +        sb.append("</select>");
  +
  +        // author submodule
  +        sb.append("<span id=\"input");
  +        sb.append(z);
  +        sb.append(1);
  +        sb.append("\" class=\"contvis");
  +        if ((z == 2 && smode2.equalsIgnoreCase("creator"))
  +                ||(z == 3 && smode3.equalsIgnoreCase("creator"))
  +                ||(z == 4 && smode4.equalsIgnoreCase("creator"))
  +                ) sb.append("1\">");
  +            else sb.append("\">");
  +        // select type author
  +        sb.append("<select name=\"condition");
  +        sb.append(z);
  +        sb.append(1);
  +        sb.append("\" onchange=\"goSearch(this.name)\">");
  +        sb.append("<option value=\"creator\" ");
  +        sb.append(">par createur</option>");
  +        sb.append("<option value=\"contributor\" ");
  +        sb.append(">par dernier contributor</option>");
  +        sb.append("<option value=\"all\" ");
  +        sb.append(">les 2</option>");
  +        sb.append("</select>");
  +        sb.append("<INPUT size=20 value=\"");
  +        if (z == 2) sb.append(query21);
  +        if (z == 3) sb.append(query31);
  +        if (z == 4) sb.append(query41);
  +        sb.append("\" name=\"query");
  +        sb.append(z);
  +        sb.append(1);
  +        sb.append("\" onkeypress=\"submitenter(this,event)\"/>");
  +        sb.append("</span>");
  +
  +        //keywords submodule
  +        sb.append("<span id=\"input");
  +        sb.append(z);
  +        sb.append(2);
  +        sb.append("\" class=\"contvis");
  +        if ((z == 2 && smode2.equalsIgnoreCase("keywords"))
  +                ||(z == 3 && smode3.equalsIgnoreCase("keywords"))
  +                ||(z == 4 && smode4.equalsIgnoreCase("keywords"))
  +                ) sb.append("1\">");
  +            else sb.append("\">");
  +        sb.append("<INPUT size=30 value=\"");
  +        if (z == 2) sb.append(query22);
  +        if (z == 3) sb.append(query32);
  +        if (z == 4) sb.append(query42);
  +        sb.append("\" name=\"query");
  +        sb.append(z);
  +        sb.append(2);
  +        sb.append("\" onkeypress=\"submitenter(this,event)\"/>");
  +        sb.append("</span>");
  +
  +        //page id submodule
  +        sb.append("<span id=\"input");
  +        sb.append(z);
  +        sb.append(3);
  +        sb.append("\" class=\"contvis");
  +        if ((z == 2 && smode2.equalsIgnoreCase("pageid"))
  +                ||(z == 3 && smode3.equalsIgnoreCase("pageid"))
  +                ||(z == 4 && smode4.equalsIgnoreCase("pageid"))
  +                ) sb.append("1\">");
  +            else sb.append("\">");
  +        sb.append("<INPUT size=10 value=\"");
  +        if (z == 2) sb.append(query23);
  +        if (z == 3) sb.append(query33);
  +        if (z == 4) sb.append(query43);
  +        sb.append("\" name=\"query");
  +        sb.append(z);
  +        sb.append(3);
  +        sb.append("\" onkeypress=\"submitenter(this,event)\"/>");
  +        sb.append("</span>");
  +
  +        //date submodule
  +        sb.append("<span id=\"input");
  +        sb.append(z);
  +        sb.append(4);
  +        sb.append("\" class=\"contvis");
  +        if ((z == 2 && smode2.equalsIgnoreCase("date"))
  +                ||(z == 3 && smode3.equalsIgnoreCase("date"))
  +                ||(z == 4 && smode4.equalsIgnoreCase("date"))
  +                ) sb.append("1\">");
  +            else sb.append("\">");
  +        // select type date
  +        sb.append("<select name=\"condition");
  +        sb.append(z);
  +        sb.append(4);
  +        sb.append("\">");
  +        sb.append("<option value=\"pub\" 
selected=\"selected\"");//default:publication date
  +        sb.append(">par derniere publication</option>");
  +        sb.append("<option value=\"mod\" ");
  +        sb.append(">par dernier contribution</option>");
  +        sb.append("<option value=\"cre\" ");
  +        sb.append(">par date de creation</option>");
  +        sb.append("</select>");
  +        // select date range
  +        sb.append("<select name=\"condition");
  +        sb.append(z);
  +        sb.append(4);
  +        sb.append(4);
  +        sb.append("\" onchange=\"goSearch(this.name)\">");
  +        sb.append("<option value=\"-\" selected=\"selected\"");//default:vide
  +        sb.append(">slectionnez une periode</option>");
  +        sb.append("<option value=\"week\"");
  +        sb.append(">depuis une semaine</option>");
  +        sb.append("<option value=\"month\" ");
  +        sb.append(">depuis 1 mois</option>");
  +        sb.append("<option value=\"months\" ");
  +        sb.append(">depuis 6 mois</option>");
  +        sb.append("</select>");
  +
  +        sb.append("</span>");
  +
  +        // the browse link
  +        sb.append("<span id=\"sitemap");
  +        sb.append(z);
  +        sb.append("\" class=\"contvis\">");
  +        sb.append("<a href=\"javascript:callSelectPageLink(");
  +        sb.append(z);
  +        sb.append(")\">voir le sitemap</a></span>");
  +
  +        /*
  +        sb.append("<INPUT size=30 value=\"");
  +        if(z==2) sb.append(query2);
  +        if(z==3) sb.append(query3);
  +        if(z==4) sb.append(query4);
  +        sb.append("\" name=\"query");
  +        sb.append(z);
  +        sb.append("\" onkeypress=\"submitenter(this,event)\"/>");
  +        */
  +        if (z != 4) {
  +            sb.append("<a href=\"javascript:expandcontent('sc");
  +            sb.append((z + 1));
  +            sb.append("')\"><img 
src=\"/jahia/jsp/jahia/engines/images/adding.png\" width=\"16\"\n" +
  +                    "                                                   
height=\"16\" border=\"0\"></a>");
  +        }
  +        sb.append("<a href=\"javascript:contractcontent('sc");
  +        sb.append(z);
  +        sb.append("')\"><img 
src=\"/jahia/jsp/jahia/engines/images/deleting.png\" width=\"16\" height=\"16\" 
border=\"0\"></a>");
  +        sb.append("</div>");
   
  -        <a href="javascript:expandcontent('sc2')"><img 
src="/jahia/jsp/jahia/engines/images/adding.png" width="16"
  -                                                       height="16" 
border="0" alt="ajoute un critere"></a>&nbsp;
  -    </div>
  -
  -    <!-- some other queries criteria -->
  -    <div id="sc2" class="switchcontent">
  -        <select name="condition2">
  -            <option value="creator" selected="selected">par createur</option>
  -            <option value="keywords">par keywords</option>
  -            <option value="pageid">par page id</option>
  -            <option value="date">par date range</option>
  -
  -        </select>
  -        <INPUT size=30 value="" name="query2" 
onkeypress="submitenter(this,window.event)" onfocus="this.value=''"/>
  -        <a href="javascript:expandcontent('sc3')"><img 
src="/jahia/jsp/jahia/engines/images/adding.png" width="16"
  -                                                       height="16" 
border="0"></a><a
  -            href="javascript:contractcontent('sc2')"><img 
src="/jahia/jsp/jahia/engines/images/deleting.png" width="16"
  -                                                          height="16" 
border="0"></a>
  -    </div>
  -
  -
  -    <div id="sc3" class="switchcontent">
  -        <select name="condition3">
  -            <option value="creator" selected="selected">par createur</option>
  -            <option value="keywords">par keywords</option>
  -            <option value="pageid">par page id</option>
  -            <option value="date">par date range</option>
  -
  -        </select>
  -        <INPUT size=30 value="" name="query3" 
onkeypress="submitenter(this,window.event)" onfocus="this.value=''"/>
  -        <a href="javascript:expandcontent('sc4')"><img 
src="/jahia/jsp/jahia/engines/images/adding.png" width="16"
  -                                                       height="16" 
border="0"></a><a
  -            href="javascript:contractcontent('sc3')"><img 
src="/jahia/jsp/jahia/engines/images/deleting.png" width="16"
  -                                                          height="16" 
border="0"></a>
  -
  -    </div>
  -
  -    <div id="sc4" class="switchcontent">
  -        <select name="condition4" >
  -            <option value="creator" selected="selected">par createur</option>
  -            <option value="keywords">par keywords</option>
  -            <option value="pageid">par page id</option>
  -            <option value="date">par date range</option>
  -        </select>
  -        <INPUT size=30 value="" name="query4" 
onkeypress="submitenter(this,window.event)" onfocus="this.value=''" />
  -        <a href="javascript:expandcontent('sc5')"><img 
src="/jahia/jsp/jahia/engines/images/adding.png" width="16"
  -                                                       height="16" 
border="0"></a><a
  -            href="javascript:contractcontent('sc4')"><img 
src="/jahia/jsp/jahia/engines/images/deleting.png" width="16"
  -                                                          height="16" 
border="0"></a>
  +    }
  +%>
  +<%=sb.toString()%>
   
  -    </div>
   
   </td></tr>
  -    <tr><td><a href="javascript:goSearch()">search</a></td><td 
align="right"><img id="waiting" src="/jahia/jsp/jahia/engines/images/pix.gif" 
width="16"
  -                                                          height="16" 
border="0" align="right"></td></tr>
  +<tr><td><a href="javascript:goSearch('go')" title="search"><img 
src="/jahia/jsp/jahia/engines/images/view_next.png"
  +                                                                width="48" 
height="48">&nbsp;search</a></td>
  +    <td align="right"><img id="waiting" 
src="/jahia/jsp/jahia/engines/images/pix.gif" width="16" height="16" border="0"
  +                           align="right"></td>
  +</tr>
   </table>
   
   
  @@ -401,13 +819,13 @@
                   date</a>
               <% } %>
           </th>
  -        <th class="text"><center>Copy</center></th>
  -        <th class="text"><center>Linked Copy</center></th>
  +        <th class="text"><center>Copie simple</center></th>
  +        <th class="text"><center>Copie liee</center></th>
       </tr>
   
       <%
   
  -
  +        sb = new StringBuffer();
           for (int i = 0; i < totalHits; i++) {
               JahiaSearchHit thisHit = (JahiaSearchHit) sr.results().get(i);
               String url = "#";
  @@ -420,39 +838,38 @@
                   sitekey = 
ServicesRegistry.getInstance().getJahiaSitesService().getSite(thisHit.getPage().getJahiaID()).getSiteKey();
                   pickers = 
ContentContainer.getContainer(Integer.parseInt(thisHit.getId())).getPickerObjects().size();
               } catch (JahiaException e) {
  -                e.printStackTrace();  //To change body of catch statement 
use File | Settings | File Templates.
  +                logger.error(e);
               }
   
               String cdate = printFriendlyDate(thisHit, "creationdate", 
request.getLocale());
               String pdate = printFriendlyDate(thisHit, "lastpublishingdate", 
request.getLocale());
   
  -
  -    %>
  -    <tr>
  -        <td class="text"><a href="<%=url%>" alt="<%=thisHit.getId()%> in 
<%=sitekey%>"
  -                            target="new"><b><%=thisHit.getTeaser()%></b></a>
  -        </td>
  -        <td 
class="text"><%=thisHit.getParsedObject().getValue("creator")%></td>
  -        <td 
class="text"><%=thisHit.getParsedObject().getValue("lastcontributor")%></td>
  -        <td class="text"><%=pickers%></td>
  -        <!--td class="text">score : <%=thisHit.getScore()%></td-->
  -        <td class="text">
  -            <%=cdate%>
  -        </td>
  -        <td class="text">
  -            <%=pdate%>
  -
  -        </td>
  -        <td class="text"><center><input type="radio" name="contentPickOp"
  -                                        
value="copy_<%=thisHit.getId()%>"/></center>
  -        </td>
  -        <td class="text"><center><input type="radio" name="contentPickOp"
  -                                        
value="link_<%=thisHit.getId()%>"/></center>
  -        </td>
  -    </tr>
  -    <%
  -        }
  +            sb.append("<tr><td class=\"text\"><a href=\"");
  +            sb.append(url);
  +            sb.append("\" title=\"id");
  +            sb.append(thisHit.getId());
  +            sb.append(" in site:");
  +            sb.append(sitekey);
  +            sb.append("\" target=\"_new\"><b>");
  +            sb.append(thisHit.getTeaser());
  +            sb.append("</b></a></td><td class=\"text\">");
  +            sb.append(thisHit.getParsedObject().getValue("creator"));
  +            sb.append("</td><td class=\"text\">");
  +            sb.append(thisHit.getParsedObject().getValue("lastcontributor"));
  +            sb.append("</td><td class=\"text\">");
  +            sb.append(pickers);
  +            sb.append("</td><td class=\"text\">");
  +            sb.append(cdate);
  +            sb.append("</td><td class=\"text\">");
  +            sb.append(pdate);
  +            sb.append("</td><td class=\"text\"><input type=\"radio\" 
name=\"contentPickOp\" value=\"copy_");
  +            sb.append(thisHit.getId());
  +            sb.append("\"/></center></td><td class=\"text\"><center><input 
type=\"radio\" name=\"contentPickOp\" value=\"link_");
  +            sb.append(thisHit.getId());
  +            sb.append("\"/></center></td></tr>");
  +        }//end loop
       %>
  +    <%=sb.toString()%>
   </table>
   <%
   } else {
  @@ -477,26 +894,30 @@
   </div><!-- end content part -->
   <div class="clearing">&nbsp;<!--clearing--></div>
   </div><!-- end menu wrapper part -->
  -<%  /**
  - * $Log: contentpick.jsp,v $
  - * Revision 1.27  2005/10/12 10:40:12  dpillot
  - * npe bugfix  & avd queries enhacement
  - *
  - * Revision 1.26  2005/10/11 15:15:55  dpillot
  - * added support for limited advanced queries
  - *
  - * Revision 1.25  2005/10/11 09:51:38  dpillot
  - * date display & selection enhancements
  - *
  - * Revision 1.24  2005/10/10 08:44:12  knguyen
  - * - remove unused JahiaSearchConstant
  - *
  - * Revision 1.23  2005/10/07 13:58:14  dpillot
  - * removed prefix useless
  - *
  - * Revision 1.22  2005/10/07 12:45:34  knguyen
  - * - synchro
  - *
  - *
  - */
  +<%
  +    /**
  +     * $Log: contentpick.jsp,v $
  +     * Revision 1.28  2005/10/19 14:22:27  dpillot
  +     * content pick final enhancements
  +     *
  +     * Revision 1.27  2005/10/12 10:40:12  dpillot
  +     * npe bugfix  & avd queries enhacement
  +     *
  +     * Revision 1.26  2005/10/11 15:15:55  dpillot
  +     * added support for limited advanced queries
  +     *
  +     * Revision 1.25  2005/10/11 09:51:38  dpillot
  +     * date display & selection enhancements
  +     *
  +     * Revision 1.24  2005/10/10 08:44:12  knguyen
  +     * - remove unused JahiaSearchConstant
  +     *
  +     * Revision 1.23  2005/10/07 13:58:14  dpillot
  +     * removed prefix useless
  +     *
  +     * Revision 1.22  2005/10/07 12:45:34  knguyen
  +     * - synchro
  +     *
  +     *
  +     */
   %>
  \ No newline at end of file
  

Reply via email to