KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > cofax > cms > CofaxToolsNavigation


1 /*
2  * CofaxToolsNavigation is part of the Cofax content management system library.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Please see http://www.cofax.org for contact information and other related informaion.
19  *
20  * $Header: /cvsroot/cofax/cofax/src/org/cofax/cms/CofaxToolsNavigation.java,v 1.71.2.1 2006/12/11 16:28:23 fxrobin Exp $
21  */

22 package org.cofax.cms;
23
24 import org.cofax.*;
25 import javax.servlet.*;
26 import javax.servlet.http.*;
27 import java.io.*;
28 import java.util.*;
29 import java.text.*;
30
31 /**
32  * CofaxToolsNavigation: Handles Navigation and security for CofaxTools.
33  * Navigation determines what mode the user has requested, calls security checks
34  * against the user, and gathers information from CofaxToolsUtil in order to
35  * return a populated page.
36  *
37  * @author Charles Harvey
38  * @author Badr Chentouf
39  * @author Lee Bolding
40  */

41
42 public class CofaxToolsNavigation {
43
44     /**
45      * Holds users current desired action for testing against permissions and
46      * fulfilling actions and templates.
47      */

48     public static String JavaDoc mode;
49
50     /**
51      * helper method for MD5 functions
52      *
53      */

54     private static String JavaDoc toHex(byte[] digest) {
55         StringBuffer JavaDoc buf = new StringBuffer JavaDoc();
56         for (int i = 0; i < digest.length; i++) {
57             buf.append(Integer.toHexString(0x0100 + (digest[i] & 0x00ff)).substring(1));
58         }
59         return buf.toString();
60     }
61
62     /**
63      * Includes a resource via relative URL (most likely a JSP page)s
64      *
65      * @param page
66      * Description of Parameter
67      * @param url
68      * Description of Parameter
69      * @param req
70      * Description of Parameter
71      * @param res
72      * Description of Parameter
73      * @param session
74      * Description of Parameter
75      */

76     public static void includeResource(CofaxPage page, String JavaDoc url, ServletRequest req, ServletResponse res, HttpSession session) {
77
78         CofaxToolsUtil.log("IncludeResource URL : " + url);
79
80         HashMap userPreviousArticlesHash = new HashMap();
81         try {
82             // grab current user info and add to the hash
83
CofaxToolsUser user = (CofaxToolsUser) (session.getAttribute("user"));
84             CofaxToolsUtil.log("Session user : OK");
85
86             String JavaDoc userName = (String JavaDoc) user.userInfoHash.get("USERNAME");
87             CofaxToolsUtil.log("user name : " + userName);
88             String JavaDoc userFirstName = (String JavaDoc) user.userInfoHash.get("FIRSTNAME");
89             CofaxToolsUtil.log("user firstname : " + userFirstName);
90             String JavaDoc userLastName = (String JavaDoc) user.userInfoHash.get("LASTNAME");
91             CofaxToolsUtil.log("user lastname : " + userLastName);
92             String JavaDoc workingPubDesc = user.workingPubDesc;
93             CofaxToolsUtil.log("user pubdesc : " + workingPubDesc);
94             String JavaDoc workingPubName = user.workingPubName;
95             CofaxToolsUtil.log("user pubname : " + workingPubName);
96             String JavaDoc userID = (String JavaDoc) user.userInfoHash.get("USERID");
97             CofaxToolsUtil.log("user id : " + userID);
98
99             CofaxToolsUtil.log("putting into glossary ... ");
100             page.putGlossaryValue("user:userName", userName);
101             page.putGlossaryValue("user:userFirstName", userFirstName);
102             page.putGlossaryValue("user:userLastName", userLastName);
103             page.putGlossaryValue("user:workingPubDesc", workingPubDesc);
104             page.putGlossaryValue("user:workingPubName", workingPubName);
105             page.putGlossaryValue("user:userID", userID);
106
107             // copy values from configGlossary into this request's glossary
108
for (Iterator i = CofaxToolsServlet.configGlossary.keySet().iterator(); i.hasNext();) {
109                 String JavaDoc key2 = i.next().toString();
110                 String JavaDoc value2 = CofaxToolsServlet.configGlossary.get(key2).toString();
111                 page.putGlossaryValue(key2, value2);
112             }
113
114             CofaxToolsUtil.log("done. (with config too)");
115
116             userPreviousArticlesHash = user.userPreviousArticlesHash;
117             if (userPreviousArticlesHash.size() > 1) {
118                 String JavaDoc previousArticles = CofaxToolsUtil.createSelect("select", userPreviousArticlesHash, "", "onChange=\"leapTo();\"");
119                 page.putGlossaryValue("user:previousArticles", previousArticles);
120             }
121         } catch (java.lang.NullPointerException JavaDoc np) {
122             CofaxToolsUtil.log("CofaxToolsUtil fillTemplate: No user object or portions missing.");
123             // np.printStackTrace(System.err); FX : not usefull to trace.
124

125         }
126
127         req.setAttribute("cofaxPage", page);
128
129         try {
130             RequestDispatcher dispatcher = req.getRequestDispatcher(url);
131             dispatcher.include(req, res);
132
133         } catch (ServletException e) {
134             System.err.println("ERROR in CofaxToolsNavigation.includeResource: " + url);
135             System.err.println(e);
136             e.printStackTrace();
137         } catch (IOException e) {
138             System.err.println("ERROR in CofaxToolsNavigation.includeResource: " + url);
139             System.err.println(e);
140             e.printStackTrace();
141         } catch (Exception JavaDoc e) {
142             System.err.println("ERROR in CofaxToolsNaviagation.includeResource: " + url);
143             System.err.println(e);
144             e.printStackTrace();
145         }
146         return;
147     }
148
149     /**
150      * Splits navigation and determines what portions of CofaxToolsUtil to
151      * utilize in order to fulfill users requests. Navigate gathers that
152      * information and sends the information against CofaxToolsUtil.fillTemplate
153      * in order to return a populated page to the user.
154      *
155      * @param db
156      * Description of the Parameter
157      * @param NpathInfo
158      * Description of the Parameter
159      * @param NqueryString
160      * Description of the Parameter
161      * @param session
162      * Description of the Parameter
163      * @param req
164      * Description of the Parameter
165      * @param res
166      * Description of the Parameter
167      * @return Description of the Return Value
168      */

169     public static String JavaDoc navigate(DataStore db, String JavaDoc NpathInfo, String JavaDoc NqueryString, HttpSession session, HttpServletRequest req, HttpServletResponse res) {
170
171         String JavaDoc content;
172         boolean isLoggedIn = true;
173         String JavaDoc workingPub = "";
174         boolean hasPermission = true;
175         mode = req.getParameter("mode");
176
177         CofaxPage page = new CofaxPage();
178         page.reset();
179         Glossary cofaxGlossary = new Glossary();
180         page.setGlossary(cofaxGlossary);
181         page.setTemplateLoader(null);
182         page.setDataStore(db);
183         page.putGlossaryValue("system:toolsPath", CofaxToolsServlet.toolsPath);
184
185         CofaxToolsUtil.log("Starting servlet controler , mode = " + mode); // FX :
186
// debugging
187

188         // if we have a multipart request, get the files from it and
189
// them put all remaining objects into a normal req object
190

191         String JavaDoc contentType = (String JavaDoc) req.getHeader("content-type");
192         if (contentType != null) {
193             if (contentType.indexOf("multipart/form-data") > -1) {
194                 try {
195                     MultipartRequest parser = new MultipartRequest(req.getContentType(), req.getContentLength(), req.getInputStream(),
196                             CofaxToolsServlet.fileTransferFolder);
197                     Enumeration en = parser.getParameterNames();
198                     while (en.hasMoreElements()) {
199                         String JavaDoc key = (String JavaDoc) en.nextElement();
200                         req.removeAttribute(key);
201                         req.setAttribute(key, parser.getURLParameter(key));
202                     }
203                     mode = (String JavaDoc) req.getAttribute("mode");
204                 } catch (java.io.IOException JavaDoc e) {
205                     CofaxToolsUtil.log("CofaxToolsNavigation navigate ERROR: " + e);
206                 }
207             }
208         }
209
210         // Try to get the user object from the current session
211
try {
212             CofaxToolsUser userU = (CofaxToolsUser) session.getAttribute("user");
213             workingPub = userU.workingPub;
214         } catch (java.lang.NullPointerException JavaDoc e) {
215             isLoggedIn = false;
216         } catch (java.lang.ClassCastException JavaDoc e) {
217             isLoggedIn = false;
218         }
219
220         // If there is no mode, check to see if the user is already logged in
221
if (mode == null) {
222             // If there is no user object, send user to the login screen
223
if (isLoggedIn == false) {
224                 page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "welcomeMessage"));
225                 page.putGlossaryValue("system:highLightTab", "");
226                 includeResource(page, "" + CofaxToolsServlet.templatePath + "login.jsp", req, res, session); // FX :
227
// added
228
// templatePath
229
return ("");
230                 // If the user is logged in, determine if they have selected a
231
// publication
232
} else {
233                 // if they have not selected a publication, direct
234
// them to the publication choice page
235
if (workingPub == null) {
236                     CofaxToolsUser user = (CofaxToolsUser) session.getAttribute("user");
237                     String JavaDoc selectPublication = CofaxToolsUtil.createSelect("PUBLICATION", user.userPubDescPubIDHash, (String JavaDoc) user.userInfoHash.get("HOMEPUB"));
238                     page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "choosepublication"));
239                     page.putGlossaryValue("system:highLightTab", "login_change_publication");
240                     page.putGlossaryValue("system:selectPublication", selectPublication);
241                     includeResource(page, "" + CofaxToolsServlet.templatePath + "selectPublication.jsp", // FX :
242
// added
243
// templatePath
244
req, res, session);
245                     return ("");
246                 }
247                 // If the user has a publication selected, present them with a
248
// menu choice
249
else {
250                     CofaxToolsUser user = (CofaxToolsUser) session.getAttribute("user");
251                     page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "pleaseMakeSelection"));
252                     page.putGlossaryValue("getMySavedSearches", CofaxToolsUtil.getMySavedSearches(db, (String JavaDoc) user.userInfoHash.get("USERID")));
253                     page.putGlossaryValue("getMyLastArticles", CofaxToolsUtil.getMyLastArticles(db, (String JavaDoc) user.workingPubName, (String JavaDoc) user.userInfoHash
254                             .get("USERNAME")));
255                     page.putGlossaryValue("getArticlesToPublish", CofaxToolsUtil.getArticlesToPublish(db, (String JavaDoc) user.workingPubName,
256                             (String JavaDoc) user.userInfoHash.get("USERID")));
257                     page.putGlossaryValue("getMyArticlesLocked", CofaxToolsLockUnlock.getMyArticlesLocked(db, (String JavaDoc) user.workingPubName,
258                             (String JavaDoc) user.userInfoHash.get("USERID")));
259                     includeResource(page, "" + CofaxToolsServlet.templatePath + "selectAction.jsp", req, res, session); // FX :
260
// added
261
// templatePath
262
return ("");
263                 }
264             }
265         }
266         // If the user is logged in and mode is populated, determine what to do
267
// with the mode
268
// and check user security level against desired task
269
else if ((isLoggedIn == true) || (mode.equals("login")) || (mode.equals("login_confirm_publication"))) {
270             if (mode.equals("login")) {
271                 String JavaDoc login = req.getParameter("login");
272                 String JavaDoc password = req.getParameter("password");
273                 return (CofaxToolsLogin.login(db, req, session, login, password, res, page));
274             } else if (mode.equals("login_confirm_publication")) {
275                 CofaxToolsUser user = (CofaxToolsUser) session.getAttribute("user");
276                 String JavaDoc askingPub = req.getParameter("PUBLICATION");
277                 if (user.setUserWorkingPubConfigElements(db, session, askingPub)) {
278                     page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "pleaseMakeSelection"));
279                     page.putGlossaryValue("getMySavedSearches", CofaxToolsUtil.getMySavedSearches(db, (String JavaDoc) user.userInfoHash.get("USERID")));
280                     page.putGlossaryValue("getMyLastArticles", CofaxToolsUtil.getMyLastArticles(db, (String JavaDoc) user.workingPubName, (String JavaDoc) user.userInfoHash
281                             .get("USERNAME")));
282                     page.putGlossaryValue("getArticlesToPublish", CofaxToolsUtil.getArticlesToPublish(db, (String JavaDoc) user.workingPubName,
283                             (String JavaDoc) user.userInfoHash.get("USERID")));
284                     page.putGlossaryValue("getMyArticlesLocked", CofaxToolsLockUnlock.getMyArticlesLocked(db, (String JavaDoc) user.workingPubName,
285                             (String JavaDoc) user.userInfoHash.get("USERID")));
286                     includeResource(page, "" + CofaxToolsServlet.templatePath + "selectAction.jsp", req, res, session); // FX :
287
// added
288
// templatePath
289
return ("");
290                 } else {
291                     String JavaDoc selectPublication = CofaxToolsUtil.createSelect("PUBLICATION", user.userPubDescPubIDHash, (String JavaDoc) user.userInfoHash.get("HOMEPUB"));
292                     String JavaDoc pubName = CofaxToolsUtil.getPubDescFromID(db, askingPub);
293                     String JavaDoc message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "noPublicationRights") + " " + pubName;
294                     page.putGlossaryValue("system:message", message);
295                     page.putGlossaryValue("system:highLightTab", "login_change_publication");
296                     page.putGlossaryValue("system:selectPublication", selectPublication);
297                     includeResource(page, "" + CofaxToolsServlet.templatePath + "selectPublication.jsp", // FX :
298
// added
299
// templatePath
300
req, res, session);
301                     return ("");
302                 }
303             }
304             // Fulfill the user's request if the user has managed to delve to
305
// this level.
306
hasPermission = CofaxToolsSecurity.checkPermissions(db, session, mode);
307             if (hasPermission == true) {
308                 HashMap htTime = CofaxToolsUtil.getDateInfo();
309                 int year = Integer.parseInt((String JavaDoc) htTime.get("year"));
310                 int month = Integer.parseInt((String JavaDoc) htTime.get("month"));
311                 int day = Integer.parseInt((String JavaDoc) htTime.get("day"));
312                 int hour = Integer.parseInt((String JavaDoc) htTime.get("hour"));
313                 int minute = Integer.parseInt((String JavaDoc) htTime.get("minute"));
314                 int second = Integer.parseInt((String JavaDoc) htTime.get("second"));
315                 String JavaDoc amPm = (String JavaDoc) htTime.get("amPm");
316                 CofaxToolsUser user = (CofaxToolsUser) session.getAttribute("user");
317                 if (mode.equals("login_change_publication")) {
318                     if (user.userPubDescPubIDHash == null) {
319                         System.err.println("user.userPubDescPubIDHash NULL");
320                     }
321                     String JavaDoc selectPublication = CofaxToolsUtil.createSelect("PUBLICATION", user.userPubDescPubIDHash, (String JavaDoc) user.userInfoHash.get("HOMEPUB"));
322                     page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "choosepublication"));
323                     page.putGlossaryValue("system:highLightTab", "admin");
324                     page.putGlossaryValue("system:selectPublication", selectPublication);
325                     includeResource(page, "" + CofaxToolsServlet.templatePath + "selectPublication.jsp", // FX :
326
// added
327
// templatePath
328
req, res, session);
329                     return ("");
330                 } else if ((mode.equals("admin")) || (mode.equals("admin_clear_cache")) || (mode.equals("admin_reset_servlet"))
331                         || (mode.equals("admin_update_lifecycles"))) {
332                     if (mode.equals("admin_clear_cache")) {
333                         // CofaxToolsServlet.dataStore.clearPackageCache();
334
CofaxToolsServlet.dataStore.clearCache(DataStore.PACKAGE_TAG_RESULTS);
335                         CofaxToolsServlet.dataStore.clearCache(DataStore.CLOB_COLUMNS);
336                         CofaxToolsUtil.log("CofaxToolsNavigation navigate: Clearing database cache hash from admin_clear_cache.");
337                         page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "cacheCleared"));
338                     } else if (mode.equals("admin_reset_servlet")) {
339                         boolean reset = CofaxToolsUtil.resetServlet(db);
340                         page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "servletReset"));
341                     } else if (mode.equals("admin_update_lifecycles")) {
342                         CofaxToolsLifeCycle lf = new CofaxToolsLifeCycle();
343                         String JavaDoc rt = lf.updatePublication(db, user.workingPubName);
344                         int x1 = lf.count_articles_disabled;
345                         int x2 = lf.count_articles_enabled;
346                         page.putGlossaryValue("system:message", x1 + " articles disabled and " + x2 + " articles enabled for publication '"
347                                 + user.workingPubName + "'.");
348                     } else {
349                         page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_chooseadminoption"));
350                     }
351
352                     // *********************
353
// list external modules
354
// *********************
355
CofaxToolsUtil.log("Testing external ressources");
356                     HashMap htModules = new HashMap();
357                     String JavaDoc tagModules = "select * from tblmodules where enabled=1";
358                     List listModules = CofaxToolsDbUtils.getPackageData(db, htModules, tagModules);
359                     StringBuffer JavaDoc sbModules = new StringBuffer JavaDoc();
360                     while (listModules.size() > 0) {
361                         HashMap hashModules = (HashMap) listModules.get(0);
362                         String JavaDoc moduleModeInit = (String JavaDoc) hashModules.get("MODULEMODEINIT");
363                         String JavaDoc moduleName = (String JavaDoc) hashModules.get("MODULENAME");
364                         sbModules.append("<li><a HREF='?mode=" + moduleModeInit + "'>" + moduleName + "</a>");
365                         listModules.remove(0);
366                     }
367                     page.putGlossaryValue("system:modulesList", sbModules.toString());
368
369                     page.putGlossaryValue("system:highLightTab", "admin");
370                     includeResource(page, "" + CofaxToolsServlet.templatePath + "admin.jsp", // FX :
371
// added
372
// templatePath
373
req, res, session);
374                     return ("");
375                 } else if ((mode.equals("admin_edit_user")) || (mode.equals("admin_get_user_info")) || (mode.equals("admin_set_user_info"))) {
376
377                     String JavaDoc limit = (String JavaDoc) req.getParameter("limit");
378                     if ((limit != null) && (!(limit.equals("")))) {
379                         page.putGlossaryValue("request:limit", limit);
380                     } else {
381                         limit = "";
382                     }
383
384                     HashMap ht = null;
385                     String JavaDoc selectUser = "";
386                     String JavaDoc checkBoxGroupsTable = "";
387                     HashMap htGroups = CofaxToolsUtil.getGroups(db, session);
388                     String JavaDoc selectPublication = "";
389                     String JavaDoc message = "";
390                     if (mode.equals("admin_get_user_info")) {
391                         String JavaDoc userID = req.getParameter("selectUser");
392                         ht = CofaxToolsUtil.getUserInfo(db, userID);
393                         message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "youreediting") + ht.get("FIRSTNAME") + " " + ht.get("LASTNAME");
394                         selectUser = CofaxToolsUtil.getUsersSelect(db, session, userID);
395                         Vector v = CofaxToolsUtil.getUserGroups(db, userID);
396                         checkBoxGroupsTable = CofaxToolsUtil.createCheckBoxTable(htGroups, v, "group");
397                         selectPublication = CofaxToolsUtil.getPublicationSelectID(db, session, (String JavaDoc) ht.get("HOMEPUB"), "PUBLICATION");
398                         ht.put("getRightSectionCheckboxTable", CofaxToolsUtil.getRightSectionCheckboxTable(db, userID, (String JavaDoc) user.workingPubName, limit));
399                     } else if (mode.equals("admin_edit_user")) {
400                         ht = new HashMap();
401                         selectUser = CofaxToolsUtil.getUsersSelect(db, session);
402                         checkBoxGroupsTable = CofaxToolsUtil.createCheckBoxTable(htGroups, "group");
403                         selectPublication = CofaxToolsUtil.getPublicationSelectID(db, session, "PUBLICATION");
404                         message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_edituser");
405                     } else if (mode.equals("admin_set_user_info")) {
406                         ht = new HashMap();
407                         message = CofaxToolsUser.setUserInfo(db, req);
408                         CofaxToolsServlet.dataStore.clearCache(DataStore.PACKAGE_TAG_RESULTS);
409                         CofaxToolsServlet.dataStore.clearCache(DataStore.CLOB_COLUMNS);
410                         selectUser = CofaxToolsUtil.getUsersSelect(db, session);
411                         checkBoxGroupsTable = CofaxToolsUtil.createCheckBoxTable(htGroups, "group");
412                         selectPublication = CofaxToolsUtil.getPublicationSelectID(db, session, "PUBLICATION");
413                         CofaxToolsUtil.log("CofaxToolsNavigation navigate: Clearing database cache hash from admin_set_user_info.");
414
415                     }
416                     ht.put("selectUser", selectUser);
417                     ht.put("checkBoxGroupsTable", checkBoxGroupsTable);
418                     ht.put("selectPublication", selectPublication);
419                     ht.put("message", message);
420                     page.addToGlossary(ht);
421                     page.putGlossaryValue("system:message", message);
422                     page.putGlossaryValue("system:highLightTab", "admin");
423                     includeResource(page, "" + CofaxToolsServlet.templatePath + "editUser.jsp", req, res, session); // FX :
424
// added
425
// templatePath
426
return ("");
427
428                 } else if ((mode.equals("admin_get_mycount")) || (mode.equals("admin_set_mycount")) || (mode.equals("article_search_delete"))) {
429                     HashMap ht = null;
430                     String JavaDoc selectUser = "";
431                     String JavaDoc checkBoxGroupsTable = "";
432                     HashMap htGroups = CofaxToolsUtil.getGroups(db, session);
433                     String JavaDoc selectPublication = "";
434                     String JavaDoc message = "";
435                     if ((mode.equals("admin_get_mycount")) || (mode.equals("article_search_delete"))) {
436
437                         String JavaDoc userID = (String JavaDoc) user.userInfoHash.get("USERID");
438                         if (mode.equals("article_search_delete")) {
439                             message = CofaxToolsUser.deleteSavedSearch(db, req);
440                             ht = CofaxToolsUtil.getUserInfo(db, userID);
441                             ht.put("message", message);
442                         }
443                         if (mode.equals("admin_get_mycount")) {
444                             ht = CofaxToolsUtil.getUserInfo(db, userID);
445                             message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "youreediting") + " " + ht.get("FIRSTNAME") + " " + ht.get("LASTNAME");
446                             ht.put("message", message);
447                         }
448                         selectUser = CofaxToolsUtil.getUsersSelect(db, session, userID);
449                         Vector v = CofaxToolsUtil.getUserGroups(db, userID);
450                         checkBoxGroupsTable = CofaxToolsUtil.createCheckBoxTable(htGroups, v, "group");
451                         selectPublication = CofaxToolsUtil.getPublicationSelectID(db, session, (String JavaDoc) ht.get("HOMEPUB"), "PUBLICATION");
452                         ht = CofaxToolsUtil.convertBooleanToChecked(ht, "USEHTMLEDITOR");
453                         ht.put("selectPublication", selectPublication);
454                         page.addToGlossary(ht);
455                         page.putGlossaryValue("system:message", message);
456                         page.putGlossaryValue("getMySavedSearches", CofaxToolsUtil.getMySavedSearches(db, userID));
457                         page.putGlossaryValue("getMyLastArticles", CofaxToolsUtil.getMyLastArticles(db, (String JavaDoc) user.workingPubName,
458                                 (String JavaDoc) user.userInfoHash.get("USERNAME")));
459                         page.putGlossaryValue("getArticlesToPublish", CofaxToolsUtil.getArticlesToPublish(db, (String JavaDoc) user.workingPubName, userID));
460                         page.putGlossaryValue("getMyArticlesLocked", CofaxToolsLockUnlock.getMyArticlesLocked(db, (String JavaDoc) user.workingPubName,
461                                 (String JavaDoc) user.userInfoHash.get("USERID")));
462                         page.putGlossaryValue("system:highLightTab", "admin");
463                         includeResource(page, "" + CofaxToolsServlet.templatePath + "editMyCount.jsp", req, res, session); // FX :
464
// added
465
// templatePath
466

467                     } else if (mode.equals("admin_set_mycount")) {
468                         ht = new HashMap();
469                         message = CofaxToolsUser.setMyCountInfo(db, req);
470                         CofaxToolsServlet.dataStore.clearCache(DataStore.PACKAGE_TAG_RESULTS);
471                         CofaxToolsServlet.dataStore.clearCache(DataStore.CLOB_COLUMNS);
472                         selectPublication = CofaxToolsUtil.getPublicationSelectID(db, session, "PUBLICATION");
473                         CofaxToolsUtil.log("CofaxToolsNavigation navigate: Clearing database cache hash from admin_set_user_info.");
474                         ht.put("message", message);
475                         page.addToGlossary(ht);
476                         page.putGlossaryValue("system:message", message);
477                         page.putGlossaryValue("system:highLightTab", "admin");
478                         page.putGlossaryValue("getMySavedSearches", CofaxToolsUtil.getMySavedSearches(db, (String JavaDoc) user.userInfoHash.get("USERID")));
479                         page.putGlossaryValue("getMyLastArticles", CofaxToolsUtil.getMyLastArticles(db, (String JavaDoc) user.workingPubName,
480                                 (String JavaDoc) user.userInfoHash.get("USERNAME")));
481                         page.putGlossaryValue("getArticlesToPublish", CofaxToolsUtil.getArticlesToPublish(db, (String JavaDoc) user.workingPubName,
482                                 (String JavaDoc) user.userInfoHash.get("USERID")));
483                         page.putGlossaryValue("getMyArticlesLocked", CofaxToolsLockUnlock.getMyArticlesLocked(db, (String JavaDoc) user.workingPubName,
484                                 (String JavaDoc) user.userInfoHash.get("USERID")));
485                         includeResource(page, "" + CofaxToolsServlet.templatePath + "selectAction.jsp", req, res, session); // FX :
486
// added
487
// templatePath
488
}
489                     return ("");
490
491                 } else if ((mode.equals("admin_edit_groups")) || (mode.equals("admin_get_group_info")) || (mode.equals("admin_set_group_info"))) {
492
493                     HashMap ht = null;
494                     String JavaDoc selectGroup = "";
495                     String JavaDoc selectGroupType = "";
496                     String JavaDoc multipleSelectPublicationsTable = "";
497                     String JavaDoc multipleSelectNonPublicationsTable = "";
498                     String JavaDoc message = "";
499                     if (mode.equals("admin_get_group_info")) {
500                         String JavaDoc groupID = req.getParameter("selectGroup");
501                         selectGroup = CofaxToolsUtil.getGroupsSelectID(db, groupID, session);
502                         ht = CofaxToolsUtil.getGroupInfo(db, groupID);
503                         ht = CofaxToolsUtil.escapeHTML(ht);
504                         selectGroupType = CofaxToolsUtil.getGroupTypesSelectID(db, (String JavaDoc) ht.get("GROUPTYPE"));
505                         HashMap selectedPublications = CofaxToolsUtil.getGroupsPublications(db, groupID);
506                         multipleSelectPublicationsTable = CofaxToolsUtil.createMultipleSelect("selectedPublications", selectedPublications, 5);
507
508                         HashMap nonSelectPubs = CofaxToolsUtil.getGroupsNonPublications(db, groupID);
509                         multipleSelectNonPublicationsTable = CofaxToolsUtil.createMultipleSelect("nonSelectPubs", nonSelectPubs, 5);
510                         message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "youreediting") + " " + ht.get("GROUPNAME");
511                     } else if (mode.equals("admin_edit_groups")) {
512                         ht = new HashMap();
513                         selectGroup = CofaxToolsUtil.getGroupsSelectID(db, session);
514                         selectGroupType = CofaxToolsUtil.getGroupTypesSelectID(db);
515                         HashMap temp = new HashMap();
516                         multipleSelectPublicationsTable = CofaxToolsUtil.createMultipleSelect("selectedPublications", temp, 5);
517                         HashMap publications = CofaxToolsUtil.getPublications(db);
518                         multipleSelectNonPublicationsTable = CofaxToolsUtil.createMultipleSelect("nonSelectPubs", publications, 5);
519                         message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "edit_groups_message");
520                     }
521                     if (mode.equals("admin_set_group_info")) {
522                         message = CofaxToolsDbUtils.setGroupInfo(db, req);
523                         CofaxToolsServlet.dataStore.clearCache(DataStore.PACKAGE_TAG_RESULTS);
524                         CofaxToolsServlet.dataStore.clearCache(DataStore.CLOB_COLUMNS);
525                         selectGroup = CofaxToolsUtil.getGroupsSelectID(db, session);
526                         ht = new HashMap();
527                         selectGroupType = CofaxToolsUtil.getGroupTypesSelectID(db);
528                         HashMap temp = new HashMap();
529                         multipleSelectPublicationsTable = CofaxToolsUtil.createMultipleSelect("selectedPublications", temp, 5);
530                         HashMap publications = CofaxToolsUtil.getPublications(db);
531                         multipleSelectNonPublicationsTable = CofaxToolsUtil.createMultipleSelect("nonSelectPubs", publications, 5);
532
533                     }
534                     String JavaDoc limit = (String JavaDoc) req.getParameter("limit");
535                     if ((limit != null) && (!(limit.equals("")))) {
536                         page.putGlossaryValue("request:limit", limit);
537                     }
538
539                     ht.put("selectGroup", selectGroup);
540                     ht.put("selectGroupType", selectGroupType);
541                     ht.put("multipleSelectPublicationsTable", multipleSelectPublicationsTable);
542                     ht.put("multipleSelectNonPublicationsTable", multipleSelectNonPublicationsTable);
543                     ht.put("message", message);
544                     page.addToGlossary(ht);
545                     page.putGlossaryValue("system:message", message);
546                     page.putGlossaryValue("system:highLightTab", "admin");
547                     includeResource(page, "" + CofaxToolsServlet.templatePath + "editGroups.jsp", // FX :
548
// added
549
// templatePath
550
req, res, session);
551                     return ("");
552                     // return (CofaxToolsUtil.fillTemplate(req, session,
553
// CofaxToolsServlet.editGroupsFile, ht, true));
554
} else if ((mode.equals("admin_edit_group_types")) || (mode.equals("admin_get_group_type_info")) || (mode.equals("admin_set_group_type_info"))) {
555                     HashMap ht = null;
556                     String JavaDoc selectGroupType = "";
557                     String JavaDoc message = "";
558                     if (mode.equals("admin_get_group_type_info")) {
559                         String JavaDoc groupTypeID = req.getParameter("selectGroupType");
560                         selectGroupType = CofaxToolsUtil.getSelectGroupType(db, groupTypeID);
561                         ht = CofaxToolsUtil.getGroupTypeInfo(db, groupTypeID);
562                         ht = CofaxToolsUtil.escapeHTML(ht);
563                         message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_youareeditinggrouptypeid") + " " + groupTypeID;
564                     } else if (mode.equals("admin_edit_group_types")) {
565                         selectGroupType = CofaxToolsUtil.getSelectGroupType(db);
566                         ht = new HashMap();
567                         message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_createnewgrouptype");
568                     } else if (mode.equals("admin_set_group_type_info")) {
569                         CofaxToolsUtil.log("CofaxToolsNavigation navigate: Clearing database cache hash from admin_set_group_type_info.");
570                         message = CofaxToolsDbUtils.setGroupTypeInfo(db, req);
571                         CofaxToolsServlet.dataStore.clearCache(DataStore.PACKAGE_TAG_RESULTS);
572                         CofaxToolsServlet.dataStore.clearCache(DataStore.CLOB_COLUMNS);
573                         selectGroupType = CofaxToolsUtil.getSelectGroupType(db);
574                         ht = new HashMap();
575                     }
576                     ht.put("selectGroupType", selectGroupType);
577                     ht.put("message", message);
578
579                     page.addToGlossary(ht);
580                     page.putGlossaryValue("system:message", message);
581                     page.putGlossaryValue("system:highLightTab", "admin");
582                     includeResource(page, "" + CofaxToolsServlet.templatePath + "editGroupTypes.jsp", // FX :
583
// added
584
// templatePath
585
req, res, session);
586                     return ("");
587                 } else if ((mode.equals("admin_edit_publication_info")) || (mode.equals("admin_get_publication_info"))
588                         || (mode.equals("admin_set_publication_info"))) {
589
590                     String JavaDoc message = "";
591                     HashMap ht = null;
592                     String JavaDoc selectPublication = "";
593                     if (mode.equals("admin_get_publication_info")) {
594                         String JavaDoc publication = req.getParameter("PUBLICATION");
595                         ht = CofaxToolsUtil.getPublicationInfo(db, publication);
596                         ht = CofaxToolsUtil.escapeHTML(ht);
597                         selectPublication = CofaxToolsUtil.getPublicationSelectID(db, session, publication, "PUBLICATION");
598                         message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_editingpub") + " " + publication;
599                     } else if (mode.equals("admin_edit_publication_info")) {
600                         ht = new HashMap();
601                         selectPublication = CofaxToolsUtil.getPublicationSelectID(db, session, "PUBLICATION");
602                         message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_createeditpub");
603                     } else if (mode.equals("admin_set_publication_info")) {
604                         message = CofaxToolsDbUtils.setPublicationInfo(db, req);
605                         CofaxToolsUtil.log("CofaxToolsNavigation navigate: Clearing database cache hash from admin_set_publication_info.");
606                         CofaxToolsServlet.dataStore.clearCache(DataStore.PACKAGE_TAG_RESULTS);
607                         CofaxToolsServlet.dataStore.clearCache(DataStore.CLOB_COLUMNS);
608                         ht = new HashMap();
609                         selectPublication = CofaxToolsUtil.getPublicationSelectID(db, session, "PUBLICATION");
610                         String JavaDoc pubID = req.getParameter("PUBID");
611                         String JavaDoc userWorkingPub = user.workingPub;
612                         if (userWorkingPub.equals(pubID)) {
613                             user.setUserWorkingPubConfigElements(db, session, pubID);
614                         }
615                     }
616                     ht.put("selectPublication", selectPublication);
617                     ht.put("message", message);
618                     page.addToGlossary(ht);
619                     page.putGlossaryValue("system:message", message);
620                     page.putGlossaryValue("system:highLightTab", "admin");
621                     includeResource(page, "" + CofaxToolsServlet.templatePath + "editPublication.jsp", // FX :
622
// added
623
// templatePath
624
req, res, session);
625                     return ("");
626                 } else if (mode.equals("admin_log_out")) {
627                     int test = CofaxToolsLockUnlock.unlockArticlesByUserID(db, (String JavaDoc) user.userInfoHash.get("USERID"));
628                     session.removeAttribute("user");
629                     page.putGlossaryValue("system:message", "Welcome to Cofax!");
630                     page.putGlossaryValue("system:highLightTab", "admin_log_out");
631                     includeResource(page, "" + CofaxToolsServlet.templatePath + "login.jsp", // FX :
632
// added
633
// templatePath
634
req, res, session);
635                     return ("");
636                 } else if ((mode.equals("admin_edit_security")) || (mode.equals("admin_set_security"))) {
637
638                     String JavaDoc message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_warneditsecurity");
639
640                     if (mode.equals("admin_set_security")) {
641                         CofaxToolsServlet.dataStore.clearCache(DataStore.PACKAGE_TAG_RESULTS);
642                         CofaxToolsServlet.dataStore.clearCache(DataStore.CLOB_COLUMNS);
643                         CofaxToolsUtil.log("CofaxToolsNavigation navigate: Clearing database cache " + "hash from admin_set_security.");
644                         message = CofaxToolsDbUtils.setSecurity(db, req);
645                         CofaxToolsServlet.dataStore.clearCache(DataStore.PACKAGE_TAG_RESULTS);
646                     }
647                     page.putGlossaryValue("getSecurityCheckboxTable", CofaxToolsUtil.getSecurityCheckboxTable(db));
648                     page.putGlossaryValue("system:message", message);
649                     page.putGlossaryValue("system:highLightTab", "admin");
650                     includeResource(page, "" + CofaxToolsServlet.templatePath + "editSecurity.jsp", // FX :
651
// added
652
// templatePath
653
req, res, session);
654                     return ("");
655
656                 } else if (mode.equals("file_import_file")) {
657
658                     includeResource(page, "" + CofaxToolsServlet.templatePath + "importFile.jsp", // FX :
659
// added
660
// templatePath
661
req, res, session);
662                     return ("");
663
664                 } else if ((mode.equals("articletype_edit_articletype")) || (mode.equals("articletype_get_articletype"))
665                         || (mode.equals("articletype_set_articletype"))) {
666
667                     page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_createeditarticletype"));
668                     if (mode.equals("articletype_get_articletype")) {
669                         String JavaDoc articleType = req.getParameter("selectArticleType");
670                         if (articleType.equals("")) {
671                             page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_editarticletypemessage"));
672                         } else {
673                             page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_youareeditingarticletype") + " "
674                                     + articleType);
675                         }
676                     } else if (mode.equals("articletype_set_articletype")) {
677                         CofaxToolsServlet.dataStore.clearCache(DataStore.PACKAGE_TAG_RESULTS);
678                         CofaxToolsServlet.dataStore.clearCache(DataStore.CLOB_COLUMNS);
679                         CofaxToolsUtil.log("CofaxToolsNavigation navigate: Clearing database cache hash from articletype_set_articletype.");
680                         String JavaDoc message = CofaxToolsDbUtils.setArticleType(db, req);
681                         page.putGlossaryValue("system:message", message);
682                     }
683                     page.putGlossaryValue("system:highLightTab", "admin");
684                     includeResource(page, "" + CofaxToolsServlet.templatePath + "editArticletype.jsp", // FX :
685
// added
686
// templatePath
687
req, res, session);
688                     return ("");
689
690                 } else if ((mode.equals("section_edit_section")) || (mode.equals("section_get_section")) || (mode.equals("section_set_section"))
691                         || (mode.equals("section_add_user"))) {
692
693                     String JavaDoc limitUser = "";
694                     int intLimit = 0;
695
696                     String JavaDoc sectionMappingCode = req.getParameter("sectionMappingCode");
697                     if ((sectionMappingCode == null) || (sectionMappingCode.equals(""))) {
698                         page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_picktoeditsection"));
699                     } else {
700                         // get the limits for showing articles and users
701
String JavaDoc limit = (String JavaDoc) req.getParameter("limit");
702                         if ((limit != null) && (!(limit.equals("")))) {
703                             page.putGlossaryValue("request:limit", limit);
704                         }
705                         limitUser = (String JavaDoc) req.getParameter("limitUser");
706                         if ((limitUser != null) && (!(limitUser.equals("")))) {
707                             page.putGlossaryValue("request:limitUser", limitUser);
708                         } else {
709                             limitUser = "";
710                         }
711                         if (!(limitUser.equals("no")))
712                             limitUser = "";
713
714                         // check if the current user is allowed to edit this
715
// article
716
boolean hp = CofaxToolsSecurity.checkSectionEdition(db, session, sectionMappingCode);
717                         if (!hp) {
718                             hp = CofaxToolsSecurity.checkSectionWriteIn(db, session, sectionMappingCode);
719                             if (hp) {
720                                 includeResource(page, "" + CofaxToolsServlet.templatePath + "viewSection.jsp", req, res, session); // FX :
721
// added
722
// templatePath
723
} else {
724                                 viewSearchPage(page, CofaxToolsUtil.getI18NMessage(req.getLocale(), "editsection_norights"), db, session, req, res, year,
725                                         month, day);
726                             }
727                             return ("");
728                         }
729                         page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_youareeditingmappingcode") + " "
730                                 + sectionMappingCode);
731                     }
732                     if (mode.equals("section_set_section")) {
733                         CofaxToolsServlet.dataStore.clearCache(DataStore.PACKAGE_TAG_RESULTS);
734                         CofaxToolsServlet.dataStore.clearCache(DataStore.CLOB_COLUMNS);
735                         CofaxToolsUtil.log("CofaxToolsNavigation navigate: Clearing database cache hash from section_set_section.");
736                         String JavaDoc message = CofaxToolsDbUtils.setSection(db, req, session, (String JavaDoc) user.userInfoHash.get("USERID"));
737                         page.putGlossaryValue("system:message", message);
738                         String JavaDoc deleteSection = req.getParameter("DELETESECTION");
739                         if (deleteSection != null && deleteSection.equals("on")) {
740                             viewSearchPage(page, message, db, session, req, res, year, month, day);
741                             return ("");
742                         }
743
744                     }
745                     if (mode.equals("section_add_user")) {
746                         CofaxToolsServlet.dataStore.clearCache(DataStore.PACKAGE_TAG_RESULTS);
747                         CofaxToolsServlet.dataStore.clearCache(DataStore.CLOB_COLUMNS);
748                         page.putGlossaryValue("system:message", CofaxToolsUtil.addUserSection(db, req));
749                         page.putGlossaryValue("sectionMappingCode", (String JavaDoc) req.getParameter("sectionMappingCode"));
750                     }
751
752                     // check if the admin is national and allow them to see all
753
// pubs if so
754
boolean hasRightToEditUsers = CofaxToolsSecurity.checkPermissions(db, session, "admin_set_user_info");
755                     page.putGlossaryValue("isAdministrator", hasRightToEditUsers + "");
756                     page.putGlossaryValue("getSelectSections", CofaxToolsUtil.getSelectSections(db, (String JavaDoc) user.userInfoHash.get("USERID"),
757                             user.workingPubName, sectionMappingCode));
758                     page.putGlossaryValue("getsectionManagerTableDir", CofaxToolsUtil.getsectionManagerTable(db, 1, sectionMappingCode, hasRightToEditUsers,
759                             limitUser));
760                     page.putGlossaryValue("getsectionManagerTableAcc", CofaxToolsUtil.getsectionManagerTable(db, 0, sectionMappingCode, hasRightToEditUsers,
761                             limitUser));
762                     page.putGlossaryValue("getSectionOtherUsersTableDir", CofaxToolsUtil.getSectionOtherUsersTable(db, 1, sectionMappingCode, limitUser));
763                     page.putGlossaryValue("getSectionOtherUsersTableAcc", CofaxToolsUtil.getSectionOtherUsersTable(db, 0, sectionMappingCode, limitUser));
764                     page.putGlossaryValue("system:highLightTab", "section_edit_section");
765                     includeResource(page, "" + CofaxToolsServlet.templatePath + "editSection.jsp", req, res, session);// FX :
766
// added
767
// templatePath
768
return ("");
769
770                 } else if ((mode.equals("section_order_section")) || (mode.equals("section_get_order_section")) || (mode.equals("section_set_order_section"))) {
771                     String JavaDoc message = "";
772                     HashMap ht = new HashMap();
773                     String JavaDoc showNumPreOrdersNum = "";
774                     String JavaDoc showNumPreOrders = "";
775                     ArrayList tempSelectMappingsMultiplePublications = (ArrayList) CofaxToolsUtil.getSelectMappingsMultiplePublicationsArrayList(db, "** "
776                             + CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_selectmappingsection") + " **", session);
777                     String JavaDoc selectMappingsMultiplePublications = "";
778                     String JavaDoc selectStartDate = "";
779                     String JavaDoc selectEndDate = "";
780                     String JavaDoc selectResults = "";
781                     if (mode.equals("section_get_order_section")) {
782                         showNumPreOrdersNum = req.getParameter("showNumPreOrders");
783                         String JavaDoc mapping = req.getParameter("mapping");
784                         if ((mapping == null) || (mapping.equals(""))) {
785                             message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_preordererror");
786                             showNumPreOrdersNum = "00";
787                         } else {
788                             message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_ordermappingcode") + " " + mapping;
789                         }
790                         showNumPreOrders = CofaxToolsUtil.createShowPreOrderSelect("showNumPreOrders", showNumPreOrdersNum);
791                         String JavaDoc orderSectionComboBox = CofaxToolsUtil.getOrderSectionComboBox(db, user.workingPubName, session, req, showNumPreOrdersNum);
792                         if (orderSectionComboBox.length() > 300) {
793                             ht.put("saveOrderSection", "<INPUT TYPE=SUBMIT VALUE=\"Save Section Order\">");
794                         }
795                         ht.put("orderSectionComboBox", orderSectionComboBox);
796                         selectMappingsMultiplePublications = CofaxToolsUtil.createSelect("mapping", tempSelectMappingsMultiplePublications, mapping);
797                         selectStartDate = CofaxToolsUtil.getSelectDate("selectStartDate", Integer.parseInt(req.getParameter("selectStartDateyear")), Integer
798                                 .parseInt(req.getParameter("selectStartDatemonth")), Integer.parseInt(req.getParameter("selectStartDateday")));
799                         selectEndDate = CofaxToolsUtil.getSelectDate("selectEndDate", Integer.parseInt(req.getParameter("selectEndDateyear")), Integer
800                                 .parseInt(req.getParameter("selectEndDatemonth")), Integer.parseInt(req.getParameter("selectEndDateday")));
801                         String JavaDoc results = req.getParameter("results");
802                         selectResults = CofaxToolsUtil.getSelectOrderSectionResults(results);
803
804                     } else if (mode.equals("section_order_section")) {
805                         message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_selectsectiondropdown");
806                         showNumPreOrdersNum = "10";
807                         showNumPreOrders = CofaxToolsUtil.createShowPreOrderSelect("showNumPreOrders", "10");
808                         selectMappingsMultiplePublications = CofaxToolsUtil.createSelect("mapping", tempSelectMappingsMultiplePublications);
809                         selectStartDate = CofaxToolsUtil.getSelectDate("selectStartDate", year, month, day);
810                         selectEndDate = CofaxToolsUtil.getSelectDate("selectEndDate", year, month, day);
811                         selectResults = CofaxToolsUtil.getSelectOrderSectionResults("");
812                     } else if (mode.equals("section_set_order_section")) {
813                         showNumPreOrdersNum = "10";
814                         showNumPreOrders = CofaxToolsUtil.createShowPreOrderSelect("showNumPreOrders", showNumPreOrdersNum);
815                         String JavaDoc mapTo = req.getParameter("mapTo");
816                         message = "";
817                         if ((mapTo == null) || (mapTo.equals(""))) {
818                             message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_nomappingcode");
819                         } else {
820                             message = CofaxToolsDbUtils.setOrderSection(db, req);
821                         }
822                         showNumPreOrders = CofaxToolsUtil.createShowPreOrderSelect("showNumPreOrders", "10");
823                         selectMappingsMultiplePublications = CofaxToolsUtil.createSelect("mapping", tempSelectMappingsMultiplePublications);
824                         selectStartDate = CofaxToolsUtil.getSelectDate("selectStartDate", year, month, day);
825                         selectEndDate = CofaxToolsUtil.getSelectDate("selectEndDate", year, month, day);
826                         selectResults = CofaxToolsUtil.getSelectOrderSectionResults("");
827                     }
828                     ht.put("showNumPreOrders", showNumPreOrders);
829                     ht.put("selectMappingsMultiplePublications", selectMappingsMultiplePublications);
830                     ht.put("selectStartDate", selectStartDate);
831                     ht.put("selectEndDate", selectEndDate);
832                     ht.put("selectResults", selectResults);
833                     ht.put("message", message);
834                     page.addToGlossary(ht);
835                     page.putGlossaryValue("system:message", message);
836                     page.putGlossaryValue("system:highLightTab", "section_order_section");
837                     includeResource(page, "" + CofaxToolsServlet.templatePath + "orderSection.jsp", req, res, session);// FX :
838
// added
839
// templatePath
840
return ("");
841
842                 } else if ((mode.equals("article_search_article")) || (mode.equals("article_search_for_articles")) || (mode.equals("article_set_article"))
843                         || (mode.equals("article_set_article_and_preview"))) {
844
845                     boolean preview = false;
846                     if (mode.equals("article_set_article_and_preview")) {
847                         preview = true;
848                         mode = "article_set_article";
849                     }
850                     HashMap ht = new HashMap();
851                     String JavaDoc message = "";
852                     message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_clicksearcharticles");
853                     String JavaDoc selectSavedSearches = CofaxToolsUtil.getSelectSavedSearches(db, session);
854                     ht.put("selectSavedSearches", selectSavedSearches);
855                     String JavaDoc searchSelectCombo = CofaxToolsUtil.getSearchSelectCombo(req);
856                     ht.put("searchSelectCombo", searchSelectCombo);
857                     String JavaDoc selectMultipleMultiplePublication = CofaxToolsUtil.getSelectMultipleMultiplePublication(session, 5, req);
858                     ht.put("selectMultipleMultiplePublication", selectMultipleMultiplePublication);
859                     String JavaDoc selectCategoriesMultiplePublications = CofaxToolsUtil.getSelectCategoriesMultiplePublications(db, session, req);
860                     ht.put("selectCategoriesMultiplePublications", selectCategoriesMultiplePublications);
861                     ArrayList tempSelectMappingsMultiplePublications = (ArrayList) CofaxToolsUtil.getSelectMappingsMultiplePublicationsArrayList(db, "** "
862                             + CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_allmappings") + " **", session);
863                     String JavaDoc selectMappingsMultiplePublications = "";
864                     if (mode.equals("article_set_article")) {
865                         message = CofaxToolsDbUtils.setArticle(db, req, session, "0");
866                         String JavaDoc deleteArticle = (String JavaDoc) req.getAttribute("DELETEARTICLE");
867                         if (deleteArticle != null && deleteArticle.equals("on")) {
868                             viewSearchPage(page, message, db, session, req, res, year, month, day);
869                             return ("");
870                         }
871                     }
872                     if (mode.equals("article_search_for_articles")) {
873                         message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_returnedsearches");
874                         String JavaDoc results = CofaxToolsUtil.searchArticles(db, req);
875                         ht.put("results", results);
876                         String JavaDoc mappingPref = "";
877                         String JavaDoc from = req.getParameter("from");
878                         if ((from != null) && (from.equals("savedSearch"))) {
879                             mappingPref = req.getParameter("SECTION");
880                         }
881                         selectMappingsMultiplePublications = CofaxToolsUtil.createSelect("mapping", tempSelectMappingsMultiplePublications, mappingPref);
882                     } else {
883                         selectMappingsMultiplePublications = CofaxToolsUtil.createSelect("mapping", tempSelectMappingsMultiplePublications);
884                     }
885
886                     ht.put("selectMappingsMultiplePublications", selectMappingsMultiplePublications);
887
888                     String JavaDoc startSelectDate = CofaxToolsUtil.getSelectDate("startDate", year, month, day);
889                     ht.put("startSelectDate", startSelectDate);
890                     String JavaDoc stopSelectDate = CofaxToolsUtil.getSelectDate("stopDate", year, month, day);
891                     ht.put("stopSelectDate", stopSelectDate);
892                     String JavaDoc linkFunction = req.getParameter("linkFunction");
893                     if (linkFunction != null) {
894                         ht.put("linkFunction", linkFunction);
895                     }
896                     String JavaDoc callingFormPortion = req.getParameter("callingFormPortion");
897                     if (callingFormPortion != null) {
898                         ht.put("callingFormPortion", callingFormPortion);
899                     }
900
901                     if (mode.equals("article_set_article")) {
902                         try {
903                             String JavaDoc urlRedi = "?mode=article_edit_article_by_itemID&hl=article_create_article&ITEMID=" + req.getAttribute("itemID")
904                                     + "&message=" + message;
905                             if (preview)
906                                 urlRedi = urlRedi + "&preview=1";
907                             res.sendRedirect(urlRedi);
908                         } catch (IOException e) {
909                         }
910                     } else {
911                         page.addToGlossary(ht);
912                         viewSearchPage(page, message, db, session, req, res, year, month, day);
913                     }
914                     return ("");
915
916                 } else if ((mode.equals("article_set_article_and_validate")) || (mode.equals("article_set_article_and_publish"))) {
917
918                     HashMap ht = new HashMap();
919                     String JavaDoc message = "";
920                     if (mode.equals("article_set_article_and_validate")) {
921                         message = CofaxToolsWorkflow.validateArticle(db, req, session);
922                     }
923
924                     if (mode.equals("article_set_article_and_publish")) {
925                         message = CofaxToolsWorkflow.publishArticle(db, req, session);
926                     }
927
928                     page.addToGlossary(ht);
929
930                     // viewSearchPage(page, message, db, session, req, res,
931
// year, month, day);
932
// FX : modification pour rédiriger sur l'article quand on
933
// publie.
934
try {
935                         String JavaDoc urlRedi = "?mode=article_edit_article_by_itemID&hl=article_create_article&ITEMID=" + req.getAttribute("itemID") + "&message="
936                                 + message;
937                         res.sendRedirect(urlRedi);
938                     } catch (IOException e) {
939                     }
940
941                     return ("");
942
943                 } else if (mode.equals("search_save_search")) {
944                     String JavaDoc message = CofaxToolsUtil.saveSearch(db, session, req);
945                     page.putGlossaryValue("system:message", message);
946                     includeResource(page, "" + CofaxToolsServlet.templatePath + "savedSearch.jsp", req, res, session);// FX :
947
// added
948
// templatePath
949
return ("");
950                 } else if (mode.equals("article_preview_article")) {
951                     HashMap fillReq = new HashMap();
952                     String JavaDoc itemID = (String JavaDoc) req.getParameter("ITEMID");
953                     HashMap glossary = CofaxToolsPreview.initglossary(itemID, db, req);
954                     try {
955                         CofaxToolsPreview.preview(glossary, res);
956                     } catch (Exception JavaDoc e) {
957                         System.err.println("[ERROR] exception occured : " + e);
958                     }
959                     return ("");
960
961                 } else if ((mode.equals("article_create_article")) || (mode.equals("file_get_import_file")) || (mode.equals("article_edit_article_by_itemID"))) {
962                     HashMap ht = null;
963                     String JavaDoc message = "";
964                     if (req.getParameter("message") != null)
965                         message = req.getParameter("message") + "<br>";
966                     String JavaDoc currentPubName = CofaxToolsUtil.getPubNameFromID(db, user.workingPub);
967                     String JavaDoc mappingCodesRankComboTable = "";
968                     String JavaDoc selectDate = "";
969                     String JavaDoc selectArticleType = "";
970                     String JavaDoc selectArticleSection = "";
971                     String JavaDoc relatedLinksComboBox = "";
972                     String JavaDoc multiMediaComboBox = "";
973                     HashMap htTemp = new HashMap();
974                     int storyYear = year;
975                     int storyMonth = month;
976                     int storyDay = day;
977                     if (mode.equals("file_get_import_file")) {
978                         ht = new HashMap();
979                         String JavaDoc fileName = req.getParameter("importFile");
980                         String JavaDoc body = "";
981                         if ((fileName == null) || (fileName.equals(""))) {
982                             // We have an error condition, return back to page
983
// and report the blank
984
// file name.
985
includeResource(page, "" + CofaxToolsServlet.templatePath + "importFile.jsp?sub_mode=blank_file_name", // FX :
986
// added
987
// templatePath
988
req, res, session);
989                             return ("");
990                         } else if ((fileName.indexOf("LOCAL##!##") == -1)) {
991                             body = CofaxToolsFTP.getImportFileBody(fileName, session);
992                         } else {
993                             fileName = fileName.substring(10);
994                             String JavaDoc localFileName = CofaxToolsServlet.contextPath + CofaxToolsUtil.getI18NMessage(req.getLocale(), "import") + File.separator
995                                     + fileName;
996                             body = CofaxToolsUtil.readFile(localFileName);
997                         }
998                         int extension = fileName.indexOf(".");
999                         if (extension > -1) {
1000                            String JavaDoc shortFileName = fileName.substring(0, extension);
1001                            ht.put("FILENAME", shortFileName);
1002                        }
1003                        ht.put("BODY", body);
1004                        selectArticleType = CofaxToolsUtil.getSelectArticleTypeNew(db, currentPubName, "ARTICLETYPE");
1005                        selectArticleSection = CofaxToolsUtil.getSelectArticleSection(db, currentPubName, "SECTION", (String JavaDoc) user.userInfoHash.get("USERID"));
1006                        relatedLinksComboBox = CofaxToolsUtil.getRelatedLinksComboBox(db);
1007                        List l = new ArrayList();
1008                        multiMediaComboBox = CofaxToolsUtil.getMultiMediaComboBox(db, l, "", session, "");
1009
1010                    } else if (mode.equals("article_edit_article_by_itemID")) {
1011                        String JavaDoc itemID = req.getParameter("ITEMID");
1012                        // test if this article is already locked
1013
int testLock = CofaxToolsLockUnlock.testLockArticle(db, (String JavaDoc) user.userInfoHash.get("USERID"), itemID);
1014                        if (testLock == 0) {
1015                            String JavaDoc mail = CofaxToolsLockUnlock.getMailLockedArticle(db, itemID);
1016                            page.putGlossaryValue("system:message", "<font color=red>itemID:" + itemID + " - "
1017                                    + CofaxToolsUtil.getI18NMessage(req.getLocale(), "myaccount_articlelocked") + ": <a HREF='mailto:" + mail + "'>" + mail
1018                                    + "</a></font>");
1019                            includeResource(page, "" + CofaxToolsServlet.templatePath + "selectAction.jsp", req, res, session); // FX :
1020
// added
1021
// templatePath
1022
return ("");
1023                        }
1024
1025                        ht = CofaxToolsUtil.getArticleInfoByItemID(db, itemID, session);
1026                        ht = CofaxToolsUtil.escapeHTML(ht);
1027                        String JavaDoc preview = req.getParameter("preview");
1028                        if (preview != null)
1029                            ht.put("preview", preview);
1030                        String JavaDoc pubName = (String JavaDoc) ht.get("PUBNAME");
1031                        if ((pubName == null) || (pubName.equals(""))) {
1032                            message = message + CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_getarticleerror") + itemID + "."
1033                                    + CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_selectotheraction");
1034                            ht.put("message", message);
1035                            page.addToGlossary(ht);
1036                            page.putGlossaryValue("system:message", message);
1037                            page.putGlossaryValue("system:highLightTab", "article_create_article");
1038                            includeResource(page, "" + CofaxToolsServlet.templatePath + "selectAction.jsp", // FX :
1039
// added
1040
// templatePath
1041
req, res, session);
1042                            return ("");
1043
1044                        }
1045
1046                        // check if the current user can is allowed to edit this
1047
// article
1048
boolean hp = CofaxToolsSecurity.checkArticleEdition(db, session, itemID);
1049                        if (!hp) {
1050                            viewSearchPage(page, CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_notallowededitarticle"), db, session, req, res, year,
1051                                    month, day);
1052                            return ("");
1053                        }
1054
1055                        String JavaDoc pubID = CofaxToolsUtil.getPubIDFromName(db, pubName);
1056                        if (!user.workingPub.equals(pubID)) {
1057                            user.setUserWorkingPubConfigElements(db, session, pubID);
1058                            message = (CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_workingpubchanged") + pubName + ".");
1059                            ht.put("message", message);
1060                        } else {
1061                            message = message + CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_youareeditingarticle") + " '"
1062                                    + (String JavaDoc) ht.get("FILENAME") + "'";
1063                            ht.put("message", message);
1064                        }
1065                        ht = CofaxToolsUtil.convertBooleanToChecked(ht, "DISABLEARTICLE");
1066                        ht = CofaxToolsUtil.convertBooleanToChecked(ht, "DISABLEINDEX");
1067                        String JavaDoc section = (String JavaDoc) ht.get("SECTION");
1068                        htTemp = CofaxToolsUtil.getArticleMappingsAndRankByItemID(db, itemID, section, pubName);
1069                        String JavaDoc pubDate = (String JavaDoc) ht.get("PUBDATE");
1070                        String JavaDoc currentPubDate = CofaxToolsUtil.sqlDateToCofaxDate(pubDate);
1071                        Iterator dates = CofaxUtil.split("/", currentPubDate).iterator();
1072                        storyYear = Integer.parseInt(dates.next().toString());
1073                        storyMonth = Integer.parseInt(dates.next().toString());
1074                        storyDay = Integer.parseInt(dates.next().toString());
1075                        selectArticleType = CofaxToolsUtil.getSelectArticleTypeNew(db, currentPubName, "ARTICLETYPE", (String JavaDoc) ht.get("ARTICLETYPE"));
1076                        selectArticleSection = CofaxToolsUtil.getSelectArticleSection(db, currentPubName, "SECTION", (String JavaDoc) user.userInfoHash.get("USERID"),
1077                                (String JavaDoc) ht.get("SECTION"));
1078                        relatedLinksComboBox = CofaxToolsUtil.getRelatedLinksComboBox(db, itemID);
1079                        List l = CofaxToolsUtil.getRelatedMultiMediaByItemID(db, itemID);
1080                        multiMediaComboBox = CofaxToolsUtil.getMultiMediaComboBox(db, l, pubDate, session, itemID);
1081                    } else if (mode.equals("article_create_article")) {
1082                        ht = new HashMap();
1083                        selectArticleType = CofaxToolsUtil.getSelectArticleTypeNew(db, currentPubName, "ARTICLETYPE");
1084                        String JavaDoc section = req.getParameter("section");
1085                        if ((section != null) && (!(section.equals("")))) {
1086                            ht.put("SECTION", section);
1087                            selectArticleSection = CofaxToolsUtil.getSelectArticleSection(db, currentPubName, "SECTION", (String JavaDoc) user.userInfoHash
1088                                    .get("USERID"), section);
1089                        } else {
1090                            selectArticleSection = CofaxToolsUtil.getSelectArticleSection(db, currentPubName, "SECTION", (String JavaDoc) user.userInfoHash
1091                                    .get("USERID"));
1092                        }
1093                        relatedLinksComboBox = CofaxToolsUtil.getRelatedLinksComboBox(db);
1094                        List l = new ArrayList();
1095                        multiMediaComboBox = CofaxToolsUtil.getMultiMediaComboBox(db, l, "", session, "");
1096                        message = CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_fillfieldstocreatearticle");
1097                        ht.put("message", message);
1098                    }
1099                    mappingCodesRankComboTable = CofaxToolsUtil.getMappingCodesRankComboTable(db, 2, session, htTemp);
1100                    selectDate = CofaxToolsUtil.getSelectDate("selectDate", storyYear, storyMonth, storyDay);
1101                    String JavaDoc selectStartDate = CofaxToolsUtil.getSelectDate("selectStartDate", storyYear, storyMonth, storyDay);
1102                    String JavaDoc selectEndDate = CofaxToolsUtil.getSelectDate("selectEndDate", storyYear, storyMonth, storyDay);
1103                    if ((ht.get("LIFECYCLE") != null) && (ht.get("LIFECYCLE").equals("1"))) {
1104                        ht.put("LIFECYCLE", "CHECKED");
1105                        try {
1106                            String JavaDoc sqlStartDate = (String JavaDoc) ht.get("PUBSTART");
1107                            int startDateInt = 0;
1108                            int endDateInt = 0;
1109                            if (sqlStartDate != null) {
1110                                sqlStartDate = CofaxToolsUtil.sqlDateToCofaxDate(sqlStartDate);
1111                                Iterator startDate = CofaxUtil.split("/", sqlStartDate).iterator();
1112                                int startYear = Integer.parseInt(startDate.next().toString());
1113                                int startMonth = Integer.parseInt(startDate.next().toString());
1114                                int startDay = Integer.parseInt(startDate.next().toString());
1115                                selectStartDate = CofaxToolsUtil.getSelectDate("selectStartDate", startYear, startMonth, startDay);
1116                                startDateInt = startYear * 10000 + startMonth * 100 + startDay;
1117                            }
1118                            String JavaDoc sqlEndDate = (String JavaDoc) ht.get("PUBEND");
1119                            if (sqlEndDate != null) {
1120                                sqlEndDate = CofaxToolsUtil.sqlDateToCofaxDate(sqlEndDate);
1121                                Iterator enddate = CofaxUtil.split("/", sqlEndDate).iterator();
1122                                int endYear = Integer.parseInt(enddate.next().toString());
1123                                int endMonth = Integer.parseInt(enddate.next().toString());
1124                                int endDay = Integer.parseInt(enddate.next().toString());
1125                                selectEndDate = CofaxToolsUtil.getSelectDate("selectEndDate", endYear, endMonth, endDay);
1126                                endDateInt = endYear * 10000 + endMonth * 100 + endDay;
1127                            }
1128                            if ((sqlStartDate != null) && (sqlEndDate != null)) {
1129                                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
1130                                String JavaDoc todayString = "" + (String JavaDoc) sdf.format(new java.util.Date JavaDoc()).toString();
1131                                int todayDateInt = Integer.parseInt(todayString);
1132                                if ((startDateInt > todayDateInt) || (endDateInt < todayDateInt))
1133                                    ht.put("outOfDate", "1");
1134                            }
1135                        } catch (Exception JavaDoc e) {
1136                            System.err.println("[WARNING] : " + e);
1137                        }
1138                    }
1139
1140                    ht.put("selectDate", selectDate);
1141                    ht.put("selectStartDate", selectStartDate);
1142                    ht.put("selectEndDate", selectEndDate);
1143                    String JavaDoc selectPubTimeStart = CofaxToolsUtil.getSelectTime("selectPubTimeStart", hour, minute, second, amPm);
1144                    ht.put("selectPubTimeStart", selectPubTimeStart);
1145                    ht.put("selectArticleType", selectArticleType);
1146                    ht.put("selectArticleSection", selectArticleSection);
1147                    ht.put("PUBDESC", user.workingPubDesc);
1148                    ht.put("PUBNAME", user.workingPubName);
1149                    ht.put("mappingCodesRankComboTable", mappingCodesRankComboTable);
1150                    ht.put("relatedLinksComboBox", relatedLinksComboBox);
1151                    ht.put("multiMediaComboBox", multiMediaComboBox);
1152
1153                    // the user can see the publish button only if he got the
1154
// rights on 'article_set_article_and_publish' and if he is
1155
// manager of the current section
1156
boolean canPublish1 = CofaxToolsSecurity.checkPermissions(db, session, "article_set_article_and_publish");
1157                    String JavaDoc tag_cp = CofaxToolsDbUtils.fillTag(db, "getMapCodeFromtblsectionsBySectionAndPubName");
1158                    HashMap results = CofaxToolsDbUtils.getNameValuePackageHash(db, ht, tag_cp);
1159                    String JavaDoc mappingCode = (String JavaDoc) results.get("MAPPINGCODE");
1160                    boolean canPublish2 = CofaxToolsSecurity.checkSectionEdition(db, session, mappingCode);
1161                    boolean canPublish = false;
1162                    if (canPublish1 && canPublish2)
1163                        canPublish = true;
1164
1165                    page.addToGlossary(ht);
1166                    page.putGlossaryValue("system:message", message);
1167                    page.putGlossaryValue("canPublish", canPublish + "");
1168                    page.putGlossaryValue("system:highLightTab", "article_create_article");
1169                    // Lock this article for this user
1170
String JavaDoc itemID = req.getParameter("ITEMID");
1171                    if ((itemID != null) && !(itemID.equals("0"))) {
1172                        int test = CofaxToolsLockUnlock.lockArticle(db, (String JavaDoc) user.userInfoHash.get("USERID"), itemID);
1173                    }
1174                    includeResource(page, "" + CofaxToolsServlet.templatePath + "createArticle.jsp", req, res, session); // FX :
1175
// added
1176
// templatePath
1177
return ("");
1178                }
1179
1180                else if (mode.equals("unlock_article")) {
1181                    String JavaDoc itemID = req.getParameter("ITEMID");
1182                    if ((itemID == null) || (itemID.equals("0"))) {
1183                        page.putGlossaryValue("system:message", "Select an article to unlock it");
1184                        includeResource(page, "" + CofaxToolsServlet.templatePath + "selectAction.jsp", req, res, session); // FX :
1185
// added
1186
// templatePath
1187
} else {
1188                        int test = CofaxToolsLockUnlock.unlockArticle(db, (String JavaDoc) user.userInfoHash.get("USERID"), itemID);
1189                        try {
1190                            res.sendRedirect("?mode=admin_get_mycount&hl=admin");
1191                        } catch (Exception JavaDoc e) {
1192                            page.putGlossaryValue("system:message", "An error has occured while redirect to 'My account' page.");
1193                            includeResource(page, "" + CofaxToolsServlet.templatePath + "selectAction.jsp", req, res, session); // FX :
1194
// added
1195
// templatePath
1196
}
1197                    }
1198                    return ("");
1199                }
1200
1201                else if (mode.equals("cofax_navigation")) {
1202                    String JavaDoc workingPubName = user.workingPubName;
1203                    String JavaDoc userID = (String JavaDoc) user.userInfoHash.get("USERID");
1204                    page.putGlossaryValue("getTabSections", CofaxToolsUtil.getTabPublications(db, userID, (String JavaDoc) user.workingPub));
1205                    includeResource(page, "" + CofaxToolsServlet.templatePath + "cofaxNavigateFile.jsp", req, res, session); // FX :
1206
// added
1207
// templatePath
1208
return ("");
1209                }
1210
1211                else {
1212                    // check external modules
1213
CofaxToolsUtil.log("Check external module for this query : " + mode);
1214                    HashMap fillReq = new HashMap();
1215                    String JavaDoc tag = "select * from tblmodules where enabled=1";
1216                    List listModules = CofaxToolsDbUtils.getPackageData(db, fillReq, tag);
1217                    while (listModules.size() > 0) {
1218                        HashMap hashModules = (HashMap) listModules.get(0);
1219                        String JavaDoc moduleClass = (String JavaDoc) hashModules.get("MODULECLASS");
1220                        String JavaDoc moduleMode = (String JavaDoc) hashModules.get("MODULEMODE");
1221                        CofaxToolsUtil.log(" - " + moduleMode);
1222                        if (mode.startsWith(moduleMode)) {
1223                            CofaxToolsUtil.log("it's this mode !");
1224                            try {
1225                                Class JavaDoc c = Class.forName(moduleClass);
1226                                org.cofax.module.CofaxToolsExtModule extModule = (org.cofax.module.CofaxToolsExtModule) c.newInstance();
1227                                CofaxToolsUtil.log("Starting mode : " + mode);
1228                                return (extModule.navigate(db, page, req, res, session));
1229                            } catch (Exception JavaDoc e) {
1230                                System.err.println("[ERROR] Error loading moduleClass '" + moduleClass + "' :" + e);
1231                            }
1232                        }
1233                        listModules.remove(0);
1234                    }
1235
1236                    // If we don't have a mode to match the request, send user
1237
// back to default choice page
1238
page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_noexistaction")
1239                            + CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_selectotheraction"));
1240                    includeResource(page, "" + CofaxToolsServlet.templatePath + "selectAction.jsp", // FX :
1241
// added
1242
// templatePath
1243
req, res, session);
1244                    return ("");
1245                }
1246            }
1247            // User does not have permissions to do this action
1248
else {
1249                page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_nopermissions") + mode + ")");
1250                includeResource(page, "" + CofaxToolsServlet.templatePath + "selectAction.jsp", // FX :
1251
// added
1252
// templatePath
1253
req, res, session);
1254                return ("");
1255            }
1256        }
1257        // User has no object anymore.
1258
else if (isLoggedIn == false) {
1259            if (mode.equals("forgot_password")) {
1260                page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_getnewpw"));
1261                page.putGlossaryValue("system:highLightTab", "");
1262                page.putGlossaryValue("querystring", (String JavaDoc) req.getQueryString());
1263                includeResource(page, "" + CofaxToolsServlet.templatePath + "forgot_password.jsp", req, res, session); // FX :
1264
// added
1265
// templatePath
1266
return ("");
1267            }
1268            if (mode.equals("forgot_password_send")) {
1269                String JavaDoc message = CofaxToolsDbUtils.setNewPassword(db, req, (String JavaDoc) req.getParameter("login"), (String JavaDoc) req.getParameter("email"));
1270                page.putGlossaryValue("system:message", message.substring(1));
1271                page.putGlossaryValue("system:highLightTab", "");
1272                if (message.startsWith("1"))
1273                    includeResource(page, "" + CofaxToolsServlet.templatePath + "login.jsp", req, res, session); // FX :
1274
// added
1275
// templatePath
1276
else
1277                    includeResource(page, "" + CofaxToolsServlet.templatePath + "forgot_password.jsp", req, res, session); // FX :
1278
// added
1279
// templatePath
1280
return ("");
1281            }
1282
1283            page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_yourenotloggedin"));
1284            page.putGlossaryValue("system:highLightTab", "");
1285            page.putGlossaryValue("querystring", (String JavaDoc) req.getQueryString());
1286            includeResource(page, "" + CofaxToolsServlet.templatePath + "login.jsp", // FX :
1287
// added
1288
// templatePath
1289
req, res, session);
1290            return ("");
1291        } else {
1292            page.putGlossaryValue("system:message", CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_yourenotloggedin"));
1293            page.putGlossaryValue("system:highLightTab", "");
1294            includeResource(page, "" + CofaxToolsServlet.templatePath + "login.jsp", // FX :
1295
// added
1296
// templatePath
1297
req, res, session);
1298            return ("");
1299        }
1300    }
1301
1302    public static void viewSearchPage(CofaxPage page, String JavaDoc message, DataStore db, HttpSession session, HttpServletRequest req, HttpServletResponse res,
1303            int year, int month, int day) {
1304        HashMap ht = new HashMap();
1305        String JavaDoc selectSavedSearches = CofaxToolsUtil.getSelectSavedSearches(db, session);
1306        ht.put("selectSavedSearches", selectSavedSearches);
1307        String JavaDoc searchSelectCombo = CofaxToolsUtil.getSearchSelectCombo(req);
1308        ht.put("searchSelectCombo", searchSelectCombo);
1309        String JavaDoc selectMultipleMultiplePublication = CofaxToolsUtil.getSelectMultipleMultiplePublication(session, 5, req);
1310        ht.put("selectMultipleMultiplePublication", selectMultipleMultiplePublication);
1311        String JavaDoc selectCategoriesMultiplePublications = CofaxToolsUtil.getSelectCategoriesMultiplePublications(db, session, req);
1312        ht.put("selectCategoriesMultiplePublications", selectCategoriesMultiplePublications);
1313        ArrayList tempSelectMappingsMultiplePublications = (ArrayList) CofaxToolsUtil.getSelectMappingsMultiplePublicationsArrayList(db, "** "
1314                + CofaxToolsUtil.getI18NMessage(req.getLocale(), "tools_allmappings") + " **", session);
1315        String JavaDoc selectMappingsMultiplePublications = CofaxToolsUtil.createSelect("mapping", tempSelectMappingsMultiplePublications);
1316        ht.put("selectMappingsMultiplePublications", selectMappingsMultiplePublications);
1317        String JavaDoc startSelectDate = CofaxToolsUtil.getSelectDate("startDate", year, month, day);
1318        ht.put("startSelectDate", startSelectDate);
1319        String JavaDoc stopSelectDate = CofaxToolsUtil.getSelectDate("stopDate", year, month, day);
1320        ht.put("stopSelectDate", stopSelectDate);
1321        String JavaDoc callingFormPortion = req.getParameter("callingFormPortion");
1322        if (callingFormPortion != null) {
1323            ht.put("callingFormPortion", callingFormPortion);
1324        }
1325        page.addToGlossary(ht);
1326        page.putGlossaryValue("system:message", message);
1327        page.putGlossaryValue("system:highLightTab", "article_search_article");
1328        includeResource(page, "" + CofaxToolsServlet.templatePath + "searchArticles.jsp", req, res, session); // FX :
1329
// added
1330
// templatePath
1331
}
1332
1333}
1334
Popular Tags