1 22 23 package org.cofax.cms; 24 25 import org.cofax.*; 26 import javax.servlet.http.*; 27 import java.util.*; 28 29 35 public class CofaxToolsUser { 36 37 41 public HashMap userInfoHash; 42 43 48 public Vector userPubsVectorOHash; 49 50 54 public HashMap userPubDescPubIDHash; 55 56 60 public HashMap userPubNamePubIDHash; 61 62 66 public HashMap userPubNamePubDescHash; 67 68 72 public Vector userGroupVector; 73 74 78 public Vector userGroupTypeVector; 79 80 84 public HashMap userGroupNameGroupIDHash; 85 86 90 public String workingPub; 91 92 96 public String workingPubDesc; 97 98 102 public String workingPubName; 103 104 109 public HashMap workingPubConfigElementsHash; 110 111 115 public HashMap userPreviousArticlesHash; 116 117 121 public void report() { 122 CofaxToolsUtil.showHash("userInfoHash", userInfoHash); 123 CofaxToolsUtil.showVector("userGroupVector", userGroupVector); 124 CofaxToolsUtil.showHash("userPubDescPubIDHash", userPubDescPubIDHash); 125 CofaxToolsUtil.showHash("userPubNamePubIDHash", userPubNamePubIDHash); 126 CofaxToolsUtil.showHash("workingPubConfigElementsHash", workingPubConfigElementsHash); 127 CofaxToolsUtil.showHash("userPreviousArticlesHash", userPreviousArticlesHash); 128 CofaxToolsUtil.showHash("userPubNamePubDescHash", userPubNamePubDescHash); 129 CofaxToolsUtil.showHash("userGroupNameGroupIDHash", userGroupNameGroupIDHash); 130 CofaxToolsUtil.showVectorOfHashes("userPubsVectorOHash", userPubsVectorOHash); 131 CofaxToolsUtil.log("Working pub: " + workingPub); 132 CofaxToolsUtil.log("Working pub description: " + workingPubDesc); 133 CofaxToolsUtil.log("Working pub name: " + workingPubName); 134 } 135 136 public boolean hasPublicationRights(String askingPub) { 137 Vector vec = userPubsVectorOHash; 138 Iterator it = vec.iterator(); 139 boolean hasPubRights = false; 140 while (it.hasNext()) { 141 Object hasPub = it.next(); 142 HashMap hasPubHash = (HashMap) hasPub; 143 Iterator en = hasPubHash.keySet().iterator(); 144 while (en.hasNext()) { 145 String pubS = (String ) en.next(); 146 if (pubS.equals(askingPub)) { 147 hasPubRights = true; 148 } 149 } 150 } 151 return hasPubRights; 152 } 153 154 165 public boolean setUserWorkingPubConfigElements(DataStore db, HttpSession session, String askingPub) { 166 boolean hasRights = false; 167 if (hasPublicationRights(askingPub)) { 168 workingPubDesc = CofaxToolsUtil.getPubDescFromID(db, askingPub); 169 workingPub = askingPub; 170 workingPubName = CofaxToolsUtil.getPubNameFromID(db, askingPub); 171 172 HashMap fillReq = new HashMap(); 173 fillReq.put("PUBID", askingPub); 174 String tag = CofaxToolsDbUtils.fillTag(db, "getAllFromConfigByPubID"); 175 workingPubConfigElementsHash = CofaxToolsDbUtils.getNameValuePackageHash(db, fillReq, tag); 176 hasRights = true; 177 } 178 return hasRights; 179 } 180 181 191 public static String setUserInfo(DataStore db, HttpServletRequest req) { 192 HashMap ht = CofaxToolsUtil.splitPostQuery(req); 193 StringBuffer results = new StringBuffer (); 194 String tag = ""; 195 196 String userID = (String ) ht.get("USERID"); 197 String homePub = (String ) ht.get("PUBLICATION"); 198 String firstName = (String ) ht.get("FIRSTNAME"); 199 String lastName = (String ) ht.get("LASTNAME"); 200 ht.put("HOMEPUB", homePub); 201 202 String userName = (String ) ht.get("USERNAME"); 203 String userPassword = (String ) ht.get("USERPASSWORD"); 204 String userPasswordValidation = (String ) ht.get("userPasswordValidation"); 205 String delete = req.getParameter("delete"); 206 int checkBoxTableLength = Integer.parseInt((String ) ht.get("checkBoxTableLength")); 207 int checkBoxTableLength2 = 0; 208 try { 209 checkBoxTableLength2 = Integer.parseInt((String ) ht.get("checkBoxTableRightLength")); 210 } catch (Exception e) { 211 checkBoxTableLength2 = 0; 212 } 213 214 if (delete == null) { 215 if ((firstName.equals("")) || (lastName.equals("")) || (userName.equals(""))) { 216 return ("<FONT COLOR=RED>You must enter a user name, user " + "password, first name, and last name on creation of a user...</FONT>"); 217 } 218 219 if (!userPassword.equals(userPasswordValidation)) { 220 return ("<FONT COLOR=RED>Passwords do not match. Please click " + "back on your browser and try again.</FONT>"); 221 } 222 223 int groupCheck = 0; 225 for (int i = 0; i <= checkBoxTableLength; i++) { 226 String temp = String.valueOf(i); 227 String test = req.getParameter(temp); 228 if (test != null) { 229 groupCheck++; 230 } 231 } 232 if (groupCheck == 0) { 233 return ("<FONT COLOR=RED>A user must be joined to at least " + "one group before creation. Please click back on your " 234 + "browser and try again.</FONT>"); 235 } 236 } 237 238 if (delete != null) { 239 HashMap htTempor = new HashMap(); 240 if (userID != null) { 241 htTempor.put("USERID", userID); 242 tag = CofaxToolsDbUtils.fillTag(db, "deleteUserFromTblUsersAndTblUserToGroups"); 243 List list = CofaxToolsDbUtils.getPackageData(db, htTempor, tag); 244 return ("User " + userID + " (" + ht.get("USERNAME") + ") killed"); 245 } else { 246 return ("<FONT COLOR=RED>You must choose a user before you can " + "delete a user...</FONT>"); 247 } 248 } 249 250 if ((userID == null) || (userID.equals(""))) { 251 userID = "0"; 252 } 253 ht.put("USERID", userID); 254 255 tag = CofaxToolsDbUtils.fillTag(db, "updateUserInfo"); 256 List list = CofaxToolsDbUtils.getPackageData(db, ht, tag); 257 258 HashMap dupHolder = (HashMap) list.get(0); 259 String duplicateCheck = (String ) dupHolder.get("DUPLICATE"); 260 if ((duplicateCheck != null) && (!duplicateCheck.equals(""))) { 261 return ("<FONT COLOR=RED>You have attempted to add a user with " + "the same user name as a current user. Please click back " 262 + "on your browser, change the user name, and try again.</FONT>"); 263 } 264 265 HashMap hm = (HashMap) list.get(0); 267 userID = (String ) hm.get("USERID"); 268 269 HashMap htTempp = new HashMap(); 271 htTempp.put("USERID", userID); 272 for (int i = 0; i < checkBoxTableLength2; i++) { 273 String temp = String.valueOf(i); 274 String Section = req.getParameter("PARAM" + temp); 275 htTempp.put("MappingCode", Section); 276 String groupID = req.getParameter("s" + temp); 277 String Director = req.getParameter("d" + temp); 278 if (groupID != null && (Director == null)) { 279 htTempp.put("director", "0"); 280 htTempp.put("action", "1"); 281 } else if ((groupID != null) && (Director != null)) { 282 htTempp.put("director", Director); 283 htTempp.put("action", "2"); 284 } else if ((groupID == null) && (Director != null)) { 285 htTempp.put("director", Director); 286 htTempp.put("action", "2"); 287 } else { 288 htTempp.put("action", "0"); 289 } 290 tag = CofaxToolsDbUtils.fillTag(db, "updateUserSection"); 291 List res = CofaxToolsDbUtils.getPackageData(db, htTempp, tag); 292 } 293 294 HashMap htTempo = new HashMap(); 296 htTempo.put("USERID", userID); 297 298 for (int i = 0; i < checkBoxTableLength; i++) { 299 String temp = String.valueOf(i); 300 String groupIDName = req.getParameter("PARAMNAME" + temp); 301 htTempo.put("groupID", groupIDName); 302 303 String groupID = req.getParameter(temp); 304 if (groupID != null) { 305 htTempo.put("action", "1"); 306 } else { 307 htTempo.put("action", "0"); 308 } 309 310 tag = CofaxToolsDbUtils.fillTag(db, "updateUserGroups"); 311 List res = CofaxToolsDbUtils.getPackageData(db, htTempo, tag); 312 } 313 314 return ("User " + req.getParameter("USERNAME") + " saved. Please choose another action."); 315 } 316 317 327 public static String setMyCountInfo(DataStore db, HttpServletRequest req) { 328 HashMap ht = CofaxToolsUtil.splitPostQuery(req); 329 StringBuffer results = new StringBuffer (); 330 String tag = ""; 331 332 String userID = (String ) ht.get("USERID"); 333 String homePub = (String ) ht.get("PUBLICATION"); 334 String firstName = (String ) ht.get("FIRSTNAME"); 335 String lastName = (String ) ht.get("LASTNAME"); 336 ht.put("HOMEPUB", homePub); 337 338 String userName = (String ) ht.get("USERNAME"); 339 String userPassword = (String ) ht.get("USERPASSWORD"); 340 String userPasswordValidation = (String ) ht.get("userPasswordValidation"); 341 342 if ((firstName.equals("")) || (lastName.equals("")) || (userName.equals(""))) { 343 return ("<FONT COLOR=RED>You must enter a user name, user " + ", first name, and last name on creation of a user...</FONT>"); 344 } 345 if (!(userPassword.equals(""))) { 346 if (!userPassword.equals(userPasswordValidation)) { 347 return ("<FONT COLOR=RED>Passwords do not match. Please click " + "back on your browser and try again.</FONT>"); 348 } 349 } 350 if ((userID == null) || (userID.equals(""))) { 351 userID = "0"; 352 } 353 ht.put("USERID", userID); 354 355 tag = CofaxToolsDbUtils.fillTag(db, "updateUserInfo"); 356 List list = CofaxToolsDbUtils.getPackageData(db, ht, tag); 357 358 HashMap dupHolder = (HashMap) list.get(0); 359 String duplicateCheck = (String ) dupHolder.get("DUPLICATE"); 360 if ((duplicateCheck != null) && (!duplicateCheck.equals(""))) { 361 return ("<FONT COLOR=RED>You have attempted to add a user with " + "the same user name as a current user. Please click back " 362 + "on your browser, change the user name, and try again.</FONT>"); 363 } 364 365 HashMap hm = (HashMap) list.get(0); 367 userID = (String ) hm.get("USERID"); 368 369 return ("Your count was successfully modified. Please choose another action."); 370 } 371 372 376 public static String deleteSavedSearch(DataStore db, HttpServletRequest req) { 377 378 String userID = req.getParameter("USERID"); 379 String searchName = req.getParameter("SEARCHNAME"); 380 381 if (((userID != null) && (!(userID.equals("")))) && ((searchName != null) && (!(searchName.equals(""))))) { 382 StringBuffer v_del = new StringBuffer (); 383 v_del.append("delete from tblpermsavedsearches WHERE userID = " + userID + " and searchName='" + searchName + "' "); 384 HashMap ht = new HashMap(); 385 List del = CofaxToolsDbUtils.getPackageData(db, ht, v_del.toString()); 386 return ("Search " + searchName + " deleted."); 387 } else { 388 return ("You must select a search"); 389 } 390 } 391 392 } 393 | Popular Tags |