You can subscribe to this list here.
| 2004 |
Jan
|
Feb
(11) |
Mar
(106) |
Apr
(146) |
May
(79) |
Jun
(233) |
Jul
(218) |
Aug
(160) |
Sep
(155) |
Oct
(80) |
Nov
(176) |
Dec
(115) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(77) |
Feb
(106) |
Mar
(10) |
Apr
(54) |
May
(29) |
Jun
(29) |
Jul
(65) |
Aug
(80) |
Sep
|
Oct
(42) |
Nov
(45) |
Dec
(33) |
| 2006 |
Jan
(49) |
Feb
(52) |
Mar
(8) |
Apr
(3) |
May
(108) |
Jun
(43) |
Jul
(13) |
Aug
(1) |
Sep
(58) |
Oct
(66) |
Nov
(70) |
Dec
(115) |
| 2007 |
Jan
(26) |
Feb
(3) |
Mar
(17) |
Apr
(1) |
May
(4) |
Jun
(3) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(1) |
| 2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
(10) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(1) |
| 2009 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Michael K. <ko...@us...> - 2006-12-16 15:29:14
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/item In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv29993/org/cobricks/item Modified Files: ItemManagerImpl.java Log Message: Index: ItemManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemManagerImpl.java,v retrieving revision 1.81 retrieving revision 1.82 diff -u -d -r1.81 -r1.82 --- ItemManagerImpl.java 15 Dec 2006 23:06:32 -0000 1.81 +++ ItemManagerImpl.java 16 Dec 2006 15:29:10 -0000 1.82 @@ -62,6 +62,7 @@ import org.cobricks.user.UserManager; import org.cobricks.user.AccessControl; import org.cobricks.user.AccessHandler; +import org.cobricks.user.AccessPermission; import org.cobricks.user.AccessRole; /** @@ -1043,14 +1044,19 @@ // TBD: wirkliche Rechte prüfen UserManager userManager = (UserManager) coreManager. getComponentDirectory().getManager("userManager"); - if (userManager.checkPermission(userid, "item", "update", null)) { + // if the user has general update permission - like admins + // then return all items + if (userManager. + checkPermission(userid, "item", "update", null)) { return searchItems(attrs, sortby, maxrows); } else { - // TBD: roleupdate prüfen + // first search items owned by user logger.debug("searching items for user "+userid); attrs.put("creatorid", new Integer(userid)); List res1 = searchItems(attrs, sortby, maxrows); attrs.remove("creatorid"); + // then search items accessible by the user via + // the roleupdate attribute of the items List roles = userManager. getAccessControl().getAccessRolesByUser(userid); List rolenames = new ArrayList(); @@ -1062,6 +1068,19 @@ attrs.put("roleupdate", rolenames); List res2 = searchItems(attrs, sortby, maxrows); res1.addAll(res2); + // finally search items matching other persmissions + // the user has + AccessControl ac = userManager.getAccessControl(); + List permissions = ac.getAccessPermissionsByUser(userid); + i = permissions.iterator(); + while (i.hasNext()) { + AccessPermission perm = (AccessPermission)i.next(); + if (!perm.getDomain().equals("item")) continue; + if (!perm.getAction().equals("update")) continue; + Map attrs2 = perm.getAttrs(); + // TBD + } + return res1; } } |
|
From: Michael K. <ko...@us...> - 2006-12-16 15:29:14
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/user In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv29993/org/cobricks/user Modified Files: AccessPermission.java Log Message: Index: AccessPermission.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/user/AccessPermission.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- AccessPermission.java 30 Nov 2006 14:02:00 -0000 1.8 +++ AccessPermission.java 16 Dec 2006 15:29:10 -0000 1.9 @@ -137,6 +137,15 @@ /** * */ + public Map getAttrs() + { + return attrs; + } + + + /** + * + */ public String getAttrsAsString() { StringBuffer sb = new StringBuffer(""); |
|
From: Michael K. <ko...@us...> - 2006-12-15 23:06:37
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/util/migration In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv1553/org/cobricks/util/migration Modified Files: CourseMigration.java Log Message: Index: CourseMigration.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/util/migration/CourseMigration.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- CourseMigration.java 14 Dec 2006 22:06:49 -0000 1.4 +++ CourseMigration.java 15 Dec 2006 23:06:33 -0000 1.5 @@ -94,8 +94,7 @@ List result = fromDBAccess. sqlQuery("SELECT * FROM veranstaltung, veranstklasse " +"WHERE veranstaltung.klid = veranstklasse.klid " - +"AND ((vajahr = 2005 AND vasem='SS') OR " - +"(vajahr < 2005 AND vajahr > 1999))"); + +"AND vajahr > 1999"); Iterator resIter = result.iterator(); while(resIter.hasNext()) { Map fromMap = (Map)resIter.next(); |
|
From: Michael K. <ko...@us...> - 2006-12-15 23:06:37
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/item In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv1553/org/cobricks/item Modified Files: ItemManagerImpl.java ItemServlet.java Log Message: Index: ItemManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemManagerImpl.java,v retrieving revision 1.80 retrieving revision 1.81 diff -u -d -r1.80 -r1.81 --- ItemManagerImpl.java 14 Dec 2006 22:06:47 -0000 1.80 +++ ItemManagerImpl.java 15 Dec 2006 23:06:32 -0000 1.81 @@ -922,6 +922,30 @@ // TBD } + o = query.get("roleupdate"); + if ((o != null)) { + if (o instanceof Collection) { + if (((Collection)o).size()>0) { + sqlwhere.append(" and ("); + boolean isFirst = true; + Iterator i = ((Collection)o).iterator(); + while (i.hasNext()) { + if (!isFirst) sqlwhere.append(" or "); + String tmps = (String)i.next(); + sqlwhere.append("roleupdate='"); + sqlwhere.append(tmps); + sqlwhere.append("'"); + isFirst = false; + } + sqlwhere.append(")"); + } + } else { + sqlwhere.append(" and (roleupdate='"); + sqlwhere.append(o.toString()); + sqlwhere.append("')"); + } + } + String sql = "select item.itemid from "+sqlfrom.toString() +" where "+sqlwhere.toString(); if (sortby.equals("itemid")) { @@ -999,35 +1023,48 @@ throws CobricksException { try { - if (userid<1) return null; - if (sortby!=null && sortby.length()<1) - sortby = null; - - Map attrs = new HashMap(); - if (title!=null) attrs.put("title", title); - if (itemclasses!=null) attrs.put("itemclasses", itemclasses); - if (categories!=null) attrs.put("categories", categories); - - if (permission == null) permission = "update"; - if (permission.equals("delete")) permission = "update"; - if (permission.equals("read")) { - // TBD: wirkliche Rechte prüfen - // TBD: roleread prüfen - return searchItems(attrs, sortby, maxrows); - } - if (permission.equals("update")) { - // TBD: wirkliche Rechte prüfen - UserManager userManager = (UserManager) coreManager. - getComponentDirectory().getManager("userManager"); - if (userManager.checkPermission(userid, "item", "update", null)) { - return searchItems(attrs, sortby, maxrows); - } else { - // TBD: roleupdate prüfen - logger.debug("searching items for user "+userid); - attrs.put("creatorid", new Integer(userid)); + if (userid<1) return null; + if (sortby!=null && sortby.length()<1) + sortby = null; + + Map attrs = new HashMap(); + if (title!=null) attrs.put("title", title); + if (itemclasses!=null) attrs.put("itemclasses", itemclasses); + if (categories!=null) attrs.put("categories", categories); + + if (permission == null) permission = "update"; + if (permission.equals("delete")) permission = "update"; + if (permission.equals("read")) { + // TBD: wirkliche Rechte prüfen + // TBD: roleread prüfen return searchItems(attrs, sortby, maxrows); } - } + if (permission.equals("update")) { + // TBD: wirkliche Rechte prüfen + UserManager userManager = (UserManager) coreManager. + getComponentDirectory().getManager("userManager"); + if (userManager.checkPermission(userid, "item", "update", null)) { + return searchItems(attrs, sortby, maxrows); + } else { + // TBD: roleupdate prüfen + logger.debug("searching items for user "+userid); + attrs.put("creatorid", new Integer(userid)); + List res1 = searchItems(attrs, sortby, maxrows); + attrs.remove("creatorid"); + List roles = userManager. + getAccessControl().getAccessRolesByUser(userid); + List rolenames = new ArrayList(); + Iterator i = roles.iterator(); + while (i.hasNext()) { + AccessRole ar = (AccessRole)i.next(); + rolenames.add(ar.getName()); + } + attrs.put("roleupdate", rolenames); + List res2 = searchItems(attrs, sortby, maxrows); + res1.addAll(res2); + return res1; + } + } } catch (Exception e) { logger.error(LogUtil.ex("failed", e)); } @@ -1823,13 +1860,11 @@ if (userid > -1) { boolean allowed = this.performPermissionQuery(userid, item, "delete"); - /* if (!allowed) { logger.info("Access denied for deleting item: userid =" + Integer.toString(userid)); return; } - */ } this.removeAllItemAttachments(item); @@ -3078,7 +3113,7 @@ boolean b = userManager. checkPermission(user.getId(), "item", "update", attrs); return b; - /* + /* - no longer needed - is now in AccessControl if (b) return true; // if not than check rolewrite attribute String tmps = (String)item.getAttribute("roleupdate"); Index: ItemServlet.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemServlet.java,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- ItemServlet.java 6 Dec 2006 09:41:30 -0000 1.47 +++ ItemServlet.java 15 Dec 2006 23:06:33 -0000 1.48 @@ -162,16 +162,6 @@ { logger.debug("performCreate()"); - // check access rights - PortalUser portalUser = prequest.getPortalUser(); - /* - if (!userManager.getAccessControl().checkPermission(portalUser - .getUserId(), "item", "create", null)) { - prequest.setReturnCode(2000); - return "noaccess"; - } - */ - // check if there is an uploaded attachment that has to be saved // and store it until later HttpServletRequest request = prequest.getHttpServletRequest(); @@ -185,6 +175,17 @@ return "error"; } + // check access rights + PortalUser portalUser = prequest.getPortalUser(); + Map accattrs = new HashMap(); + attrs.put("itemclass", attrs.get("itemclass")); + if (!userManager.getAccessControl(). + checkPermission(portalUser.getUserId(), "item", + "create", accattrs)) { + prequest.setReturnCode(2000); + return "noaccess"; + } + // check required attributes String attrrequ = prequest.getRequestParameter("_attrrequ"); if (attrrequ!=null && attrrequ.length()>0) { @@ -347,14 +348,12 @@ PortalUser portalUser = prequest.getPortalUser(); Map attrs = new HashMap(); attrs.put("itemid", itemid); - /* - if (!userManager.getAccessControl(). - checkPermission(portalUser.getUserId(), "item", - "update", attrs)) { - prequest.setReturnCode(2000); - return "noaccess"; - } - */ + if (!userManager.getAccessControl(). + checkPermission(portalUser.getUserId(), "item", + "update", attrs)) { + prequest.setReturnCode(2000); + return "noaccess"; + } // check if there are uploaded files and store them in // attributes or in the context @@ -424,23 +423,15 @@ return "success"; } - // check access rights PortalUser portalUser = prequest.getPortalUser(); - /* - if (!userManager.getAccessControl().checkPermission(portalUser - .getUserId(), "item", "delete", "itemid=$!itemid")) { - prequest.setReturnCode(2000); - return "noaccess"; - } - */ for (int i=0; i<sarr.length; i++) { try { int id = Integer.parseInt(sarr[i].trim()); - // Delete the item - permission checking is done in this // function ... - this.itemManager.deleteItem(id, portalUser.getUser().getId()); + this.itemManager. + deleteItem(id, portalUser.getUser().getId()); } catch (Exception e) { logger.warn(e.getMessage(), e); } |
|
From: Michael K. <ko...@us...> - 2006-12-15 23:06:36
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/course In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv1553/org/cobricks/course Modified Files: CourseLecturer.java CourseManagerImpl.java CourseModuleProgramRel.java CoursePresenter.java CourseProgram.java Log Message: Index: CoursePresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/course/CoursePresenter.java,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- CoursePresenter.java 14 Dec 2006 22:06:47 -0000 1.29 +++ CoursePresenter.java 15 Dec 2006 23:06:32 -0000 1.30 @@ -570,6 +570,11 @@ public String printProg(CourseModule cm) { + return printProg(cm, null); + } + + public String printProg(CourseModule cm, String lang) + { StringBuffer sb = new StringBuffer(""); List prlist = cm.getProgramRel(); Iterator i = prlist.iterator(); @@ -579,7 +584,7 @@ sb.append(pr.getProgram().getLabel()); sb.append(": "); sb.append(pr.getType().toUpperCase()); - String tmps = pr.getComment(); + String tmps = pr.getComment(lang); if (tmps!=null && tmps.length()>0) sb.append(" (").append(tmps).append(")"); } @@ -632,12 +637,14 @@ if (art.equals("Modul")) { String idref = ((Element)node).getAttribute("idref"); String tmps2 = ((Element)node).getAttribute("kommentar"); + if (lang!=null && lang.equals("en")) + tmps2 = ((Element)node).getAttribute("comment"); sb.append("<a href=\"cm.html?id=").append(idref).append("\">").append("Modul ").append(idref).append("</a>"); if (tmps2!=null && tmps2.length()>0) sb.append(" (").append(tmps2).append(")"); } else { String tmps2 = ((Element)node).getAttribute("kommentar"); - if (lang.equals("en")) { + if (lang!=null && lang.equals("en")) { tmps2 = ((Element)node).getAttribute("comment"); } if (tmps2!=null && tmps2.length()>0) Index: CourseManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/course/CourseManagerImpl.java,v retrieving revision 1.63 retrieving revision 1.64 diff -u -d -r1.63 -r1.64 --- CourseManagerImpl.java 14 Dec 2006 22:06:46 -0000 1.63 +++ CourseManagerImpl.java 15 Dec 2006 23:06:32 -0000 1.64 @@ -820,14 +820,17 @@ } - public void deleteCourseTimetable(int cid) throws CobricksException { + public void deleteCourseTimetable(int cid) + throws CobricksException + { try { - logger.info("deleteCourseTimetable("+getCourse(cid).getName()+")..."); + logger.info("deleteCourseTimetable(" + +getCourse(cid).getName()+")"); String sql = "delete from course_timetable " - +"where cmtcid = "+Integer.toString(cid); + +"where cttcid = "+Integer.toString(cid); dbAccess.sqlExecute(sql); } catch (Exception e) { - logger.error("Exception while deleting course timetables."); + logger.error("Exception while deleting course from timetables."); } } Index: CourseModuleProgramRel.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/course/CourseModuleProgramRel.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- CourseModuleProgramRel.java 24 Nov 2006 08:05:56 -0000 1.3 +++ CourseModuleProgramRel.java 15 Dec 2006 23:06:32 -0000 1.4 @@ -67,6 +67,13 @@ return cpcomment; } + public String getComment(String lang) + { + if (lang!=null && lang.equals("en")) + return cpcomment_en; + return cpcomment; + } + public String getCommentEn() { return cpcomment_en; Index: CourseLecturer.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/course/CourseLecturer.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- CourseLecturer.java 6 Dec 2006 09:39:18 -0000 1.10 +++ CourseLecturer.java 15 Dec 2006 23:06:32 -0000 1.11 @@ -169,6 +169,7 @@ lurl = (String)map.get("lurl"); limageurl = (String)map.get("limageurl"); lextid = (String)map.get("lextid"); + lgroup = (String)map.get("lgroup"); tmpi = (Integer)map.get("lhidden"); if (tmpi != null) lhidden = tmpi.intValue(); tmpi = (Integer)map.get("luserid"); @@ -178,14 +179,18 @@ /** * @see org.cobricks.core.DataObject#getObjectClass() */ - public String getObjectClass() { + public String getObjectClass() + { return this.getClass().toString(); } + /** * @see org.cobricks.core.DataObject#getObjectUri() */ - public String getObjectUri() { + public String getObjectUri() + { // TODO Auto-generated method stub return null; - } + } + } Index: CourseProgram.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/course/CourseProgram.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- CourseProgram.java 6 Dec 2006 09:39:18 -0000 1.5 +++ CourseProgram.java 15 Dec 2006 23:06:32 -0000 1.6 @@ -60,9 +60,18 @@ return cpname; } + public String getName(String lang) + { + if (lang!=null && lang.equals("en")) { + if (cpname_en!=null && cpname_en.length()>0) + return cpname_en; + } + return cpname; + } + public String getNameEn() { - if (cpname!=null && cpname_en.length()>0) + if (cpname_en!=null && cpname_en.length()>0) return cpname_en; return cpname; } @@ -77,6 +86,13 @@ return cpcomment; } + public String getComment(String lang) + { + if (lang!=null && lang.equals("en")) + return cpcomment_en; + return cpcomment; + } + public String getCommentEn() { return cpcomment_en; |
|
From: Michael K. <ko...@us...> - 2006-12-15 23:06:36
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/user In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv1553/org/cobricks/user Modified Files: UserServlet.java Log Message: Index: UserServlet.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/user/UserServlet.java,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- UserServlet.java 14 Dec 2006 22:06:49 -0000 1.47 +++ UserServlet.java 15 Dec 2006 23:06:33 -0000 1.48 @@ -1350,7 +1350,7 @@ accessControl.resetCache(); return "editperm"; - } else if (subcmd.equals("Unassign selected Users")) { + } else if (subcmd.equals("Delete selected Users")) { String roleusers[] = prequest. getRequestParameterValues("roleusers"); if (roleusers != null) { |
|
From: Michael K. <ko...@us...> - 2006-12-15 23:06:36
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/core In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv1553/org/cobricks/core Modified Files: CorePresenter.java SchedulerHandler.java Log Message: Index: SchedulerHandler.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/core/SchedulerHandler.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- SchedulerHandler.java 31 Mar 2004 12:05:36 -0000 1.3 +++ SchedulerHandler.java 15 Dec 2006 23:06:32 -0000 1.4 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003 Cobricks Group. All rights reserved. + * Copyright (c) 2003-2006 Cobricks Group. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted under the terms of the Cobricks Software @@ -18,6 +18,7 @@ import java.util.Iterator; import java.util.Map; import java.util.Properties; +import java.util.Set; import java.util.StringTokenizer; import java.util.Vector; @@ -88,7 +89,7 @@ else if (tmps.endsWith("time")) { if (value.startsWith("cron:")) { schedules. - put(id, new SchedulerCommand(id, value.substring(5))); + put(id, new SchedulerCommand(id, value.substring(5))); } } } @@ -123,8 +124,39 @@ scheduleclasses.remove(id); scheduleargs.remove(id); } - + + /** + * + */ + public Set getScheduleIds() + { + if (schedules == null) return null; + return schedules.keySet(); + } + + public Object getSchedule(String id) + { + if (schedules == null) return null; + return schedules.get(id); + } + + public Object getScheduleClass(String id) + { + if (scheduleclasses == null) return null; + return scheduleclasses.get(id); + } + + public Object getScheduleArgs(String id) + { + if (scheduleargs == null) return null; + return scheduleargs.get(id); + } + + + /** + * + */ public void checkScheduledTasks() { if (schedules.size()<1) return; @@ -135,7 +167,6 @@ int wday = c.get(Calendar.DAY_OF_WEEK)-1; int hour = c.get(Calendar.HOUR_OF_DAY); int minute = c.get(Calendar.MINUTE); - logger.debug("Time is "+hour+":"+minute+" "+mday+"."+month+" "+wday); Iterator iter = schedules.values().iterator(); while (iter.hasNext()) { Object o = iter.next(); @@ -148,16 +179,22 @@ if (cs.mday>-1 && cs.mday!=mday) continue; if (cs.wday>-1 && cs.wday!=wday) continue; // do it ... - SchedulerThread t = - new SchedulerThread(this, (String)scheduleclasses.get(cs.id), - (String)scheduleargs.get(cs.id)); - t.setDaemon(true); - t.start(); + startThread(cs.id); } } } + public void startThread(String id) + { + SchedulerThread t = + new SchedulerThread(this, (String)scheduleclasses.get(id), + (String)scheduleargs.get(id)); + t.setDaemon(true); + t.start(); + } + + /* *************************************************************** */ protected class SchedulerThread extends Thread @@ -227,7 +264,8 @@ int mday = -1; int wday = -1; - public SchedulerCommand(String id, String cron) { + public SchedulerCommand(String id, String cron) + { this.id = id; try { StringTokenizer st = new StringTokenizer(cron, ","); @@ -253,7 +291,8 @@ } } - public String toString() { + public String toString() + { StringBuffer sb = new StringBuffer("SchedulerCommand("); sb.append(Integer.toString(minute)); sb.append(","); Index: CorePresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/core/CorePresenter.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- CorePresenter.java 11 Dec 2006 10:08:05 -0000 1.8 +++ CorePresenter.java 15 Dec 2006 23:06:32 -0000 1.9 @@ -109,6 +109,22 @@ return plist; } + public List getSortedPropertyNames(String prefix) + { + List plist = new ArrayList(properties.keySet()); + List plist2 = new ArrayList(); + if (prefix != null && prefix.length()>0) { + Iterator i = plist.iterator(); + while (i.hasNext()) { + String aname = (String)i.next(); + if (aname.startsWith(prefix)) + plist2.add(aname); + } + } + Collections.sort(plist2); + return plist2; + } + /** * |
|
From: Michael K. <ko...@us...> - 2006-12-15 23:06:36
|
Update of /cvsroot/cobricks/cobricks2/src/de/tum/cobricks/univis In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv1553/de/tum/cobricks/univis Modified Files: UnivIS.java UnivISSyncTask.java Log Message: Index: UnivIS.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/de/tum/cobricks/univis/UnivIS.java,v retrieving revision 1.56 retrieving revision 1.57 diff -u -d -r1.56 -r1.57 --- UnivIS.java 5 Oct 2006 17:57:49 -0000 1.56 +++ UnivIS.java 15 Dec 2006 23:06:32 -0000 1.57 @@ -135,7 +135,8 @@ String lfirstname = univISSync.getLecturerFirstName(); String cplabel = univISSync.getProgram(); // TBD: organisation number is not used - List list = courseManager.getCourses(term, llastname, lfirstname, cplabel); + List list = courseManager. + getCourses(term, llastname, lfirstname, cplabel); Iterator it1 = list.listIterator(); while(it1.hasNext()){ Course c = (Course)it1.next(); @@ -303,7 +304,8 @@ String cplabel = univISSync.getProgram(); boolean wasUnivISUpdated = false; // TBD: organisation number is not used - List list = courseManager.getCourses(cterm, llastname, lfirstname, cplabel); + List list = courseManager. + getCourses(cterm, llastname, lfirstname, cplabel); if(list.size() == 0){ univISSync.log("There are no new courses in Cobricks ..."); } Index: UnivISSyncTask.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/de/tum/cobricks/univis/UnivISSyncTask.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- UnivISSyncTask.java 11 Dec 2004 00:35:56 -0000 1.27 +++ UnivISSyncTask.java 15 Dec 2006 23:06:32 -0000 1.28 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004 Cobricks Group. All rights reserved. + * Copyright (c) 2004-2006 Cobricks Group. All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted under the terms of the Cobricks Software * License, either version 1.0 of the License, or (at your option) any |
|
From: Wolfgang W. <wo...@us...> - 2006-12-15 12:06:54
|
Update of /cvsroot/cobricks/drehscheibe-in In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv27551 Modified Files: build.xml Log Message: Index: build.xml =================================================================== RCS file: /cvsroot/cobricks/drehscheibe-in/build.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- build.xml 15 Dec 2006 08:43:31 -0000 1.10 +++ build.xml 15 Dec 2006 12:06:50 -0000 1.11 @@ -396,15 +396,6 @@ classname="de.tum.cobricks.course.generateHTMLOverviews" maxmemory="512M" classpathref="exec.classpath"> <jvmarg value="-Dfile.encoding=utf-8"/> - <arg line="build/webapps/ROOT/WEB-INF/conf WS 2006 test"/> - </java> -</target> - -<target name="courseoverviews2" depends="compile"> - <java fork="yes" - classname="de.tum.cobricks.course.generateHTMLOverviews2" maxmemory="512M" - classpathref="exec.classpath"> - <jvmarg value="-Dfile.encoding=utf-8"/> <arg line="build/webapps/ROOT/WEB-INF/conf SS 2007 test"/> </java> </target> |
|
From: Wolfgang W. <wo...@us...> - 2006-12-15 12:06:27
|
Update of /cvsroot/cobricks/drehscheibe-in/src/de/tum/cobricks/course In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv27464 Modified Files: generateHTMLOverviews.java Removed Files: generateHTMLOverviews2.java Log Message: --- generateHTMLOverviews2.java DELETED --- Index: generateHTMLOverviews.java =================================================================== RCS file: /cvsroot/cobricks/drehscheibe-in/src/de/tum/cobricks/course/generateHTMLOverviews.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- generateHTMLOverviews.java 29 Nov 2006 15:22:57 -0000 1.1 +++ generateHTMLOverviews.java 15 Dec 2006 12:06:22 -0000 1.2 @@ -39,9 +39,9 @@ /** * Generate HTML files that list all lectures for one specific - * study program. + * study program (Cobricks 2 Version) * - * @author Michael Koch, TUM + * @author Michael Koch, Wolfgang Woerndl, TUM * @version $Date$ */ @@ -186,7 +186,7 @@ "Änderungen sind also nicht sofort hier "+ "zu sehen.<P>\n"+ "<p><a href=\"/studium/vvindex.html\">"+ - "Veranstaltungsübersichten</a></p>"; + "Veranstaltungsübersichten</a></p>"; out.println(outs); } @@ -198,7 +198,16 @@ // PrintWriter out = new PrintWriter(new FileWriter(file)); PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new java.io.FileOutputStream(file),"UTF8"))); - + + + out.println("<html><head><style type=\"text/css\">\n"+ + "#VL table { width:100%; border: 0px; border-spacing:0px; }\n"+ + "#VL td { border:0px solid #000; overflow:hidden; }\n"+ + "#VL td i { color: #0000FF; font style: normal;}\n"+ + "#VL th { border: 0px; background: #EAEAEA; }\n"+ + "#VL a {color: #0000FF; }\n"+ + "</style></head><body>"); // New + out.println("$portalPresenter.parse(\"/pageheader.html\", $portalRequest)\n"); out.println("<H2>Studiengang Informatik (Diplom/Bachelor/Master)</h2><P>\n"); @@ -237,7 +246,7 @@ out.println("<P><a name=\"bsi-vorl\"></a><h3>Vorlesungen</h3>"); tmpi = getData(out, "BS-INF", "Vorlesung", ""); - tmpi += getData(out, "BS-INF", "Ãbung", ""); + tmpi += getData(out, "BS-INF", "Übung", ""); if (tmpi < 1) { out.println(ke); } @@ -254,16 +263,18 @@ out.println(ke); } + /* out.println("<input type=submit "+ "value=\"Selektierte Veranstaltungen in Stundenplan "+ "aufnehmen\">"); + */ out.println("<p><hr><a name=\"infmaster\">" +"<p><h2>Informatik Master</h2>"); out.println("<P><a name=\"msi-vorl\"></a><h3>Vorlesungen</h3>"); tmpi = getData(out, "MS-INF", "Vorlesung", ""); - tmpi += getData(out, "MS-INF", "Ãbung", ""); + tmpi += getData(out, "MS-INF", "Übung", ""); if (tmpi < 1) { out.println(ke); } @@ -280,9 +291,11 @@ out.println(ke); } + /* out.println("<input type=submit "+ "value=\"Selektierte Veranstaltungen in Stundenplan "+ "aufnehmen\">"); + */ out.println("<p><hr><a name=\"infdiplom\">" +"<p><h2>Informatik Diplom</h2>"); @@ -304,16 +317,20 @@ if (tmpi < 1) { out.println(ke); } - - out.println("<input type=submit "+ + + /* + out.println("<p></p><input type=submit "+ "value=\"Selektierte Veranstaltungen in Stundenplan "+ "aufnehmen\">"); + */ out.println("</form>"); printFooter(out); out.println("\n$portalPresenter.parse(\"/pagefooter.html\", $portalRequest)"); + + out.println("</body></html>"); out.flush(); out.close(); @@ -325,6 +342,14 @@ // PrintWriter out = new PrintWriter(new FileWriter(file)); PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new java.io.FileOutputStream(file),"UTF8"))); + + out.println("<html><head><style type=\"text/css\">\n"+ + "#VL table { width:100%; border: 0px; border-spacing:0px; }\n"+ + "#VL td { border:0px solid #000; overflow:hidden; }\n"+ + "#VL td i { color: #0000FF; font style: normal;}\n"+ + "#VL th { border: 0px; background: #EAEAEA; }\n"+ + "#VL a {color: #0000FF; }\n"+ + "</style></head><body>"); // New out.println("$portalPresenter.parse(\"/pageheader.html\", $portalRequest)\n"); @@ -378,10 +403,12 @@ if (tmpi < 1) { out.println(ke); } - + + /* out.println("<input type=submit "+ "value=\"Selektierte Veranstaltungen in Stundenplan "+ "aufnehmen\">"); + */ out.println("</form>"); @@ -392,7 +419,7 @@ out.println("<P><a name=\"mswi-vorl\"></a><h4>Vorlesungen</h4>"); tmpi = getData(out, "MS-WIRTINF", "Vorlesung", ""); - tmpi += getData(out, "MS-WIRTINF", "Ãbung", ""); + tmpi += getData(out, "MS-WIRTINF", "Übung", ""); if (tmpi < 1) { out.println(ke); } @@ -408,13 +435,17 @@ if (tmpi < 1) { out.println(ke); } - + + /* out.println("<input type=submit "+ "value=\"Selektierte Veranstaltungen in Stundenplan "+ "aufnehmen\">"); + */ out.println("</form>"); + printFooter(out); + out.println("\n$portalPresenter.parse(\"/pagefooter.html\", $portalRequest)"); out.flush(); @@ -451,13 +482,14 @@ int fullcount = 0; - out.println("<UL>"); + Iterator i = clist.iterator(); + if (i.hasNext()) + out.println("<div id=\"VL\"><table border=1><tr><th>Modul</th><th>Name</th><th>Art</th><th></th><th></th><th>Std.</th><th>Dozent</th><th>Zeiten</th><th>Raum</th></tr><tr>"); // New Date today = new Date(); long todayTime = today.getTime(); - Iterator i = clist.iterator(); - while (i.hasNext()) { + while (i.hasNext()) { // One row fullcount++; Course c = (Course)i.next(); @@ -467,45 +499,135 @@ valctime = d.getTime(); } - out.print("<li>"); - String vaurl = c.getUrl(); - if (vaurl!=null && vaurl.length()>0) { - out.print("<a href=\""+vaurl+"\">"); - } + out.print("<tr>"); // New + + // Modul + String modulname = c.getCourseModule().getSId(); + int modulnr = c.getCourseModule().getId(); + out.print("<td><a href=\"/myintum/kurs_verwaltung/cm.html?id="); + out.print(modulname+"\">"+modulname+"</a></td>"); + + // Name String vatitel = c.getFullName(); - out.print(vatitel); - if (vaurl!=null && vaurl.length()>0) { - out.print("</a>"); + out.print("<td><i>"); + out.print("<a href=\"/myintum/kurs_verwaltung/c.html?cid="); + out.print(modulnr+"\">"+vatitel+"</a></i></td>"); + + // Art + if (typ.equals("Vorlesung")) + out.print("<td>VL</td>"); + else if (typ.equals("Seminar")) + out.print("<td>SE</td>"); + else if (typ.equals("Praktikum")) + out.print("<td>PR</td>"); + else if (typ.equals("Übung")) + out.print("<td>UE</td>"); + else out.print("<td></td>"); + + // ECTS Credits ? + Float credits=c.getEctsCredits(); + if (credits != null) + out.print("<td>"+credits.toString()+"</td>"); + else out.print("<td>-</td>"); + + // Determine "sub-courses" + int counter1=0; + +// out.print("<td>"); + + int swsvl = c.getHoursLecture(); + if (swsvl > 0) + { + counter1 ++; + // out.print ("VL"); } - int vasws = c.getHoursLecture() - +c.getHoursSeminar()+c.getHoursLab(); - out.print(" <i>("+getDozenten(c)+")</i>, "+vasws); - if (c.getHoursExercises() > 0) { - out.print("+"+c.getHoursExercises()); + + int swsue = c.getHoursExercises(); + if (swsue > 0) + { + if (counter1 > 0) + // out.print("+"); + counter1 ++; + // out.print ("UE"); } - out.println(" SWS"); - long tdiff = todayTime - valctime; - if (tdiff < 605000000) { - if (tdiff < 173000000) { - out.print(" <IMG SRC=\"/images/image-changed.gif\" alt=\"(changed in letzten zwei Tagen)\">"); - } else if (tdiff < 346000000) { - out.print(" <IMG SRC=\"/images/image-changed2.gif\" alt=\"(changed in letzten vier Tagen)\">"); - } else { - out.print(" <IMG SRC=\"/images/image-changed3.gif\" alt=\"(changed in letzter Woche)\">"); - } + + int swsse = c.getHoursSeminar(); + if (swsse > 0) + { + if (counter1 > 0) + // out.print("+"); + counter1 ++; + // out.print ("Seminar"); } - out.print("<input type=checkbox name=cid value=\"" - +c.getId()+"\">"); + int swspr = c.getHoursLab(); + if (swspr > 0) + { + if (counter1 > 0) + // out.print("+"); + counter1 ++; + // out.print ("Praktikum"); + } + + if (counter1 > 0) + // out.print(": "); + + out.print("</TD>"); + + out.print("<td</td>"); // TODO + + // SWS + int counter2=0; + + out.print("<td>SWS: "); + + if (swsvl > 0) + { + counter2 ++; + out.print (swsvl); + } + + if (swsue > 0) + { + if (counter2 > 0) + out.print("+"); + counter2 ++; + out.print (swsue); + } + + if (swsse > 0) + { + if (counter2 > 0) + out.print("+"); + counter2 ++; + out.print (swsse); + } + + if (swspr > 0) + { + if (counter2 > 0) + out.print("+"); + counter2 ++; + out.print (swspr); + } + out.print("</td>"); + + // Dozent + out.print("<td>"+getDozenten(c)+"</td>"); + + + // Now, the part with the extra rows + // Determine times StringBuffer termine = new StringBuffer(""); StringBuffer termineue = new StringBuffer(""); StringBuffer terminezue = new StringBuffer(""); int count = 0; List cdates = c.getCourseDates(); Iterator i2 = cdates.iterator(); - while (i2.hasNext()) { - + out.print("<td>"); + while (i2.hasNext()) + { CourseDate cd = (CourseDate)i2.next(); int tewotag = cd.getWeekday(); @@ -520,6 +642,22 @@ int teturnus = cd.getCycle(); StringBuffer tmpsb = new StringBuffer(""); + if (count > 0) + tmpsb.append("</tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>"); + + if (tetyp == 2) + { + tmpsb.append("ZÜ: "); + } + else if (tetyp == 1) + { + tmpsb.append("Ü: "); + } + else + { + // termine.append("VL: "); + } + switch (tewotag) { case 0: tmpsb.append("So "); break; case 1: tmpsb.append("Mo "); break; @@ -531,9 +669,12 @@ } tmpsb.append(teanstd+":"+min2string(teanmin)+" - "+ teenstd+":"+min2string(teenmin)+" "); + if (room != null) { - tmpsb.append(room.getName()); + tmpsb.append("</td><td>"+room.getName()+"</td>"); } + + /* if (teandat != null) { if (teturnus >= 1) { tmpsb.append(" ab "+DateUtil. @@ -554,44 +695,46 @@ tmpsb.append(" bis "+DateUtil. date2String(teendat, "dd.MM.yyyy")); } - if (tetyp == 'Z') { - if (terminezue.length()<1) { - terminezue.append(" Zentralübung "); - } else { - terminezue.append(", "); - } - terminezue.append(tmpsb.toString()); - } - else if (tetyp == 'U') { - if (termineue.length()<1) { - termineue.append(" Ãbung "); - } else { - termineue.append(", "); - } - termineue.append(tmpsb.toString()); - } - else { - if (termine.length()>0) { - termine.append(", "); - } - termine.append(tmpsb.toString()); - } + + */ + + out.print(tmpsb.toString()); + count ++; } - - out.println("<br>"+termine.toString()); + +/* + out.println(termine.toString()); if (terminezue.length()>0) - out.println("<br>"+terminezue.toString()); + out.println(terminezue.toString()); if (termineue.length()>0) - out.println("<br>"+termineue.toString()); + out.println(termineue.toString()); +*/ - String vacomment = c.getComment(); - if (vacomment!=null && vacomment.trim().length()>0) { - out.println("<br>\n"+vacomment); + out.print("</td>"); + + + /* + long tdiff = todayTime - valctime; + if (tdiff < 605000000) { + if (tdiff < 173000000) { + out.print(" <IMG SRC=\"/images/image-changed.gif\" alt=\"(changed in letzten zwei Tagen)\">"); + } else if (tdiff < 346000000) { + out.print(" <IMG SRC=\"/images/image-changed2.gif\" alt=\"(changed in letzten vier Tagen)\">"); + } else { + out.print(" <IMG SRC=\"/images/image-changed3.gif\" alt=\"(changed in letzter Woche)\">"); + } } + + out.print("<input type=checkbox name=cid value=\"" + +c.getId()+"\">"); + + */ + + out.print("</tr>"); // New } - out.println("</UL>"); + out.println("</table></div>"); // New return fullcount; } @@ -636,3 +779,4 @@ } + |
|
From: Wolfgang W. <wo...@us...> - 2006-12-15 08:43:35
|
Update of /cvsroot/cobricks/drehscheibe-in In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv16039 Modified Files: build.xml Log Message: Index: build.xml =================================================================== RCS file: /cvsroot/cobricks/drehscheibe-in/build.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- build.xml 8 Dec 2006 16:23:54 -0000 1.9 +++ build.xml 15 Dec 2006 08:43:31 -0000 1.10 @@ -400,4 +400,13 @@ </java> </target> +<target name="courseoverviews2" depends="compile"> + <java fork="yes" + classname="de.tum.cobricks.course.generateHTMLOverviews2" maxmemory="512M" + classpathref="exec.classpath"> + <jvmarg value="-Dfile.encoding=utf-8"/> + <arg line="build/webapps/ROOT/WEB-INF/conf SS 2007 test"/> + </java> +</target> + </project> |
|
From: Wolfgang W. <wo...@us...> - 2006-12-15 08:43:15
|
Update of /cvsroot/cobricks/drehscheibe-in/src/de/tum/cobricks/course In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv16022 Added Files: generateHTMLOverviews2.java Log Message: --- NEW FILE: generateHTMLOverviews2.java --- /* * Copyright (c) 2006 Cobricks Group. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted under the terms of the Cobricks Software * License, either version 1.0 of the License, or (at your option) any * later version (see www.cobricks.org). * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. */ package de.tum.cobricks.course; import java.io.*; import java.net.*; import java.sql.*; import java.text.*; import java.util.Date; import java.util.*; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; import org.cobricks.core.CobricksException; import org.cobricks.core.ComponentDirectory; import org.cobricks.core.CoreManager; import org.cobricks.core.db.DBAccess; import org.cobricks.core.util.DateUtil; import org.cobricks.core.util.LogUtil; import org.cobricks.core.util.PropertiesUtil; import org.cobricks.course.Course; import org.cobricks.course.CourseDate; import org.cobricks.course.CourseLecturer; import org.cobricks.course.CourseManager; import org.cobricks.course.CourseProgram; import org.cobricks.course.CourseRoom; import org.cobricks.user.UserManager; /** * Generate HTML files that list all lectures for one specific * study program (Cobricks 2 Version) * * @author Michael Koch, Wolfgang Woerndl, TUM * @version $Date: 2006/12/15 08:43:11 $ */ public class generateHTMLOverviews2 { static Logger logger = Logger.getLogger(generateHTMLOverviews2.class); static private CoreManager coreManager = null; static private DBAccess dbAccess; static final String ke = "<P><UL><LI>keine Einträge</UL>\n"; static String querysem; static int queryjahr; static String cterm; static CourseManager courseManager; static UserManager userManager; public static void main(String args[]) { String confdir = "WEB-INF/conf"; querysem = "WS"; queryjahr = 2006; if (args.length > 0) confdir = args[0]; if (args.length > 1) querysem = args[1]; if (args.length > 2) queryjahr = Integer.parseInt(args[2]); cterm = Integer.toString(queryjahr); if (querysem.equals("WS")) { cterm += "w"; } else { cterm += "s"; } generateHTMLOverviews2 o = new generateHTMLOverviews2(confdir); o.doIt(); } /** * */ public generateHTMLOverviews2(String confdir) { try { PropertyConfigurator. configure(confdir+File.separator+"log.properties"); } catch (Throwable e) { } // Instantiate CoreManager coreManager = new CoreManager(); // load Cobricks configuration (properties) Properties properties = new Properties(); properties.put("configdir", confdir); PropertiesUtil.loadProperties(confdir, properties, coreManager); // initialize CoreManager object ... try { coreManager.init(properties); } catch (CobricksException e) { System.err.println(e.toString()); System.exit(-1); } // initialize all the other components // this call instantiates all manager and presenter objects try { coreManager.initComponents(properties); } catch (Throwable e) { logger.error(LogUtil.ex("Failed initializing components.", e)); } this.dbAccess = coreManager.getDBAccess(); ComponentDirectory componentDirectory = coreManager.getComponentDirectory(); userManager = (UserManager) componentDirectory.getManager("userManager"); courseManager = (CourseManager) componentDirectory.getManager("courseManager"); } /** * */ public void doIt() { String filename = "vv" + querysem + Integer.toString(queryjahr); try { makeInformatik(new File(filename+"-info.html")); makeWirtschaftsinformatik(new File(filename+"-wi.html")); } catch (Exception e) { logger.error(LogUtil.ex("failed", e)); } } public static void printHeader(PrintWriter out) { if (querysem.equals("SS")) out.println("<h2>Sommersemester "+queryjahr+"</h2>"); else { int qpluseins = queryjahr + 1; out.println("<h2>Wintersemester "+queryjahr+"/"+ qpluseins+"</h2>"); } Date today = new Date(); DateFormat df = new SimpleDateFormat("dd.MM.yyy HH:mm"); df.setTimeZone(TimeZone.getTimeZone("ECT")); String outs = "<p>Diese Übersicht zeigt alle Veranstaltungen für das "+ "oben angegebene Semester (Stand: "+df.format(today)+").<p> "+ "(Geplante) Veranstaltungen anderer Semester oder "+ "<a href=\"/studium/studiengaenge/index.html\">"+ "anderer Studiengänge</a> können Sie über die "+ "<a href=\"/myintum/kurs_verwaltung/csearch.html\">"+ "Veranstaltungssuche</a> oder über die <a href=\""+ "/studium/vvindex.html\">Links "+ "zu anderen Veranstaltungsübersichten</a> finden.</p>"; out.println(outs); } public static void printFooter(PrintWriter out) { String outs = "\n<P><HR><P>"+ "Diese Seite wird aus Effizienzgründen nicht on-the-fly "+ "aus der Datenbasis generiert, sondern 'nur' zweimal "+ "täglich erstellt - ganz ganz ganz aktuelle "+ "Änderungen sind also nicht sofort hier "+ "zu sehen.<P>\n"+ "<p><a href=\"/studium/vvindex.html\">"+ "Veranstaltungsübersichten</a></p>"; out.println(outs); } public static void makeInformatik(File file) throws Exception { // PrintWriter out = new PrintWriter(new FileWriter(file)); PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new java.io.FileOutputStream(file),"UTF8"))); out.println("<html><head><style type=\"text/css\">\n"+ "#VL table { width:100%; border: 0px; border-spacing:0px; }\n"+ "#VL td { border:0px solid #000; overflow:hidden; }\n"+ "#VL td i { color: #0000FF; font style: normal;}\n"+ "#VL th { border: 0px; background: #EAEAEA; }\n"+ "#VL a {color: #0000FF; }\n"+ "</style></head><body>"); // New out.println("$portalPresenter.parse(\"/pageheader.html\", $portalRequest)\n"); out.println("<H2>Studiengang Informatik (Diplom/Bachelor/Master)</h2><P>\n"); printHeader(out); out.println("<form action=\"/COURSE\" method=\"POST\">"); out.println("<input type=hidden name=\"cmd\" value=\"addcoursett\">"); out.println("<input type=hidden name=\"uid\" value=\"$userId\">"); out.println("<input type=hidden name=\"cmd.success\" value=\"/myintum/stundenplan/timetable.html\">"); out.println("<input type=hidden name=\"cmd.error\" value=\"/myintum/stundenplan/timetable.html\">"); out.println("<ul>"); out.println("<li><a href=\"#infbachelor\">Informatik Bachelor</a>\n"); out.println("<ul><li><a href=\"#bsi-vorl\">Vorlesungen</a>"); out.println("<li><a href=\"#bsi-sem\">Seminare und Proseminare</a>"); out.println("<li><a href=\"#bsi-prakt\">Praktika</a>"); out.println("</ul>"); out.println("<li><a href=\"#infmaster\">Informatik Master</a>\n"); out.println("<ul><li><a href=\"#msi-vorl\">Vorlesungen</a>"); out.println("<li><a href=\"#msi-sem\">Seminare und Proseminare</a>"); out.println("<li><a href=\"#msi-prakt\">Praktika</a>"); out.println("</ul>"); out.println("<li><a href=\"#infdipl\">Informatik Diplom</a>\n"); out.println("<ul><li><a href=\"#infdipl-vorl\">Vorlesungen</a>"); out.println("<li><a href=\"#infdipl-sem\">Seminare und Proseminare</a>"); out.println("<li><a href=\"#infdipl-prakt\">Praktika</a>"); out.println("</ul>"); out.println("</ul>"); int tmpi; out.println("<p><hr><a name=\"infbachelor\">" +"<p><h2>Informatik Bachelor</h2>"); out.println("<P><a name=\"bsi-vorl\"></a><h3>Vorlesungen</h3>"); tmpi = getData(out, "BS-INF", "Vorlesung", ""); tmpi += getData(out, "BS-INF", "Übung", ""); if (tmpi < 1) { out.println(ke); } out.println("<P><a name=\"bsi-sem\"></a><h3>Seminare</h3>"); tmpi = getData(out, "BS-INF", "Seminar", ""); if (tmpi < 1) { out.println(ke); } out.println("<P><a name=\"bsi-prakt\"></a><h3>Praktika</h3>"); tmpi = getData(out, "BS-INF", "Praktikum", ""); if (tmpi < 1) { out.println(ke); } /* out.println("<input type=submit "+ "value=\"Selektierte Veranstaltungen in Stundenplan "+ "aufnehmen\">"); */ out.println("<p><hr><a name=\"infmaster\">" +"<p><h2>Informatik Master</h2>"); out.println("<P><a name=\"msi-vorl\"></a><h3>Vorlesungen</h3>"); tmpi = getData(out, "MS-INF", "Vorlesung", ""); tmpi += getData(out, "MS-INF", "Übung", ""); if (tmpi < 1) { out.println(ke); } out.println("<P><a name=\"msi-sem\"></a><h3>Seminare</h3>"); tmpi = getData(out, "MS-INF", "Seminar", ""); if (tmpi < 1) { out.println(ke); } out.println("<P><a name=\"msi-prakt\"></a><h3>Praktika</h3>"); tmpi = getData(out, "MS-INF", "Praktikum", ""); if (tmpi < 1) { out.println(ke); } /* out.println("<input type=submit "+ "value=\"Selektierte Veranstaltungen in Stundenplan "+ "aufnehmen\">"); */ out.println("<p><hr><a name=\"infdiplom\">" +"<p><h2>Informatik Diplom</h2>"); out.println("<P><a name=\"infdiplom-vorl\"></a><h3>Vorlesungen</h3>"); tmpi = getData(out, "INF", "Vorlesung", ""); if (tmpi < 1) { out.println(ke); } out.println("<P><a name=\"infdiplom-sem\"></a><h3>Seminare</h3>"); tmpi = getData(out, "INF", "Seminar", ""); if (tmpi < 1) { out.println(ke); } out.println("<P><a name=\"infdiplom-prakt\"></a><h3>Praktika</h3>"); tmpi = getData(out, "INF", "Praktikum", ""); if (tmpi < 1) { out.println(ke); } /* out.println("<p></p><input type=submit "+ "value=\"Selektierte Veranstaltungen in Stundenplan "+ "aufnehmen\">"); */ out.println("</form>"); printFooter(out); out.println("\n$portalPresenter.parse(\"/pagefooter.html\", $portalRequest)"); out.println("</body></html>"); out.flush(); out.close(); } public static void makeWirtschaftsinformatik(File file) throws Exception { // PrintWriter out = new PrintWriter(new FileWriter(file)); PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new java.io.FileOutputStream(file),"UTF8"))); out.println("<html><head><style type=\"text/css\">\n"+ "#VL table { width:100%; border: 0px; border-spacing:0px; }\n"+ "#VL td { border:0px solid #000; overflow:hidden; }\n"+ "#VL td i { color: #0000FF; font style: normal;}\n"+ "#VL th { border: 0px; background: #EAEAEA; }\n"+ "#VL a {color: #0000FF; }\n"+ "</style></head><body>"); // New out.println("$portalPresenter.parse(\"/pageheader.html\", $portalRequest)\n"); out.println("<H2>Studiengang Wirtschaftsinformatik (Bachelor/Master)</h2><P>\n"); printHeader(out); out.println("<form action=\"/COURSE\" method=\"POST\">"); out.println("<input type=hidden name=\"cmd\" value=\"addcoursett\">"); out.println("<input type=hidden name=\"uid\" value=\"$userId\">"); out.println("<input type=hidden name=\"cmd.success\" value=\"/myintum/stundenplan/index.html\">"); out.println("<input type=hidden name=\"cmd.error\" value=\"/myintum/stundenplan/index.html\">"); out.println("<ul>"); out.println("<LI><a href=\"#winfbachelor\">Wirtschaftsinformatik Bachelor</a>\n"); out.println("<ul><li><a href=\"#bswi-vorl\">Vorlesungen</a>"); out.println("<li><a href=\"#bswi-sem\">Seminare und Proseminare</a>"); out.println("<li><a href=\"#bswi-prakt\">Praktika</a>"); out.println("</ul>"); out.println("<LI><a href=\"#winfms\">Wirtschaftsinformatik Master</a>\n"); out.println("<ul><li><a href=\"#mswi-vorl\">Vorlesungen</a>"); out.println("<li><a href=\"#mswi-sem\">Seminare</a>"); out.println("<li><a href=\"#mswi-prakt\">Praktika</a>"); out.println("</ul>"); out.println("</ul>"); out.println("<P>\n"); int tmpi; out.println("<p><hr><a name=\"winfbachelor\"><P>"+ "<h2>Wirtschaftsinformatik Bachelor</h2>"); out.println("<P><a name=\"bswi-vorl\"></a><h4>Vorlesungen</h4>"); tmpi = getData(out, "BS-WIRTINF", "Vorlesung", ""); tmpi += getData(out, "BS-WIRTINF", "Ãbung", ""); if (tmpi < 1) { out.println(ke); } out.println("<P><a name=\"bswi-sem\"></a><h4>Proseminare/Seminare</h4>"); tmpi = getData(out, "BS-WIRTINF", "Proseminar", ""); tmpi = getData(out, "BS-WIRTINF", "Seminar", ""); if (tmpi < 1) { out.println(ke); } out.println("<P><a name=\"bswi-prakt\"></a><h4>Praktika</h4>"); tmpi = getData(out, "BS-WIRTINF", "Praktikum", ""); if (tmpi < 1) { out.println(ke); } /* out.println("<input type=submit "+ "value=\"Selektierte Veranstaltungen in Stundenplan "+ "aufnehmen\">"); */ out.println("</form>"); printFooter(out); out.println("<p><hr><a name=\"winfms\"><P>"+ "<h2>Wirtschaftsinformatik Master</h2>"); out.println("<P><a name=\"mswi-vorl\"></a><h4>Vorlesungen</h4>"); tmpi = getData(out, "MS-WIRTINF", "Vorlesung", ""); tmpi += getData(out, "MS-WIRTINF", "Übung", ""); if (tmpi < 1) { out.println(ke); } out.println("<P><a name=\"mswi-sem\"></a><h4>Seminare</h4>"); tmpi = getData(out, "MS-WIRTINF", "Seminar", ""); if (tmpi < 1) { out.println(ke); } out.println("<P><a name=\"mswi-prakt\"></a><h4>Praktika</h4>"); tmpi = getData(out, "MS-WIRTINF", "Praktikum", ""); if (tmpi < 1) { out.println(ke); } /* out.println("<input type=submit "+ "value=\"Selektierte Veranstaltungen in Stundenplan "+ "aufnehmen\">"); */ out.println("</form>"); printFooter(out); out.println("\n$portalPresenter.parse(\"/pagefooter.html\", $portalRequest)"); out.flush(); out.close(); } /** * */ static int getData(PrintWriter out, String nameunivis, String typ, String wkz) throws Exception { Map attrs = new HashMap(); CourseProgram cp = courseManager.getProgramForLabel(nameunivis); if (cp == null) { logger.error("did not find course program for "+nameunivis); return 0; } attrs.put("cpid", new Integer(cp.getId())); if (typ.length()>0) { attrs.put("cmtype", typ); } if (wkz!=null && wkz.length()>0) { attrs.put("coursetype", wkz); } attrs.put("cterm", cterm); List clist = courseManager.searchCourses(attrs, "course_module.cmname"); int fullcount = 0; Iterator i = clist.iterator(); if (i.hasNext()) out.println("<div id=\"VL\"><table border=1><tr><th>Modul</th><th>Name</th><th>Art</th><th></th><th></th><th>Std.</th><th>Dozent</th><th>Zeiten</th><th>Raum</th></tr><tr>"); // New Date today = new Date(); long todayTime = today.getTime(); while (i.hasNext()) { // One row fullcount++; Course c = (Course)i.next(); long valctime = 0; Date d = c.getLastUpdate(); if (d != null) { valctime = d.getTime(); } out.print("<tr>"); // New // Modul String modulname = c.getCourseModule().getSId(); int modulnr = c.getCourseModule().getId(); out.print("<td><a href=\"/myintum/kurs_verwaltung/cm.html?id="); out.print(modulname+"\">"+modulname+"</a></td>"); // Name String vatitel = c.getFullName(); out.print("<td><i>"); out.print("<a href=\"/myintum/kurs_verwaltung/c.html?cid="); out.print(modulnr+"\">"+vatitel+"</a></i></td>"); // Art if (typ.equals("Vorlesung")) out.print("<td>VL</td>"); else if (typ.equals("Seminar")) out.print("<td>SE</td>"); else if (typ.equals("Praktikum")) out.print("<td>PR</td>"); else if (typ.equals("Übung")) out.print("<td>UE</td>"); else out.print("<td></td>"); // ECTS Credits ? Float credits=c.getEctsCredits(); if (credits != null) out.print("<td>"+credits.toString()+"</td>"); else out.print("<td>-</td>"); // Determine "sub-courses" int counter1=0; // out.print("<td>"); int swsvl = c.getHoursLecture(); if (swsvl > 0) { counter1 ++; // out.print ("VL"); } int swsue = c.getHoursExercises(); if (swsue > 0) { if (counter1 > 0) // out.print("+"); counter1 ++; // out.print ("UE"); } int swsse = c.getHoursSeminar(); if (swsse > 0) { if (counter1 > 0) // out.print("+"); counter1 ++; // out.print ("Seminar"); } int swspr = c.getHoursLab(); if (swspr > 0) { if (counter1 > 0) // out.print("+"); counter1 ++; // out.print ("Praktikum"); } if (counter1 > 0) // out.print(": "); out.print("</TD>"); out.print("<td</td>"); // TODO // SWS int counter2=0; out.print("<td>SWS: "); if (swsvl > 0) { counter2 ++; out.print (swsvl); } if (swsue > 0) { if (counter2 > 0) out.print("+"); counter2 ++; out.print (swsue); } if (swsse > 0) { if (counter2 > 0) out.print("+"); counter2 ++; out.print (swsse); } if (swspr > 0) { if (counter2 > 0) out.print("+"); counter2 ++; out.print (swspr); } out.print("</td>"); // Dozent out.print("<td>"+getDozenten(c)+"</td>"); // Now, the part with the extra rows // Determine times StringBuffer termine = new StringBuffer(""); StringBuffer termineue = new StringBuffer(""); StringBuffer terminezue = new StringBuffer(""); int count = 0; List cdates = c.getCourseDates(); Iterator i2 = cdates.iterator(); out.print("<td>"); while (i2.hasNext()) { CourseDate cd = (CourseDate)i2.next(); int tewotag = cd.getWeekday(); int teanstd = cd.getStartHour(); int teanmin = cd.getStartMin(); int teenstd = cd.getEndHour(); int teenmin = cd.getEndMin(); Date teandat = cd.getStartDate(); Date teendat = cd.getEndDate(); char tetyp = cd.getType(); CourseRoom room = cd.getRoom(); int teturnus = cd.getCycle(); StringBuffer tmpsb = new StringBuffer(""); if (count > 0) tmpsb.append("</tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>"); if (tetyp == 2) { tmpsb.append("ZÜ: "); } else if (tetyp == 1) { tmpsb.append("Ü: "); } else { // termine.append("VL: "); } switch (tewotag) { case 0: tmpsb.append("So "); break; case 1: tmpsb.append("Mo "); break; case 2: tmpsb.append("Di "); break; case 3: tmpsb.append("Mi "); break; case 4: tmpsb.append("Do "); break; case 5: tmpsb.append("Fr "); break; case 6: tmpsb.append("Sa "); break; } tmpsb.append(teanstd+":"+min2string(teanmin)+" - "+ teenstd+":"+min2string(teenmin)+" "); if (room != null) { tmpsb.append("</td><td>"+room.getName()+"</td>"); } /* if (teandat != null) { if (teturnus >= 1) { tmpsb.append(" ab "+DateUtil. date2String(teandat, "dd.MM.yyyy")); if (teturnus > 1) { tmpsb.append(" alle "+teturnus+" Wochen"); } } else { if (teendat==null) tmpsb.append(" am "+DateUtil. date2String(teandat, "dd.MM.yyyy")); else tmpsb.append(" ab "+DateUtil. date2String(teandat, "dd.MM.yyyy")); } } if (teendat != null) { tmpsb.append(" bis "+DateUtil. date2String(teendat, "dd.MM.yyyy")); } */ out.print(tmpsb.toString()); count ++; } /* out.println(termine.toString()); if (terminezue.length()>0) out.println(terminezue.toString()); if (termineue.length()>0) out.println(termineue.toString()); */ out.print("</td>"); /* long tdiff = todayTime - valctime; if (tdiff < 605000000) { if (tdiff < 173000000) { out.print(" <IMG SRC=\"/images/image-changed.gif\" alt=\"(changed in letzten zwei Tagen)\">"); } else if (tdiff < 346000000) { out.print(" <IMG SRC=\"/images/image-changed2.gif\" alt=\"(changed in letzten vier Tagen)\">"); } else { out.print(" <IMG SRC=\"/images/image-changed3.gif\" alt=\"(changed in letzter Woche)\">"); } } out.print("<input type=checkbox name=cid value=\"" +c.getId()+"\">"); */ out.print("</tr>"); // New } out.println("</table></div>"); // New return fullcount; } static private String getDozenten(Course course) throws SQLException { List llist = courseManager.getLecturersForCourse(course.getId()); StringBuffer result = new StringBuffer(""); int count = 0; Iterator i = llist.iterator(); while (i.hasNext()) { CourseLecturer l = (CourseLecturer)i.next(); if (count > 0) result.append(", "); String doname = l.getLastName(); String dovorname = l.getFirstName(); String dourl = l.getUrl(); if (dourl!=null && dourl.length()>0) { result.append("<a href=\""+dourl+"\" target=_top>"); } result.append(doname); if (dovorname!=null && dovorname.length()>0) { result.append(" "+dovorname.substring(0, 1)+"."); } if (dourl!=null && dourl.length()>0) { result.append("</a>"); } count++; } return result.toString(); } static private String min2string(int min) { if (min < 10) return new String("0"+Integer.toString(min)); else return Integer.toString(min); } } |
Update of /cvsroot/cobricks/cobricks2/web/item In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv4096 Modified Files: blog.html.en calendar.html.en index.html.en item.html.en itemcreate.html.en itemcreate_start.html.en itemsearch.html.de itemsearch.html.en itemupdate.html.en itemupdate_start.html.en rss.html.en Added Files: blog.html.de blogann.html.de blogann.html.en calendar.html.de item.html.de itemcreate.html.de itemcreate_start.html.de itemupdate.html.de rss20.xml template-date.html template-msg.html template.html templateedit-date.html templateedit-msg.html templateedit.html Removed Files: attribute_fields.html cal-day.html cal-month.html cal-week.html discussion.html.en rssexport-0-91.xml rssexport-0-92.xml rssexport-1-0.xml rssexport-2-0.xml Log Message: --- NEW FILE: template-date.html --- <table border="1" cellspacing="0pt" cellpadding="5pt" width="100%"> <tr><td> #set($imageurl = $item.getAttributeAsString("imageurl")) #if("$!imageurl"!="") <img align="right" valign="top" width="80" src="$imageurl"/> #end #set($title = $item.getTitle("$!lang")) #if("$!title"!="") <b>$title</b> #else <b>$item.getTitle()</b> <br><font size="-2">(Kein Titel in der angefragten Sprache "$lang" verfügbar.)</font> #end <br/> #set($creator = $item.getAttribute("creator")) #set($creationtime = $item.getAttribute("creationtime")) #if($creator) (von <a href="$contextPath/user/card.html?auserlogin=$userPresenter.getUserLogin($creator)">$userPresenter.getUserName($creator)</a> #if("$!creationtime"!="") , am/um $portalPresenter.dateFormat("$!language", $creationtime) #end ) #elseif("$!creationtime"!="") (am/um $portalPresenter.dateFormat("$!language", $creationtime)) #end <p> #set($starttime = $item.getAttribute("starttime")) #set($endtime = $item.getAttribute("endtime")) #if ("$!starttime"!="") <p>Ab: $portalPresenter.dateFormat("$!language", $starttime)</p> #end #if ("$!endtime"!="") <p>Bis: $portalPresenter.dateFormat("$!language", $endtime)</p> #end <table width="95%"><tr bgcolor="#dfdfdf" width="100%"><td> #set($content = $item.getContent("$!lang")) #if("$content"!="") $content #else $item.getContent() <br/><font size="-2">(Kein Inhalt in der angefragten Sprache "$lang" verfügbar.)</font> #end </td></tr></table><br/> #set($location = $item.getAttributeAsString("location")) #if("$location"!="") <b>Ort:</b> $location<br/><br/> #end #set($expirationtime = $item.getAttribute("expirationtime")) #if($expirationtime) Verfallsdatum: $portalPresenter.dateFormat("$!language", $expirationtime)<br/><br/> #end #set($uri = $item.getAttributeAsString("url")) #if("$!uri"!="") Link zu zusätzlicher Information:<br/> <a href="$uri">$uri</a><br/><br/> #end #set($updater = $item.getAttribute("updater")) #set($updatetime = $item.getAttribute("updatetime")) #if($updater) Letzte Aktualisierung durch <a href="$contextPath/user/card.html?auserlogin=$userPresenter.getUserLogin($updater)"> $userPresenter.getUserName($updater)</a> #if("$!updatetime"!="") , am/um $portalPresenter.dateFormat("$!language", $updatetime) #end <br/> #elseif($updatetime) Letzte Aktualisierung am/um $portalPresenter.dateFormat("$!language", $updatetime)<br/> #end <p>Kategorien, denen die Mitteilung zugeordnet ist: <ul> #foreach ($c in $item.getAttribute("categories")) #if ("$!c"!="0") #set ($tmpc = $categoryPresenter.getCategory("$!c")) #if ("$!tmpc"!="") <li>$tmpc.getTitle("$!lang") #end #end #end #if (!$item.getAttribute("categories")) <li>keine Kategorien #end </ul> </td></tr> </table> Index: itemupdate_start.html.en =================================================================== RCS file: /cvsroot/cobricks/cobricks2/web/item/itemupdate_start.html.en,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- itemupdate_start.html.en 10 Aug 2005 16:37:40 -0000 1.1 +++ itemupdate_start.html.en 15 Dec 2006 03:34:07 -0000 1.2 @@ -1,8 +1,8 @@ -$portalPresenter.parse("$contextPath/pageheader.html", $portalRequest) +$portalPresenter.parse("/pageheader.html", $portalRequest) -<em><a href="index.html">Item Component</a> - -<a href="itemupdate_start.html">Item Update</a></em> +<em><a href="$contextPath/index.html">Item Component</a> - +<a href="$contextPath/itemupdate_start.html">Item Update</a></em> <h1>Cobricks-2 - Item Update</h1> @@ -28,4 +28,4 @@ </p> -$portalPresenter.parse("$contextPath/pagefooter.html", $portalRequest) +$portalPresenter.parse("/pagefooter.html", $portalRequest) --- NEW FILE: blogann.html.de --- $portalPresenter.parse("/pageheader.html", $portalRequest) <em><a href="index.html">Item Component</a> - <a href="blog.html">Blog Example</a></em> <h1>Item Component - Blog</h1> #set($item = $itemPresenter.getItem($itemid)) #set ($itemclass = $item.getItemClass()) <img alt="-" src="$itemPresenter.getItemTypeIcon($!itemclass)"> <b>$item.getTitle()</b><br> #set($creator = $item.getAttribute("creator")) #set($creationtime = $item.getAttribute("creationtime")) #if($creator) (von <a href="$contextPath/user/card.html?auserlogin=$userPresenter.getUserLogin($creator)">$userPresenter.getUserName($creator)</a> #if("$!creationtime"!="") , am/um $portalPresenter.dateFormat("$!lang", $creationtime) #end ) #elseif($creationtime) (am/um $portalPresenter.dateFormat("$!lang", $creationtime)) #end <p> $item.getContent() <p> <h3>Kommentare</h3> </p> #set ($anncount = 0) #foreach ($ia in $item.getAnnotations()) <b>$!ia.getTitle()</b><br> #set($creator = $ia.getCreatorId()) #set($creationtime = $ia.getCreationTime()) #if($creator) (von <a href="$contextPath/user/card.html?auserlogin=$userPresenter.getUserLogin($creator)">$userPresenter.getUserName($creator)</a> #if("$!creationtime"!="") , am/um $portalPresenter.dateFormat("$!lang", $creationtime) #end ) #elseif($creationtime) (am/um $portalPresenter.dateFormat("$!lang", $creationtime)) #end <p> $!ia.getContent() </p> #set ($anncount = $anncount + 1) <p> #end #if ($anncount == 0) Bisher gibt es noch keinen Kommentar zu dieser Nachricht. #end <h3>Neuen Kommentar eingeben</h3> <p> #if ( "$!userLogin" == "anonymous" ) <p>Sie müssen (registriert und) angemeldet sein um Beiträge zu veröffentlichen. Bitte <a href="/user/login.html">melden Sie sich an</a>.</p> #else <form action="$contextPath/ITEM"> <input type="hidden" name="itemid" value="$itemid"> <input type="hidden" name="cmd" value="addannotation"> <input type="hidden" name="cmd.success" value="$contextPath/item/blogann.html"> <input type="hidden" name="cmd.error" value="$contextPath/item/blogann.html"> <table border="0"> <tr><td>Titel:</td><td><input type="text" size="30" name="title" value="$!title"></td></tr> <tr><td valign="top">Inhalt:</td><td valign="top"><textarea name="content" rows="5" cols="60"> $!content </textarea> </table> <input type="submit" value="Kommentar hinzufügen"/> </form> #end $portalPresenter.parse("/pagefooter.html", $portalRequest) Index: calendar.html.en =================================================================== RCS file: /cvsroot/cobricks/cobricks2/web/item/calendar.html.en,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- calendar.html.en 10 Aug 2005 12:57:41 -0000 1.1 +++ calendar.html.en 15 Dec 2006 03:34:06 -0000 1.2 @@ -1,48 +1,30 @@ -#parse ( "pageheader.html" ) +$portalPresenter.parse("/pageheader.html", $portalRequest) <em><a href="index.html">Item Component</a> - <a href="calendar.html">Calendar</a></em> -<h1>Calendar</h1> - -<table width="100%" border="0"> -<tr><td valign="top" width="90%"> - -The Item Component offers the possibility to store dated items, i.e. items -that have a startdate and an enddate attached. Using the CalenderPresenter -these items can be displayed in a (HTML-)calendar layout. This page shows -the different views that are supported by the CalendarPresenter. - -</td><td valign="top"> - -</td><td valign="top"> - -$calendarPresenter.printSmallMonthCalendarAsHtml($!datestring, $!catids, "en", "cal-day.html", "cal-week.html", "cal-month.html") - -</td></tr> -</table> -<p> - -<h3>Month View</h3> +#if ("$!caltype"=="") +#set ($caltype = "day") +#end +#if ("$!caltype"=="day") +<h3>Day View</h3> <p> -$calendarPresenter.printMonthCalendarAsHtml($!datestring, $!catids, "en", "cal-day.html", "cal-week.html", "cal-month.html") +$calendarPresenter.printDayCalendarAsHtml($!datestring, $!catids, "en", "calendar.html", "$userId") </p> - - +#end +#if ("$!caltype"=="week") <h3>Week View</h3> - <p> -$calendarPresenter.printWeekCalendarAsHtml($!datestring, $!catids, "en", "cal-day.html", "cal-week.html", "cal-month.html") +$calendarPresenter.printWeekCalendarAsHtml($!datestring, $!catids, "en", "calendar.html", "$userId") </p> - - -<h3>Day View</h3> - +#end +#if ("$!caltype"=="month") +<h3>Month View</h3> <p> -$calendarPresenter.printDayCalendarAsHtml($!datestring, $!catids, "en", "cal-day.html", "cal-week.html", "cal-month.html") +$calendarPresenter.printMonthCalendarAsHtml($!datestring, $!catids, "en", "calendar.html", "$userId") </p> +#end - -#parse ( "pagefooter.html" ) +$portalPresenter.parse("/pagefooter.html", $portalRequest) --- rssexport-1-0.xml DELETED --- --- cal-week.html DELETED --- --- NEW FILE: itemupdate.html.de --- $portalPresenter.parse("/pageheader.html", $portalRequest) #set ($lang = "de") #set($selectedLangs = $portalRequest.getRequestParameterValues("_languages")) #if(!$selectedLangs) #set ($selectedLangs = [$lang]) #end #set ( $auserlogin = $userLogin ) #set ( $auserid = $userId ) #set ( $auser = $userManager.getUser($auserid)) #if($createdItem) #set($itemid= $!createdItem.getLocalId()) #set($item = $itemManager.getItem($itemid)) #elseif($itemid) #set($item = $itemPresenter.getItem($itemid)) #end #if(!$item) <h1>Item editieren</h1> <div class="error">Item mit Identifikator "$!itemid" existiert nicht.</div> #else #set ($itemclass = $item.getItemClass()) #set ($itemname = $itemManager.getOntology().getClass("$itemclass").getDescription("de") ) #if ("$!itemname"=="") #set ($itemname = "Item") #end <h1>$!itemname editieren</h1> #if($returnCode == 1003) <div class="success">Item erfolgreich aktualisiert.</div><br/> #elseif($returnCode == 2003) <div class="error">Fehler beim Aktualisieren des Items: <ul> #foreach($error in $errors) <li>$corePresenter.printErrorMessage($error, "$!lang")</li> #end </ul></div><br/> #end #if ($returnCode == 2002) <p><div class="error">Fehler beim Löschen des Items "$!itemid".</div></p> #end #if ($returnCode == 1005) <p><div class="success">Anmerkung angefügt.</div></p> #elseif ($returnCode == 1006) <p><div class="success">Anmerkung entfernt.</div></p> #elseif ($returnCode == 1007) <p><div class="success">Attachment angefügt.</div></p> #elseif ($returnCode == 1008) <p><div class="success">Attachment entfernt.</div></p> #elseif ($returnCode == 2005) <p><div class="error">Fehler beim Hinzufügen einer Anmerkung.</div></p> #elseif ($returnCode == 2006) <p><div class="error">Fehler beim Entfernen einer Anmerkung.</div></p> #elseif ($returnCode == 2007) <p><div class="error">Fehler beim Hinzufügen eines Attachments.</div></p> #elseif ($returnCode == 2008) <p><div class="error">Fehler beim Entfernen eines Attachments.</div></p> #end #set ($acc = $itemPresenter.checkUpdatePermission($item, $userId)) #if ($acc == "false") <div class="error"> Sie haben nicht ausreichend Rechte um das gewünschte Item mit dem Identifikator "$!itemid" zu editieren. </div> #else #set($itemclass = $item.getItemClass()) <form action="$contextPath/ITEM" method="post" enctype="multipart/form-data"> <input type="hidden" name="itemid" value="$!itemid"> <input type="hidden" name="cmd" value="updateitem"/> <input type="hidden" name="cmd.success" value="$contextPath/item/itemupdate.html"/> <input type="hidden" name="cmd.error" value="$contextPath/item/itemupdate.html"/> #foreach($lg in $selectedLangs) <input type="hidden" name="_languages" value="${lg}"/> #end #set ($itemtemplate = $itemPresenter.getItemEditTemplate("$!itemclass")) $itemPresenter.setItemAttrInContext($item, $velocityContext) $portalPresenter.parse("$itemtemplate",$portalRequest,"/item/templateedit.html") <p> <input type="submit" value="$itemname aktualisieren"/> </p> </form> <div align="right"> <form action="$contextPath/ITEM" method="get"> <input type="hidden" name="cmd" value="deleteitem"/> <input type="hidden" name="cmd.success" value="$contextPath/item/itemsearch.html"/> <input type="hidden" name="cmd.error" value="$contextPath/item/itemupdate.html"/> <input type="hidden" name="itemid" value="$itemid"/> <input type="submit" value="Item löschen"/> </form></div> #if ("$!itemdisplayattachments"!="false") ## Print attachments <table border="1pt" width="100%" cellspacing="0pt" cellpadding="4pt"> <tr bgcolor="#eeeeee"> <td> <h3>Attachments:</h3> <ul> #foreach ($ia in $item.getAttachments()) #set ($iconurl = $portalPresenter.getMimeTypeIcon($!ia.getMimeType())) <li><a href="$contextPath/ITEM?cmd=geta&aid=$!ia.getId()"> #if ("$!iconurl"=="") [$!ia.getMimeType()] #else <img src="$iconurl" border="0"> #end $!ia.getTitle()</a>: $!ia.getComment() von $ia.getPublisherId() - <a href="$contextPath/ITEM?cmd=removeattachment&cmd.success=$contextPath/item/itemupdate.html&cmd.error=$contextPath/item/itemupdate.html&itemid=$itemid&itemaid=$ia.getId()">löschen</a> #end </ul> <p>Neues Attachment hinzufügen:<br/> <form action="$contextPath/ITEM" method="post" enctype="multipart/form-data"> <input type="hidden" name="itemid" value="$itemid"> <input type="hidden" name="cmd" value="addattachment"> <input type="hidden" name="cmd.success" value="$contextPath/item/itemupdate.html"> <input type="hidden" name="cmd.error" value="$contextPath/item/itemupdate.html"> <table border="0"> <tr><td>Titel:</td><td><input type="text" size="30" name="_fileTitle"></td></tr> <tr><td>Kommentar:</td><td><input type="text" size="60" name="_fileComment"></td></tr> <tr><td>Datei:</td><td><input type="file" name="_file"></td></tr> </table> <input type="submit" value="Attachment hinzufügen"/> </form> </td></tr></table> <br/> #end #if ("$!itemdisplayannotations"!="false") ## Print annotations and a form to insert annotations <table border="1pt" width="100%" cellspacing="0pt" cellpadding="4pt"> <tr bgcolor="#eeeeee"> <td> <h3>Anmerkungen:</h3> <ul> #foreach ($ia in $item.getAnnotations()) <li>$!ia.getTitle() ($ia.getId()): $!ia.getContent(), rating = $!ia.getRating() von $ia.getCreatorId() - <a href="$contextPath/ITEM?cmd=removeannotation&cmd.success=$contextPath/item/itemupdate.html&cmd.error=$contextPath/item/itemupdate.html&itemid=$itemid&itemaid=$ia.getId()">löschen</a> #end </ul> <p>Neue Anmerkung hinzufügen:<br/> <form action="$contextPath/ITEM"> <input type="hidden" name="itemid" value="$itemid"> <input type="hidden" name="cmd" value="addannotation"> <input type="hidden" name="cmd.success" value="$contextPath/item/itemupdate.html"> <input type="hidden" name="cmd.error" value="$contextPath/item/itemupdate.html"> <table border="0"> <tr><td>Titel:</td><td><input type="text" size="30" name="title"></td></tr> <tr><td>Inhalt:</td><td><input type="text" size="60" name="content"></td></tr> <tr><td>Bewertung:</td><td> $portalPresenter.printSelect("rating", "0,1,2,3,4,5", "0,1,2,3,4,5", "$!rating") </td></tr> </table> <input type="submit" value="Anmerkung hinzufügen"/> </form> </td></tr></table> <br/> #end #end #end $portalPresenter.parse("/pagefooter.html", $portalRequest) --- NEW FILE: template-msg.html --- <table border="1" cellspacing="0pt" cellpadding="5pt" width="100%"> <tr><td> #set($imageurl = $item.getAttributeAsString("imageurl")) #if("$!imageurl"!="") <img align="right" valign="top" width="80" src="$imageurl"/> #end #set($title = $item.getTitle("$!lang")) #if("$!title"!="") <b>$title</b> #else <b>$item.getTitle()</b> <br><font size="-2">(Kein Titel in der angefragten Sprache "$lang" verfügbar.)</font> #end <br/> #set($creator = $item.getAttribute("creator")) #set($creationtime = $item.getAttribute("creationtime")) #if($creator) (von <a href="$contextPath/user/card.html?auserlogin=$userPresenter.getUserLogin($creator)">$userPresenter.getUserName($creator)</a> #if("$!creationtime"!="") , am/um $portalPresenter.dateFormat("$!lang", $creationtime) #end ) #elseif($creationtime) (am/um $portalPresenter.dateFormat("$!lang", $creationtime)) #end <p> <table width="95%"><tr bgcolor="#dfdfdf" width="100%"><td> #set($content = $item.getContent("$!lang")) #if("$content"!="") <pre>$content </pre> #else $item.getContent() <br/><font size="-2">(Kein Inhalt in der angefragten Sprache "$lang" verfügbar.)</font> #end </td></tr></table><br/> #set($location = $item.getAttributeAsString("location")) #if("$location"!="") <b>Ort:</b> $location<br/><br/> #end #set($expirationtime = $item.getAttribute("expirationtime")) #if($expirationtime) Verfallsdatum: $portalPresenter.dateFormat("$!lang", $expirationtime)<br/><br/> #end #set($uri = $item.getAttributeAsString("url")) #if("$!uri"!="") Link zu zusätzlicher Information:<br/> <a href="$uri">$uri</a><br/><br/> #end #set($updater = $item.getAttribute("updater")) #set($updatetime = $item.getAttribute("updatetime")) #if($updater) Letzte Aktualisierung durch <a href="$contextPath/user/card.html?auserlogin=$userPresenter.getUserLogin($updater)"> $userPresenter.getUserName($updater)</a> #if($updatetime) , am/um $portalPresenter.dateFormat("$!lang", $updatetime) #end <br/> #elseif($updatetime) Letzte Aktualisierung am/um $portalPresenter.dateFormat("$!lang", $updatetime)<br/> #end <p>Kategorien, denen die Mitteilung zugeordnet ist: <ul> #foreach ($c in $item.getAttribute("categories")) #if ("$!c"!="0") #set ($tmpc = $categoryPresenter.getCategory("$!c")) #if ("$!tmpc"!="") <li>$tmpc.getTitle("$!lang") #end #end #end #if (!$item.getAttribute("categories")) <li>keine Kategorien #end </ul> </td></tr> </table> --- rssexport-2-0.xml DELETED --- --- NEW FILE: rss20.xml --- (This appears to be a binary file; contents omitted.) --- NEW FILE: itemcreate_start.html.de --- $portalPresenter.parse("/pageheader.html", $portalRequest) <em><a href="$contextPath/index.html">Item Component</a> - <a href="$contextPath/itemcreate_start.html">Create Item</a></em> <h1>Cobricks-2 - Item Creation</h1> #if($createdItem) <div class="success">Item was successfully created (item id = $!createdItem.getLocalId())</div> #end <p> #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #if ( $auserid == 0) <div class="error">You have to log in first before you can insert new items.</div> #else <p>For creating new items you <ul> <li>first have to choose the item class and all languages for which you want to enter multilanguage attributes like title (this page) <li>then enter the attributes for the new item (next page) </ul></p> <p>Please choose the item class and the languages now:</p> <form action="$contextPath/item/itemcreate.html" method="get"> #if(!$itemclass) #set($itemclass = "item") #end <table cellspacing="10"> <tr valign="top"> <td><b>Item class</b></td> <td colspan="2">$itemPresenter.printDropDown("itemclass", $itemclass, "itemclass", false)</td> </tr> <tr valign="top"> <td><b>Languages</b></td> <td>$itemPresenter.printDropDown("_languages", $lang, "language", true)</td> <td>(multiple selection possible)</td> </tr> </table> <br/> <input type="submit" value="Display item creation form"/> </form> </p> #end $portalPresenter.parse("/pagefooter.html", $portalRequest) --- NEW FILE: blog.html.de --- $portalPresenter.parse("/pageheader.html", $portalRequest) <em><a href="index.html">Item Component</a> - <a href="blog.html">Blog Example</a></em> <h1>Item Componente - Blog</h1> <a href="/item/rss20.xml"><img src="/images/rss20.png" align="right"/></a> <p>Hier werden die neuesten zehn Ankündigungen und Mitteilungen dargestellt. <a href="blog.html#toend">Am Ende der Seite</a> können Sie einfach einen eigenen Beitrag veröffentlichen. Ausführlichere Möglichkeiten zur Veröffentlichung verschiedener Inhalte finden Sie unter <a href="/item/index.html">/item/index.html</a>. #set ($iresult = $itemPresenter.searchItemsByTime("creationtime", "desc", "", "now", ["msg","date"],[],10)) #if (($iresult)) #foreach ($i in $iresult) #set ( $itemclass = $i.getAttribute("itemclass") ) <p> #set ($itemclass = $i.getItemClass()) <img alt=- src="$itemPresenter.getItemTypeIcon($!itemclass)"> <b>$i.getTitle()</b><br> #set($creator = $i.getAttribute("creator")) #set($creationtime = $i.getAttribute("creationtime")) #if($creator) (von <a href="$contextPath/user/card.html?auserlogin=$userPresenter.getUserLogin($creator)">$userPresenter.getUserName($creator)</a> #if("$!creationtime"!="") , am/um $portalPresenter.dateFormat("$!lang", $creationtime) #end ) #elseif($creationtime) (am/um $portalPresenter.dateFormat("$!lang", $creationtime)) #end </p><p> $i.getContent() </p> <p align="right"> <font size="-1"> (<a href="/item/item.html?itemid=$i.getId()">mehr</a> #set ($ac = $i.getAnnotationCount()) #if ($ac>0) | <a href="/item/blogann.html?itemid=$i.getId()">$ac Kommentar(e)</a> #end | <a href="/item/blogann.html?itemid=$i.getId()">Kommentar abgeben</a>)</font> #end #end <a name="toend"></a> <h3>Neuen Beitrag veröffentlichen</h3> #if ( "$!userLogin" == "anonymous" ) <p>Sie müssen (registriert und) angemeldet sein um Beiträge zu veröffentlichen. Bitte <a href="/user/login.html">melden Sie sich an</a>.</p> #else #set ($itemclass = "msg") <form action="$contextPath/ITEM" method="post" enctype="multipart/form-data"> <input type="hidden" name="itemclass" value="${itemclass}"/> <input type="hidden" name="cmd" value="createitem"/> <input type="hidden" name="cmd.success" value="$contextPath/item/blog.html"/> <input type="hidden" name="cmd.error" value="$contextPath/item/itemcreate.html"/> <input type="hidden" name="cmd.noaccess" value="$contextPath/noaccess.html"/> <input type="hidden" name="creator" value="${userId}"/> <table cellspacing="10"> <tr valign="top"> <td><b>Titel</b></td> <td>$itemPresenter.printAttrInput("item", "title_de", "de", $velocityContext, 1, 50, false)</td> </tr> <tr valign="top"> <td><b>Inhalt</b></td> <td>$itemPresenter.printAttrInput($itemclass, "content_de", "de", $velocityContext, 15, 80, false)</td> </tr> <tr> <td valign="top"><b>Kategorien</b></td> <td valign="top"> <table border="0"> <tr><td> #set ( $categoryclass = "community" ) <select name="categories" size="10" multiple> $itemPresenter.getCategoryOptions("$!categoryclass","de",$item.getAttribute("categories"),"$!categoryid") </select> </td> <td valign=top>Die Kategorien werden dazu benutzt, das Item den Interessengebieten von Benutzern und den verschiedenen Themenseiten zuzuordnen. Bitte wählen Sie die Kategorien zu Ihrem Item gewissenhaft aus (thematisch passend, nicht zu viele). </td> </tr> </table> </td> </tr> </table> </p> <p> <input type="submit" value="Beitrag veröffentlichen"/> </form> #end <p> Alternativ können Sie auch Beiträge mit mehr Meta-Information veröffentlichen - Hierzu gibt es <a href="/item/index.html">separate Formulare</a>. $portalPresenter.parse("/pagefooter.html", $portalRequest) Index: blog.html.en =================================================================== RCS file: /cvsroot/cobricks/cobricks2/web/item/blog.html.en,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- blog.html.en 10 Aug 2005 12:57:41 -0000 1.1 +++ blog.html.en 15 Dec 2006 03:34:06 -0000 1.2 @@ -1,38 +1,110 @@ -$portalPresenter.parse("$contextPath/pageheader.html", $portalRequest) +$portalPresenter.parse("/pageheader.html", $portalRequest) <em><a href="index.html">Item Component</a> - <a href="blog.html">Blog Example</a></em> <h1>Item Component - Blog</h1> +<a href="/item/rss20.xml"><img src="/images/rss20.png" align="right"/></a> + <p>Using the item component it is possible to provide "Blog-like" functionality. This page demonstrates this.</p> -<p>TBD: this currently is just how it should look like ...</p> - -<p>Below are the 20 most recent journal entries:</p> -<center> -<a href="">[<< Previous 20]</a> -</center> +#set ($iresult = $itemPresenter.searchItemsByTime("creationtime", "desc", "", "now", ["msg","date"],[],10)) +#if (($iresult)) -<h3>Wednesday, June 29th, 2005</h3> -<table><tr> -<td><font size="-1"><em>14:22</em></font></td> -<td><b>Title of contribution</b><br> -Text of contribution. This can be longer than just a few words. It can -be several lines and even more. It is hard to come up with text just -to demonstrate this. +#foreach ($i in $iresult) + #set ( $itemclass = $i.getAttribute("itemclass") ) <p> -And there can be even several paragraphs. Like this one. This should -be the second paragraph, just following the first one, well, that -should do it now. +#set ($itemclass = $i.getItemClass()) +<img alt=- src="$itemPresenter.getItemTypeIcon($!itemclass)"> +<b>$i.getTitle()</b><br> +#set($creator = $i.getAttribute("creator")) +#set($creationtime = $i.getAttribute("creationtime")) +#if($creator) + (by + <a href="$contextPath/user/card.html?auserlogin=$userPresenter.getUserLogin($creator)">$userPresenter.getUserName($creator)</a> + #if("$!creationtime"!="") + , at $portalPresenter.dateFormat("$!lang", $creationtime) + #end +) +#elseif($creationtime) + (at $portalPresenter.dateFormat("$!lang", $creationtime)) +#end +</p><p> +$i.getContent() +</p> <p align="right"> -<font size="-1">(<a href="">2 Comments</a> | <a href="">Comment on this</a>)</font> +<font size="-1"> +(<a href="/item/item.html?itemid=$i.getId()">more</a> +#set ($ac = $i.getAnnotationCount()) +#if ($ac>0) +| <a href="/item/blogann.html?itemid=$i.getId()">$ac comment(s)</a> +#end +| <a href="/item/blogann.html?itemid=$i.getId()">add comment</a>)</font> + +#end +#end + +<a name="toend"></a> + +<h3>Publish item</h3> + +#if ( "$!userLogin" == "anonymous" ) + +<p>You have to register and log in to publish items. Please +<a href="/user/login.html">log in</a>.</p> + +#else + +#set ($itemclass = "msg") + +<form action="$contextPath/ITEM" method="post" enctype="multipart/form-data"> +<input type="hidden" name="itemclass" value="${itemclass}"/> +<input type="hidden" name="cmd" value="createitem"/> +<input type="hidden" name="cmd.success" value="$contextPath/item/blog.html"/> +<input type="hidden" name="cmd.error" value="$contextPath/item/itemcreate.html"/> +<input type="hidden" name="cmd.noaccess" value="$contextPath/noaccess.html"/> +<input type="hidden" name="creator" value="${userId}"/> + +<table cellspacing="10"> +<tr valign="top"> +<td><b>Titel</b></td> +<td>$itemPresenter.printAttrInput("item", "title_en", "en", $velocityContext, 1, 50, false)</td> +</tr> +<tr valign="top"> +<td><b>Inhalt</b></td> +<td>$itemPresenter.printAttrInput($itemclass, "content_en", "en", $velocityContext, 15, 80, false)</td> +</tr> +<tr> +<td valign="top"><b>Categories</b></td> +<td valign="top"> +<table border="0"> +<tr><td> +#set ( $categoryclass = "community" ) +<select name="categories" size="10" multiple> +$itemPresenter.getCategoryOptions("$!categoryclass","de",$item.getAttribute("categories"),"$!categoryid") +</select> +</td> +<td valign=top>The categories are used to assign the item + to the interests of users. +</td> +</tr> +</table> +</td> +</tr> +</table> +</p> + <p> +<input type="submit" value="Publish item"/> +</form> -TBD +#end +<p> -$portalPresenter.parse("$contextPath/pagefooter.html", $portalRequest) + +$portalPresenter.parse("/pagefooter.html", $portalRequest) --- NEW FILE: templateedit.html --- #foreach($lg in $selectedLangs) <input type="hidden" name="_languages" value="${lg}"/> #end <table cellspacing="10"> #foreach($lg in $selectedLangs) <tr valign="top"> <td><table> <tr><td><b>Titel</b></td> <td>(in <b>$itemPresenter.getLanguageName($lg)</b>)</td></tr> <tr><td colspan="2">$itemPresenter.printDescription($itemclass, "title", $lg)</td></tr> </table></td> <td>$itemPresenter.printAttrInput("item", "title_${lg}", $lang, $velocityContext, 1, 50, false)</td> </tr> #end #foreach($lg in $selectedLangs) <tr valign="top"> <td><table> <tr><td><b>Inhalte</b></td> <td>(in <b>$itemPresenter.getLanguageName($lg)</b>)</td></tr> <tr><td colspan="2">$itemPresenter.printDescription($itemclass, "content", $lg)</td></tr> </table></td> <td>$itemPresenter.printAttrInput($itemclass, "content_${lg}", $lang, $velocityContext, 15, 80, false)</td> </tr> #end <tr><td nowrap align=left> <b>Leserechte einschränken auf Rolle:</b> </td><td noWrap align=left> $itemPresenter.printAttrInput($itemclass, "roleread", $lang, $velocityContext, 1, 30, false) </td></tr> <tr><td nowrap align=left> <b>Schreibrechte erweitern um Rolle:</b> </td><td noWrap align=left> $itemPresenter.printAttrInput($itemclass, "roleupdate", $lang, $velocityContext, 1, 30, false) </td></tr> </table> <table cellspacing="10"> <tr><td><b>Status</b><br/>$itemPresenter.printDescription($itemclass, "state", $lang)</td> <td>$itemPresenter.printDropDown("state", "$!state", "state", false)</td></tr> <tr><td><b>Ort</b><br/>$itemPresenter.printDescription($itemclass, "location", $lang)</td> <td>$itemPresenter.printAttrInput($itemclass, "location", $lang, "$!location", 1, 50, false)</td> </tr> <tr><td><b>Quelle</b><br/>$itemPresenter.printDescription($itemclass, "origin", $lang)</td> <td>$itemPresenter.printAttrInput($itemclass, "origin", $lang, "$!origin", 1, 50, false)</td> </tr> <tr><td><b>URL</b><br/>$itemPresenter.printDescription($itemclass, "url", $lang)</td> <td>$itemPresenter.printAttrInput($itemclass, "url", $lang, "$!url", 1, 50, false)</td></tr> <tr><td><b>ImageURL</b><br/>$itemPresenter.printDescription($itemclass, "imageurl", $lang)</td> <td>$itemPresenter.printAttrInput($itemclass, "imageurl", $lang, "$!imageurl", 1, 50, false)</td></tr> <tr><td><b>Verfallsdatum<br/>time</b><br/>$itemPresenter.printDescription($itemclass, "expirationtime", $lang)</td> <td>$itemPresenter.printAttrInput($itemclass, "expirationtime", $lang, "$!expirationtime", 1, 20, false)</td></tr> </table> </p> <p> <table border="0"><tr><td valign="top"> <tr> <td colSpan=2><b>Kategorien:</b></td></tr> <tr> <td valign="top"> #set ( $categoryclass = "community" ) <select name="categories" size="10" multiple> $itemPresenter.getCategoryOptions("$!categoryclass","$lang",$item.getAttribute("categories"),"$!categoryid") </select> </td> <td vAlign=top>Die Kategorien werden dazu benutzt, das Item den Interessengebieten von Benutzern und den verschiedenen Themenseiten zuzuordnen. Bitte wählen Sie die Kategorien zu Ihrem Item gewissenhaft aus (thematisch passend, nicht zu viele). </td> </tr> </table> </p> #if(!($itemclass == "item")) #set($attrNames = $itemPresenter.getAttributeNames($itemclass)) #set($itemAttrs = $itemPresenter.getAttributeNames("item")) #set($attrNames = $itemPresenter.removeDuplicates($attrNames, $itemAttrs)) #set($attrNames = $corePresenter.sortList($attrNames) ) #if(!$attrNames.isEmpty()) <hr/> <p> <h3>Weitere Attribute:</h3> <table cellspacing="10"> #foreach($attr in $attrNames) #if($itemPresenter.isMultiLang($itemclass, $attr)) #foreach($lg in $selectedLangs) <tr valign="top"> <td><b>$attr</b> (in <b>$itemPresenter.getLanguageName($lg)</b>) <br/>$itemPresenter.printDescription($itemclass, $attr, $lg)</td> <td>$itemPresenter.printAttrInput($itemclass, "${attr}_${lg}", $lang, $velocityContext)</td> </tr> #end #else <tr valign="top"> <td><b>$attr</b> <br/>$itemPresenter.printDescription($itemclass, $attr, $lang)</td> <td>$itemPresenter.printAttrInput($itemclass, $attr, $lang, $velocityContext)</td> </tr> #end #end </table> </p> #end #end --- NEW FILE: item.html.de --- $portalPresenter.parse("/pageheader.html", $portalRequest) <em><a href="index.html">Item Component</a> - <a href="item.html">Show Item Details</a></em> #set ($lang = "de") #set($selectedLangs = $portalRequest.getRequestParameterValues("_languages")) #if(!$selectedLangs) #set ($selectedLangs = [$lang]) #end #set ( $auserlogin = $userLogin ) #set ( $auserid = $userId ) #set($item = $itemPresenter.getItem($itemid)) #if(!$item) <h1>Item anzeigen</h1> <div class="error">Item mit Identifikator "$!itemid" existiert nicht.</div> #else #set ($acc = $itemPresenter.checkReadPermission($item, $userId)) #if ($acc == "false") <h1>Item anzeigen</h1> <div class="error"> #set ($accrole = $item.getAttribute("roleread")) #if ("$!accrole"=="") Sie haben nicht ausreichend Rechte um auf das gewünschte Item mit dem Identifikator "$!itemid" zuzugreifen. #else Sie haben nicht ausreichend Rechte um auf das gewünschte Item mit dem Identifikator "$!itemid" zuzugreifen (Zugriffsbeschränkung = $accrole). #end </div> #else #set($itemclass = $item.getItemClass()) #set ( $itemname = $itemManager.getOntology().getClass("$itemclass").getDescription("de") ) #if ("$!itemname"=="") #set ($itemname = "Item") #end <h3>$itemname</h3> #if ($returnCode == 1005) <p><div class="success">Anmerkung angefügt.</div></p> #elseif ($returnCode == 1006) <p><div class="success">Anmerkung entfernt.</div></p> #elseif ($returnCode == 1007) <p><div class="success">Attachment angefügt.</div></p> #elseif ($returnCode == 1008) <p><div class="success">Attachment entfernt.</div></p> #elseif ($returnCode == 2005) <p><div class="error">Fehler beim Hinzufügen einer Anmerkung.</div></p> #elseif ($returnCode == 2006) <p><div class="error">Fehler beim Entfernen einer Anmerkung.</div></p> #elseif ($returnCode == 2007) <p><div class="error">Fehler beim Hinzufügen eines Attachments.</div></p> #elseif ($returnCode == 2008) <p><div class="error">Fehler beim Entfernen eines Attachments.</div></p> #end ## Print this item in the language the user has specified or, if no ## language was specified, print out the item in the default language #if (!$language) #set($language = $lang) #end ## get item display template defined in the properties #set ($itemtemplate = $itemPresenter.getItemTemplate("details", $item)) <p> $portalPresenter.parse("$itemtemplate",$portalRequest,"/item/template.html")<br> #set ($accupdate = $itemPresenter.checkUpdatePermission($item, $userId)) #if ("$accupdate"=="true") <div align="right"><form action="$contextPath/item/itemupdate.html" method="get"> <input type="hidden" name="itemid" value="$itemid"> <input type="submit" value="Item Editieren"></form></div> #end </p> #if ( "$!userLogin" != "anonymous" ) #if ("$!itemdisplayattachments"!="false") ## Print attachments <table border="1pt" width="100%" cellspacing="0pt" cellpadding="4pt"> <tr bgcolor="#eeeeee"> <td> <h3>Attachments:</h3> <ul> #foreach ($ia in $item.getAttachments()) #set ($iconurl = $portalPresenter.getMimeTypeIcon($!ia.getMimeType())) <li><a href="$contextPath/ITEM?cmd=geta&aid=$!ia.getId()"> #if ("$!iconurl"=="") [$!ia.getMimeType()] #else <img src="$iconurl" border="0"> #end $!ia.getTitle()</a>: $!ia.getComment() von $ia.getPublisherId() - <a href="$contextPath/ITEM?cmd=removeattachment&cmd.success=$contextPath/item/item.html&cmd.error=$contextPath/item/item.html&itemid=$itemid&itemaid=$ia.getId()">löschen</a> #end </ul> <p>Neues Attachment hinzufügen:<br/> <form action="$contextPath/ITEM" method="post" enctype="multipart/form-data"> <input type="hidden" name="itemid" value="$itemid"> <input type="hidden" name="cmd" value="addattachment"> <input type="hidden" name="cmd.success" value="$contextPath/item/item.html"> <input type="hidden" name="cmd.error" value="$contextPath/item/item.html"> <table border="0"> <tr><td>Titel:</td><td><input type="text" size="30" name="_fileTitle"></td></tr> <tr><td>Kommentar:</td><td><input type="text" size="60" name="_fileComment"></td></tr> <tr><td>Datei:</td><td><input type="file" name="_file"></td></tr> </table> <input type="submit" value="Attachment hinzufügen"/> </form> </td></tr></table> <br/> #end #if ("$!itemdisplayannotations"!="false") ## Print annotations and a form to insert annotations <table border="1pt" width="100%" cellspacing="0pt" cellpadding="4pt"> <tr bgcolor="#eeeeee"> <td> <h3>Anmerkungen:</h3> <ul> #foreach ($ia in $item.getAnnotations()) <li>$!ia.getTitle() ($ia.getId()): $!ia.getContent(), rating = $!ia.getRating() von $ia.getCreatorId() - <a href="$contextPath/ITEM?cmd=removeannotation&cmd.success=$contextPath/item/item.html&cmd.error=$contextPath/item/item.html&itemid=$itemid&itemaid=$ia.getId()">löschen</a> #end </ul> <p>Neue Anmerkung hinzufügen:<br/> <form action="$contextPath/ITEM"> <input type="hidden" name="itemid" value="$itemid"> <input type="hidden" name="cmd" value="addannotation"> <input type="hidden" name="cmd.success" value="$contextPath/item/item.html"> <input type="hidden" name="cmd.error" value="$contextPath/item/item.html"> <table border="0"> <tr><td>Titel:</td><td><input type="text" size="30" name="title"></td></tr> <tr><td>Inhalt:</td><td><input type="text" size="60" name="content"></td></tr> <tr><td>Bewertung:</td><td> $portalPresenter.printSelect("rating", "0,1,2,3,4,5", "0,1,2,3,4,5", "$!rating") </td></tr> </table> <input type="submit" value="Anmerkung hinzufügen"/> </form> </td></tr></table> <br/> #end #end #end #end $portalPresenter.parse("/pagefooter.html", $portalRequest) Index: itemcreate.html.en =================================================================== RCS file: /cvsroot/cobricks/cobricks2/web/item/itemcreate.html.en,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- itemcreate.html.en 23 Jan 2006 15:13:39 -0000 1.3 +++ itemcreate.html.en 15 Dec 2006 03:34:06 -0000 1.4 @@ -1,195 +1,100 @@ -$portalPresenter.parse("$contextPath/pageheader.html", $portalRequest) +$portalPresenter.parse("/pageheader.html", $portalRequest) <em><a href="index.html">Item Component</a> - <a href="itemcreate_start.html">Create Item</a></em> -<h1>Cobricks-2 - Item Creation</h1> +#set ($lang = "de") +#set($selectedLangs = $portalRequest.getRequestParameterValues("_languages")) +#if(!$selectedLangs) +#set ($selectedLangs = [$lang]) +#end -#if($returnCode == 2001) -<div class="error">Failed creating item. The following error(s) ocurred: -<ul>#foreach($error in $errors) -<li>$corePresenter.printErrorMessage($error, "$!lang")</li> -#end</ul></div><br/> +#set ( $auserlogin = $userLogin ) +#set ( $auserid = $userManager.getUserIdForUserLogin($auserlogin) ) +#set ( $auser = $userManager.getUser($auserid)) +#if ("$!author"=="") +#set ($author = $auser.getName()) #end #if("$!itemclass"=="") #set($itemclass = "item") #end -#set($itemclassdescr = $itemPresenter.printDescription($itemclass, null, $lang)) -<p>Creating new item for item class "$itemclass" -#if("$!itemclassdescr"!="") -($itemclassdescr) -#end</p> +#set ( $itemname = $itemManager.getOntology().getClass("$itemclass").getDescription("de") ) +#if ("$!itemname"=="") +#set ($itemname = "Item") +#end -#set($selectedLangs = $portalRequest.getRequestParameterValues("_languages")) -#if(!$selectedLangs) -#set($selectedLangs = [$lang]) +<h1>$!itemname veröffentlichen</h1> + +#if($returnCode == 2001) +<div class="error">Fehler beim Veröffentlichen eines Items: +<ul>#foreach($error in $errors) +<li>$corePresenter.printErrorMessage($error, "$!lang")</li> +#end</ul></div><br/> #end -<form action="$contextPath/item/itemcreate_start.html" method="get"> -<input type="hidden" name="itemclass" value="${itemclass}"/> -<p> - <table><tr> - <td><input type="submit" value="Back"/></td> - <td>(if you want to change item class or selected languages)</td> - </tr></table> -</p> -</form> +#set ($acc = $userPresenter.checkPermission($auserid, "item", "create", "itemclass=$!itemclass") ) +#if ($acc == "false") -<hr/> -<p> -<form action="$contextPath/ITEM" method="post" enctype="multipart/form-data"> - #foreach($lg in $selectedLangs) - <input type="hidden" name="_languages" value="${lg}"/> - #end - <table cellspacing="10"> - #foreach($lg in $selectedLangs) - <tr valign="top"> - <td><table> - <tr><td><b>Title</b></td> - <td>(in <b>$itemPresenter.getLanguageName($lg)</b>)</td></tr> - <tr><td colspan="2">$itemPresenter.printDescription($itemclass, "title", $lg)</td></tr> - </table></td> - <td>$itemPresenter.printAttrInput("item", "title_${lg}", $lang, $velocityContext, 1, 50, false)</td> - </tr> - #end - #foreach($lg in $selectedLangs) - <tr valign="top"> - <td><table> - <tr><td><b>Content</b></td> - <td>(in <b>$itemPresenter.getLanguageName($lg)</b>)</td></tr> - <tr><td colspan="2">$itemPresenter.printDescription($itemclass, "content", $lg)</td></tr> - </table></td> - <td>$itemPresenter.printAttrInput($itemclass, "content_${lg}", $lang, $velocityContext, 15, 80, false)</td> - </tr> - #end - </table> - <table cellspacing="10"> - <tr><td><b>State</b><br/>$itemPresenter.printDescription($itemclass, "state", $lang)</td> - <td>$itemPresenter.printDropDown("state", "$!state", "state", false)</td></tr> - <tr><td><b>Location</b><br/>$itemPresenter.printDescription($itemclass, "location", $lang)</td> - <td>$itemPresenter.printAttrInput($itemclass, "location", $lang, "$!location", 1, 50, false)</td> - </tr> - <tr><td><b>Origin</b><br/>$itemPresenter.printDescription($itemclass, "origin", $lang)</td> - <td>$itemPresenter.printAttrInput($itemclass, "origin", $lang, "$!origin", 1, 50, false)</td> - </tr> - <tr><td><b>URL</b><br/>$itemPresenter.printDescription($itemclass, "url", $lang)</td> - <td>$itemPresenter.printAttrInput($itemclass, "url", $lang, "$!url", 1, 50, false)</td></tr> - <tr><td><b>ImageURL</b><br/>$itemPresenter.printDescription($itemclass, "imageurl", $lang)</td> - <td>$itemPresenter.printAttrInput($itemclass, "imageurl", $lang, "$!imageurl", 1, 50, false)</td></tr> - <tr><td><b>Expiration<br/>time</b><br/>$itemPresenter.printDescription($itemclass, "expirationtime", $lang)</td> - <td>$itemPresenter.printAttrInput($itemclass, "expirationtime", $lang, "$!expirationtime", 1, 20, false)</td></tr> - </table> -</p> +<div class="error"> +Sie haben nicht ausreichend Rechte um ein Item des gewünschten Typs +"$itemclass" zu veröffentlichen. +</div> + +#else +<form action="$contextPath/ITEM" method="post" enctype="multipart/form-data"> <input type="hidden" name="itemclass" value="${itemclass}"/> <input type="hidden" name="cmd" value="createitem"/> -<input type="hidden" name="cmd.success" value="$contextPath/item/itemcreate_start.html"/> +<input type="hidden" name="cmd.success" value="$contextPath/item/index.html"/> <input type="hidden" name="cmd.error" value="$contextPath/item/itemcreate.html"/> <input type="hidden" name="cmd.noaccess" value="$contextPath/noaccess.html"/> +<input type="hidden" name="creator" value="${auserid}"/> +#foreach($lg in $selectedLangs) +<input type="hidden" name="_languages" value="${lg}"/> +#end + +#set ($itemtemplate = $itemPresenter.getItemEditTemplate("$!itemclass")) +$portalPresenter.parse("$itemtemplate",$portalRequest,"/item/templateedit.html") <p> -<table border="0"><tr><td valign="top"> -<b>Categories</b> -</td><td valign="top"> -$categoryPresenter.printCategorySelection("categories", "", "$lang"); -</td> -</tr></table> +<input type="submit" value="$itemname veröffentlichen"/> </p> - - -#if(!($itemclass == "item")) - #set($attrNames = $itemPresenter.getAttributeNames($itemclass)) - #set($itemAttrs = $itemPresenter.getAttributeNames("item")) - #set($attrNames = $itemPresenter.removeDuplicates($attrNames, $itemAttrs)) - #set($attrNames = $corePresenter.sortList($attrNames) ) - #if(!$attrNames.isEmpty()) - <hr/> - <p> - <h3>Further Attributes:</h3> - <table cellspacing="10"> - #foreach($attr in $attrNames) - #if($itemPresenter.isMultiLang($itemclass, $attr)) - #foreach($lg in $selectedLangs) - <tr valign="top"> - <td><b>$attr</b> (in <b>$itemPresenter.getLanguageName($lg)</b>) - <br/>$itemPresenter.printDescription($itemclass, $attr, $lg)</td> - <td>$itemPresenter.printAttrInput($itemclass, "${attr}_${lg}", $lang, $velocityContext)</td> - </tr> - #end - #else - <tr valign="top"> - <td><b>$attr</b> - <br/>$itemPresenter.printDescription($itemclass, $attr, $lang)</td> - <td>$itemPresenter.printAttrInput($itemclass, $attr, $lang, $velocityContext)</td> - </tr> - #end - #end - </table> - </p> - #end -#end - <hr/> - -<p> - <h2>Define new (custom) attributes:</h2> - <table cellspacing="10"> - <tr valign="top"> - <td><b>Attribute name</b></td> - <td>$itemPresenter.printNewAttrInput("_customAname_1", "$!_customAname_1", 10)</td> - <td><b>Attribute value</b></td> - <td>$itemPresenter.printNewAttrInput("_customAvalue_1", "$!_customAvalue_1", 80)</td> - </tr> - <tr valign="top"> - <td><b>Attribute name</b></td> - <td>$itemPresenter.printNewAttrInput("_customAname_2", "$!_customAname_2", 10)</td> - <td><b>Attribute value</b></td> - <td>$itemPresenter.printNewAttrInput("_customAvalue_2", "$!_customAvalue_2", 80)</td> - </tr> - <tr valign="top"> - <td><b>Attribute name</b></td> - <td>$itemPresenter.printNewAttrInput("_customAname_3", "$!_customAname_3", 10)</td> - <td><b>Attribute value</b></td> - <td>$itemPresenter.printNewAttrInput("_customAvalue_3", "$!_customAvalue_3", 80)</td> - </tr> - </table> -<hr/> - <h2>Add Attachment</h2> +<h2>Attachment hinzufügen</h2> <table> <tr valign="top"> - <td><b>Title: </b></td> + <td><b>Titel: </b></td> <td>$itemPresenter.printNewAttrInput("_fileTitle", "$!_fileTitle", 20)</td> </tr><tr> - <td><b>Comment: </b></td> + <td><b>Kommentar: </b></td> <td>$itemPresenter.printNewAttrInput("_fileComment", "$!_fileComment", 80)</td> </tr> <tr> - <td><b>File</b></td> + <td><b>Datei</b></td> <td><input type="file" name="_file" value="$!_file"></td> </tr> </table> </p> -<hr/> - <h2>Add Annotation</h2> + +<h2>Anmerkung hinzufügen</h2> <table> - <tr><td>Title:</td><td><input type="text" size="30" name="_annTitle" value="$!_annTitle"></td></tr> - <tr><td>Content:</td><td><input type="text" size="60" name="_annContent" value="$!_annContent"></td></tr> - <tr><td>Rating:</td><td> + <tr><td>Titel:</td><td><input type="text" size="30" name="_annTitle" value="$!_annTitle"></td></tr> + <tr><td>Inhalt:</td><td><input type="text" size="60" name="_annContent" value="$!_annContent"></td></tr> + <tr><td>Bewertung:</td><td> $portalPresenter.printSelect("_annRating", "0,1,2,3,4,5", "0,1,2,3,4,5", "$!rating") </td></tr> </table> </p> -<hr/> + <p> - <table><tr> - <td><input type="submit" value="Create item"/></td> - <td><input type="reset" value="Reset all values"/></td> - </tr></table> +<input type="submit" value="$itemname mit Attachments und Anmerkungen veröffentlichen"/> </p> + </form> +#end -$portalPresenter.parse("$contextPath/pagefooter.html", $portalRequest) +$portalPresenter.parse("/pagefooter.html", $portalRequest) --- NEW FILE: calendar.html.de --- $portalPresenter.parse("/pageheader.html", $portalRequest) <em><a href="index.html">Item Component</a> - <a href="calendar.html">Calendar</a></em> #if ("$!caltype"=="") #set ($caltype = "day") #end #if ("$!caltype"=="day") <h3>Tagesansicht</h3> <p> $calendarPresenter.printDayCalendarAsHtml($!datestring, $!catids, "de", "calendar.html", "$userId") </p> #end #if ("$!caltype"=="week") <h3>Wochenansicht</h3> <p> $calendarPresenter.printWeekCalendarAsHtml($!datestring, $!catids, "de", "calendar.html", "$userId") </p> #end #if ("$!caltype"=="month") <h3>Monatsansicht</h3> <p> $calendarPresenter.printMonthCalendarAsHtml($!datestring, $!catids, "de", "calendar.html", "$userId") </p> #end $portalPresenter.parse("/pagefooter.html", $portalRequest) Index: itemsearch.html.en =================================================================== RCS file: /cvsroot/cobricks/cobricks2/web/item/itemsearch.html.en,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- itemsearch.html.en 12 Oct 2006 09:48:20 -0000 1.3 +++ itemsearch.html.en 15 Dec 2006 03:34:07 -0000 1.4 @@ -1,44 +1,49 @@ -$portalPresenter.parse("$contextPath/pageheader.html", $portalRequest) +$portalPresenter.parse("/pageheader.html", $portalRequest) -<em><a href="index.html">Item Component</a> - -<a href="itemsearch.html">Item Search</a> +<em><a href="$contextPath/index.html">Item Component</a> - +<a href="$contextPath/itemsearch.html">Item Search</a> </em> <h1>Cobricks-2 - Item Search</h1> -#if ("$!xPathQuery"!="") +#if ($returnCode == 1002) +<p><div class="success">Item "$itemid" wurde erfolgreich gelöscht.</div></p> +#elseif ($returnCode == 2002) +<p><div class="error">Fehler beim Löschen des Items "$!itemid".</div></p> +#end -#set ($iresult = $itemManager.searchItems("$!xPathQuery")) +#if ("$!query"!="") -#if ($iresult.isEmpty()) - <h3>No results found</h3> - <b>No items were found that match your query</b> "$xPathQuery"</b> +#set ($iresult = $itemPresenter.searchItems("$!qtext","$!qitemclass","$!qcategory","$!qcreator","creationtime","$!qolder","","$!qsortby",-1)) + +#if ("$!iresult"=="") + <h3>Keine Items gefunden.</h3> + <b>Es wurden keine Items gefunden, die zu Ihrer Suchanfrage passen.</b> <p> #else - <h2>$iresult.size() item(s) found</h2> - <b>Your query</b> "$xPathQuery" <b>led to the following result(s):</b> + <h3>$iresult.size() Items gefunden</h3> + <b>Ihre Suchanfrage liefert die folgenden + Resultate:</b> <ul> #foreach ($item in $iresult) #set ( $itemclass = $item.getAttribute("itemclass") ) #set ($title = false) #set ($title = $item.getTitle()) #if ($title) -<li> -<img alt=- src="$itemPresenter.getItemTypeIcon($!itemclass)"> +<li><img alt=- src="$itemPresenter.getItemTypeIcon($!itemclass)"> <a href="item.html?itemid=$item.getId()&fromSearch=true">$title</a> #else -<li> -<img alt=- src="$itemPresenter.getItemTypeIcon($!itemclass)"> +<li><img alt=- src="$itemPresenter.getItemTypeIcon($!itemclass)"> <a href="item.html?itemid=$item.getId()&fromSearch=true">kein Titel</a> #end #set ( $accedit = $userPresenter.checkPermission($userId, "item", "update", $item) ) #set ( $accdel = $userPresenter.checkPermission($userId, "item", "delete", $item) ) #if ( "$!accedit" == "true" ) -- <a href="itemupdate.html?itemid=$i.getId()">edit</a> +- <a href="itemupdate.html?itemid=$item.getId()"><i>editieren</i></a> #end #if ( "$!accdel" == "true" ) -- <a href="/ITEM?cmd=deleteitem&cmd.success=/item/itemlist.html&cmd.error=/item/itemlist.html&itemid=$i.getId()&itemclass=$!itemclass">delete</a> +- <a href="$contextPath/ITEM?cmd=deleteitem&cmd.success=/item/itemsearch.html&cmd.error=/item/itemsearch.html&itemid=$item.getId()&itemclass=$!itemclass"><i>löschen</i></a> #end </li> #end @@ -46,29 +51,45 @@ #end #end -<p> ## Show a textarea where the user can enter its query ## This query is then processed by the ItemServlet -<form action="$contextPath/item/itemsearch.html.en" method="get"> - <table> - <tr> - <td><b>Please enter your query here:</b></td> - </tr> - <tr> - <td><textarea name="xPathQuery" cols="80" rows="5"> -$!xPathQuery -</textarea></td> - </tr> - </table> - <input type="submit" value="Search"/> +<p>Mit folgendem Formular können Sie die publizierten Inhalte (Items) +nach verschiedenen Kriterien durchsuchen.</p> +<p> +<form action="$contextPath/item/itemsearch.html" method="get"> +<input type="hidden" name="query" value="t" /> +<table> +<tr><td><b>Typ:</b></td></tr> +<tr><td> +$portalPresenter.printSelect("qitemclass","Ankündigung,Veranstaltungsankündigung,Tagungsankündigung,Publikation,Projektankündigung,-- beliebig --","tummsg,tumdate,conf,publ,proj, ","$!qitemclass") +</td></tr> +<tr><td colspan=2><b>Suchtext:</b></td></tr> +<tr><td colspan=2><input type="text" name="qtext" value="$!qtext" size="40"></td></tr> +<tr><td><b>Nicht älter als:</b></td> +<td><b>Sortierung:</b></td></tr> +<tr><td> +$portalPresenter.printSelect("qolder","--- beliebig ---,Ein Tag,Eine Woche,Ein Monat,Ein Jahr"," ,now-1,now-14,now-31,now-365","$!qolder") +</td> +<td><select size="1" name="qsortby"> +<option value="title_de">Titel</option> +<option value="author">Autor</option> +<option value="creationtime">Erstellungsdatum</option> +<option value="updatetime">Ãnderungsdatum</option> +</select></td></tr> +<tr><td colspan=2><b>In den Kategorien:</b></td></tr> +<tr><td colspan=2> +<select size="10" name="qcategory" multiple="true"> +$itemPresenter.getCategoryOptions("community","$lang") +</select> +</td></tr> +<tr><td colspan=2><b>Von Benutzer (Loginname):</b></td></tr> +<tr><td colspan=2><input type="text" name="qcreator" value="$!qcreator" size="20"> +</td></tr> +</table> + +<input type="submit" value="Suche durchführen"/> </form> -<p>Examples for queries are:</p> -<pre> - /item[itemclass='item'] - /item[itemclass='portalpage' and name='index.html'] - /item[itemclass='portalpage'] and /item/folders/category/id=12 -</pre> -$portalPresenter.parse("$contextPath/pagefooter.html", $portalRequest) +$portalPresenter.parse("/pagefooter.html", $portalRequest) --- cal-day.html DELETED --- --- NEW FILE: templateedit-msg.html --- <table cellspacing="10"> #foreach($lg in $selectedLangs) <tr><td colspan="2"> <b>Titel (max. 80-100 Zeichen)</b> (in <b>$itemPresenter.getLanguageName($lg)</b>)</td></tr> <tr><td colspan="2"> $itemPresenter.printAttrInput("item", "title_${lg}", $lang, $velocityContext, 1, 50, false) <br><font size="-1">(bitte möglichst aussagekräftig wählen - also nicht nur "Vortrag" oder "Jobangebot", sondern auch Thema)</font> </td></tr> #end #foreach($lg in $selectedLangs) <tr><td colspan="2"> <b>Inhalt</b> (in <b>$itemPresenter.getLanguageName($lg)</b>, in HTML, d.h. mit <p>, <br> etc.; keine <table>) </td></tr> <tr><td colspan="2"> $itemPresenter.printAttrInput($itemclass, "content_${lg}", $lang, $velocityContext, 15, 80, false) </td></tr> #end <tr><td nowrap align=left> <b>Leserechte einschränken auf Rolle:</b> </td><td noWrap align=left> $itemPresenter.printAttrInput($itemclass, "roleread", $lang, $velocityContext, 1, 30, false) </td></tr> <tr><td nowrap align=left> <b>Schreibrechte erweitern um Rolle:</b> </td><td noWrap align=left> $itemPresenter.printAttrInput($itemclass, "roleupdate", $lang, $velocityContext, 1, 30, false) </td></tr> <tr> <td colSpan=2><b>Kategorien:</b></td></tr> <tr> <td valign="top"> #set ( $categoryclass = "community" ) <select name="categories" size="10" multiple> $itemPresenter.getCategoryOptions("$!categoryclass","$lang",$item.getAttribute("categories"),"$!categoryid") </select> </td> <td vAlign=top>Die Kategorien werden dazu benutzt, das Item den Interessengebieten von Benutzern und den verschiedenen Themenseiten zuzuordnen. Bitte wählen Sie die Kategorien zu Ihrem Item gewissenhaft aus (thematisch passend, nicht zu viele). </td> </tr> <tr><td nowrap align=left colSpan=2> <b>Verweis zu weiteren Informationen</b> (URL, optional): </td></tr> <tr> <td noWrap align=left colSpan=2> $itemPresenter.printAttrInput($itemclass, "url", $lang, $velocityContext, 1, 80, false) </td></tr> <tr><td colSpan=2><b>Verfallsdatum:</b></td></tr> <tr><td colSpan=2> $itemPresenter.printAttrInput($itemclass, "expirationtime", $lang, $velocityContext, 1, 20, false) </td></tr> </table> --- cal-month.html DELETED --- --- NEW FILE: blogann.html.en --- $portalPresenter.parse("/pageheader.html", $portalRequest) <em><a href="index.html">Item Component</a> - <a href="blog.html">Blog Example</a></em> <h1>Item Component - Blog</h1> #set($item = $itemPresenter.getItem($itemid)) #set ($itemclass = $item.getItemClass()) <img alt="-" src="$itemPresenter.getItemTypeIcon($!itemclass)"> <b>$item.getTitle()</b><br> #set($creator = $item.getAttribute("creator")) #set($creationtime = $item.getAttribute("creationtime")) #if($creator) (by <a href="$contextPath/user/card.html?auserlogin=$userPresenter.getUserLogin($creator)">$userPresenter.getUserName($creator)</a> #if("$!creationtime"!="") , at $portalPresenter.dateFormat("$!lang", $creationtime) #end ) #elseif($creationtime) (at $portalPresenter.dateFormat("$!lang", $creationtime)) #end <p> $item.getContent() <p> <h3>Comment(s)</h3> </p> #set ($anncount = 0) #foreach ($ia in $item.getAnnotations()) <b>$!ia.getTitle()</b><br> #set($creator = $ia.getCreatorId()) #set($creationtime = $ia.getCreationTime()) #if($creator) (by <a href="$contextPath/user/card.html?auserlogin=$userPresenter.getUserLogin($creator)">$userPresenter.getUserName($creator)</a> #if("$!creationtime"!="") , at $portalPresenter.dateFormat("$!lang", $creationtime) #end ) #elseif($creationtime) (at $portalPresenter.dateFormat("$!lang", $creationtime)) #end <p> $!ia.getContent() </p> #set ($anncount = $anncount + 1) <p> #end #if ($anncount == 0) There are no comments for this item. #end <h3>Publish new comment</h3> <p> #if ( "$!userLogin" == "anonymous" ) <p>You have to register and log in to publish items. Please <a href="/user/login.html">log in</a>.</p> #else <form action="$contextPath/ITEM"> <input type="hidden" name="itemid" value="$itemid"> <input type="hidden" name="cmd" value="addannotation"> <input type="hidden" name="cmd.success" value="$contextPath/item/blogann.html"> <input type="hidden" name="cmd.error" value="$contextPath/item/blogann.html"> <table border="0"> <tr><td>Title:</td><td><input type="text" size="30" name="title" value="$!title"></td></tr> <tr><td valign="top">Inhalt:</td><td valign="top"><textarea name="content" rows="5" cols="60"> $!content </textarea> </table> <input type="submit" value="Add comment"/> </form> #end $portalPresenter.parse("/pagefooter.html", $portalRequest) Index: itemupdate.html.en =================================================================== RCS file: /cvsroot/cobricks/cobricks2/web/item/itemupdate.html.en,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- itemupdate.html.en 10 Aug 2005 16:37:40 -0000 1.2 +++ itemupdate.html.en 15 Dec 2006 03:34:07 -0000 1.3 @@ -1,168 +1,184 @@ -$portalPresenter.parse("$contextPath/pageheader.html", $portalRequest) +$portalPresenter.parse("/pageheader.html", $portalRequest) -<em><a href="index.html">Item Component</a> - -<a href="itemupdate_start.html">Item Update</a></em> +<em><a href="$contextPath/index.html">Item Component</a> - +<a href="$contextPath/itemupdate_start.html">Item Update</a></em> -<h1>Cobricks-2 - Item Update</h1> +#set ($lang = "en") +#set($selectedLangs = $portalRequest.getRequestParameterValues("_languages")) +#if(!$selectedLangs) +#set ($selectedLangs = [$lang]) +#end + +#set ( $auserlogin = $userLogin ) +#set ( $auserid = $userId ) +#set ( $auser = $userManager.getUser($auserid)) + +#if($createdItem) +#set($itemid= $!createdItem.getLocalId()) +#set($item = $itemManager.getItem($itemid)) +#elseif($itemid) +#set($item = $itemPresenter.getItem($itemid)) +#end + +#if(!$item) +<h1>Item editieren</h1> +<div class="error">Item mit Identifikator "$!itemid" existiert nicht.</div> +#else + +#set ($itemclass = $item.getItemClass()) +#set ($itemname = $itemManager.getOntology().getClass("$itemclass").getDescription("de") ) +#if ("$!itemname"=="") +#set ($itemname = "Item") +#end + +<h1>$!itemname editieren</h1> #if($returnCode == 1003) -<div class="success">Successfully updated item.</div><br/> +<div class="success">Item erfolgreich aktualisiert.</div><br/> #elseif($returnCode == 2003) -<div class="error">Failed updating item. The following error(s) ocurred: -<ul>#foreach($error in $errors) +<div class="error">Fehler beim Aktualisier... [truncated message content] |
|
From: Michael K. <ko...@us...> - 2006-12-14 22:07:24
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/user In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv17979/user Modified Files: FormConstants.java UserPresenter.java UserServlet.java Log Message: Index: UserPresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/user/UserPresenter.java,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- UserPresenter.java 8 Dec 2006 07:48:07 -0000 1.43 +++ UserPresenter.java 14 Dec 2006 22:06:49 -0000 1.44 @@ -376,7 +376,7 @@ } else if (aname.equalsIgnoreCase(FormConstants.FIRST_NAME)) { aname = User.FIRSTNAME; } else if (aname.equalsIgnoreCase(FormConstants.EMAIL)) { - aname = User.EMAIL; + aname = User.EMAILP; } if (aname.indexOf("_") > -1) { @@ -384,7 +384,6 @@ "_"); int counter = 0; aname = ""; - while (underlineToken.hasMoreTokens()) { aname = aname.concat(underlineToken.nextToken(). concat(".")); @@ -395,15 +394,12 @@ if ((avalue.length() > 0)) { StringTokenizer commaToken = new StringTokenizer(avalue, ","); - if (commaToken.countTokens() > 1) { avalueSet = new HashSet(); compCondition = (String)conditions.get("1"); - while (commaToken.hasMoreTokens()) { avalueSet.add(commaToken.nextToken()); } - aname = aname.concat(compCondition); attrsForSearch.put(aname, avalueSet); } else { @@ -414,9 +410,18 @@ } } attrsForSearch.put(aname, avalue); + if (aname.equals(User.EMAILP+"=")) { + attrsForSearch.put(User.EMAILW+"=", avalue); + attrsForSearch.put(User.EMAIL+"=", avalue); + orFlag = true; + } + if (aname.equals(User.EMAILP+"~")) { + attrsForSearch.put(User.EMAILW+"~", avalue); + attrsForSearch.put(User.EMAIL+"~", avalue); + orFlag = true; + } } } - countNames++; } @@ -951,4 +956,17 @@ return user.getName(); } + public String getUserEmail(int userid) + { + User user = userManager.getUser(userid); + if (user == null) return ""; + return user.getEmail(); + } + + public String getUserEmail(User user) + { + if (user == null) return ""; + return user.getEmail(); + } + } Index: UserServlet.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/user/UserServlet.java,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- UserServlet.java 6 Dec 2006 09:41:30 -0000 1.46 +++ UserServlet.java 14 Dec 2006 22:06:49 -0000 1.47 @@ -408,7 +408,7 @@ userManager.updateUser(u.getUserId(), m); } } - + return "success"; } Index: FormConstants.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/user/FormConstants.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- FormConstants.java 29 May 2006 15:57:12 -0000 1.6 +++ FormConstants.java 14 Dec 2006 22:06:48 -0000 1.7 @@ -30,7 +30,8 @@ public static final int NAME_MAX_LENGTH = 20; public static final int EMAIL_MIN_LENGTH = 6; public static final int EMAIL_MAX_LENGTH = 30; - public static final String VALID_ERROR_ATTR_NAME = "VALID_ERROR_ATTR_NAME"; + public static final String VALID_ERROR_ATTR_NAME = + "VALID_ERROR_ATTR_NAME"; //search formular |
|
From: Michael K. <ko...@us...> - 2006-12-14 22:07:23
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/util/migration In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv17979/util/migration Modified Files: CourseMigration.java Log Message: Index: CourseMigration.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/util/migration/CourseMigration.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- CourseMigration.java 30 Nov 2006 14:02:00 -0000 1.3 +++ CourseMigration.java 14 Dec 2006 22:06:49 -0000 1.4 @@ -94,8 +94,8 @@ List result = fromDBAccess. sqlQuery("SELECT * FROM veranstaltung, veranstklasse " +"WHERE veranstaltung.klid = veranstklasse.klid " - +"AND ((vajahr = 2006 AND vasem='WS') OR " - +"(vajahr = 2007 AND vasem='SS'))"); + +"AND ((vajahr = 2005 AND vasem='SS') OR " + +"(vajahr < 2005 AND vajahr > 1999))"); Iterator resIter = result.iterator(); while(resIter.hasNext()) { Map fromMap = (Map)resIter.next(); |
|
From: Michael K. <ko...@us...> - 2006-12-14 22:07:23
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/user/attribute In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv17979/user/attribute Modified Files: UserJoin.java Log Message: Index: UserJoin.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/user/attribute/UserJoin.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- UserJoin.java 8 Dec 2006 07:48:08 -0000 1.13 +++ UserJoin.java 14 Dec 2006 22:06:49 -0000 1.14 @@ -87,11 +87,9 @@ boolean user_mainIs = false; StringBuffer orderBy = new StringBuffer(" order by "); String andOr = " and "; - if (orFlag) { andOr = " or "; } - if (conds.isEmpty()) { sql = new StringBuffer("select user_main.userid "); from = new StringBuffer(" from user_main "); @@ -170,7 +168,8 @@ (String)attr.getKey(), attr.getValue(), currentTableName, where, objects, false, uM, userclass)); - where.append(") and "); + where.append(")"); + where.append(andOr); } } } @@ -190,7 +189,8 @@ where.append(AS_TABLE_PREFIX + tableNumber); where.append(".aname = '"); where.append(sortByEntry.getName()); - where.append("' and "); + where.append("'"); + where.append(andOr); } from.append(" left join "); |
|
From: Michael K. <ko...@us...> - 2006-12-14 22:07:23
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/portal In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv17979/portal Modified Files: CalendarPresenter.java Log Message: Index: CalendarPresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/CalendarPresenter.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- CalendarPresenter.java 24 Nov 2006 08:05:57 -0000 1.7 +++ CalendarPresenter.java 14 Dec 2006 22:06:48 -0000 1.8 @@ -605,21 +605,22 @@ StringBuffer sb = new StringBuffer(""); try { int uID = Integer.parseInt(userID); - // Retrieving all the calendar entries from the component, which are - // responsible for this + // Retrieving all the calendar entries from the component, + // which are responsible for this for (int i = 0; i < componentManagers.size(); i++) { calendarEntries.addAll( ((ComponentManagerInterface)componentManagers.get(i)) .getCalendarEntries(uID,cal.getTime()) ); } - }catch(Exception ex){ - logger.error("Unable to get courses for date"); + } catch(Exception ex) { + logger.error("Unable to get courses for date: "+ex.toString()); } if(format.equalsIgnoreCase("WEEK")){ Iterator it = calendarEntries.iterator(); while ( it.hasNext()){ calEntry = (CalendarEntry)it.next(); - sb.append("<a href=\"" + calEntry.getUrl() + "\">"+calEntry.getName()+"</a><br />"); + sb.append("<a href=\"" + calEntry.getUrl() + "\">" + +calEntry.getName()+"</a><br />"); } }else if(format.equalsIgnoreCase("MONTH")){ Iterator it = calendarEntries.iterator(); @@ -638,8 +639,10 @@ if(calEntry.getStarthour() == hour){ sb.append("<a href=\"" + calEntry.getUrl() + "\">"); sb.append(calEntry.getName()+" -> "); - sb.append(calEntry.getStarthour()+":"+calEntry.getStartmin()+" - "); - sb.append(calEntry.getEndhour()+":"+calEntry.getEndmin()+""); + sb.append(calEntry.getStarthour()+":" + +calEntry.getStartmin()+" - "); + sb.append(calEntry.getEndhour()+":" + +calEntry.getEndmin()+""); sb.append("</a><br/>"); } } |
|
From: Michael K. <ko...@us...> - 2006-12-14 22:07:23
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/course In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv17979/course Modified Files: CourseDate.java CourseManager.java CourseManagerImpl.java CoursePresenter.java Log Message: Index: CourseManager.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/course/CourseManager.java,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- CourseManager.java 11 Dec 2006 10:08:05 -0000 1.35 +++ CourseManager.java 14 Dec 2006 22:06:46 -0000 1.36 @@ -597,6 +597,7 @@ public List getCourseUpdateHistory(int cid); public List getCourseModuleUpdateHistory(int cmid, boolean includecourses, Date fromdate); + public List getCourseModuleUpdateHistory(int cmid, boolean includecourses); public List getCourseModuleUpdateHistory(int cmid); public void addCourseUpdateHistory(String acc, int cid, int cmid, int userid, Index: CoursePresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/course/CoursePresenter.java,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- CoursePresenter.java 11 Dec 2006 10:08:05 -0000 1.28 +++ CoursePresenter.java 14 Dec 2006 22:06:47 -0000 1.29 @@ -267,7 +267,8 @@ public List getLecturersForCourse(String cid) { try { - return courseManager.getLecturersForCourse(Integer.parseInt(cid.trim())); + return courseManager. + getLecturersForCourse(Integer.parseInt(cid.trim())); } catch(Exception e ){ logger.error(LogUtil.ex("Failed getting lecturers for course.", e)); } @@ -367,6 +368,9 @@ selectedTerm = CalendarPresenter.getTerm(new GregorianCalendar()); } for (int i = year-6;i<=year+4;i++) { + // do not show years before 2006 (since there is no data + // for those years) + if (i < 2006) continue; tmpTerm = i+"s"; sb.append("<option value=\""+tmpTerm+"\" "); if(tmpTerm.equalsIgnoreCase(selectedTerm)) @@ -598,6 +602,12 @@ public String printPrerequ(String tmps, String lang) { + // is it XML? + tmps = tmps.trim(); + if (!tmps.startsWith("<")) { + return tmps; + } + // yes StringBuffer sb = new StringBuffer(""); // parse prerequ as XML document try { @@ -688,5 +698,12 @@ } return tmps; } + + public boolean isXml(String tmps) + { + tmps = tmps.trim(); + if (tmps.startsWith("<")) return true; + return false; + } } Index: CourseManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/course/CourseManagerImpl.java,v retrieving revision 1.62 retrieving revision 1.63 diff -u -d -r1.62 -r1.63 --- CourseManagerImpl.java 11 Dec 2006 10:08:05 -0000 1.62 +++ CourseManagerImpl.java 14 Dec 2006 22:06:46 -0000 1.63 @@ -569,6 +569,8 @@ where += "AND course.cid = '"+attrs.get("cid")+"' "; if (attrs.get("cmid")!=null) where += "AND course.cmid = '"+attrs.get("cmid")+"' "; + if (attrs.get("cmsid")!=null) + where += "AND course_module.cmsid = '"+attrs.get("cmsid")+"' "; if (attrs.get("cname")!=null) { where = where + "AND (cname like '%"+attrs.get("cname")+"%' OR " @@ -2019,8 +2021,11 @@ public List getLecturersForCourse(int cid) { logger.debug("getLecturersForCourse("+cid+")"); - String sql = "select lid from course_lecturerrel " - +"where cid = "+cid; + String sql = "select course_lecturer.lid " + +"from course_lecturer, course_lecturerrel " + +"where cid = "+cid+" and " + +"course_lecturer.lid = course_lecturerrel.lid " + +"order by course_lecturer.ltyp desc, llastname"; List sqlresult = dbAccess.sqlQuery(sql); List result = new ArrayList(); Iterator i = sqlresult.listIterator(); @@ -2396,9 +2401,14 @@ return result; } + public List getCourseModuleUpdateHistory(int cmid, boolean includecourses) + { + return getCourseModuleUpdateHistory(cmid, includecourses, null); + } + public List getCourseModuleUpdateHistory(int cmid) { - return getCourseModuleUpdateHistory(cmid, true, null); + return getCourseModuleUpdateHistory(cmid, false, null); } Index: CourseDate.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/course/CourseDate.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- CourseDate.java 24 Nov 2006 08:05:56 -0000 1.9 +++ CourseDate.java 14 Dec 2006 22:06:46 -0000 1.10 @@ -94,6 +94,13 @@ return dstartmin; } + public String getStartMinFormatted() + { + if (dstartmin < 10) + return "0"+Integer.toString(dstartmin); + return Integer.toString(dstartmin); + } + public int getEndHour() { return dendhour; @@ -104,6 +111,13 @@ return dendmin; } + public String getEndMinFormatted() + { + if (dendmin < 10) + return "0"+Integer.toString(dendmin); + return Integer.toString(dendmin); + } + public int getRoomId() { return dcrid; |
|
From: Michael K. <ko...@us...> - 2006-12-14 22:07:21
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/core/db In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv17979/core/db Modified Files: DBAccessImpl.java Log Message: Index: DBAccessImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/core/db/DBAccessImpl.java,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- DBAccessImpl.java 10 Dec 2006 21:51:16 -0000 1.32 +++ DBAccessImpl.java 14 Dec 2006 22:06:46 -0000 1.33 @@ -136,11 +136,10 @@ } catch(Exception e) { logger.error(LogUtil. exception("Failed loading database meta data.", e)); - try { conn.close(); } catch (Exception e2) { } + try { if (conn!=null) conn.close(); } catch (Exception e2) { } throw new CobricksException(e.toString()); - } finally { - try { conn.close(); } catch (Exception e) { } } + try { if (conn!=null) conn.close(); } catch (Exception e) { } // load table schema tableDescriptors = new HashMap(); @@ -197,9 +196,8 @@ } } catch(Exception e) { logger.error(LogUtil.ex("Failed loading database meta data.", e)); - } finally { - try { conn.close(); } catch (Exception e) { } - } + } + try { if (conn!=null) conn.close(); } catch (Exception e) { } } @@ -376,10 +374,9 @@ logger.error(LogUtil.exception("Failed executing sql statement: " +sb.toString(), e)); result = -1; - } finally { - try { pstmt.close(); } catch (Exception e) { } - try { conn.close(); } catch (Exception e) { } } + try { if (pstmt!=null) pstmt.close(); } catch (Exception e) { } + try { if (conn!=null) conn.close(); } catch (Exception e) { } return result; } @@ -394,6 +391,7 @@ while (i.hasNext()) { String aname = (String)i.next(); String type = td.getColumnType(aname); + if (type == null) type = "string"; Object o = attrs.get(aname); if (o != null) { if (type.equals("timestamp") && (o instanceof String)) { @@ -628,14 +626,12 @@ pstmt = conn.prepareStatement(sb.toString()); setPreparedObjects(pstmt, attrnames, attrs, td); pstmt.execute(); - pstmt.close(); } catch(Exception e) { logger.error(LogUtil.ex("Failed executing sql statement: " +sb.toString(), e)); - } finally { - try { pstmt.close(); } catch (Exception e) { } - try { conn.close(); } catch (Exception e) { } } + try { if (pstmt!=null) pstmt.close(); } catch (Exception e) { } + try { if (conn!=null) conn.close(); } catch (Exception e) { } } @@ -661,10 +657,9 @@ } catch(Exception e) { logger.error(LogUtil.ex("Failed executing sql statement: " +sb.toString(), e)); - } finally { - try { pstmt.close(); } catch (Exception e) { } - try { conn.close(); } catch (Exception e) { } } + try { if (pstmt!=null) pstmt.close(); } catch (Exception e) { } + try { if (conn!=null) conn.close(); } catch (Exception e) { } } @@ -720,10 +715,9 @@ } catch(Exception e) { logger.error(LogUtil.exception("Failed executing sql statement: " +sb.toString(), e)); - } finally { - try { pstmt.close(); } catch (Exception e) { } - try { conn.close(); } catch (Exception e) { } - } + } + try { if (pstmt!=null) pstmt.close(); } catch (Exception e) { } + try { if (conn!=null) conn.close(); } catch (Exception e) { } } @@ -906,11 +900,12 @@ List result = new ArrayList(); Connection conn = null; Statement stmt = null; + ResultSet rs = null; try { conn = dataSource.getConnection(); stmt = conn.createStatement(); if (dbtype == DBTYPE_ORACLE) stmt.setEscapeProcessing(false); - ResultSet rs = stmt.executeQuery(sql); + rs = stmt.executeQuery(sql); while (rs.next()) { if (maxRows == 0) break; Map result2 = new HashMap(); @@ -918,15 +913,14 @@ result.add(result2); maxRows--; } - rs.close(); } catch(Exception e) { e.printStackTrace(); logger.error(LogUtil.exception("Failed executing sql statement: " +sql, e)); - } finally { - try { stmt.close(); } catch (Exception e) { } - try { conn.close(); } catch (Exception e) { } } + try { if (rs!=null) rs.close(); } catch (Exception e) { } + try { if (stmt!=null) stmt.close(); } catch (Exception e) { } + try { if (conn!=null) conn.close(); } catch (Exception e) { } logger.debug("sqlQuery returned "+result.size()+" results"); return result; } @@ -944,6 +938,7 @@ List result = new ArrayList(); Connection conn = null; PreparedStatement pstmt = null; + ResultSet rs = null; try { conn = dataSource.getConnection(); pstmt = conn.prepareStatement(sql); @@ -960,7 +955,7 @@ setPreparedObject(pstmt, next, pcount++); } } - ResultSet rs = pstmt.executeQuery(); + rs = pstmt.executeQuery(); while (rs.next()) { if (maxRows == 0) break; Map result2 = new HashMap(); @@ -968,14 +963,13 @@ result.add(result2); maxRows--; } - rs.close(); } catch(Exception e) { logger.error(LogUtil.exception("Failed executing sql statement: " +sql, e)); - } finally { - try { pstmt.close(); } catch (Exception e) { } - try { conn.close(); } catch (Exception e) { } - } + } + try { if (rs!=null) rs.close(); } catch (Exception e) { } + try { if (pstmt!=null) pstmt.close(); } catch (Exception e) { } + try { if (conn!=null) conn.close(); } catch (Exception e) { } logger.debug("sqlQuery returned "+result.size()+" results"); return result; } @@ -992,22 +986,22 @@ Map result = new HashMap(); Connection conn = null; Statement stmt = null; + ResultSet rs = null; try { conn = dataSource.getConnection(); stmt = conn.createStatement(); if (dbtype == DBTYPE_ORACLE) stmt.setEscapeProcessing(false); - ResultSet rs = stmt.executeQuery(sql); + rs = stmt.executeQuery(sql); if (rs.next()) { getSingleRowAttributes(result, rs); } - rs.close(); } catch(Exception e) { logger.error(LogUtil.exception("Failed executing sql statement: " +sql, e)); - } finally { - try { stmt.close(); } catch (Exception e) { } - try { conn.close(); } catch (Exception e) { } - } + } + try { if (rs!=null) rs.close(); } catch (Exception e) { } + try { if (stmt!=null) stmt.close(); } catch (Exception e) { } + try { if (conn!=null) conn.close(); } catch (Exception e) { } return result; } @@ -1041,10 +1035,9 @@ e.printStackTrace(); logger.error(LogUtil.exception("Failed executing sql statement: " +sql, e)); - } finally { - try { stmt.close(); } catch (Exception e) { } - try { conn.close(); } catch (Exception e) { } } + try { if (stmt!=null) stmt.close(); } catch (Exception e) { } + try { if (conn!=null) conn.close(); } catch (Exception e) { } logger.debug("sqlQuery returned "+result.size()+" results"); return result; } @@ -1288,11 +1281,10 @@ +sql, e)); result = e.getMessage(); } - } finally { - try { stmt.close(); } catch (Exception e) { } - try { pstmt.close(); } catch (Exception e) { } - try { conn.close(); } catch (Exception e) { } } + try { if (stmt!=null) stmt.close(); } catch (Exception e) { } + try { if (pstmt!=null) pstmt.close(); } catch (Exception e) { } + try { if (conn!=null) conn.close(); } catch (Exception e) { } return result; } @@ -1489,8 +1481,9 @@ public List getTables() { List result = new ArrayList(); + Connection conn = null; try { - Connection conn = dataSource.getConnection(); + conn = dataSource.getConnection(); DatabaseMetaData databaseMetaData = conn.getMetaData(); String[] ocat = { "TABLE" }; ResultSet rs = databaseMetaData.getTables(null, "%", "%", ocat); @@ -1504,17 +1497,19 @@ } } } catch (Exception e) { } + try { if (conn!=null) conn.close(); } catch (Exception e) { } return result; } public List getColumns(String tablename) { List result = new ArrayList(); + Connection conn = null; + ResultSet rs = null; try { - Connection conn = dataSource.getConnection(); + conn = dataSource.getConnection(); DatabaseMetaData databaseMetaData = conn.getMetaData(); - ResultSet rs = - databaseMetaData.getColumns(null, "%", tablename, "%"); + rs = databaseMetaData.getColumns(null, "%", tablename, "%"); if (rs != null) { while (rs.next()) { String colname = rs.getString(4); @@ -1536,6 +1531,8 @@ } } } catch (Exception e) { } + try { if (rs!=null) rs.close(); } catch (Exception e) { } + try { if (conn!=null) conn.close(); } catch (Exception e) { } return result; } |
|
From: Michael K. <ko...@us...> - 2006-12-14 22:07:21
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/core In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv17979/core Modified Files: OntologyClass.java Log Message: Index: OntologyClass.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/core/OntologyClass.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- OntologyClass.java 24 Nov 2006 08:05:56 -0000 1.9 +++ OntologyClass.java 14 Dec 2006 22:06:46 -0000 1.10 @@ -29,6 +29,7 @@ */ public class OntologyClass + implements Comparable { static Logger logger = Logger.getLogger(OntologyClass.class); @@ -188,4 +189,13 @@ return tmp; } } + + + public int compareTo(Object o) + { + if (!(o instanceof OntologyClass)) + return 0; + return (this.getName()).compareTo(((OntologyClass)o).getName()); + } + } |
|
From: Michael K. <ko...@us...> - 2006-12-14 22:07:21
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/context In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv17979/context Modified Files: ContextPresenter.java Log Message: Index: ContextPresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/context/ContextPresenter.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- ContextPresenter.java 26 Oct 2006 10:38:03 -0000 1.4 +++ ContextPresenter.java 14 Dec 2006 22:06:46 -0000 1.5 @@ -46,7 +46,8 @@ } - public String getTypeName(int type) { + public String getTypeName(int type) + { if (type == 1) return "user"; if (type == 2) return "item"; if (type == 4) return "category"; |
|
From: Michael K. <ko...@us...> - 2006-12-14 22:06:58
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/item In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv17979/item Modified Files: ItemManagerImpl.java ItemPresenter.java ItemSearch.java Log Message: Index: ItemManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemManagerImpl.java,v retrieving revision 1.79 retrieving revision 1.80 diff -u -d -r1.79 -r1.80 --- ItemManagerImpl.java 7 Dec 2006 11:50:51 -0000 1.79 +++ ItemManagerImpl.java 14 Dec 2006 22:06:47 -0000 1.80 @@ -39,6 +39,8 @@ import org.cobricks.category.Category; import org.cobricks.category.CategoryManager; +import org.cobricks.context.Context; +import org.cobricks.context.ContextManager; import org.cobricks.core.ComponentEvent; import org.cobricks.core.ComponentEventImpl; import org.cobricks.core.ComponentManagerAdaptor; @@ -596,7 +598,7 @@ } sql = "select * from item_content where itemid = "+ - Integer.toString(itemlocalid); + Integer.toString(itemlocalid)+" order by lang, versionid"; // content, lang res = dbAccess.sqlQuery(sql); i = res.iterator(); @@ -605,6 +607,8 @@ String lang = (String)attrs.get("lang"); String content = (String)attrs.get("content"); result.setContent(lang, content); + // if there are different versions, then the latest version + // overwrites the older ones ... } sql = "select * from item_title where itemid = "+ @@ -2031,10 +2035,8 @@ String newContentVersion = item.getAttributeAsString("newContentVersion"); item.removeAttribute("newContentVersion"); - newContentVersion = (newContentVersion == null) ? "" : - newContentVersion; - + newContentVersion; boolean createNewContentVersion = false; if(newContentVersion.equals("true")) { createNewContentVersion = true; @@ -2119,8 +2121,7 @@ } if (createNewContentVersion) { Object obj = item.getAttribute("updater"); - - //Attention of the type of obj + // attention of the type of obj User createUser = null; if(obj instanceof Integer) { createUser = (obj == null) ? new User(0) @@ -2141,7 +2142,8 @@ this.createContentVersion(itemid, lang, content, createUser); - } else { //Change only the highest content version + } else { + // change only the highest content version updateHighestContentVersion(itemid, lang, content); } } else { @@ -2886,7 +2888,6 @@ if (result.isEmpty()) { logger.info("No content versions found for given itemid " + Integer.toString(itemid) + " and given language " + lang); - return null; } else { return result; @@ -2942,17 +2943,17 @@ // Get the versionid Integer versionid = null; - String sql = "select max(versionid) " + + String sql = "select max(versionid) as maxversionid " + " from item_content " + " where itemid = " + itemid + " and lang = '" + lang + "'"; List result = dbAccess.sqlQuery(sql); if (result.isEmpty()) { - versionid = new Integer(1); + versionid = new Integer(0); } else { - versionid = (Integer)((Map)result.get(0)).get("max(versionid)"); - versionid = (versionid == null) ? new Integer(1) : versionid; + versionid = (Integer)((Map)result.get(0)).get("maxversionid"); + versionid = (versionid == null) ? new Integer(0) : versionid; } Integer newVersionId = new Integer(versionid.intValue()+1); Map attrs = new java.util.HashMap(); @@ -2961,7 +2962,6 @@ attrs.put("creationtime", date); attrs.put("lang", lang); attrs.put("content", content); - if (newVersionId == null) newVersionId = new Integer(1); attrs.put("versionid", newVersionId); int aid = this.dbAccess.sqlInsert("item_content", attrs); @@ -2984,15 +2984,14 @@ private void updateHighestContentVersion(int itemid, String lang, String content) { - //Get the versionid + // get the versionid Integer versionid = null; String sql = "select max(versionid) as maxid" + " from item_content " + " where itemid = " + itemid + - " and lang = '" + lang + "'"; - + " and lang = '" + lang + "'"; List result = dbAccess.sqlQuery(sql); - if(!result.isEmpty()) { + if (!result.isEmpty()) { versionid = (Integer)((Map)result.get(0)).get("maxid"); } if (versionid == null) { @@ -3005,8 +3004,7 @@ " and versionid = " + versionid.intValue(); Map attrs = new java.util.HashMap(); - attrs.put("content", content); - + attrs.put("content", content); this.dbAccess.sqlUpdate("item_content", attrs, whereConditions); } @@ -3106,4 +3104,64 @@ return checkUpdatePermission(item, user); } + + /** + * PERSONALISIERUNG TBD + * Funktion, die beim Erzeugen (createItem) aufegrufen werden kann/sollte + * um Item-Bewertungen fuer existierende User zu machen. + */ + /* + private void createItemRating(Item item) + { + // get categories of item + Collection categories = (Collection)item.getAttribute("categories"); + UserManager userManager = (UserManager) + coreManager.getComponentDirectory().getManager("userManager"); + ContextManager contextManager = (ContextManager) + coreManager.getComponentDirectory().getManager("contextManager"); + List userIdList; + + // ask about the users + try { + if (userManager == null) { + return; + } + userIdList = userManager.getUserIdList(); + + int userId = 0; + int attrib = 0; + List contexts; + + // loop all users + Iterator i = userIdList.iterator(); + while (i.hasNext()) { + Integer userid = (Integer)i.next(); + attrib = 0; + // loop all categories + Iterator i2 = categories.iterator(); + while (i2.hasNext()) { + Integer catid = (Integer)i2.next(); + // get all contexts of user and category + contexts = contextManager. + getContexts(1, 4, "contextusercategory", userid.intValue(), catid.intValue(), (Map)null); + // set rating to new rating if context of this category is higher then previous ratings + if (contexts!=null && contexts.size()>0) { + if (attrib < Integer.parseInt(((Context)contexts.get(0)).getAttributeAsString("rating"))) { + attrib = Integer.parseInt(((Context)contexts.get(0)).getAttributeAsString("rating")); + } + } + } + // set rating of item for users + if (attrib != 0){ + item.setAttribute("RatingForUser" + userid.toString(), Integer.toString(attrib)); + logger.debug("It Works!"); + } + } + this.updateItem(item); + } catch (Exception e) { + logger.error(LogUtil.ex("failed", e)); + } + } + */ + } Index: ItemPresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemPresenter.java,v retrieving revision 1.59 retrieving revision 1.60 diff -u -d -r1.59 -r1.60 --- ItemPresenter.java 7 Dec 2006 11:50:51 -0000 1.59 +++ ItemPresenter.java 14 Dec 2006 22:06:47 -0000 1.60 @@ -1021,7 +1021,9 @@ } if (type.equals("itemclass")) { Collection classes = this.ontology.getClasses(); - Iterator iter = classes.iterator(); + List classessorted = new ArrayList(classes); + Collections.sort(classessorted); + ListIterator iter = classessorted.listIterator(); String className; while (iter.hasNext()) { className = ((OntologyClass) iter.next()).getName(); Index: ItemSearch.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemSearch.java,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- ItemSearch.java 11 Dec 2006 10:08:05 -0000 1.30 +++ ItemSearch.java 14 Dec 2006 22:06:47 -0000 1.31 @@ -1459,6 +1459,8 @@ public static Set getIDsFromSQLQuery(String query, Ontology ontology, DBAccess dbAccess) { + if (query == null || query.length()<1) return null; + Set sqlResults = null; ExpressionList exprList = null; @@ -1468,7 +1470,7 @@ (new parser(new Lexer(new StringReader(query))).parse()).value; } catch (Exception e) { - logger.warn(LogUtil.exall("Parsing query "+query+" failed!", e)); + logger.warn(LogUtil.exall("Parsing query '"+query+"' failed!", e)); logger.info("Could not parse query!\n Please try again."); return sqlResults; } |
|
From: Michael K. <ko...@us...> - 2006-12-14 22:06:53
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/course/db In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv17979/course/db Added Files: course_log.xml Log Message: --- NEW FILE: course_log.xml --- <tabledescriptor tablename="course_log"> <table version="1"> <tablelayout> <column name="acc" type="varchar(10)"/> <column name="cid" type="int" notnull="true"/> <column name="cmid" type="int" notnull="true"/> <column name="cterm" type="char(5)" notnull="true"/> <column name="cname" type="varchar(150)"/> <column name="loguid" type="int"/> <column name="logtime" type="timestamp"/> <column name="hostname" type="varchar(50)"/> <index name="courselog_cid"> <colname>cid</colname> </index> <index name="courselog_cmid"> <colname>cmid</colname> </index> </tablelayout> </table> </tabledescriptor> |
|
From: Michael K. <ko...@us...> - 2006-12-11 10:08:14
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/core In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv24156/org/cobricks/core Modified Files: CorePresenter.java Log Message: Index: CorePresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/core/CorePresenter.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- CorePresenter.java 16 Feb 2006 15:21:06 -0000 1.7 +++ CorePresenter.java 11 Dec 2006 10:08:05 -0000 1.8 @@ -14,6 +14,7 @@ import java.io.File; import java.io.InputStream; +import java.sql.ResultSet; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -417,4 +418,5 @@ return 1; } + } |
|
From: Michael K. <ko...@us...> - 2006-12-11 10:08:13
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/course In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv24156/org/cobricks/course Modified Files: CourseManager.java CourseManagerImpl.java CoursePresenter.java CourseServlet.java Log Message: Index: CourseManager.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/course/CourseManager.java,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- CourseManager.java 8 Dec 2006 16:22:41 -0000 1.34 +++ CourseManager.java 11 Dec 2006 10:08:05 -0000 1.35 @@ -593,7 +593,6 @@ public int getLecturerIdByName(String lname); - public List getCourseUpdateHistory(int cid, Date fromdate); public List getCourseUpdateHistory(int cid); public List getCourseModuleUpdateHistory(int cmid, boolean includecourses, Index: CoursePresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/course/CoursePresenter.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- CoursePresenter.java 8 Dec 2006 16:22:41 -0000 1.27 +++ CoursePresenter.java 11 Dec 2006 10:08:05 -0000 1.28 @@ -516,6 +516,7 @@ public String printSWS(CourseModule cm) { + if (cm == null) return ""; StringBuffer sb = new StringBuffer(""); int tmpi = cm.getHoursLecture(); if (tmpi > 0) @@ -540,6 +541,7 @@ public String printSWS(Course c) { + if (c == null) return ""; StringBuffer sb = new StringBuffer(""); int tmpi = c.getHoursLecture(); if (tmpi > 0) Index: CourseServlet.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/course/CourseServlet.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- CourseServlet.java 8 Dec 2006 16:22:41 -0000 1.27 +++ CourseServlet.java 11 Dec 2006 10:08:05 -0000 1.28 @@ -363,7 +363,8 @@ c.getCourseModule().getId(), portalUser.getUserId(), c.getTerm(), - c.getFullName(), + c.getFullName()+" ("+ + c.getCourseModule().getSId()+")", hostname, new Date()); prequest.setReturnCode(1001); @@ -419,7 +420,8 @@ c.getCourseModule().getId(), portalUser.getUserId(), c.getTerm(), - c.getFullName(), + c.getFullName()+" ("+ + c.getCourseModule().getSId()+")", hostname, new Date()); prequest.setReturnCode(1002); @@ -469,7 +471,8 @@ c.getCourseModule().getId(), portalUser.getUserId(), c.getTerm(), - c.getFullName(), + c.getFullName()+" ("+ + c.getCourseModule().getSId()+")", hostname, new Date()); prequest.setReturnCode(1003); @@ -723,8 +726,21 @@ } try { - int cid = courseManager. + int cmid = courseManager. createCourseModule(attrs, portalUser.getUser()); + CourseModule cm = courseManager.getCourseModule(cmid); + + HttpServletRequest request = prequest.getHttpServletRequest(); + String hostname = request.getRemoteHost(); + if (hostname == null) + hostname = request.getRemoteAddr(); + courseManager. + addCourseUpdateHistory("create", 0, cm.getId(), + portalUser.getUserId(), + "", + cm.getName()+" ("+cm.getSId()+")", + hostname, new Date()); + prequest.setReturnCode(1011); return "success"; } catch (Exception e) { @@ -776,6 +792,19 @@ int cmid = Integer.parseInt(prequest.getRequestParameter("cmid")); courseManager. updateCourseModule(cmid, attrs, portalUser.getUser()); + CourseModule cm = courseManager.getCourseModule(cmid); + + HttpServletRequest request = prequest.getHttpServletRequest(); + String hostname = request.getRemoteHost(); + if (hostname == null) + hostname = request.getRemoteAddr(); + courseManager. + addCourseUpdateHistory("update", 0, cm.getId(), + portalUser.getUserId(), + "", + cm.getName()+" ("+cm.getSId()+")", + hostname, new Date()); + prequest.setReturnCode(1012); return "success"; } catch (Exception e) { @@ -812,7 +841,20 @@ try { int cmid = Integer.parseInt(prequest.getRequestParameter("cmid")); + CourseModule cm = courseManager.getCourseModule(cmid); courseManager.deleteCourseModule(cmid, portalUser.getUser()); + + HttpServletRequest request = prequest.getHttpServletRequest(); + String hostname = request.getRemoteHost(); + if (hostname == null) + hostname = request.getRemoteAddr(); + courseManager. + addCourseUpdateHistory("delete", 0, cm.getId(), + portalUser.getUserId(), + "", + cm.getName()+" ("+cm.getSId()+")", + hostname, new Date()); + prequest.setReturnCode(1013); return "success"; } catch (Exception e) { @@ -1423,7 +1465,8 @@ uid = Integer.parseInt(prequest.getRequestParameter("uid")); cid = Integer.parseInt(prequest.getRequestParameter("cid")); } catch (Exception e) { - logger.error(LogUtil.ex("Failed adding course to timetable",e)); + logger.error("Failed adding course to timetable: uid=" + +uid+", cid="+cid); prequest.setReturnCode(2100); return "error"; } Index: CourseManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/course/CourseManagerImpl.java,v retrieving revision 1.61 retrieving revision 1.62 diff -u -d -r1.61 -r1.62 --- CourseManagerImpl.java 8 Dec 2006 16:22:41 -0000 1.61 +++ CourseManagerImpl.java 11 Dec 2006 10:08:05 -0000 1.62 @@ -403,16 +403,30 @@ o = attrs.get("droom"+i); if (o != null) sqlAttrs2.put("dcrid", o); o = attrs.get("dstartdate"+i); - if (o.toString().length()>1) + if (o.toString().length()>1) { + if (!(o instanceof Date)) { + o = DateUtil.string2Date(o.toString()); + } sqlAttrs2.put("dstartdate", o); - else sqlAttrs2.put("dstartdate", - CoursePresenter.getTermStartDate(sqlAttrs. - get("cterm").toString())); + } else { + sqlAttrs2. + put("dstartdate", + CoursePresenter. + getTermStartDateAsDate(sqlAttrs. + get("cterm").toString())); + } o = attrs.get("denddate"+i); - if (o.toString().length()>1) sqlAttrs2.put("denddate", o); - else sqlAttrs2.put("denddate", - CoursePresenter.getTermEndDate(sqlAttrs. - get("cterm").toString())); + if (o.toString().length()>1) { + if (!(o instanceof Date)) { + o = DateUtil.string2Date(o.toString()); + } + sqlAttrs2.put("denddate", o); + } else { + sqlAttrs2.put("denddate", + CoursePresenter. + getTermEndDateAsDate(sqlAttrs. + get("cterm").toString())); + } o = attrs.get("dcycle"+i); if (o != null) sqlAttrs2.put("dcycle", o); o = attrs.get("dtype"+i); |