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
|
Update of /cvsroot/cobricks/drehscheibe-in/web/course In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv13109 Added Files: c.html.de ccreate.html.de ccreatepreselect.html.de cdelete.html.de clcreate.html.de cldelete.html.de clsearch.html.de clupdate.html.de cm.html.de cmall.html.de cmall.xml cmcreate.html.de cmcreateres.txt cmdelete.html.de cmdeleteres.txt cmsearch.html.de cmupdate.html.de cmupdateres.txt cmupdateres2.txt cpcreate.html.de cpdelete.html.de cpsearch.html.de cpupdate.html.de crcreate.html.de crdelete.html.de crsearch.html.de crupdate.html.de csearch.html.de cupdate.html.de index.html.de navigation.html.de timetable.html.de timetablem.html.de timetablew.html.de Log Message: --- NEW FILE: cpdelete.html.de --- (This appears to be a binary file; contents omitted.) --- NEW FILE: clcreate.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) <h1>Dozent anlegen</h1> #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #if ( $auserid == 0 ) $portalPresenter.parse("$!contextPath/pagelogin.html.de",$portalRequest) #else #set ( $auser = $userManager.getUser($auserid)) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-course") ) #if ( "$!tmps" != "true" ) <p><div class="error">Ihr aktueller Login hat nicht ausreichend Rechte um Dozenten anzulegen. Wenn Sie die entsprechenden Rechte benötigen, dann wenden Sie sich bitte an die Administratoren der Plattform.</div></p> #else #if ( $returnCode > 1999 ) <br /><font color="red">Fehler beim Anlegen eines Dozenten.</font><p> #end <table border="0"> <form action="/COURSE" method="post"> <input type="hidden" name="cmd" value="createcourselecturer"> <input type="hidden" name="cmd.success" value="/course/index.html" /> <input type="hidden" name="cmd.error" value="/course/clcreate.html" /> <input type="hidden" name="cmd.noaccess" value="/noaccess.html" /> <input type="hidden" name="path" value="$portalRequest.getPagePath()"/> <tr> <td>Vorname</td> <td><input name="lfirstname" size="50" value="$!lfirstname"></td> </tr> <tr> <td>Nachname</td> <td><input name="llastname" size="50" value="$!llastname"></td> </tr> <tr> <td>URL</td> <td><input name="lurl" size="50" value="$!lurl"></td> </tr> <tr> <td>Image URL</td> <td><input name="limageurl" size="50" value="$!limageurl"></td> </tr> <tr> <td valign="top">User-Id</td> <td><input name="luserid" size="5" value="$!luserid"> (Id einer Benutzerkennung auf der Plattform)</td> </tr> <tr> <td valign="top">External ID<br>(UnivIS-Id)</td> <td><input name="lextid" size="50" value="$!lextid"></td> </tr> <tr> <td>Typ</td> <td> <select name="ltyp"> <option value="p">Professor</option> <option value="e">Externer Dozent</option> <option value="a">Assistent</option> </select> </td> </tr> <tr> <td>Sichtbarkeit</td> <td> <select name="lhidden"> <option value="0">nicht sichtbar</option> <option value="1" selected="1">sichtbar</option> </select> </td> </tr> <tr> <td colspan="2"><br /><input type="submit" class="submit" value="Dozent anlegen"/></td> </tr> </form> </table> #end #end $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: cmall.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) #set ( $auserlogin = "$!auserlogin" ) #if ( $auserlogin == "" ) #set ( $auserlogin = $userLogin ) #end #set ( $auserid = $userManager.getUserIdForUserLogin($auserlogin) ) #set ( $acc = "false" ) #if ( $auserid != 0) #set ( $acc = $userPresenter.checkRole("$auserid", "admin-course") ) #end <h1>Modulkatalog</h1> (für alle Studiengänge der Fakultät) #set ( $results = $coursePresenter.searchCourseModules("cmhidden=0","cmsid") ) <p> <table id="result" width="100%" align="center" border="1"> <tr> <td>Modul</td><td>Titel</td><td>Umfang</td><td>Credits</td><td>Turnus</td><td>Studiengänge</td><td>Vorkenntnisse</td> </tr> #foreach ( $cm in $results ) <tr> <td><a href="cm.html?id=$!cm.getSId()">$!cm.getSId()</a> #if ( "$!acc" == "true" ) <br><a href="cmupdate.html?cmid=$!cm.getId()">edit</a> <br><a href="cmdelete.html?cmid=$!cm.getId()">delete</a> #end </td><td>$cm.getName()</td> <td>$coursePresenter.printSWS($cm)</td> <td>$cm.getEctsCredits()</td> <td>$cm.getCycle()</td> <td>$coursePresenter.printProg($cm)</td> <td>$coursePresenter.printPrerequ($cm)</td> </tr> #end </table> $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: cmcreateres.txt --- #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #set ( $auser = $userManager.getUser($auserid)) #set ( $acc = "course" ) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-module") ) #if ( "$!tmps" == "true" ) #set ( $acc = "module" ) #end #set( $cm = $coursePresenter.getCourseModule($cmid) ) Auf der Drehscheibe wurde eben durch den Benutzer $auser.getName() ($auser.getUserLogin(), $auser.getEmail()) folgendes neues Modul #if ("$!acc"=="module") angelegt: #else beantragt: #end - $!cmsid - $!cmname - $!cmtype - $!courseManager.getLecturer($cm.getResponsible()).getName2() $!portal_baseurl/course/cm.html?id=$!cmsid #if ("$!acc"=="course") Das Modul wurde vorerst mit dem Status "nicht bestätigt/unsichtbar" angelegt und kann noch nicht verwendet werden. Um das Modul freizugeben, müssen Sie das Modul editieren und den Status auf "bestätigt/sichtbar" setzen. #end --- NEW FILE: ccreate.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) <h1>Veranstaltung anlegen (Schritt 2)</h1> #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #if ( $auserid == 0 ) $portalPresenter.parse("$!contextPath/pagelogin.html.de",$portalRequest) #else #set ( $auser = $userManager.getUser($auserid)) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-course") ) #if ( "$!tmps" != "true" ) <p><div class="error">Ihr aktueller Login hat nicht ausreichend Rechte um Veranstaltungen zu editieren. Wenn Sie die entsprechenden Rechte benötigen, dann wenden Sie sich bitte an die Administratoren der Plattform.</div></p> #else #if ( $returnCode > 1999 ) <font color="red">Fehler beim Anlegen einer Veranstaltung.</font><p> #end #set( $cm = $coursePresenter.getCourseModule($cmid) ) <form action="/COURSE" method="post"> <input type="hidden" name="cmd" value="createcourse"> <input type="hidden" name="cmd.success" value="/course/index.html"> <input type="hidden" name="cmd.error" value="/course/ccreate.html"> <input type="hidden" name="cmd.noaccess" value="/noaccess.html"> <input type="hidden" name="path" value="$portalRequest.getPagePath()"/> <input type="hidden" name="cmid" value="$cmid"/> <h2><a href="/course/cm.html?cmid=$cmid" target="_blank">$cm.getName()</a></h2> <table border="0"> <tr> <td>Typ</td> <td><b> $cm.getType() </b> </td> <tr><td> </td></tr> <tr> <td>Semester</td> <td> <select name="cterm" size="1"> $!coursePresenter.getTerms("") </select> </td> </tr> <tr> <td>Name</td> <td><input name="cname" size="50" value="$!cm.getName()"></td> </tr> <tr> <td>Name (englisch)</td> <td><input name="cname_en" size="50" value="$!cm.getName('en')"></td> </tr> <tr> <td>Kommentar</td> <td><input name="ccomment" size="70"></td> </tr> <tr> <td>Sprache</td> <td> <select name="clang" size="1"> <option value="de">Deutsch</option> <option value="en">Englisch</option> </select> </td> </tr> <tr> <td>URL</td> <td><input name="curl" size="70"></td> </tr> <tr> <td>Teilnehmerzahl</td> <td><input name="ccapacity" size="5" value="$!cm.getCapacity()"></td> </tr> <tr> <td>ECTS Credits</td> <td><input name="cectscredits" size="5" value="$!cm.getEctsCredits()"></td> </tr> <tr> <td>Dozent</td> <td><input name="lecturername" size="30"> <a href="clsearch.html"><i>Dozenten suchen</i></a><br> Nachname[, Vorname]</td> </tr> <tr> <td valign="top">Prüfer<br>(Nachname[, Vorname])</td> <td><input name="cexaminername" size="30" value="$!cexaminername"></td> </tr> <tr> <td>Semesterwochenstunden</td> <td> Vorlesung: <input name="chours_lec" size="2" value="$!cm.getHoursLecture()"> Übungen: <input name="chours_ex" size="2" value="$!cm.getHoursExercises()"> Seminar: <input name="chours_sem" size="2" value="$!cm.getHoursSeminar()"> Praktikum: <input name="chours_lab" size="2" value="$!cm.getHoursLab()"> </td> </tr> <tr> <td>Inhalt</td> <td><textarea name="ccontent" rows="3" cols="70" readonly="readonly">$!cm.getContent()</textarea></td> </tr> <tr> <td>Inhalt (englisch)</td> <td><textarea name="ccontent_en" rows="3" cols="70" readonly="readonly">$!cm.getContent('en')</textarea></td> </tr> <tr> <td>Lernziele</td> <td><textarea name="ctarget" rows="3" cols="70" readonly="readonly">$!cm.getTarget()</textarea></td> </tr> <tr> <td>Lernziele (englisch)</td> <td><textarea name="ctarget_en" rows="3" cols="70" readonly="readonly">$!cm.getTarget('en')</textarea></td> </tr> <tr> <td>Voraussetzungen</td> <td><textarea name="cprerequ" rows="3" cols="70" readonly="readonly">$!cm.getPrerequ()</textarea></td> </tr> <tr> <td>Voraussetzungen (englisch)</td> <td><textarea name="cprerequ_en" rows="3" cols="70" readonly="readonly">$!cm.getPrerequ('en')</textarea></td> </tr> <tr> <td>Schein(voraussetzungen)</td> <td><textarea name="ccert" rows="3" cols="70" readonly="readonly">$!cm.getCert()</textarea></td> </tr> <tr> <td>Schein(voraussetzungen) (englisch)</td> <td><textarea name="ccert_en" rows="3" cols="70" readonly="readonly">$!cm.getCert('en')</textarea></td> </tr> <tr> <td>Didaktik</td> <td><textarea name="cdidactics" rows="3" cols="70" readonly="readonly">$!cm.getDidactics()</textarea></td> </tr> <tr> <td>Didaktik (englisch)</td> <td><textarea name="cdidactics_en" rows="3" cols="70" readonly="readonly">$!cm.getDidactics('en')</textarea></td> </tr> </table> <h3>Veranstaltungstermine:</h3> <table border="0"> <tr> <td>Wochentag</td> <td colspan=3>Startzeit</td> <td> </td> <td colspan=3>Endezeit</td> <td>Raum</td> <td>erstes Datum<br /><i>(2000-12-31)</i></td> <td>letztes Datum<br /><i>(2000-12-31)</i></td> <td>Turnus</td> <td>Typ</td> </tr> #foreach( $i in [1..4] ) <tr> <td> <select name="dweekday$i"> <option value="0">---</option> $!coursePresenter.getDaysOfWeek("","de") </select> </td> <td><input name="dstarthour$i" maxlength="2" size="2"></td><td>:</td> <td><input name="dstartmin$i" maxlength="2" size="2"></td><td>-</td> <td><input name="dendhour$i" maxlength="2" size="2"></td><td>:</td> <td><input name="dendmin$i" maxlength="2" size="2"></td> <td> <select name="droom$i"> <option value="">----</option> #foreach ( $cr in $coursePresenter.searchCourseRooms("") ) <option value="$!cr.getId()">$!cr.getName()</option> #end </select> </td> <td><input name="dstartdate$i" maxlength="10" size="10"></td> <td><input name="denddate$i" maxlength="10" size="10"></td> <td> <select name="dcycle$i"> <option value="1">wöchentlich</option> <option value="2">zweiwöchentlich</option> <option value="0">täglich/einmalig</option> </select> </td> <td> <select name="dtype$i"> <option value="0">--</option> <option value="1">Übung</option> <option value="2">Zentralübung</option> </select> </td> </tr> #end </table> <p> <input type="hidden" name="cdatescnt" value="4"/> <input type="submit" class="submit" value="Veranstaltung anlegen"/> </form> #end #end $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: cpcreate.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) <h1>Studiengang anlegen</h1> #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #if ( $auserid == 0 ) $portalPresenter.parse("$!contextPath/pagelogin.html.de",$portalRequest) #else #set ( $auser = $userManager.getUser($auserid)) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-module") ) #if ( "$!tmps" != "true" ) <p><div class="error">Ihr aktueller Login hat nicht ausreichend Rechte um Studiengänge zu editieren. Wenn Sie die entsprechenden Rechte benötigen, dann wenden Sie sich bitte an die Administratoren der Plattform.</div></p> #else #if ( $returnCode > 1999 ) <br /><font color="red">Fehler beim Anlegen eines Studiengangs.</font><p> #end <table border="0"> <form action="/COURSE" method="post"> <input type="hidden" name="cmd" value="createcourseprogram"> <input type="hidden" name="cmd.success" value="/course/index.html" /> <input type="hidden" name="cmd.error" value="/course/cpcreate.html" /> <input type="hidden" name="cmd.noaccess" value="/noaccess.html" /> <input type="hidden" name="path" value="$portalRequest.getPagePath()"/> <tr> <td>Name</td> <td><input name="cpname" size="50" value=""></td> </tr> <tr> <td>Name (englisch)</td> <td><input name="cpname_en" size="50" value=""></td> </tr> <tr> <td>Kürzel</td> <td><input name="cplabel" size="50" value=""></td> </tr> <tr> <td>Kommentar</td> <td><input name="cpcomment" size="50" value=""></td> </tr> <tr> <td colspan="2"><br /><input type="submit" class="submit" value="Studiengang anlegen"/></td> </tr> </form> </table> #end #end $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: clsearch.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) #set ( $auserlogin = "$!auserlogin" ) #if ( $auserlogin == "" ) #set ( $auserlogin = $userLogin ) #end #set ( $auserid = $userManager.getUserIdForUserLogin($auserlogin) ) #set ( $acc = "false" ) #if ( $auserid != 0) #set ( $acc = $userPresenter.checkRole("$auserid", "admin-course") ) #end #set ($query = "lfirstname=$!{lfirstname}&llastname=$!{llastname}<yp=$!{ltyp}&lgroup=$!{lgroup}") <h1>Dozentensuche</h1> #set ( $results = $coursePresenter.searchCourseLecturers($query) ) #set ( $rcount = $results.size() ) <p> #if ( "$!rcount" == "0" ) #if ( "$!query" != "cid=0" ) <div class="info">Die Suche hat keine Ergebnisse geliefert.</div> <p> #end #else Die Suche hat $rcount Ergebnisse geliefert:<p> <table id="result" width="90%" align="center"> <tr class="resulttitle"> <td>ID</td> <td>Nachname</td> <td>Typ</td> <td> </td> </tr> #foreach ( $c in $results ) <tr> <td>$!c.getId()</td> <td>$!c.getLastName()</td> <td>$!c.getFirstName()</td> <td>$!c.getType() </td> <td> #if ( "$!acc" == "true" ) <a href="clupdate.html?lid=$!c.getId()">edit</a> | <a href="cldelete.html?lid=$!c.getId()">delete</a> #end </td> </tr> #end </table> <p> #end <p> <table border="0"> <form action="clsearch.html" method="post"> <tr> <td>Nachname</td> <td> <input name="llastname" size="20" value="$!llastname"> </td> </tr> <tr> <td>Vorname</td> <td> <input name="lfirstname" size="20" value="$!lfirstname"> </td> </tr> <tr> <td>Typ</td> <td> <select name="ltyp"> <option value="" selected="1">alle</option> <option value="p">Professoren</option> <option value="e">Lehrbeauftragte</option> <option value="a">Assistenten</option> </select> </td> </tr> <tr> <td colspan="2"><br /><input type="submit" class="submit" value="Suche Dozenten"/></td> </tr> </form> </table> $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: cm.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) #if ( "$!cmid" == "" ) #if ( "$!id" != "" ) #set( $cm = $coursePresenter.getCourseModuleBySId($id) ) #end #else #set( $cm = $coursePresenter.getCourseModule($cmid) ) #end <h1>Modul $cm.getSId()</h1> #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #set ( $auser = $userManager.getUser($auserid)) #set ( $acc = $userPresenter.checkRole("$auserid", "admin-course") ) <table border="1"> <tr> <td valign=top>Titel (de)</td> <td>$!cm.getName()</td> </tr> <tr> <td valign=top>Titel (en)</td> <td>$!cm.getName('en')</td> </tr> <tr> <td>Kurztitel</td> <td>$!cm.getShortName()</td> </tr> <tr> <td>Typ</td> <td>$cm.getType() </td> </tr> #set ( $tmps = "$cm.getHidden()" ) #if ( $tmps != "0" ) <tr> <td>Sichtbarkeit</td> <td> #if ( $tmps == "1" ) <font color="red">archiviert/unsichtbar</font> #elseif ( $tmps == "2" ) <font color="red">nicht bestätigt/unsichtbar</font> #end </td> </tr> #end <tr> <td>Semesterwochenstunden</td> <td>$coursePresenter.printSWS($cm)</td> </tr> <tr> <td>ECTS Credits</td> <td>$!cm.getEctsCredits()</td> </tr> <tr> <td>Turnus</td> <td>$cm.getCycle()</td> </tr> <tr> <td valign="top">Studiengänge</td> <td> <table border="1"> <tr> <td><em>Studiengang</em></td> <td><em>Wahl/Pflicht</em></td> <td><em>Kommentar</em></td> </tr> #set ( $courseTempProgRel = $cm.getProgramRel() ) #set ($j = 0) #foreach ( $cmpr in $courseTempProgRel ) #set ($j = $j + 1) <tr><td> $cmpr.getProgram().getName() </td><td> $!cmpr.getType() </td><td> $!cmpr.getComment() </td> </tr> #end </table> </td> </tr> <tr> <td valign="top">Modulverantwortlicher</td> <td>$!courseManager.getLecturer($cm.getResponsible()).getName()</td> </tr> <tr> <td valign="top">Inhalt</td> <td>$!cm.getContent()</td> </tr> <tr> <td valign="top">Lernziele</td> <td>$!cm.getTarget()</td> </tr> <tr> <td valign="top">Vorkenntnisse</td> <td>$coursePresenter.printPrerequ($cm)</td> </tr> <tr> <td valign="top">Prüfungsdetails</td> <td>$coursePresenter.printCert($cm)</td> </tr> <tr> <td valign="top">Didaktik</td> <td>$!cm.getDidactics()</td> </tr> <tr> <td valign="top">Kommentar</td> <td>$!cm.getComment()</td> </tr> #set ( $tmps = "" ) #set ( $tmps = $cm.getImport() ) #if ( "$!tmps" == "1" ) <tr> <td>Importiert</td> <td> <font color="blue">ja</font> </td> </tr> #end #if ( "$!acc" == "true" ) <tr> <td valign="top">zusätzliche Attribute</td> <td>$!cm.getAttribute("cmaddxml")</td> </tr> #end </table> #if ( "$!acc" == "true" ) <p align="right"> <a href="/course/cmupdate.html?cmid=$cm.getId()">Modul editieren</a> </p> #end <p> <a href="csearch.html?cmid=$cm.getId()">Veranstaltungen zu diesem Modul anzeigen</a> $portalPresenter.parse("$contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: crdelete.html.de --- (This appears to be a binary file; contents omitted.) --- NEW FILE: timetablew.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) <h1>Stundenplan</h1> #if ( $returnCode > 1999 ) <p><div class="error">Failed inserting/deleting course in timetable.</div></p> #end #if ( $returnCode>999 && $returnCode < 1999 ) <p><div class="success">Succeeded inserting/deleting course in timetable.</div></p> #end #set ( $auserlogin = "$!auserlogin" ) #if ( $auserlogin == "" ) #set ( $auserlogin = $userLogin ) #end #set ( $auserid = $userManager.getUserIdForUserLogin($auserlogin) ) #if ( $auserid == 0) You have to log in first before you can display and edit your timetable. #else #if ( "$!term" == "" ) #set ( $term = $coursePresenter.getCurrentTerm() ) #end <form action="/course/timetable.html" method="post"> <p>Timetable for term <select name="term" size="1"> $!coursePresenter.getTerms("") </select> <input type="submit" class="submit" value="Update timetable view" /> </p> </form> <ul> #set ( $tt = $coursePresenter.getTimetable("$!auserid", "$!term") ) #if ("$!tt.size()" == "0") no entries #else #foreach( $cttid in $tt.keySet() ) <li> <a href="c.html?cid=$tt.get($cttid).getId() ">$tt.get($cttid).getName() </a> - <a href="cupdate.html?cid=$tt.get($cttid).getId()">edit</a> | <a href="/COURSE?cmd=removecoursett&cttid=$cttid&cmd.success=/course/timetable.html&cmd.error=/course/timetable.html">remove</a> </li> #end #end </ul> #end <h3>Week View</h3> <p> $calendarPresenter.printWeekCalendarAsHtml($!datestring, $!catids, "en","timetable.html", "timetablew.html", "timetablem.html","$!auserid") </p> $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: cdelete.html.de --- (This appears to be a binary file; contents omitted.) --- NEW FILE: timetable.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) <h1>Stundenplan</h1> #if ( $returnCode > 1999 ) <p><div class="error">Failed inserting/deleting course in timetable.</div></p> #end #if ( $returnCode>999 && $returnCode < 1999 ) <p><div class="success">Succeeded inserting/deleting course in timetable.</div></p> #end #set ( $auserlogin = "$!auserlogin" ) #if ( $auserlogin == "" ) #set ( $auserlogin = $userLogin ) #end #set ( $auserid = $userManager.getUserIdForUserLogin($auserlogin) ) #if ( $auserid == 0) You have to log in first before you can display and edit your timetable. #else #if ( "$!term" == "" ) #set ( $term = $coursePresenter.getCurrentTerm() ) #end <form action="/course/timetable.html" method="post"> <p>Timetable for term <select name="term" size="1"> $!coursePresenter.getTerms("$!term") </select> <input type="submit" class="submit" value="Update timetable view" /> </p> </form> <ul> #set ( $tt = $coursePresenter.getTimetable("$!auserid", "$!term") ) #if ("$!tt.size()" == "0") no entries #else #foreach( $cttid in $tt.keySet() ) <li> <a href="c.html?cid=$tt.get($cttid).getId() ">$tt.get($cttid).getName() </a> - <a href="cupdate.html?cid=$tt.get($cttid).getId()">edit</a> | <a href="/COURSE?cmd=removecoursett&cttid=$cttid&cmd.success=/course/timetable.html&cmd.error=/course/timetable.html">remove</a> </li> #end #end </ul> #end <h3>Day View</h3> <p> $calendarPresenter.printDayCalendarAsHtml($!datestring, $!catids, "en", "timetable.html", "timetablew.html", "timetablem.html","$!auserid") </p> $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: cmcreate.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) <h1>Modul anlegen/beantragen</h1> #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #if ( $auserid == 0 ) $portalPresenter.parse("$!contextPath/pagelogin.html.de",$portalRequest) #else #set ( $auser = $userManager.getUser($auserid)) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-course") ) #if ( "$!tmps" != "true" ) <p><div class="error">Ihr aktueller Login hat nicht ausreichend Rechte um Module anzulegen. Wenn Sie die entsprechenden Rechte benötigen, dann wenden Sie sich bitte an die Administratoren der Plattform.</div></p> #else #set ( $acc = "course" ) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-module") ) #if ( "$!tmps" == "true" ) #set ( $acc = "module" ) #end #if ( $returnCode > 1999 ) <font color="red">Fehler beim Anlegen eines Moduls.</font><p> #end <form action="/COURSE" method="post"> <input type="hidden" name="cmd" value="createcoursemodule"> <input type="hidden" name="cmd.success" value="/course/cmcreateres.html"> <input type="hidden" name="cmd.error" value="/course/cmcreate.html"> <input type="hidden" name="cmd.noaccess" value="/noaccess.html"> <input type="hidden" name="path" value="$portalRequest.getPagePath()"/> <table border="0"> <tr> <td>SID</td> <td><input name="cmsid" size="10"></td> </tr> <tr> <td>Name</td> <td><input name="cmname" size="70"></td> </tr> <tr> <td>Name (englisch)</td> <td><input name="cmname_en" size="70"></td> </tr> <tr> <td>Kurzname</td> <td><input name="cmshortname" size="30"></td> </tr> <tr> <td>Typ</td> <td> $portalPresenter.printSelect("cmtype","Vorlesung,Praktikum,Seminar","Vorlesung,Praktikum,Seminar","$!cmtype") </td> </tr> #if ("$!acc"=="module") <tr> <td>Sichtbarkeit</td> <td><select name="cmhidden" size="1"> <option value="0">bestätigt/sichtbar</option> <option value="1">archiviert/nicht sichtbar</option> <option value="2">nicht bestätigt/nicht sichtbar</option> </select></td> </tr> #else <input type="hidden" name="cmhidden" value="2"/> #end <tr> <td>ECTS Credits</td> <td><input name="cmectscredits" size="5"></td> </tr> <tr> <td>Semesterwochenstunden</td> <td> Vorlesung: <input name="cmhours_lec" size="2"> Übung: <input name="cmhours_ex" size="2"> Seminar: <input name="cmhours_sem" size="2"> Praktikum: <input name="cmhours_lab" size="2"> </td> </tr> <tr> <td>Teilnehmerzahl</td> <td><input name="cmcapacity" size="5"></td> </tr> <tr> <td>Inhalt</td> <td><textarea name="cmcontent" rows="3" cols="70"> </textarea></td> </tr> <tr> <td>Inhalt (englisch)</td> <td><textarea name="cmcontent_en" rows="3" cols="70"> </textarea></td> </tr> <tr> <td>Lernziele</td> <td><textarea name="cmtarget" rows="3" cols="70"> </textarea></td> </tr> <tr> <td>Lernziele (englisch)</td> <td><textarea name="cmtarget_en" rows="3" cols="70"> </textarea></td> </tr> <tr> <td>Voraussetzungen</td> <td><textarea name="cmprerequ" rows="3" cols="70"> </textarea></td> </tr> <tr> <td>Voraussetzungen (englisch)</td> <td><textarea name="cmprerequ_en" rows="3" cols="70"> </textarea></td> </tr> <tr> <td>Schein(voraussetzungen)</td> <td><textarea name="cmcert" rows="3" cols="70"> </textarea></td> </tr> <tr> <td>Schein(voraussetzungen) (englisch)</td> <td><textarea name="cmcert_en" rows="3" cols="70"> </textarea></td> </tr> <tr> <td>Didaktik</td> <td><textarea name="cmdidactics" rows="3" cols="70"> $!cmdidactics </textarea></td> </tr> <tr> <td>Didaktik (englisch)</td> <td><textarea name="cmdidactics_en" rows="3" cols="70"> $!cmdidactics_en </textarea></td> </tr> <tr> <td>Turnus</td> <td> <input name="cmcycle" size="10"> (z.B. "WS","WS,SS") </td> </tr> <tr> <td valign="top">Modulverantwortlicher<br>(Nachname[, Vorname])</td> <td><input name="cmresponsiblename" size="70" value="$!cmresponsiblename"></td> </tr> <tr> <td>Kommentar</td> <td><textarea name="cmcomment" rows="3" cols="70"> $!cmcomment </textarea></td> </tr> <tr> <td>zusätzliche Attribute (in XML)</td> <td><textarea name="cmaddxml" rows="3" cols="70"> </textarea></td> </tr> </table> <h3>Zugeordnete Studiengänge</h3> <table border="0"> <tr> <td>Studiengang</td> <td>Typ</td> <td>erstes Semester</td> <td>letztes Ssemester</td> </tr> #foreach( $i in [1..6] ) <tr> <td> <select name="cpid$i"> <option value="">----</option> #foreach ( $cp in $coursePresenter.searchCoursePrograms("") ) <option value="$!cp.getId()">$!cp.getName()</option> #end </select> </td> <td> <select name="type$i"> <option value="">--</option> #foreach( $i in ["pf","wp","wa","ko","vt","er","gr","ke"] ) <option value="$i">$i</option> #end </select> </td> <td> <select name="startsem$i"> <option value="">--</option> #foreach( $i in [1..9] ) <option value="$i">$i</option> #end </select> </td> <td> <select name="endsem$i"> <option value="">--</option> #foreach( $i in [1..9] ) <option value="$i">$i</option> #end </select> </td> </tr> #end </table> <p> <input type="hidden" name="cmprogcnt" value="6"/> #if ("$!acc"=="module") <input type="submit" class="submit" value="Modul anlegen"/> #else <input type="submit" class="submit" value="Modul beantragen"/> #end </form> #end #end $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: timetablem.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) <h1>Stundenplan</h1> #if ( $returnCode > 1999 ) <p><div class="error">Failed inserting/deleting course in timetable.</div></p> #end #if ( $returnCode>999 && $returnCode < 1999 ) <p><div class="success">Succeeded inserting/deleting course in timetable.</div></p> #end #set ( $auserlogin = "$!auserlogin" ) #if ( $auserlogin == "" ) #set ( $auserlogin = $userLogin ) #end #set ( $auserid = $userManager.getUserIdForUserLogin($auserlogin) ) #if ( $auserid == 0) You have to log in first before you can display and edit your timetable. #else #if ( "$!term" == "" ) #set ( $term = $coursePresenter.getCurrentTerm() ) #end <form action="/course/timetable.html" method="post"> <p>Timetable for term <select name="term" size="1"> $!coursePresenter.getTerms("") </select> <input type="submit" class="submit" value="Update timetable view" /> </p> </form> <ul> #set ( $tt = $coursePresenter.getTimetable("$!auserid", "$!term") ) #if ("$!tt.size()" == "0") no entries #else #foreach( $cttid in $tt.keySet() ) <li> <a href="c.html?cid=$tt.get($cttid).getId() ">$tt.get($cttid).getName() </a> - <a href="cupdate.html?cid=$tt.get($cttid).getId()">edit</a> | <a href="/COURSE?cmd=removecoursett&cttid=$cttid&cmd.success=/course/timetable.html&cmd.error=/course/timetable.html">remove</a> </li> #end #end </ul> #end <h3>Month View</h3> <p> $calendarPresenter.printMonthCalendarAsHtml($!datestring, $!catids, "en","timetable.html", "timetablew.html", "timetablem.html","$!auserid") </p> $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: cmupdateres2.txt --- #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #set ( $auser = $userManager.getUser($auserid)) #set ( $acc = "course" ) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-module") ) #if ( "$!tmps" == "true" ) #set ( $acc = "module" ) #end #set( $cm = $coursePresenter.getCourseModule($cmid) ) Auf der Drehscheibe wurde eben durch den Benutzer $auser.getName() ($auser.getUserLogin(), $auser.getEmail()) folgende Änderungen des Moduls $cm.getName() ($cm.getSId()) gewünscht. Die Daten des Moduls sind unverändert. Änderungswünsche: $!cmupdate Link zum Aktualisieren des Moduls: $!portal_baseurl/course/cm.html?id=$!cm.getSId() --- NEW FILE: crcreate.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) <h1>Raum anlegen</h1> #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #if ( $auserid == 0 ) $portalPresenter.parse("$!contextPath/pagelogin.html.de",$portalRequest) #else #set ( $auser = $userManager.getUser($auserid)) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-course") ) #if ( "$!tmps" != "true" ) <p><div class="error">Ihr aktueller Login hat nicht ausreichend Rechte um Räume anzulegen. Wenn Sie die entsprechenden Rechte benötigen, dann wenden Sie sich bitte an die Administratoren der Plattform.</div></p> #else #if ( $returnCode > 1999 ) <br /><font color="red">Fehler beim Anlegen eines Raums.</font><p> #end <table border="0"> <form action="/COURSE" method="post"> <input type="hidden" name="cmd" value="createcourseroom"> <input type="hidden" name="cmd.success" value="/course/index.html" /> <input type="hidden" name="cmd.error" value="/course/crcreate.html" /> <input type="hidden" name="cmd.noaccess" value="/noaccess.html" /> <input type="hidden" name="path" value="$portalRequest.getPagePath()"/> <tr> <td>Name</td> <td><input name="crname" size="50" value=""></td> </tr> <tr> <td>Information</td> <td><input name="crinfo" size="50" value=""></td> </tr> <tr> <td>Raumverantwortlicher</td> <td><input name="crcontact" size="50" value=""></td> </tr> <tr> <td valign="top">External ID<br>(UnivIS Id)</td> <td><input name="crextid" size="50" value=""></td> </tr> <tr> <td>Sichtbarkeit</td> <td> <select name="crhidden"> <option value="0" selected="1">nicht sichtbar</option> <option value="1">sichtbar</option> </select> </td> </tr> <tr> <td colspan="2"><br /><input type="submit" class="submit" value="Raum anlegen"/></td> </tr> </form> </table> #end #end $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: cmsearch.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) #set ( $auserlogin = "$!auserlogin" ) #if ( $auserlogin == "" ) #set ( $auserlogin = $userLogin ) #end #set ( $auserid = $userManager.getUserIdForUserLogin($auserlogin) ) #set ( $acc = "false" ) #if ( $auserid != 0) #set ( $acc = $userPresenter.checkRole("$auserid", "admin-course") ) #end #set ($tmps = "$!cmname$!cmname_en$!cmcontent$!cmcontent_e$!cmshortname$!cmtype$!cmhidden$!cpid" ) #if ("$!tmps" == "") #set ($query = "cmid=0") #else #set ($query = "cmname=$!{cmname}&cmname_en=$!{cmname_en}&cmcontent=$!{cmcontent}&cmcontent_en=$!{cmcontent_en}&") #set ($query = "${query}cmshortname=$!{cmshortname}&cmtype=$!{cmtype}&cmhidden=$!{cmhidden}&cpid=$!{cpid}&") #end <h1>Modulsuche</h1> #set ( $results = $coursePresenter.searchCourseModules($query,"$!sortby") ) #set ( $rcount = $results.size() ) <p> #if ( "$!rcount" == "0" ) #if ( "$!query" != "cmid=0" ) <div class="info">Die Suche hat keine Ergebnisse geliefert.</div> <p> #end #else Die Suche hat $rcount Ergebnisse geliefert:<p> <table id="result" width="90%" align="center"> #foreach ( $cm in $results ) #if ("$!sortby"=="cmtype") #if ("$!tmptype"!="$!cm.getType()") <tr><td><h3>$!cm.getType()</h3></td></tr> #set ($tmptype = "$!cm.getType()") #end #end <tr> <td><a href="cm.html?cmid=$!cm.getId()">$!cm.getName()</a></td> <td> #if ( "$!acc" == "true" ) <a href="cmupdate.html?cmid=$!cm.getId()">edit</a> | <a href="cmdelete.html?cmid=$!cm.getId()">delete</a> #end </td> </tr> #end </table> <p> #end <p> <table border="0"> <form action="cmsearch.html" method="post"> <tr> <td>Name</td> <td><input name="cmname" size="70" value="$!cmname"></td> </tr> <tr> <td>Name (englisch)</td> <td><input name="cmname_en" size="70" value="$!cmname_en"></td> </tr> <tr> <td>Kurzname</td> <td><input name="cmshortname" size="30" value="$!cmshortname"></td> </tr> <tr> <td>Typ</td> <td> $portalPresenter.printSelect("cmtype","alle,Vorlesung,Praktikum,Seminar"," ,Vorlesung,Praktikum,Seminar","$cmtype") </td> </tr> <tr> <td>Studiengang</td> <td> <select name="cpid"> <option value="">alle</option> #foreach ( $cp in $coursePresenter.searchCoursePrograms("") ) #set ($sel = "") #if ( "$cp.getId()" == "$!cpid" ) #set ($sel = 'selected="1"') #end <option value="$!cp.getId()" $!sel>$!cp.getName()</option> #end </select> </td> </tr> #if ("$!acc" == "true") <tr> <td>Sichtbarkeit</td> <td> $portalPresenter.printSelect("cmhidden","alle,bestätigt,archiviert,nicht bestätigt"," ,0,1,2","$cmhidden") </td> </tr> #else <input type="hidden" name="cmhidden" value="0"> #end <tr> <td>Inhalt</td> <td><input name="cmcontent" size="30" value="$!cmcontent"/></td> </tr> <tr> <td>Inhalt (englisch)</td> <td><input name="cmcontent_en" size="30" value="$!cmcontent_en"/></td> </tr> <tr> <td>Sortierung nach</td> <td> $portalPresenter.printSelect("sortby","Name,Typ","cmname,cmtype","$!sortby") </td> </tr> <tr> <td colspan="2"><br /><input type="submit" class="submit" value="Suche Module"/></td> </tr> </form> </table> $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: index.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) <h1>Course Management</h1> #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #if ( $auserid != 0 ) #set ( $auser = $userManager.getUser($auserid)) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-course") ) #if ( "$!tmps" != "true" ) #set ( $auserid = 0 ) #end #end #if ( $returnCode == 1001 ) <p><div class="info">Veranstaltung wurde erfolgreich angelegt.</div></p> #elseif ( $returnCode == 1002 ) <p><div class="info">Veranstaltung wurde erfolgreich aktualisiert.</div></p> #elseif ( $returnCode == 1003 ) <p><div class="info">Veranstaltung wurde erfolgreich gelöscht.</div></p> #elseif ( $returnCode == 1012 ) <p><div class="info">Modul wurde erfolgreich aktualisiert.<br> Die Information wurde per E-Mail an den Prüfungsausschuss gesandt.</div></p> #set ($tmps = $portalPresenter.sendEmail("$!portal_drehscheibe_courseemail","[Drehscheibe] Moduldaten geaendert","cmupdateres.txt",$portalRequest)) #elseif ( $returnCode == 1013 ) <p><div class="info">Modul wurde erfolgreich gelöscht.<br> Die Information wurde per E-Mail an den Prüfungsausschuss gesandt.</div></p> #set ($tmps = $portalPresenter.sendEmail("$!portal_drehscheibe_courseemail","[Drehscheibe] Modul geloescht","cmdeleteres.txt",$portalRequest)) #elseif ( $returnCode == 1021 ) <p><div class="info">Raum wurde erfolgreich angelegt.</div></p> #elseif ( $returnCode == 1022 ) <p><div class="info">Raum wurde erfolgreich aktualisiert.</div></p> #elseif ( $returnCode == 1023 ) <p><div class="info">Raum wurde erfolgreich gelöscht.</div></p> #elseif ( $returnCode == 1031 ) <p><div class="info">Dozent wurde erfolgreich angelegt.</div></p> #elseif ( $returnCode == 1032 ) <p><div class="info">Dozent wurde erfolgreich aktualisiert.</div></p> #elseif ( $returnCode == 1033 ) <p><div class="info">Dozent wurde erfolgreich gelöscht.</div></p> #elseif ( $returnCode == 1041 ) <p><div class="info">Studiengang wurde erfolgreich angelegt.</div></p> #elseif ( $returnCode == 1042 ) <p><div class="info">Studiengang wurde erfolgreich aktualisiert.</div></p> #elseif ( $returnCode == 1043 ) <p><div class="info">Studiengang wurde erfolgreich gelöscht.</div></p> #elseif ( $returnCode == 1051 ) <p><div class="info">1051</div></p> #elseif ( $returnCode == 1052 ) <p><div class="info">1052</div></p> #end #if ( $auserid == 0 ) <p><div class="color2"><b>Ihre Zugriffsrechte:</b><br> - Sie haben keine Rechte, Veranstaltungen oder Module zu editieren.</div></p> <h3>Module und Veranstaltungen</h3> <ul> <li><a href="csearch.html">Veranstaltungssuche</a> <p> <li><a href="cmsearch.html">Modulsuche</a> <li><a href="cmall.html">Modulkatalog</a> <li><a href="cmall.xml">Modulkatalog als XML</a> <li><a href="cmsearch.html?cmhidden=2">Nicht bestätigte Module</a> </ul> #else <p>Diese Seite bietet Ihnen Zugang zur Verwaltung von Veranstaltungen und Veranstaltungsklassen/Modulen, sowie allem, was dazu gehört (Räumen, Dozenten)</p> <p>Die Daten werden regelmäßig (momentan einmal täglich) mit dem Universitäts-Informationssystem UnivIS abgeglichen, d.h. Daten der Fakultät für Informatik werden nach UnivIS exportiert und Daten anderer Fakultäten für Informatik-Studiengänge werden importiert.</p> #set ( $acc = "course" ) <p><div class="color2"><b>Ihre Zugriffsrechte:</b><br> #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-module") ) #if ( "$!tmps" == "true" ) - Editieren von Veranstaltungen und Modulen #set ( $acc = "module" ) #else #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-course") ) #if ( "$!tmps" == "true" ) - Editieren von Veranstaltungen und eingeschränktes Editieren von Modulen #end #end </div></p> <h3>Veranstaltungsverwaltung</h3> <p>Veranstaltungen sind konkrete Instanzen von Modulen/Veranstaltungsklassen, z.B. eine in einem bestimmten Semester durch einen bestimmten Dozenten gehaltene Vorlesung. Jede Veranstaltung muss dabei eindeutig einem Modul zugeordnet sein.</p> <ul> <li><a href="csearch.html">Veranstaltungen suchen (zum Editieren)</a> <li><a href="ccreatepreselect.html">Veranstaltung anlegen</a> <li><a href="timetable.html">Persönlichen Stundenplan anzeigen und verwalten</a> </ul> <h3>Modulverwaltung</h3> <p>Module sind Beschreibungen von Veransstaltungen, die gehalten werden (können). Das Anlegen neuer Module ist nur in Abstimmung mit dem Prüfungsausschuss der zugeordneten Studiengänge möglich.</p> <ul> <li><a href="cmsearch.html">Module suchen (zum Editieren)</a> <li><a href="cmall.html">Modulkatalog</a> <li><a href="cmall.xml">Modulkatalog als XML</a> #if ( "$!acc" == "module" ) <li><a href="cmcreate.html">Modul anlegen</a> #else <li><a href="cmcreate2.html">Modul beantragen</a> #end </ul> #if ( "$!acc" == "module" ) <h3>Studiengangverwaltung</h3> <ul> <li><a href="cpsearch.html">Studiengänge suchen</a> <li><a href="cpcreate.html">Studiengang anlegen</a> </ul> #end <h3>Raumverwaltung</h3> <ul> <li><a href="crsearch.html">Räume suchen</a> <li><a href="crcreate.html">Raum anlegen</a> </ul> <h3>Dozentenverwaltung</h3> <ul> <li><a href="clsearch.html">Dozenten suchen</a> <li><a href="clcreate.html">Dozent anlegen</a> </ul> #end $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: cmupdate.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) <h1>Modul aktualisieren</h1> #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #if ( $auserid == 0 ) $portalPresenter.parse("$!contextPath/pagelogin.html.de",$portalRequest) #else #set ( $auser = $userManager.getUser($auserid)) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-course") ) #if ( "$!tmps" != "true" ) <p><div class="error">Ihr aktueller Login hat nicht ausreichend Rechte um Module zu aktualisieren. Wenn Sie die entsprechenden Rechte benötigen, dann wenden Sie sich bitte an die Administratoren der Plattform.</div></p> #else #set( $cm = $coursePresenter.getCourseModule($cmid) ) #set ( $acc = "course" ) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-module") ) #if ( "$!tmps" == "true" ) #set ( $acc = "module" ) #else #set ( $respuid = $!courseManager.getLecturer($cm.getResponsible()).getUserId() ) #if ( "$!respuid" == "$auserid" ) <div class="error">Sie sind der Verantwortliche für dieses Module und können deshlab einen Teil der Daten aktualisieren.</div> #set ( $acc = "moduleresp" ) #else <div class="error">Sie habe keine Rechte die Moduldaten direkt zu ändern (dies kann nur der Prüfungsausschuss und der Modulverantwortliche). In folgendem Formular können Sie aber Änderungen vorschlagen, die dann per E-Mail an den Prüfungsausschuss weitergeleitet werden.</div> #end #end #if ( $returnCode > 1999 ) <font color="red">Fehler beim Aktualisieren eines Moduls.</font><p> #end #if ( "$!acc" == "course" ) <form action="cmupdateemail.html" method="post"> #else <form action="/COURSE" method="post"> <input type="hidden" name="cmd" value="updatecoursemodule"> <input type="hidden" name="cmd.success" value="/course/index.html"> <input type="hidden" name="cmd.error" value="/course/cmupdate.html"> <input type="hidden" name="cmd.noaccess" value="/noaccess.html"> #end <input type="hidden" name="path" value="$portalRequest.getPagePath()"/> <input type="hidden" name="cmid" value="$cmid" /> #if ( "$!acc" == "course" ) <p>Änderungswünsche, die an den Prüfungsausschuss übermittelt werden sollen:<br> <textarea name="cmupdate" rows="5" cols="70"> </textarea></p> #end <table border="0"> #if ("$!acc"=="module") <tr> <td>SID</td> <td><input name="cmsid" size="10" value="$!cm.getSId()"></td> </tr> <tr> <td>Name</td> <td><input name="cmname" size="70" value="$!cm.getName()"></td> </tr> <tr> <td>Name (englisch)</td> <td><input name="cmname_en" size="70" value="$!cm.getName('en')"></td> </tr> <tr> <td>Kurzname</td> <td><input name="cmshortname" size="30" value="$!cm.getShortName()"></td> </tr> <tr> <td>Typ</td> <td>$portalPresenter.printSelect("cmtype","Vorlesung,Praktikum,Seminar","Vorlesung,Praktikum,Seminar","$!cm.getType()") </td> </tr> <tr> <td>Sichtbarkeit</td> <td> $portalPresenter.printSelect("cmhidden","bestätigt/sichtbar,archiviert/nicht sichtbar,nicht bestätigt/nicht sichtbar","0,1,2","$cm.getHidden()") </td> </tr> <tr> <td>ECTS Credits</td> <td><input name="cmectscredits" size="5" value="$!cm.getEctsCredits()"> <i>z.B. 12<strong>.</strong>5</i></td> </tr> <tr> <td>Semesterwochenstunden</td> <td> Vorlesung: <input name="cmhours_lec" size="2" value="$!cm.getHoursLecture()"> Übung: <input name="cmhours_ex" size="2" value="$!cm.getHoursExercises()"> Seminar: <input name="cmhours_sem" size="2" value="$!cm.getHoursSeminar()"> Praktikum: <input name="cmhours_lab" size="2" value="$!cm.getHoursLab()"> </td> </tr> <tr> <td>Teilnehmerzahl</td> <td><input name="cmcapacity" size="5" value="$!cm.getCapacity()"></td> </tr> #else <tr><td>Name</td><td>$!cmname</td></tr> <tr><td>Kurzname</td><td>$!cmshortname</td></tr> <tr><td>Typ</td><td>$!cmtype</td></tr> <tr><td>ECTS Credits</td><td>$!cmectscredits</td></tr> <tr><td>Semesterwochenstunden</td> <td>$coursePresenter.printSWS($cm)</td></tr> <tr><td valign="top">Modulverantwortlicher<br>(Nachname[, Vorname])</td> <td>$!cmresponsible</td></tr> #end #if ( "$!acc" == "module" || "$!acc" == "moduleresp" ) <tr> <td>Inhalt</td> <td><textarea name="cmcontent" rows="3" cols="70">$!cm.getContent()</textarea></td> </tr> <tr> <td>Inhalt (englisch)</td> <td><textarea name="cmcontent_en" rows="3" cols="70">$!cm.getContent('en')</textarea></td> </tr> <tr> <td>Lernziele</td> <td><textarea name="cmtarget" rows="3" cols="70">$!cm.getTarget()</textarea></td> </tr> <tr> <td>Lernziele (englisch)</td> <td><textarea name="cmtarget_en" rows="3" cols="70">$!cm.getTarget('en')</textarea></td> </tr> <tr> <td>Voraussetzungen</td> <td><textarea name="cmprerequ" rows="3" cols="70">$!cm.getPrerequ()</textarea></td> </tr> <tr> <td>Voraussetzungen (englisch)</td> <td><textarea name="cmprerequ_en" rows="3" cols="70">$!cm.getPrerequ('en')</textarea></td> </tr> <tr> <td>Schein(voraussetzungen)</td> <td><textarea name="cmcert" rows="3" cols="70">$!cm.getCert()</textarea></td> </tr> <tr> <td>Schein(voraussetzungen) (englisch)</td> <td><textarea name="cmcert_en" rows="3" cols="70">$!cm.getCert('en')</textarea></td> </tr> <tr> <td>Didaktik</td> <td><textarea name="cmdidactics" rows="3" cols="70">$!cm.getDidactics()</textarea></td> </tr> <tr> <td>Didaktik (englisch)</td> <td><textarea name="cmdidactics_en" rows="3" cols="70">$!cm.getDidactics('en')</textarea></td> </tr> <tr> <td>Turnus</td> <td> <input name="cmcycle" size="10" value="$cm.getCycle()"> ("WS", "SS", "WS,SS") </td> </tr> <tr> <td>Kommentar</td> <td><textarea name="cmcomment" rows="3" cols="70"> $!cm.getComment() </textarea></td> </tr> #else <tr> <td>Inhalt</td> <td>$!cm.getContent()</td> </tr> <tr> <td>Inhalt (englisch)</td> <td>$!cm.getContent('en')</td> </tr> <tr> <td>Voraussetzungen</td> <td>$!cm.getPrerequ()</td> </tr> <tr> <td>Voraussetzungen (englisch)</td> <td>$!cm.getPrerequ('en')</td> </tr> <tr> <td>Schein(voraussetzungen)</td> <td>$!cm.getCert()</td> </tr> <tr> <td>Schein(voraussetzungen) (englisch)</td> <td>$!cm.getCert('en')</td> </tr> <tr> <td>Didaktik</td> <td>$!cm.getDidactics()</td> </tr> <tr> <td>Didaktik (englisch)</td> <td>$!cm.getDidactics('en')</td> </tr> <tr> <td>Turnus</td> <td>$cm.getCycle()</td> </tr> <tr> <td>Kommentar</td> <td>$!cm.getComment()</td> </tr> #end #if ("$!acc"=="module") <tr> <tr><td valign="top">Modulverantwortlicher<br>(Nachname[, Vorname])</td> <td>$!courseManager.getLecturer($cm.getResponsible()).getName2()<br> <input name="cmresponsiblename" size="50" value=""></td> </tr> <tr> <td>Importiert</td> <td> #if ( $cm.getImport() == "1" ) <b>ja</b> #else <b>nein</b> #end </td> </tr> <tr> <td>zusätzliche Attribute (in XML)</td> <td><textarea name="cmaddxml" rows="3" cols="70">$!cm.getAttribute("cmaddxml") </textarea></td> </tr> #else <tr> <td valign="top">Modulverantwortlicher</td> <td>$!courseManager.getLecturer($cm.getResponsible()).getName2()</td> </tr> #end </table> <h3>Zugeordnete Studiengänge</h3> <table border="0"> <tr> <td>Studiengang</td> <td>Typ</td> <td>erstes Semester</td> <td>letztes Semester</td> </tr> #set ( $courseTempProgRel = $cm.getProgramRel() ) #set ($j = 0) #foreach ( $cmpr in $courseTempProgRel ) #set ($j = $j + 1) <tr> <td> #if ("$!acc"=="module") <select name="cpid$j"> <option value="">----</option> #foreach ( $cp in $coursePresenter.searchCoursePrograms("") ) #set ($sel = "") #if ($cp.getId() == $cmpr.getProgramId()) #set ($sel = 'selected="1"') #end <option value="$!cp.getId()" $!sel>$!cp.getName()</option> #end </select> #else #foreach ( $cp in $coursePresenter.searchCoursePrograms("") ) #if ($cp.getId() == $cmpr.getProgramId()) $!cp.getName() #end #end #end </td> <td> #if ("$!acc"=="module") $portalPresenter.printSelect("type$j","--,pf,wp,wa,ko,vt,er,gr,ke"," ,pf,wp,wa,ko,vt,er,gr,ke",$cmpr.getType()) #else $cmpr.getType() #end </td> <td> #if ("$!acc"=="module") $portalPresenter.printSelect("startsem$j","--,1,2,3,4,5,6,7,8,9"," 0,1,2,3,4,5,6,7,8,9","$!cmpr.getStartSem()") #else $!cmpr.getStartSem() #end </td> <td> #if ("$!acc"=="module") $portalPresenter.printSelect("endsem$j","--,1,2,3,4,5,6,7,8,9"," 0,1,2,3,4,5,6,7,8,9","$!cmpr.getEndSem()") #else $!cmpr.getEndSem() #end </td> </tr> #end #if ("$!acc"=="module") #set ( $k = $j + 1) #set ( $l = $j + 3) #foreach( $i in [$k..$l] ) #set ( $j = $j + 1) <tr> <td> <select name="cpid$i"> <option value="">----</option> #foreach ( $cp in $coursePresenter.searchCoursePrograms("") ) <option value="$!cp.getId()">$!cp.getName()</option> #end </select> </td> <td> <select name="type$i"> <option value="">--</option> #foreach( $i in ["pf","wp","wa","ko","vt","er","gr","ke"] ) <option value="$i">$i</option> #end </select> </td> <td> <select name="startsem$i"> <option value="">--</option> #foreach( $i in [1..9] ) <option value="$i">$i</option> #end </select> </td> <td> <select name="endsem$i"> <option value="">--</option> #foreach( $i in [1..9] ) <option value="$i">$i</option> #end </select> </td> </tr> #end #end </table> #end <p> <input type="hidden" name="cmprogcnt" value="$j"/> <input type="submit" class="submit" value="Modul aktualisieren"/> </form> #end $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: crupdate.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) <h1>Raum aktualisieren</h1> #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #if ( $auserid == 0 ) $portalPresenter.parse("$!contextPath/pagelogin.html.de",$portalRequest) #else #set ( $auser = $userManager.getUser($auserid)) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-course") ) #if ( "$!tmps" != "true" ) <p><div class="error">Ihr aktueller Login hat nicht ausreichend Rechte um Räume zu aktualisieren. Wenn Sie die entsprechenden Rechte benötigen, dann wenden Sie sich bitte an die Administratoren der Plattform.</div></p> #else #if ( $returnCode > 1999 ) <br /><font color="red">Fehler beim Aktualisieren eines Raums.</font><p> #end #set ( $courseRoom = $coursePresenter.getCourseRoom($crid) ) <table border="0"> <form action="/COURSE" method="post"> <input type="hidden" name="cmd" value="updatecourseroom"> <input type="hidden" name="cmd.success" value="/course/index.html" /> <input type="hidden" name="cmd.error" value="/course/crupdate.html" /> <input type="hidden" name="cmd.noaccess" value="/noaccess.html" /> <input type="hidden" name="path" value="$portalRequest.getPagePath()"/> <input type="hidden" name="crid" value="$crid" /> <tr> <td>Name</td> <td><input name="crname" size="50" value="$!courseRoom.getName()"></td> </tr> <tr> <td>Info</td> <td><input name="crinfo" size="50" value="$!courseRoom.getInfo()"></td> </tr> <tr> <td>Raumverantwortlicher</td> <td><input name="crcontact" size="50" value="$!courseRoom.getContact()"></td> </tr> <tr> <td valign="top">External ID<br>(UnivIS Id)</td> <td><input name="crextid" size="50" value="$!courseRoom.getExtId()"></td> </tr> <tr> <td>Sichtbarkeit</td> <td> $portalPresenter.printSelect("crhidden","nicht sichtbar,sichtbar","0,1","$!courseRoom.getHidden()") </td> </tr> <tr> <td colspan="2"><br /><input type="submit" class="submit" value="Raum aktualisierung"/></td> </tr> </form> </table> #end #end $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: cmall.xml --- <?xml version="1.0" encoding="UTF-8"?> <ModulKatalog> #set ( $results = $coursePresenter.searchCourseModules("cmhidden=0","cmname") ) #foreach ( $cm in $results ) <Modul id="$cm.getSId()"> <KurzBez>$!cm.getShortName()</KurzBez> <Titel>$!cm.getName("de")</Titel> <Title>$!cm.getName("en")</Title> #if ("$cm.getHoursLecture()"!="0") <SWS art="Vorlesung">$cm.getHoursLecture()</SWS> #end #if ("$cm.getHoursExercises()"!="0") <SWS art="Uebung">$cm.getHoursExercises()</SWS> #end #if ("$cm.getHoursLab()"!="0") <SWS art="Praktikum">$cm.getHoursLab()</SWS> #end #if ("$cm.getHoursSeminar()"!="0") <SWS art="Seminar">$cm.getHoursSeminar()</SWS> #end <Credits>$!cm.getEctsCredits()</Credits> <Turnus>$!cm.getCycle()</Turnus> #foreach ( $pr in $cm.getProgramRel() ) <RelevanterStudiengang idref="$pr.getProgram().getLabel()" pkz="$pr.getType()" fachsemester="$pr.getStartSem()" kommentar="$pr.getComment()" /> #end <Kapazitaet>$!cm.getCapacity()</Kapazitaet> <ModulVerantwortlicher>$!cm.getResponsible() </ModulVerantwortlicher> $!cm.getCert() <Lernziele><![CDATA[ $!cm.getTarget() ]]></Lernziele> <Inhalte><![CDATA[ $!cm.getContent("de"); ]]></Inhalte> <Contents><![CDATA[ $!cm.getContent("en"); ]]></Contents> $!cm.getPrerequ() <Didaktik><![CDATA[ $!cm.getDidactics() ]]></Didaktik> <Stand>2005-05-03</Stand> $!cm.getAttribute("cmaddxml") </Modul> #end </ModulKatalog> --- NEW FILE: clupdate.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) <h1>Dozentendaten aktualisieren</h1> #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #if ( $auserid == 0 ) $portalPresenter.parse("$!contextPath/pagelogin.html.de",$portalRequest) #else #set ( $auser = $userManager.getUser($auserid)) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-course") ) #if ( "$!tmps" != "true" ) <p><div class="error">Ihr aktueller Login hat nicht ausreichend Rechte um Dozenten zu editieren. Wenn Sie die entsprechenden Rechte benötigen, dann wenden Sie sich bitte an die Administratoren der Plattform.</div></p> #else #if ( $returnCode > 1999 ) <br /><font color="red">Fehler beim Aktualisieren eines Dozenten.</font><p> #end #set ( $courseLecturer = $coursePresenter.getCourseLecturer($lid) ) <table border="0"> <form action="/COURSE" method="post"> <input type="hidden" name="cmd" value="updatecourselecturer"> <input type="hidden" name="cmd.success" value="/course/index.html" /> <input type="hidden" name="cmd.error" value="/course/clupdate.html" /> <input type="hidden" name="cmd.noaccess" value="/noaccess.html" /> <input type="hidden" name="path" value="$portalRequest.getPagePath()"/> <input type="hidden" name="lid" value="$lid" /> <input type="hidden" name="uid" value="$courseLecturer.getUniqueId()" /> <tr> <td>Vorname</td> <td><input name="lfirstname" size="50" value="$!courseLecturer.getFirstName()"></td> </tr> <tr> <td>Nachname</td> <td><input name="llastname" size="50" value="$!courseLecturer.getLastName()"></td> </tr> <tr> <td>URL</td> <td><input name="lurl" size="50" value="$!courseLecturer.getUrl()"></td> </tr> <tr> <td>Image URL</td> <td><input name="limageurl" size="50" value="$!courseLecturer.getImageUrl()"></td> </tr> <tr> <td valign="top">User-Id</td> <td><input name="luserid" size="5" value="$!courseLecturer.getUserId()"> (Id einer Benutzerkennung auf der Plattform)</td> </tr> <tr> <td valign="top">External ID<br>(UnivIS Id)</td> <td><input name="lextid" size="50" value="$!courseLecturer.getExtId()"></td> </tr> <tr> <td>Typ</td> <td> $portalPresenter.printSelect("ltyp","---,Professor,Externer Dozent,Assistent"," ,p,e,a","$!courseLecturer.getType()") </td> </tr> <tr> <td>Sichtbarkeit</td> <td> $portalPresenter.printSelect("lhidden","nicht sichtbar,sichtbar","0,1","$!courseLecturer.getHidden()") </td> </tr> <tr> <td colspan="2"><br /><input type="submit" class="submit" value="Dozentendaten aktualisieren"/></td> </tr> </form> </table> #end #end $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: cmupdateres.txt --- #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #set ( $auser = $userManager.getUser($auserid)) #set ( $acc = "course" ) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-module") ) #if ( "$!tmps" == "true" ) #set ( $acc = "module" ) #end #set( $cm = $coursePresenter.getCourseModule($cmid) ) Auf der Drehscheibe wurde eben durch den Benutzer $auser.getName() ($auser.getUserLogin(), $!auser.getEmail()) die Daten zum Modul $cm.getName() ($cm.getSId()) aktualisiert. $!portal_baseurl/course/cm.html?id=$!cm.getSId() --- NEW FILE: crsearch.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) #set ( $auserlogin = "$!auserlogin" ) #if ( $auserlogin == "" ) #set ( $auserlogin = $userLogin ) #end #set ( $auserid = $userManager.getUserIdForUserLogin($auserlogin) ) #set ( $acc = "false" ) #if ( $auserid != 0) #set ( $acc = $userPresenter.checkRole("$auserid", "admin-course") ) #end #set ($query = "crname=$!{crname}") <h1>Raumsuche</h1> #set ( $results = $coursePresenter.searchCourseRooms($query) ) #set ( $rcount = $results.size() ) <p> #if ( "$!rcount" == "0" ) <div class="info">Die Suche hat keine Ergebnisse geliefert.</div> <p> #else Die Suche hat $rcount Ergebnisse geliefert:<p> <table id="result" width="90%" align="center"> <tr class="resulttitle"> <td>Name</td> <td>Information</td> <td>Contact</td> <td> </td> </tr> #foreach ( $c in $results ) <tr> <td>$!c.getName()</td> <td>$!c.getInfo()</td> <td>$!c.getContact()</td> <td> #if ( "$!acc" == "true" ) <a href="crupdate.html?crid=$!c.getId()">edit</a> | <a href="crdelete.html?crid=$!c.getId()">delete</a> #end </td> </tr> #end </table> <p> #end <p> <table border="0"> <form action="crsearch.html" method="post"> <tr> <td>Name</td> <td><input name="crname" size="20" value="$!{crname}"></td> </tr> <tr> <td colspan="2"><br /><input type="submit" class="submit" value="Suche Räume"/></td> </tr> </form> </table> $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: ccreatepreselect.html.de --- $portalPresenter.parse("$!contextPath/pageheader.html.de",$portalRequest) <h1>Veranstaltung anlegen (Schritt 1)</h1> #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #if ( $auserid == 0 ) $portalPresenter.parse("$!contextPath/pagelogin.html.de",$portalRequest) #else #set ( $auser = $userManager.getUser($auserid)) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-course") ) #if ( "$!tmps" != "true" ) <p><div class="error">Ihr aktueller Login hat nicht ausreichend Rechte um Veranstaltungen zu editieren. Wenn Sie die entsprechenden Rechte benötigen, dann wenden Sie sich bitte an die Administratoren der Plattform.</div></p> #else #if ( $returnCode > 1999 ) <font color="red">Fehler beim Anlegen einer Veranstaltung.</font><p> #end <p>Um eine neue Veranstaltung anzulegen, müssen Sie zuerst das zugehörige Modul auswählen.</p> <p> <form action="ccreatepreselect.html" method="post"> <input name="cmname" size="50"> <input type="submit" class="submit" value="Module suchen"/> </form> </p> #if ( "$!cmname" != "" ) <p>Module<br/> <form action="ccreate.html" method="post"> <select name="cmid" size="10"> #foreach ( $cm in $coursePresenter.getCourseModules("$!cmid", "$!cmname") ) <option value="$!cm.getId()">$!cm.getName()</option> #end </select> <br /> <input type="submit" class="submit" value="Veranstaltung anlegen"/> </form> #end </p> #end #end $portalPresenter.parse("$!contextPath/pagefooter.html.de",$portalRequest) --- NEW FILE: cmdeleteres.txt --- #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #set ( $auser = $userManager.getUser($auserid)) #set ( $acc = "course" ) #set ( $tmps = $userPresenter.checkRole("$auserid", "admin-module") ) #if ( "$!tmps" == "true" ) #set ( $acc = "module" ) #end #set( $cm = $coursePresenter.getCourseModule($cmid) ) Auf der Drehscheibe wurde eben durch den Benutzer $auser.getName() ($auser.getUserLogin(), $auser.getEmail()) das Modul $!cmname ($!cmsid) geloescht. --- NEW FILE: navigation.html.de --- #set ( $auserid = $userManager.getUserIdForUserLogin($userLogin) ) #if ( $auserid != 0 ) #set ( $auser = $userManager.getUser($auserid)) #set ( $tmps = $userPresent... [truncated message content] |
|
From: Michael K. <ko...@us...> - 2006-05-29 07:12:49
|
Update of /cvsroot/cobricks/drehscheibe-in/web/ADMIN In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv12708/ADMIN Log Message: Directory /cvsroot/cobricks/drehscheibe-in/web/ADMIN added to the repository |
|
From: Michael K. <ko...@us...> - 2006-05-29 07:12:45
|
Update of /cvsroot/cobricks/drehscheibe-in/web/course In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv12664/course Log Message: Directory /cvsroot/cobricks/drehscheibe-in/web/course added to the repository |
|
From: Michael K. <ko...@us...> - 2006-05-29 05:40:49
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/portal In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv11587 Modified Files: PageAccessHandler.java PortalManagerImpl.java PortalObject.java PortalPresenter.java PortalRequest.java Log Message: Index: PortalPresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/PortalPresenter.java,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- PortalPresenter.java 17 May 2006 10:09:23 -0000 1.38 +++ PortalPresenter.java 29 May 2006 05:40:45 -0000 1.39 @@ -420,7 +420,7 @@ /** - * Print some icons for the other possible language versions + * Print icons for the other possible language versions * of this page. */ public String printLang(PortalRequest portalRequest) @@ -441,6 +441,10 @@ sb.append(page.getPageName()); sb.append("?lang="); sb.append(tmps); + String tmps2 = portalRequest.getHttpServletRequest(). + getQueryString(); + if (tmps2 != null) + sb.append("&").append(tmps2); sb.append("\">"); sb.append("<span style=\"margin:2px;\">" +"<img border=0 alt=\""); Index: PageAccessHandler.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/PageAccessHandler.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- PageAccessHandler.java 22 Aug 2005 13:52:07 -0000 1.5 +++ PageAccessHandler.java 29 May 2006 05:40:45 -0000 1.6 @@ -39,7 +39,8 @@ static Logger logger = Logger.getLogger(PageAccessHandler.class); static final String domain = "page"; - static final String[] domainactions = { "create","update","delete","read" }; + static final String[] domainactions = + { "create","update","delete","read","admin" }; static final String[][] domainactionattrs = { // create { "adminAttribute" }, @@ -49,6 +50,8 @@ { "adminAttribute" }, // read { "readerAttribute" }, + // admin + { "readerAttribute" }, }; List actions; @@ -106,29 +109,28 @@ public boolean checkPermission(int userid, String domain, String action, Map attrs) { - logger.info("Entering checkPermission"); + // currently we get all permissions and do a Java based comparison - + // we might construct a matching select here to let the database do + // some optimization ... TBD + UserManager userManager = (UserManager)coreManager. getComponentDirectory().getManager("userManager"); PortalManager portalManager = (PortalManager)coreManager. getComponentDirectory().getManager("portalManager"); - // check capabilities of roles with status = "all" - // tbd - - // anonymous user? - // if (userid == 0) return false; - - // get capabilities of roles with status = "login" - - // get capabilities of roles with user as member (inclusive - // parent roles of those) - - if (domain.equals("page")) { - // List roles = userManager.getAccessControl().getAccessRoles(); - // Iterator i = roles.iterator(); - } + // get permissions of user + AccessControl ac = userManager.getAccessControl(); + List permissions = ac.getAccessPermissionsByUser(userid); + User user = userManager.getUser(userid); - return true; + Iterator i = permissions.iterator(); + while (i.hasNext()) { + AccessPermission perm = (AccessPermission)i.next(); + // check if this is the requested permission + if (perm.contains(user, domain, action, attrs)) return true; + } + + return false; } } Index: PortalObject.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/PortalObject.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- PortalObject.java 17 May 2006 10:09:23 -0000 1.2 +++ PortalObject.java 29 May 2006 05:40:45 -0000 1.3 @@ -191,6 +191,8 @@ { String mimetype = URLConnection.guessContentTypeFromName(pageName); + if (mimetype!=null && mimetype.equals("application/xml")) + mimetype = "text/xml"; // guessContentTypeFromName() did not return a result, we use // simple suffix heuristics if (mimetype == null) { Index: PortalManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/PortalManagerImpl.java,v retrieving revision 1.79 retrieving revision 1.80 diff -u -d -r1.79 -r1.80 --- PortalManagerImpl.java 17 May 2006 10:09:23 -0000 1.79 +++ PortalManagerImpl.java 29 May 2006 05:40:45 -0000 1.80 @@ -17,6 +17,7 @@ import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.File; +import java.io.FileInputStream; import java.io.FilenameFilter; import java.io.FileOutputStream; import java.io.FileReader; @@ -404,7 +405,7 @@ /** - * Return a web object - either a text object (then user printPage()) + * Return a web object - either a text object (then use printPage()) * or a binary object. */ public void sendPortalObject(PortalRequest portalRequest, @@ -506,9 +507,10 @@ String pageName = page.getPageName(); String lang = portalRequest.getLang(); + PortalUser portalUser = portalRequest.getPortalUser(); + // check access rights - boolean access = true; - // TBD + boolean access = checkAccessPermission(page, portalUser, "read"); if (!access) { pagePath = "/"; pageName = "noaccess.html"; @@ -1193,6 +1195,7 @@ int res = dbAccess.checkTable(tablename); if (res == -1) dbAccess.createTable(tablename); else if (res == -2) { + logger.info("Found need to update table "+tablename); if (!dbAccess.updateTable(tablename)) logger.error("Updating table "+tablename+" failed."); } @@ -1201,18 +1204,27 @@ // portal history portalStats = new PortalStats(dbAccess); - // portal redirects - String redirectsFileURI = - properties.getProperty("portal.redirect.fileuri"); + // load portal redirects + // from file redirects.txt in config directory uriRedirects = new HashMap(); uriRedirectsPrefixes = new HashMap(); - if (redirectsFileURI != null) { - try { - java.net.URL url = new URL(redirectsFileURI); - BufferedInputStream is = - new BufferedInputStream((InputStream)url.getContent()); + try { + String dirname = coreManager.getProperty("configdir"); + String filename = "redirects.txt"; + InputStream is = null; + File file = null; + if (dirname != null) { + file = new File(dirname + File.separator + filename); + } else { + file = new File(filename); + } + is = new FileInputStream(file); + if (is != null) { + logger.info("reading redirect config file from " + +dirname+"/"+filename); + BufferedInputStream bis = new BufferedInputStream(is); BufferedReader in = - new BufferedReader(new InputStreamReader(is)); + new BufferedReader(new InputStreamReader(bis)); while (true) { tmps = in.readLine(); if (tmps == null) break; @@ -1232,12 +1244,10 @@ } logger.info("Redirects loaded: "+uriRedirects.size()+", "+ uriRedirectsPrefixes.size()); - } catch(Exception e) { - logger.error(LogUtil. - exception("Failed loading file " - +redirectsFileURI, e)); } - + } catch(Exception e) { + logger.error(LogUtil. + exception("Failed loading redirects", e)); } // portal not found Index: PortalRequest.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/PortalRequest.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- PortalRequest.java 17 May 2006 10:14:07 -0000 1.16 +++ PortalRequest.java 29 May 2006 05:40:45 -0000 1.17 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2005 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 @@ -236,9 +236,9 @@ // get (requested) language - this is either "en", the language // requested in the HTTP request, the value in the "lang" cookie, - // the prefered language set in the user attribute (preference.language) - // or request parameter or XX if the page name is of the form - // "page.XX.html" or "page.html.XX" + // the prefered language set in the user attribute + // (preference.language) or request parameter or XX if the + // page name is of the form "page.XX.html" or "page.html.XX" lang = "en"; String acceptlang = request.getHeader("accept-language"); if (acceptlang!=null) { @@ -253,20 +253,25 @@ if (request.getParameter("lang")!=null) lang = request.getParameter("lang"); - if (!pageName.endsWith(".xml")) { - pos = pageName.lastIndexOf("."); - // page.html.XX - if (pos > pageName.length()-2) { + pos = pageName.lastIndexOf("."); + if (pos > -1) { + if (pos == pageName.length()-3) { + // page.html.XX lang = pageName.substring(pageName.length()-2); pageName = pageName.substring(0, pageName.length()-3); + } else { + int pos2 = pageName.lastIndexOf(".", pos-1); + if (pos2 > -1) { + if (pos2+3 == pos) { + // page.XX.html + lang = pageName.substring(pos2+1, pos); + pageName = pageName.substring(0, pos2) + + pageName.substring(pos); + } + } } - // page.XX.html - else if (pos > 2 && pageName.substring(pos-3, pos-2).equals(".")) { - lang = pageName.substring(pos-2, pos); - pageName = pageName.substring(0, pos-3) + pageName.substring(pos); - } - if (lang.length()>2) lang = lang.substring(0,2); } + if (lang.length()>2) lang = lang.substring(0,2); velocityContext.put("pagePath", pagePath); velocityContext.put("pageName", pageName); |
|
From: Michael K. <ko...@us...> - 2006-05-29 05:35:44
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/item In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv9809 Modified Files: ItemAnnotation.java ItemAttachment.java ItemCache.java ItemManager.java ItemManagerImpl.java ItemServlet.java properties.txt Log Message: Index: ItemAnnotation.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemAnnotation.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- ItemAnnotation.java 23 Oct 2004 15:47:02 -0000 1.5 +++ ItemAnnotation.java 29 May 2006 05:35:25 -0000 1.6 @@ -47,8 +47,11 @@ if (o!=null) this.itemaid = ((Integer)o).intValue(); o = attrs.get("lang"); - if (o!=null) + if (o!=null) { this.lang = (String)o; + if (this.lang!=null && this.lang.length()>2) + this.lang = this.lang.substring(0,2); + } o = attrs.get("title"); if (o!=null) this.title = (String)o; @@ -70,6 +73,8 @@ String lang, String title, String content, int rating) { this.lang = lang; + if (this.lang!=null && this.lang.length()>2) + this.lang = this.lang.substring(0,2); this.itemid = itemid; this.creatorid = creatorid; this.title = title; @@ -86,6 +91,8 @@ this.lang = itemManager.getDefaultLanguage(); else this.lang=lang; + if (this.lang!=null && this.lang.length()>2) + this.lang = this.lang.substring(0,2); this.itemaid = annotationid; this.itemid=itemid; this.creatorid=creatorid; @@ -100,6 +107,8 @@ String title, String content, int rating) { this.lang=lang; + if (this.lang!=null && this.lang.length()>2) + this.lang = this.lang.substring(0,2); this.itemaid = annotationid; this.itemid=itemid; this.creatorid=creatorid; @@ -146,6 +155,7 @@ public String getLanguage() { + if (lang == null) return ""; return lang; } Index: ItemManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemManagerImpl.java,v retrieving revision 1.67 retrieving revision 1.68 diff -u -d -r1.67 -r1.68 --- ItemManagerImpl.java 8 May 2006 07:47:59 -0000 1.67 +++ ItemManagerImpl.java 29 May 2006 05:35:25 -0000 1.68 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004-2005 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 @@ -32,9 +32,6 @@ import java.util.HashSet; import java.util.List; import java.util.Properties; -//import java.util.StringTokenizer; -//import java.util.regex.Matcher; -//import java.util.regex.Pattern; import org.apache.log4j.Logger; @@ -66,21 +63,9 @@ * relational database only. * * @author mic...@ac... -<<<<<<< ItemManagerImpl.java -<<<<<<< ItemManagerImpl.java -<<<<<<< ItemManagerImpl.java * @author Alexander Gafriller - gaf...@in... * * @version $Date$ -======= - * @version $Date$ ->>>>>>> 1.58 -======= - * @version $Date$ ->>>>>>> 1.60 -======= - * @version $Date$ ->>>>>>> 1.61 * * @see org.cobricks.item.ItemManager */ @@ -98,7 +83,7 @@ /** * Component version */ - private static final String COMP_VERSION = "V0.3 (August 2005)"; + private static final String COMP_VERSION = "V0.4 (May 2006)"; /** * The default value for the object cache - used in case no property is found @@ -230,26 +215,9 @@ } else if (res == -2) { logger.info("Found need to update table "+tablename); if (tablename.equals("item_attachment")) { - // non-versioned schema change Dec 2005: - // this should be removed soon ... - // renamed columns size, url, creatoriontime try { - if (dbAccess.getDBType()==DBAccessImpl.DBTYPE_MYSQL) { - String sql = "ALTER TABLE item_attachment CHANGE `url` aurl varchar(200)"; - dbAccess.sqlExecute(sql); - sql = "ALTER TABLE item_attachment CHANGE `size` asize int"; - dbAccess.sqlExecute(sql); - sql = "ALTER TABLE item_attachment CHANGE creatoriontime creationtime "+dbAccess.getColumnTypeForCreateTable("timestamp"); - dbAccess.sqlExecute(sql); - } - if (dbAccess.getDBType()==DBAccessImpl.DBTYPE_POSTGRES) { - String sql = "ALTER TABLE item_attachment RENAME COLUMN url TO aurl"; - dbAccess.sqlExecute(sql, true); - sql = "ALTER TABLE item_attachment RENAME COLUMN size TO asize"; - dbAccess.sqlExecute(sql, true); - sql = "ALTER TABLE item_attachment RENAME COLUMN creatoriontime TO creationtime"; - dbAccess.sqlExecute(sql, true); - } + String sql = "ALTER TABLE item_attachment ADD afilename VARCHAR(200)"; + dbAccess.sqlExecute(sql); } catch (Exception e) { } } else if (!dbAccess.updateTable(tablename)) { @@ -2300,14 +2268,16 @@ public ItemAttachment createItemAttachment(int itemid, String title, String comment, String mimetype, int size, String url, + String filename, int creatorid, Date creationtime) { int itemaid = 0; + if (creationtime == null) creationtime = new Date(); ItemAttachment ia = new ItemAttachment(itemid, itemaid, title, comment, mimetype, size, - url, creatorid, creationtime); + url, filename, creatorid, creationtime); return ia; } @@ -2321,6 +2291,7 @@ * @param mimetype * @param size * @param url + * @param filename * @param creatorid * @param creationtime * @return the new ItemAttachment @@ -2332,13 +2303,14 @@ String mimetype, int size, String url, + String filename, int creatorid, Date creationtime) { ItemAttachment ia = new ItemAttachment(itemid, itemaid, title, comment, mimetype, size, - url, creatorid, creationtime); + url, filename, creatorid, creationtime); return ia; } @@ -2377,7 +2349,7 @@ { ItemAttachment ia = getItemAttachment(attachmentid); byte[] ba = new byte[ia.getSize()]; - if (ia.getUrl() == null || ia.getUrl() == "") { + if (ia.getUrl() == null || ia.getUrl().equals("")) { HashMap conditions = new HashMap(); conditions.put("attachid", "" + ia.getId()); List fields = new java.util.LinkedList(); @@ -2396,24 +2368,32 @@ } } else { - File file = new File(ia.getUrl()); - - try { - BufferedInputStream bis = - new BufferedInputStream(new FileInputStream(file)); - bis.read(ba); - } catch (FileNotFoundException e) { - logger.info( - "File with content of ItemAttachment with ID" - + ia.getId() - + " does not exist."); - } catch (IOException e) { - logger.info( - "IOException while reading from file with" - + " content of ItemAttachment with ID " - + ia.getId()); + String tmps = ia.getUrl(); + if (tmps.startsWith("clocal:")) { + // a locally stored attachment + File file = new File(tmps.substring(7)); + logger.debug("loading attachment content from file " + +file.toString()+" size="+ba.length); + try { + BufferedInputStream bis = + new BufferedInputStream(new FileInputStream(file)); + bis.read(ba); + } catch (FileNotFoundException e) { + logger.info( + "File with content of ItemAttachment with ID" + + ia.getId() + + " does not exist."); + } catch (IOException e) { + logger.info( + "IOException while reading from file with" + + " content of ItemAttachment with ID " + + ia.getId()); + } + } else { + // a "normal" URL + // TBD } - } + } return ba; } @@ -2472,28 +2452,54 @@ /** * Stores the given attachment in the DB and it's content either in a - * file or also in the DB depending on the propertie specified in the + * file or also in the DB depending on the property specified in the * config-file item.properties. * Overwrite the itemaid with the new value. * * @param ia * @param content */ - public void storeItemAttachment(ItemAttachment ia, byte[] content) + public void storeItemAttachment(ItemAttachment ia, byte[] content, + String fname) { - if (properties.getProperty("item.attachments.storage") == "file") { + Map attrs = new java.util.HashMap(); + attrs.put("itemid", "" + ia.getItemId()); + attrs.put("creatorid", "" + ia.getPublisherId()); + attrs.put("creationtime", ia.getPublishedDate()); + attrs.put("asize", new Integer(ia.getSize())); + attrs.put("comment", ia.getComment()); + attrs.put("name", ia.getTitle()); + attrs.put("mimetype", ia.getMimeType()); + int aid = dbAccess.sqlInsert("item_attachment", attrs); + ia.setId(aid); + + if (properties.getProperty("item.attachments.storage").equals("file")) { String storageDirName = properties.getProperty("item.attachments.storage.filedir"); File storageDir = new File(storageDirName); if (!storageDir.exists()) storageDir.mkdirs(); - File storageFileDir = - new File(storageDirName + ia.getId() + "." + ia.getMimeType()); + String postfix = "bin"; + if (fname != null && fname.indexOf(".")>-1) { + postfix = fname.substring(fname.lastIndexOf(".")+1); + postfix = postfix.toLowerCase(); + } + File storageFile = + new File(storageDir, "itema" + ia.getId() + "." + + postfix); + String storageFname = storageFile.getPath(); + try { + storageFname = storageFile.getCanonicalPath(); + } catch (Exception e) { } + logger.debug("storing attachment in "+storageFname); try { BufferedOutputStream bos = new BufferedOutputStream( - new FileOutputStream(storageFileDir)); + new FileOutputStream(storageFile)); bos.write(content); + bos.close(); + ia.setUrl("clocal:"+storageFname); + ia.setFilename(fname); } catch (FileNotFoundException e) { logger.info( "Not able to write the content of attachmentId " @@ -2503,26 +2509,20 @@ logger.info("Not able to write the content of attachmentId " + ia.getId() + " to file."); } - } else if ( - properties.getProperty("item.attachments.storage") == "db") { - Map attrs = new HashMap(); - attrs.put("attachId", "" + ia.getId()); - attrs.put("attachContent", content); - dbAccess.sqlInsert("attachContent", attrs); + properties.getProperty("item.attachments.storage").equals("db")) { + logger.debug("storing attachment in database"); + Map attrs2 = new HashMap(); + attrs2.put("attachId", "" + ia.getId()); + attrs2.put("attachContent", content); + dbAccess.sqlInsert("attachContent", attrs2); + ia.setFilename(fname); } - Map attrs = new java.util.HashMap(); - attrs.put("itemid", "" + ia.getItemId()); - attrs.put("creatorid", "" + ia.getPublisherId()); - attrs.put("creationtime", ia.getPublishedDate()); + attrs = new java.util.HashMap(); attrs.put("aurl", ia.getUrl()); - attrs.put("asize", "" + ia.getSize()); - attrs.put("comment", ia.getComment()); - attrs.put("name", ia.getTitle()); - attrs.put("mimetype", ia.getMimeType()); - int aid = dbAccess.sqlInsert("item_attachment", attrs); - ia.setId(aid); + attrs.put("afilename", ia.getFilename()); + dbAccess.sqlUpdate("item_attachment", attrs, aid); } /** Index: ItemManager.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemManager.java,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- ItemManager.java 2 Feb 2006 11:39:12 -0000 1.29 +++ ItemManager.java 29 May 2006 05:35:25 -0000 1.30 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004-2005 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 @@ -160,6 +160,7 @@ public ItemAttachment createItemAttachment(int itemid, String title, String comment, String mimetype, int size, String url, + String filename, int creatorid, Date creationtime); public void addItemAttachment(Item item, ItemAttachment ia); @@ -167,7 +168,8 @@ public void removeItemAttachment(Item item, ItemAttachment ia); public void updateItemAttachment(ItemAttachment ia); public byte[] getItemAttachmentContent(int attachmentid); - public void storeItemAttachment(ItemAttachment ia, byte[] content); + public void storeItemAttachment(ItemAttachment ia, byte[] content, + String fname); /** Index: ItemAttachment.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemAttachment.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- ItemAttachment.java 3 Jan 2006 09:33:34 -0000 1.8 +++ ItemAttachment.java 29 May 2006 05:35:25 -0000 1.9 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004-2005 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 @@ -70,6 +70,11 @@ private String url; /** + * the filename specifies the filename of the original file + */ + private String filename; + + /** * the userId of the creator of this attachment */ private int creatorid; //required @@ -89,6 +94,7 @@ * @param mimetype * @param size * @param url + * @param filename * @param creatorid * @param creationtime */ @@ -98,6 +104,7 @@ String mimetype, int size, String url, + String filename, int creatorid, Date creationtime) { @@ -108,7 +115,9 @@ this.mimetype = mimetype; this.size = size; this.url = url; + this.filename = filename; this.creatorid = creatorid; + if (creationtime == null) creationtime = new Date(); this.creationtime = creationtime; } @@ -126,6 +135,7 @@ this.itemid = itemid; this.itemaid = itemaid; this.creatorid = creatorid; + if (creationtime == null) creationtime = new Date(); this.creationtime = creationtime; } @@ -164,6 +174,7 @@ if (o != null) this.size = ((Integer)o).intValue(); this.url = (String)attrs.get("aurl"); + this.filename = (String)attrs.get("afilename"); } catch (Exception e) { logger.error(LogUtil.ex("Failed initializing attachment", e)); } @@ -272,11 +283,9 @@ /** * @see ItemManager.getAttachmentContent() * @param itemManager - * @param dbAccess * @return */ - public byte[] getContent(ItemManager itemManager, - org.cobricks.core.db.DBAccess dbAccess) + public byte[] getContent(ItemManager itemManager) { return itemManager.getItemAttachmentContent(this.getId()); } @@ -311,7 +320,6 @@ return this.url; } - /** * sets the url of the Attachment * @param url as String @@ -321,4 +329,22 @@ this.url = url; } + + /** + * @return filename of original file as String + */ + public String getFilename() + { + return this.filename; + } + + /** + * sets the filename of the original file + * @param filename as String + */ + public void setFilename(String filename) + { + this.filename = filename; + } + } Index: ItemCache.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemCache.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- ItemCache.java 10 Aug 2005 13:34:55 -0000 1.8 +++ ItemCache.java 29 May 2006 05:35:25 -0000 1.9 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004-2005 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 @@ -12,9 +12,11 @@ package org.cobricks.item; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; +import java.util.Set; import org.apache.log4j.Logger; @@ -105,7 +107,8 @@ */ protected final ItemAttachment getByAid(int aid) { - Iterator iterator = objectsLocal.keySet().iterator(); + Set keySet = new HashSet(objectsLocal.keySet()); + Iterator iterator = keySet.iterator(); while (iterator.hasNext()) { Object key = iterator.next(); Item item = (Item) objectsLocal.get(key); Index: properties.txt =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/properties.txt,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- properties.txt 10 Aug 2005 13:34:56 -0000 1.15 +++ properties.txt 29 May 2006 05:35:25 -0000 1.16 @@ -23,7 +23,7 @@ # item annotations item.attachments.storage=file -item.attachments.storage.filedir=/home/kochm/tmp +item.attachments.storage.filedir= # xml database item.xmldb=false Index: ItemServlet.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemServlet.java,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- ItemServlet.java 16 Feb 2006 15:21:07 -0000 1.42 +++ ItemServlet.java 29 May 2006 05:35:25 -0000 1.43 @@ -12,6 +12,7 @@ package org.cobricks.item; +import java.io.BufferedOutputStream; import java.io.File; import java.io.PrintWriter; import java.util.Date; @@ -26,6 +27,7 @@ import java.text.DateFormat; import javax.servlet.ServletConfig; import javax.servlet.ServletException; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -39,6 +41,7 @@ import org.cobricks.core.util.LogUtil; import org.cobricks.item.rss.RssHandler; import org.cobricks.item.rss.RssItem; +import org.cobricks.portal.PortalCompletedException; import org.cobricks.portal.PortalPresenter; import org.cobricks.portal.PortalRequest; import org.cobricks.portal.PortalServletAdaptor; @@ -101,6 +104,8 @@ "Add item attachment"); this.addTarget("removeattachment", "performRemoveAttachment", "Remove item attachment"); + this.addTarget("geta", "performGetAttachment", + "Retrieve item attachment"); this.addTarget("createrssimport", "performCreateRssImport", "Create a new item"); @@ -230,7 +235,7 @@ String title = prequest.getRequestParameter("_fileTitle"); String comment = prequest.getRequestParameter("_fileComment"); if (title==null || title.equalsIgnoreCase("")) - title = "default_Title"; + title = "no_title"; if (comment==null) comment = ""; FileItem uploadFile = (FileItem)upload; @@ -241,10 +246,11 @@ ItemAttachment ia = itemManager. createItemAttachment(it.getId(), title, comment, - contentType, size, null, + contentType, size, null, null, portalUser.getUserId(), null); byte[] data = uploadFile.get(); - itemManager.storeItemAttachment(ia, data); + itemManager.storeItemAttachment(ia, data, + uploadFile.getName()); } } @@ -259,7 +265,6 @@ int rating = 0; String ratingstring = prequest.getRequestParameter("_annRating"); - logger.info("!!! parsing rating string:>"+ratingstring+"<"); try { rating = Integer.parseInt(ratingstring); } catch (Exception e) { } @@ -502,6 +507,7 @@ Item item = itemManager.getItem(itemid); String lang = prequest.getRequestParameter("lang"); + if (lang == null) lang = "en"; String title = prequest.getRequestParameter("title"); String content = prequest.getRequestParameter("content"); int rating = 0; @@ -522,7 +528,7 @@ logger.error(LogUtil.ex("Failed adding annotation.", e)); setCobricksError(null, null, prequest, "ADDANNOTATION"); } - prequest.setReturnCode(2006); + prequest.setReturnCode(2007); return ("error"); } @@ -607,7 +613,7 @@ String title = prequest.getRequestParameter("_fileTitle"); String comment = prequest.getRequestParameter("_fileComment"); if (title==null || title.equalsIgnoreCase("")) - title = "default_Title"; + title = "no_title"; if (comment==null) comment = ""; FileItem uploadFile = (FileItem)upload; @@ -616,10 +622,11 @@ ItemAttachment ia = itemManager. createItemAttachment(item.getId(), title, - comment, contentType, size, null, + comment, contentType, size, null, null, portalUser.getUserId(), null); byte[] data = uploadFile.get(); - itemManager.storeItemAttachment(ia, data); + itemManager.storeItemAttachment(ia, data, + uploadFile.getName()); item.addItemAttachment(ia); prequest.setReturnCode(1007); return("success"); @@ -675,6 +682,63 @@ return ("error"); } + /** + * + * @param prequest Portal request + * @param out Is not used. + * @return see description above + */ + public final String performGetAttachment(PortalRequest prequest, + PrintWriter out) + throws PortalCompletedException + { + // check access rights + PortalUser portalUser = prequest.getPortalUser(); + /* + if (!userManager.getAccessControl().checkPermission(portalUser + .getUserId(), "item", "create", null)) { + prequest.setReturnCode(2000); + return "noaccess"; + } + */ + + try { + int itemaid = -1; + String tmps = prequest.getRequestParameter("aid"); + itemaid = Integer.parseInt(tmps); + logger.debug("getting attachment for aid "+itemaid); + ItemAttachment ia = itemManager.getItemAttachment(itemaid); + if (ia != null) { + HttpServletResponse response = + prequest.getHttpServletResponse(); + response.setContentType(ia.getMimeType()); + response.setHeader("Content-disposition", + "attachment; filename="+ia.getFilename()); + BufferedOutputStream bos = null; + try { + byte[] content = ia.getContent(itemManager); + logger.debug("got content of length "+content.length); + ServletOutputStream sout = response.getOutputStream(); + bos = new BufferedOutputStream(sout); + bos.write(content, 0, content.length); + } catch (Exception e) { + logger.debug(LogUtil.ex("failed getting attachment content", e)); + } finally { + if (bos != null) + try { bos.close(); } catch (Exception e) { } + } + throw new PortalCompletedException(); + } + + } catch (PortalCompletedException e) { + throw e; + } catch (Exception e) { + logger.error(LogUtil.ex("Failed getting attachment.", e)); + } + prequest.setReturnCode(2000); + return ("/notfound.html"); + } + /** * This method builds a map of instantiated attributes from the portal @@ -939,7 +1003,6 @@ Map channelAttrs = this.buildItemAttrsMap(prequest); Item item = new Item(); String eMessage = "No further information avalaible."; - logger.info("!!!:"+ channelAttrs.get("categories")); if (channelAttrs.containsKey("errors")) { logger.info("Errors encountered"); prequest.setContextObject("errors", channelAttrs.get("errors")); |
|
From: Michael K. <ko...@us...> - 2006-05-29 05:35:35
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/item/db In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv9809/db Modified Files: item_attachment.xml Log Message: Index: item_attachment.xml =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/db/item_attachment.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- item_attachment.xml 13 Dec 2005 09:05:03 -0000 1.2 +++ item_attachment.xml 29 May 2006 05:35:25 -0000 1.3 @@ -9,6 +9,7 @@ <column name="mimetype" type="string(20)"/> <column name="asize" type="int"/> <column name="aurl" type="string(200)"/> + <column name="afilename" type="string(200)"/> <column name="creatorid" type="int"/> <column name="creationtime" type="timestamp"/> |
|
From: Philipp H. <p-...@us...> - 2006-05-27 08:49:08
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/category In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv24314/src/org/cobricks/category Modified Files: categoryontology.xml Log Message: added description Index: categoryontology.xml =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/category/categoryontology.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- categoryontology.xml 5 Apr 2006 08:38:57 -0000 1.7 +++ categoryontology.xml 27 May 2006 08:49:01 -0000 1.8 @@ -37,6 +37,8 @@ <attr name="managers" type="user[]"/> <attr name="description" type="text" multilanguage="true"/> <attr name="type" type="int"> +<description lang="en">0-public, 1-public/restricted, 2-private, 3-private/invisible</description> +<description lang="de">0-public, 1-public/restricted, 2-private, 3-private/invisible</description> <value>0</value> <!-- public: everybody can read and publish --> <value>1</value> <!-- public / restricted: everybody can read, only members can publish --> <value>2</value> <!-- private: only members can read & publish, but to become a member you have to know a password --> |
|
From: Philipp H. <p-...@us...> - 2006-05-27 08:47:41
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/item/db In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv23892/src/org/cobricks/item/db Modified Files: item.xml Log Message: make itemclass larger to varchar(30) instead of varchar (15) Index: item.xml =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/db/item.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- item.xml 24 Jun 2004 06:55:38 -0000 1.1 +++ item.xml 27 May 2006 08:47:35 -0000 1.2 @@ -4,7 +4,7 @@ <column name="itemid" type="int" primarykey="true"/> <column name="globalid" type="varchar(64)" notnull="true"/> - <column name="itemclass" type="varchar(15)"/> + <column name="itemclass" type="varchar(30)"/> <column name="creationtime" type="timestamp"/> <column name="updatetime" type="timestamp"/> <column name="starttime" type="timestamp"/> |
|
From: Philipp H. <p-...@us...> - 2006-05-27 08:45:18
|
Update of /cvsroot/cobricks/cobricks2/web/discussion In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv23102/web/discussion Removed Files: index.html.en Log Message: index.html.en doesn't exist any more --- index.html.en DELETED --- |
|
From: Philipp H. <p-...@us...> - 2006-05-27 08:42:46
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/discussion In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv21974/src/org/cobricks/discussion Modified Files: categoryontology.xml Log Message: parent is now category Index: categoryontology.xml =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/discussion/categoryontology.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- categoryontology.xml 2 May 2006 12:53:51 -0000 1.3 +++ categoryontology.xml 27 May 2006 08:42:41 -0000 1.4 @@ -1,31 +1,21 @@ <categoryontology> -<class name="discussion_category" parent="category"> +<class name="discussion_category" parent="community"> <description lang="en">Category for the discussion component</description> -<attr name="open" type="boolean"> - <default>true</default> -</attr> <attr name="order" type="int" /> -<attr name="description" type="string(200)" multilanguage="true"> - <description lang="en">Description</description> - <description lang="de">Beschreibung</description> -</attr> </class> - <class name="discussion_forum" parent="discussion_category"> <description lang="en">Forum for the discussion component</description> <attr name="forumtype" type="string"> <description lang="de">Typ des Forums </description> <description lang="en">Forum typ (1:Forum, 2:FAQ, 3:Weblog)</description> <default>Forum</default> - <value>Forum</value> <!-- forum --> - <value>FAQ</value> <!-- faq --> - <value>Weblog</value> <!-- weblog--> - <value>Guestbook</value> <!-- guestbook --> + <value>Forum</value> + <value>FAQ</value> + <value>Weblog</value> + <value>Guestbook</value> </attr> </class> - - </categoryontology> \ No newline at end of file |
|
From: Michael K. <ko...@us...> - 2006-05-24 09:03:21
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/core/util In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv8427/util Modified Files: DateUtil.java Log Message: Index: DateUtil.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/core/util/DateUtil.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- DateUtil.java 18 Feb 2005 20:44:44 -0000 1.3 +++ DateUtil.java 24 May 2006 09:03:13 -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 @@ -26,7 +26,6 @@ import java.util.HashSet; import java.util.Iterator; - /** * This class collects some static methods for formating and * parsing Date values - it is mainly a wrapper for the date @@ -39,79 +38,94 @@ public class DateUtil { - private static Hashtable dateFormatter = null; - private static Set formatterSet = null; + private static Hashtable dateFormatter = null; + private static Set formatterSet = null; - public static String date2String(Date d) - { - return date2String(d, "dd.MM.yyyy HH:mm:ss"); - } - - public static String date2String(Date d, String format) - { - if (d == null) d = new Date(); - if (dateFormatter == null) dateFormatter = new Hashtable(); - DateFormat dateformatter = (DateFormat)dateFormatter.get(format); - if (dateformatter == null) { - dateformatter = new SimpleDateFormat(format); - dateFormatter.put(format, dateformatter); - dateformatter.setTimeZone(TimeZone.getTimeZone("ECT")); - //dateformatter.setTimeZone(TimeZone.getDefault()); + public static String date2String(Date d) + { + return date2String(d, "dd.MM.yyyy HH:mm:ss"); } - return dateformatter.format(d); - } - - public static String currentdate2String() - { - return date2String(new Date()); - } - - public static String currentdate2String(String format) - { - return date2String(new Date(), format); - } - - - public static Date string2Date(String s) - { - if (s.endsWith("+02")) - s = s.substring(0, s.length()-3); - if (s.endsWith("+01")) - s = s.substring(0, s.length()-3); - try { - String format = "dd.MM.yyyy HH:mm:ss zzz"; - if (dateFormatter == null) dateFormatter = new Hashtable(); - DateFormat dateformatter = (DateFormat)dateFormatter.get(format); - if (dateformatter == null) { - dateformatter = new SimpleDateFormat(format); - dateFormatter.put(format, dateformatter); - dateformatter.setTimeZone(TimeZone.getTimeZone("ECT")); - //dateformatter.setTimeZone(TimeZone.getDefault()); - } - if (s==null || s.length()<1) - return new Date(); - return dateformatter.parse(s); - } catch (Exception e) { - return null; + + public static String date2String(Date d, String format) + { + if (d == null) d = new Date(); + if (dateFormatter == null) dateFormatter = new Hashtable(); + DateFormat dateformatter = (DateFormat)dateFormatter.get(format); + if (dateformatter == null) { + dateformatter = new SimpleDateFormat(format); + dateFormatter.put(format, dateformatter); + dateformatter.setTimeZone(TimeZone.getTimeZone("ECT")); + //dateformatter.setTimeZone(TimeZone.getDefault()); + } + return dateformatter.format(d); } - } - - public static Date string2Date(String s, String format) - { - if (s.endsWith("+02")) - s = s.substring(0, s.length()-3); - if (s.endsWith("+01")) - s = s.substring(0, s.length()-3); - try { - DateFormat df = new SimpleDateFormat(format); - df.setTimeZone(TimeZone.getTimeZone("ECT")); - if (s==null || s.length()<1) - return new Date(); - return df.parse(s); - } catch (Exception e) { - return null; + + public static String currentdate2String() + { + return date2String(new Date()); + } + + public static String currentdate2String(String format) + { + return date2String(new Date(), format); + } + + + public static Date string2Date(String s) + { + if (s.endsWith("+02")) + s = s.substring(0, s.length()-3); + if (s.endsWith("+01")) + s = s.substring(0, s.length()-3); + try { + String format = "dd.MM.yyyy HH:mm:ss zzz"; + if (dateFormatter == null) dateFormatter = new Hashtable(); + DateFormat dateformatter = (DateFormat)dateFormatter.get(format); + if (dateformatter == null) { + dateformatter = new SimpleDateFormat(format); + dateFormatter.put(format, dateformatter); + dateformatter.setTimeZone(TimeZone.getTimeZone("ECT")); + //dateformatter.setTimeZone(TimeZone.getDefault()); + } + if (s==null || s.length()<1) + return new Date(); + return dateformatter.parse(s); + } catch (Exception e) { + } + try { + String format = "yyyy-MM-dd HH:mm:ss.SSS"; + if (dateFormatter == null) dateFormatter = new Hashtable(); + DateFormat dateformatter = (DateFormat)dateFormatter.get(format); + if (dateformatter == null) { + dateformatter = new SimpleDateFormat(format); + dateFormatter.put(format, dateformatter); + dateformatter.setTimeZone(TimeZone.getTimeZone("ECT")); + //dateformatter.setTimeZone(TimeZone.getDefault()); + } + if (s==null || s.length()<1) + return new Date(); + return dateformatter.parse(s); + } catch (Exception e) { + } + return null; + } + + public static Date string2Date(String s, String format) + { + if (s.endsWith("+02")) + s = s.substring(0, s.length()-3); + if (s.endsWith("+01")) + s = s.substring(0, s.length()-3); + try { + DateFormat df = new SimpleDateFormat(format); + df.setTimeZone(TimeZone.getTimeZone("ECT")); + if (s==null || s.length()<1) + return new Date(); + return df.parse(s); + } catch (Exception e) { + return null; + } } - } } |
|
From: Michael K. <ko...@us...> - 2006-05-24 09:03:21
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/core In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv8427 Modified Files: DataObject.java Log Message: Index: DataObject.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/core/DataObject.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- DataObject.java 11 Aug 2005 11:20:17 -0000 1.6 +++ DataObject.java 24 May 2006 09:03:13 -0000 1.7 @@ -294,11 +294,11 @@ return String.valueOf(((DataObject) obj).getId()); } else if (obj instanceof Collection) { Iterator it = ((Collection) obj).iterator(); - String tmp = ""; + StringBuffer sb = new StringBuffer(""); while (it.hasNext()) { - tmp += (printObject(it.next()) + ";"); + sb.append(printObject(it.next())).append(";"); } - return tmp; + return sb.toString(); } else if (obj instanceof Timestamp) { return DateUtil.date2String((java.util.Date)obj, "dd.MM.yyyy HH:mm"); |
|
From: Michael K. <ko...@us...> - 2006-05-24 09:03:09
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/core/db In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv8047 Modified Files: DBAccessImpl.java Log Message: Corrected problems with PorstgreSQL database server (which does not automatically convert String to column types) Index: DBAccessImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/core/db/DBAccessImpl.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- DBAccessImpl.java 3 Jan 2006 09:35:20 -0000 1.25 +++ DBAccessImpl.java 24 May 2006 09:02:55 -0000 1.26 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2005 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 @@ -23,6 +23,7 @@ import org.cobricks.core.CobricksException; import org.cobricks.core.CoreManager; +import org.cobricks.core.util.DateUtil; import org.cobricks.core.util.LogUtil; import org.cobricks.core.util.ResourceUtil; @@ -393,16 +394,26 @@ String aname = (String)i.next(); String type = td.getColumnType(aname); Object o = attrs.get(aname); - if (o == null) - logger.debug("setPrepared "+aname+": NULL"); - else - logger.debug("setPrepared "+aname+": "+o.getClass().getName()); + if (o == null) { + logger.debug("setPrepared "+count+" "+aname+": NULL"); + } else { + if (type.equals("timestamp") && (o instanceof String)) { + // some converting is needed ... + o = DateUtil.string2Date((String)o); + } else + if (type.equals("int") && (o instanceof String)) { + // some converting is needed ... + o = new Integer((String)o); + } + logger.debug("setPrepared "+count+" "+type+" "+aname+": " + +o.getClass().getName()); + } // is the parameter a Set? - then convert it to a String - // tbd ... not perfect yes + // tbd ... not perfect yet if (o instanceof Set) { o = setToString((Set)o); } - count += setPreparedObject(pstmt, o, count); + count = count + setPreparedObject(pstmt, o, count); } } @@ -482,6 +493,15 @@ else if (o instanceof java.sql.Time) { pstmt.setTime(position, (java.sql.Time)o); } + else if (o instanceof java.lang.Integer) { + pstmt.setInt(position, ((java.lang.Integer)o).intValue()); + } + else if (o instanceof java.lang.Float) { + pstmt.setFloat(position, ((java.lang.Float)o).floatValue()); + } + else if (o instanceof java.lang.Long) { + pstmt.setLong(position, ((java.lang.Long)o).longValue()); + } else if (o instanceof byte[]) { pstmt.setBytes(position, (byte[])o); } |
|
From: Michael K. <ko...@us...> - 2006-05-23 06:34:24
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/item In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv20641 Modified Files: ItemPresenter.java Log Message: Index: ItemPresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemPresenter.java,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- ItemPresenter.java 16 Feb 2006 15:21:07 -0000 1.45 +++ ItemPresenter.java 23 May 2006 06:34:20 -0000 1.46 @@ -1572,24 +1572,23 @@ List itemids = itemManager.searchItems(xpath.toString()); //itemids = itemManager.sortItemsByAttribute(itemids,"<itemid>"); List results = new ArrayList(); - Iterator i = itemids.iterator(); - Vector itemVector = new Vector(); - while (i.hasNext()) { - itemVector.add(i.next()); - } + if (itemids != null) { + Iterator i = itemids.iterator(); + while (i.hasNext()) { + itemVector.add(i.next()); + } + } if(maxrows==0||maxrows>itemVector.size()){ - for(int j=0;j<itemVector.size();j++) - { + for(int j=0;j<itemVector.size();j++) { Item item = (Item)itemVector.get(itemVector.size()-j-1); if (item != null) results.add(item); } - }else{ + } else { results=itemids; } - for(int k =0;k<itemVector.size();k++) - { + for(int k =0;k<itemVector.size();k++) { Item item = (Item)itemVector.get(k); } itemVector.removeAllElements(); |
|
From: Michael K. <ko...@us...> - 2006-05-23 06:22:23
|
Update of /cvsroot/cobricks/cobricks2/web/user/la In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv16502 Removed Files: homepage_single_sign_on.html.en loginpage.html managefederationsidp.html managefederationssp.html ssologoutrender.html test_failure.html Log Message: --- homepage_single_sign_on.html.en DELETED --- --- managefederationssp.html DELETED --- --- test_failure.html DELETED --- --- ssologoutrender.html DELETED --- --- loginpage.html DELETED --- --- managefederationsidp.html DELETED --- |
|
From: Michael K. <ko...@us...> - 2006-05-17 11:19:28
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/item/sqlsearch In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv11151 Modified Files: Lexer.java parser.java Log Message: Index: parser.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/sqlsearch/parser.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- parser.java 16 Jan 2006 20:43:24 -0000 1.2 +++ parser.java 17 May 2006 11:19:25 -0000 1.3 @@ -2,6 +2,7 @@ import org.cobricks.item.sqlsearch.exprparts.*; import org.cobricks.item.sqlsearch.java_cup.runtime.*; +import org.cobricks.item.sqlsearch.java_cup.runtime.Scanner; import java.util.*; Index: Lexer.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/sqlsearch/Lexer.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Lexer.java 16 Jan 2006 20:43:24 -0000 1.2 +++ Lexer.java 17 May 2006 11:19:25 -0000 1.3 @@ -2,6 +2,7 @@ import org.cobricks.item.Item; import org.cobricks.item.sqlsearch.java_cup.runtime.*; +import org.cobricks.item.sqlsearch.java_cup.runtime.Scanner; import java.text.*; |
|
From: Michael K. <ko...@us...> - 2006-05-17 10:14:15
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/portal In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv18781 Modified Files: PortalRequest.java Log Message: Index: PortalRequest.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/PortalRequest.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- PortalRequest.java 31 Jan 2006 19:57:22 -0000 1.15 +++ PortalRequest.java 17 May 2006 10:14:07 -0000 1.16 @@ -14,17 +14,14 @@ import java.io.*; import java.util.*; - import javax.servlet.*; import javax.servlet.http.*; - import org.apache.log4j.*; import org.apache.velocity.VelocityContext; import org.cobricks.core.util.LogUtil; import org.cobricks.portal.wiki.Utility; - /** * Class for objects representing HTTP requests to the portal. * In the object the main parameters of the request are stored. |
|
From: Michael K. <ko...@us...> - 2006-05-17 10:09:29
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/portal In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv17046 Modified Files: InitServlet.java PortalManagerImpl.java PortalObject.java PortalPresenter.java Log Message: Index: PortalPresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/PortalPresenter.java,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- PortalPresenter.java 8 May 2006 07:47:59 -0000 1.37 +++ PortalPresenter.java 17 May 2006 10:09:23 -0000 1.38 @@ -655,6 +655,7 @@ StringTokenizer stl = new StringTokenizer(labels, ","); while (st.hasMoreTokens()) { String value = st.nextToken(); + value = value.trim(); String label = stl.nextToken(); if (value.equals(val)) { result.append("<option value=\""+value Index: PortalObject.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/PortalObject.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- PortalObject.java 10 Feb 2006 11:36:15 -0000 1.1 +++ PortalObject.java 17 May 2006 10:09:23 -0000 1.2 @@ -222,6 +222,18 @@ if (suffix.equals("csv")) { mimetype = "text/csv"; } + if (suffix.equals("gif")) { + mimetype = "image/gif"; + } + if (suffix.equals("png")) { + mimetype = "image/png"; + } + if (suffix.equals("jpg")) { + mimetype = "image/jpeg"; + } + if (suffix.equals("ico")) { + mimetype = "image/ico"; + } } } return mimetype; Index: PortalManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/PortalManagerImpl.java,v retrieving revision 1.78 retrieving revision 1.79 diff -u -d -r1.78 -r1.79 --- PortalManagerImpl.java 8 May 2006 07:47:59 -0000 1.78 +++ PortalManagerImpl.java 17 May 2006 10:09:23 -0000 1.79 @@ -432,7 +432,8 @@ Object content = page.getPageContent(lang); if (content == null) { logger.warn("Failed getting content for page "+pagePath+pageName - +","+lang+" - loading "+notFoundPath); + +","+lang+" - sending error 404"); + /* pagePath = notFoundPath; pageName = "notfound.html"; int pos = pagePath.indexOf("/"); @@ -443,6 +444,16 @@ page = getObject(pagePath, pageName); printPage(portalRequest, page, out); return; + */ + HttpServletResponse response = + portalRequest.getHttpServletResponse(); + response.setStatus(404); + try { + response.sendError(404, "binary object not found"); + } catch (Exception e) { + logger.warn("Failed sending error message to client"); + } + throw new PortalCompletedException(); } // return content ... Index: InitServlet.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/InitServlet.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- InitServlet.java 8 May 2006 07:47:59 -0000 1.10 +++ InitServlet.java 17 May 2006 10:09:23 -0000 1.11 @@ -60,10 +60,12 @@ // get configDir value configDir = config.getServletContext().getInitParameter("configDir"); - if (contextRealPath!=null) { - if (!contextRealPath.endsWith(File.separator)) - contextRealPath+=File.separator; - configDir = contextRealPath+"WEB-INF"+File.separator+"conf"; + if (configDir == null || configDir.length()<1) { + if (contextRealPath!=null) { + if (!contextRealPath.endsWith(File.separator)) + contextRealPath+=File.separator; + configDir = contextRealPath+"WEB-INF"+File.separator+"conf"; + } } logger.info("Starting Web-Application Initialization"); |
|
From: Michael K. <ko...@us...> - 2006-05-08 07:48:05
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/message In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2881/org/cobricks/message Modified Files: MessageManagerImpl.java Log Message: Index: MessageManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/message/MessageManagerImpl.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- MessageManagerImpl.java 16 Feb 2006 15:21:08 -0000 1.9 +++ MessageManagerImpl.java 8 May 2006 07:47:59 -0000 1.10 @@ -598,7 +598,8 @@ this.event = event; PortalManager portalManager = (PortalManager)coreManager. getComponentDirectory().getManager("portalManager"); - velocityContext = portalManager.getVelocityRootContext(); + if (portalManager != null) + velocityContext = portalManager.getVelocityRootContext(); } public void run() { Set subscriptions = @@ -646,7 +647,7 @@ Writer sw = new StringWriter(); try { Object o = event.getContent(); - if (o!=null) + if (o!=null && velocityContext!=null) velocityContext.put("obj", o); Velocity.evaluate(velocityContext, sw, "message template", templ); |
|
From: Michael K. <ko...@us...> - 2006-05-08 07:48:05
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/util/migration In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2881/org/cobricks/util/migration Modified Files: FromDBAccess.java ItemMigration.java MigrationTool.java Added Files: PortalMigration.java Log Message: Index: MigrationTool.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/util/migration/MigrationTool.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- MigrationTool.java 19 Jan 2005 15:25:14 -0000 1.6 +++ MigrationTool.java 8 May 2006 07:48:00 -0000 1.7 @@ -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 @@ -20,21 +20,30 @@ import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; +import org.apache.velocity.app.Velocity; +import org.cobricks.category.CategoryManager; 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.db.DBAccessImpl; +import org.cobricks.core.util.LogUtil; import org.cobricks.core.util.PropertiesUtil; import org.cobricks.item.ItemManager; +import org.cobricks.portal.PortalManager; +import org.cobricks.portal.velocity.PortalResourceLoader; import org.cobricks.user.UserManager; /** - * This Class is used for the migration of the user data from cobricks1 to + * This class is used for the migration of the user data from cobricks1 to * cobricks2. * + * The configuration is read from a file "migration.tool.conf" from + * the current directory + * * @author il...@sa... + * @author mic...@co... * @version $Date$ */ @@ -45,17 +54,24 @@ private FromDBAccess fromDBAccess = null; private List inData ; private UserManager userManager; - private ItemManager itemManager; + private ItemManager itemManager; + private CategoryManager categoryManager; + private PortalManager portalManager; private UserMigration userMigration; private ItemMigration itemMigration; + private PortalMigration portalMigration; private CatagoryMigration categoryMigration; private Properties migToolProps; private String configDir = null; - private CoreManager coreManager = new CoreManager(); + private CoreManager coreManager = null; + + /** + * + */ public static void main(String[] args) { Properties migToolProps = new Properties(); @@ -74,8 +90,14 @@ // configdir initialisation configDir = migToolProps.getProperty("cobricks.config.directory"); - PropertyConfigurator.configure(configDir+File.separator+"log.properties"); + try { + PropertyConfigurator.configure(configDir+File.separator+"log.properties"); + } catch (Throwable e) { + } + // Instantiate CoreManager + CoreManager coreManager = new CoreManager(); + // load Cobricks configuration (properties) Properties properties = new Properties(); properties.put("configdir", configDir); @@ -89,51 +111,106 @@ System.exit(-1); } + // initialize Velocity + try { + // load Velocity properties + Properties velocityProperties = new Properties(); + PropertiesUtil. + loadPropertiesResource("org.cobricks.portal", + "velocity"+File.separator + +"velocity.properties", + velocityProperties, + coreManager); + velocityProperties.put("file.resource.loader.path", + configDir); + Velocity.setApplicationAttribute("coreManager", coreManager); + Velocity.init(velocityProperties); + logger.info("Velocity succesfully initialized"); + + } catch(Exception e) { + logger.error(LogUtil.exception("Failed initializing Velocity", e)); + } + // initialize all the other components // this call instantiates all manager and presenter objects - coreManager.initComponents(properties); + try { + coreManager.initComponents(properties); + } catch (Throwable e) { + logger.error(LogUtil.ex("Failed initializing components.", e)); + } - // Adding a Propeperty to the the configuration file. Used as Workarround for DBAccessImpl. - migToolProps.setProperty("component.init","org.cobricks.core,org.cobricks.user,org.cobricks.context,org.cobricks.item,org.cobricks.category,org.cobricks.message,org.cobricks.portal"); + // finish initialization of Velocity PortalResourceLoader + ComponentDirectory cd = coreManager.getComponentDirectory(); + if (cd != null) + PortalResourceLoader. + setPortalManager((PortalManager) + cd.getManager("portalManager")); + userManager = (UserManager) cd.getManager("userManager"); + itemManager = (ItemManager) cd.getManager("itemManager"); + categoryManager = (CategoryManager) cd.getManager("categoryManager"); + portalManager = (PortalManager) cd.getManager("portalManager"); + + + // ************************************************************ + // initialize source database connection try { //Initialisation Cobrick/Drehscheibe Datebae fromDBAccess = new FromDBAccess(migToolProps); } catch(Exception e) { - logger.error(e); + logger.error(LogUtil.ex("failed ...", e)); } -// System.out.println("FromDB : "+fromDBAccess); + + // initialize migration objects userMigration = new UserMigration(fromDBAccess, coreManager); - itemMigration = new ItemMigration(fromDBAccess, coreManager); categoryMigration = new CatagoryMigration(fromDBAccess, coreManager); + itemMigration = new ItemMigration(fromDBAccess, coreManager); + portalMigration = new PortalMigration(fromDBAccess, coreManager); - logger.info("Starting Migrationtool Initialization. With configuration directory : "+configDir+"."); + logger.info("migration tool initialized for configuration directory : "+configDir); + logger.info("and source database "+migToolProps.getProperty("db.jdbc.uri")); + - // User Migration - if(migToolProps.getProperty("users.empty","false").equalsIgnoreCase("true")){ + // user Migration + if (migToolProps.getProperty("user.empty","false").equalsIgnoreCase("true")){ + logger.info("deleting user data"); userMigration.emptyDestinationTables(); } + if (migToolProps.getProperty("category.empty","false").equalsIgnoreCase("true")){ + logger.info("deleting category data"); + categoryMigration.emptyDestinationTables(); + } + if (migToolProps.getProperty("item.empty","false").equalsIgnoreCase("true")){ + logger.info("deleting item data"); + itemMigration.emptyDestinationTables(); + } + + itemManager.resetCache(); + userManager.resetCache(); + categoryManager.resetCache(); + portalManager.resetCache(); - if(migToolProps.getProperty("users.migrate","false").equalsIgnoreCase("true")){ + if (migToolProps.getProperty("user.migrate","false").equalsIgnoreCase("true")){ + logger.info("copying user data"); userMigration.migrate(); } - // Categories Migration - if(migToolProps.getProperty("categories.empty","false").equalsIgnoreCase("true")){ - categoryMigration.emptyDestinationTables(); - } - if(migToolProps.getProperty("categories.migate","false").equalsIgnoreCase("true")){ + // categories Migration + if (migToolProps.getProperty("category.migrate","false").equalsIgnoreCase("true")){ + logger.info("copying category data"); categoryMigration.migrate(); } - logger.info("Migration finished."); - // Item Migration - if(migToolProps.getProperty("items.empty","false").equalsIgnoreCase("true")){ - itemMigration.emptyDestinationTables(); - } - if(migToolProps.getProperty("item.migrate","false").equalsIgnoreCase("true")){ + // item Migration + if (migToolProps.getProperty("item.migrate","false").equalsIgnoreCase("true")){ + logger.info("copying item data"); itemMigration.migrate(); - } - logger.info("Migration finished."); + } + if (migToolProps.getProperty("item.migrateportal","false").equalsIgnoreCase("true")){ + logger.info("copying item data for portal pages"); + portalMigration.migrate(); + } + + logger.info("migration finished"); } } Index: FromDBAccess.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/util/migration/FromDBAccess.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- FromDBAccess.java 27 Jun 2004 22:20:53 -0000 1.1 +++ FromDBAccess.java 8 May 2006 07:48:00 -0000 1.2 @@ -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 @@ -206,6 +206,10 @@ // start in config file, for all components check subdirectories // COMPNAME/db/ and load all files String compnames = properties.getProperty("component.init"); + if (compnames == null) + compnames = "org.cobricks.core,org.cobricks.user,org.cobricks.context," + +"org.cobricks.item,org.cobricks.category,org.cobricks.message," + +"org.cobricks.portal"; StringTokenizer st = new StringTokenizer(compnames, ","); while (st.hasMoreTokens()) { String compname = st.nextToken(); --- NEW FILE: PortalMigration.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.de). * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. */ package org.cobricks.util.migration; import java.io.FileInputStream; import java.io.FileOutputStream; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; import org.apache.log4j.Logger; import org.cobricks.core.ComponentDirectory; import org.cobricks.core.CoreManager; import org.cobricks.core.db.DBAccess; import org.cobricks.core.util.LogUtil; import org.cobricks.item.Item; import org.cobricks.item.ItemAnnotation; import org.cobricks.item.ItemAttachment; import org.cobricks.item.ItemManager; import org.cobricks.portal.PortalFolder; import org.cobricks.portal.PortalManager; import org.cobricks.portal.PortalManagerImpl; import org.cobricks.user.User; import org.cobricks.user.UserManager; /** * This class is used for migration of the portal data from the Cobricks 1 * to Cobricks 2 platform * * @author mic...@co... * @version */ public class PortalMigration { static Logger logger = Logger.getLogger(PortalMigration.class); private FromDBAccess fromDBAccess; private DBAccess toDBAccess; private ItemManager itemManager; private PortalManager portalManager; private UserManager userManager; private Map ptemplate; // mapping from page template id to templatename (for includes) private Map pgrouptemplen; private Map pgrouptemplde; /** * */ public PortalMigration(FromDBAccess fromDB, CoreManager coreManager) { this.fromDBAccess = fromDB; toDBAccess = coreManager.getDBAccess(); ComponentDirectory compDir = coreManager.getComponentDirectory(); if (compDir != null) { userManager = (UserManager) compDir.getManager("userManager"); itemManager = (ItemManager) compDir.getManager("itemManager"); portalManager = (PortalManager) compDir.getManager("portalManager"); } ptemplate = new HashMap(); pgrouptemplde = new HashMap(); pgrouptemplen = new HashMap(); } public void migrate() { logger.info(">>>>>>>>>>> Starting portal migration <<<<<<<<<<<<<"); migratePortalTemplates(); migratePortalGroups(); migratePortalPages(); } /** * */ private void migratePortalTemplates() { String tmps = null; logger.info(">> migrating portal templates"); ((PortalManagerImpl)portalManager).initializePortalFolders(); // folder for templates PortalFolder pfolder = portalManager.getPortalFolder("/templates/"); if (pfolder == null) { try { portalManager.createFolder("/", "templates/", "portal template directory", null); pfolder = portalManager.getPortalFolder("/templates/"); } catch (Exception e) { logger.error(LogUtil.ex("failed ...", e)); } } // old table page_template: creationdate, name, ptid, lastchangedate, // creatorlogin, header, footerlogin, lastchangelogin, headerlogin, // footer, description // create items for the different headers and footers List results = fromDBAccess.sqlQuery("select * from page_template"); Iterator i = results.iterator(); while (i.hasNext()) { Map m = (Map)i.next(); Map itemAttrs = new HashMap(); itemAttrs.put("itemclass", "portalinclude"); itemAttrs.put("mimetype", "text/html"); itemAttrs.put("folders", new Integer(pfolder.getId())); Date d = (Date) m.get("creationdate"); tmps = (String) m.get("creatorlogin"); String name = (String) m.get("name"); Integer ptid = (Integer) m.get("ptid"); ptemplate.put(ptid, name); tmps = (String) m.get("header"); if (tmps != null && tmps.length()>0) { itemAttrs.put("name", name+"-h.html"); itemAttrs.put("content", tmps); try { Item item = itemManager.createItem(itemAttrs); } catch (Exception e) { logger.error(LogUtil.ex("failed ...", e)); } } itemAttrs = new HashMap(); itemAttrs.put("itemclass", "portalinclude"); itemAttrs.put("mimetype", "text/html"); itemAttrs.put("folders", new Integer(pfolder.getId())); tmps = (String) m.get("headerlogin"); if (tmps != null && tmps.length()>0) { itemAttrs.put("name", name+"-hl.html"); itemAttrs.put("content", tmps); try { Item item = itemManager.createItem(itemAttrs); } catch (Exception e) { logger.error(LogUtil.ex("failed ...", e)); } } itemAttrs = new HashMap(); itemAttrs.put("itemclass", "portalinclude"); itemAttrs.put("mimetype", "text/html"); itemAttrs.put("folders", new Integer(pfolder.getId())); tmps = (String) m.get("footer"); if (tmps != null && tmps.length()>0) { itemAttrs.put("name", name+"-f.html"); itemAttrs.put("content", tmps); try { Item item = itemManager.createItem(itemAttrs); } catch (Exception e) { logger.error(LogUtil.ex("failed ...", e)); } } itemAttrs = new HashMap(); itemAttrs.put("itemclass", "portalinclude"); itemAttrs.put("mimetype", "text/html"); itemAttrs.put("folders", new Integer(pfolder.getId())); tmps = (String) m.get("footerlogin"); if (tmps != null && tmps.length()>0) { itemAttrs.put("name", name+"-fl.html"); itemAttrs.put("content", tmps); try { Item item = itemManager.createItem(itemAttrs); } catch (Exception e) { logger.error(LogUtil.ex("failed ...", e)); } } } logger.info("added "+results.size()+" page templates"); } /** * */ private void migratePortalGroups() { logger.info(">> migrating portal groups"); // read the data from page_group (pagetemplate, pagetemplateen, // description, path, faid, title, pgid) and create page path // categories from them List results = fromDBAccess.sqlQuery("select * from page_group"); Iterator i = results.iterator(); while (i.hasNext()) { Map m = (Map)i.next(); Integer ptde = (Integer) m.get("pagetemplate"); Integer pten = (Integer) m.get("pagetemplateen"); Integer pgid = (Integer) m.get("pgid"); String path = (String) m.get("path"); String title = (String) m.get("title"); if (!path.endsWith("/")) path += "/"; if (!path.startsWith("/")) path = "/" + path; logger.info("inserting page group for path >"+path+"<"); PortalFolder pfolder = portalManager.getPortalFolder(path); if (pfolder == null) { int pos = (path.substring(0, path.length()-1)). lastIndexOf("/"); String ppath = path.substring(0, pos+1); String cpath = path.substring(pos+1); logger.info("split path into "+ppath+" and "+cpath); try { portalManager.createFolder(ppath, cpath, title, null); } catch (Exception e) { logger.error(LogUtil.ex("failed", e)); } pfolder = portalManager.getPortalFolder(path); String tmps = (String)ptemplate.get(ptde); if (tmps != null) pgrouptemplde.put(path, tmps); tmps = (String)ptemplate.get(pten); if (tmps != null) pgrouptemplen.put(path, tmps); } else { String tmps = (String)ptemplate.get(ptde); if (tmps != null) pgrouptemplde.put(path, tmps); tmps = (String)ptemplate.get(pten); if (tmps != null) pgrouptemplen.put(path, tmps); } } logger.info("added "+results.size()+" page folders"); } /** * */ private void migratePortalPages() { logger.info(">> migrating portal pages"); List results = fromDBAccess.sqlQuery("select * from page_content"); Iterator i = results.iterator(); while (i.hasNext()) { Map m = (Map)i.next(); Integer paid = (Integer) m.get("paid"); String content = (String) m.get("content"); String title = (String) m.get("title"); Map pinfo = fromDBAccess. sqlQuerySingleRow("select * from page_info where paid = " +paid.toString()); Date cdate = (Date) pinfo.get("creationdate"); String clogin = (String) pinfo.get("creatorlogin"); String name = (String) pinfo.get("name"); String path = (String) pinfo.get("path"); Integer pgid = (Integer) pinfo.get("pgid"); PortalFolder pfolder = portalManager.getPortalFolder(path); if (pfolder == null) { logger.error("failed getting portal folder for "+path); pfolder = portalManager.getPortalFolder("/"); } logger.info("path="+path+", pgid="+pgid+", folderid=" +pfolder.getId()); // add template includes String tde = (String)pgrouptemplde.get(path); String ten = (String)pgrouptemplen.get(path); if (tde != null) { content = "$portalPresenter.parse(\"$contextPath/templates/"+tde+"-h.html\", $portalRequest)\n\n" + content + "\n\n$portalPresenter.parse(\"$contextPath/templates/"+tde+"-f.html\", $portalRequest)\n"; // TBD: unterscheide -h und -hl (-f, -fl) } else if (ten != null) { content = "#parse(\"/templates/"+ten+"-h\")\n\n" + content + "\n\n#parse(\"/templates/"+ten+"-f\")"; } // now insert page item Map itemAttrs = new HashMap(); itemAttrs.put("itemclass", "portalpage"); itemAttrs.put("mimetype", "text/html"); itemAttrs.put("folders", new Integer(pfolder.getId())); itemAttrs.put("creationdate", cdate); // TBD itemAttrs.put("creator", cdate); itemAttrs.put("name", name); itemAttrs.put("title", title); itemAttrs.put("content", content); try { Item item = itemManager.createItem(itemAttrs); } catch (Exception e) { logger.error(LogUtil.ex("failed ...", e)); } } } } Index: ItemMigration.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/util/migration/ItemMigration.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- ItemMigration.java 5 Aug 2005 11:25:50 -0000 1.6 +++ ItemMigration.java 8 May 2006 07:48:00 -0000 1.7 @@ -356,8 +356,10 @@ String publisherlogin2 = (String)annotationMap.get("annpublogin"); if(publisherlogin2.endsWith("@localhost")) { //cuts the "@localhost" from the logins publisherlogin2 = publisherlogin2.substring(0,publisherlogin2.indexOf("@localhost")); - } - creatorid = userManager.getUser(userManager.getUserIdForUserLogin(publisherlogin2)).getId(); + } + User user = userManager.getUser(userManager.getUserIdForUserLogin(publisherlogin2)); + if (user!=null) + creatorid = user.getId(); } String lang = null; if(annotationMap.get("annlanguage") != null){ @@ -483,7 +485,6 @@ } private static Map convertXML2Map(String xmlStr) throws ArrayIndexOutOfBoundsException { // @todo Verbesserungsbedürftig -// <item itemid="1710"><aufgabensteller><![CDATA[Prof. Dr. H.-G. Hegering]]></aufgabensteller><betreuer><![CDATA[Bernhard Kempter, Vitalian Danciu]]></betreuer></item> String xml = xmlStr; HashMap resultMap = new HashMap(); String propName = null; @@ -519,10 +520,6 @@ return resultMap; } -/* public static void main(String[] args) - { - ItemMigration.convertXML2Map("<xml version=\"1.0\" ><item itemid=\"1710\"><aufgabensteller><![CDATA[Prof. Dr. H.-G. Hegering]]></aufgabensteller><betreuer><![CDATA[Bernhard Kempter, Vitalian Danciu]]></betreuer></item>"); - }*/ } |
|
From: Michael K. <ko...@us...> - 2006-05-08 07:48:04
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/item In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2881/org/cobricks/item Modified Files: ItemAttrs.java ItemManagerImpl.java Log Message: Index: ItemAttrs.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemAttrs.java,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- ItemAttrs.java 22 Aug 2005 13:52:06 -0000 1.39 +++ ItemAttrs.java 8 May 2006 07:47:59 -0000 1.40 @@ -358,6 +358,15 @@ res.put(new Integer(((DataObject) next).getId()), next); } else if (next instanceof Integer) { res.put((Integer)next, next); + } else if (next instanceof String) { + try { + int tmpi = Integer.parseInt((String)next); + next = new Integer(tmpi); + res.put((Integer)next, next); + } catch (Exception e) { + logger.error("Illegal object type in createIDMap: "+ + next.getClass().getName()+":"+next); + } } else { logger.error("Illegal object type in createIDMap: "+ next.getClass().getName()); Index: ItemManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/item/ItemManagerImpl.java,v retrieving revision 1.66 retrieving revision 1.67 diff -u -d -r1.66 -r1.67 --- ItemManagerImpl.java 16 Feb 2006 15:21:07 -0000 1.66 +++ ItemManagerImpl.java 8 May 2006 07:47:59 -0000 1.67 @@ -347,11 +347,11 @@ { Item result = null; OntologyClass oc = this.getOntology().getClass(itemclass); - if (oc == null) { // should not happen ... - logger.warn("Did not find item ontology information for " - + itemclass+". Using default item class."); - oc = this.getOntology().getClass("item"); - } + if (oc == null) { // should not happen ... + logger.warn("Did not find item ontology information for " + + itemclass+". Using default item class."); + oc = this.getOntology().getClass("item"); + } String javaclass = oc.getJavaClassName(); // instantiate class try { @@ -940,8 +940,6 @@ // null / incorrect, the correct name is used itemClassName = itemclass.getName(); - // Check the attributes against the ontology - logger.info("createItem attrs="+attrs.toString()); // check attributes and remove non fitting attributes attrs = OntologyHelper. checkAttrsAgainstOntology(attrs, itemclass, true, true, @@ -1352,6 +1350,17 @@ OntologyDataType ontType, String contextClass) { + if (avalue instanceof Integer) { + Object o = avalue; + avalue = new HashSet(); + ((Collection)avalue).add(o); + } + if (!(avalue instanceof Collection)) { + logger.error("value for attribute "+aname+" is not " + +"of class Collection, but of class " + +avalue.getClass().getName()); + return; + } Iterator it = ((Collection)avalue).iterator(); while (it.hasNext()) { this.storeSingleAttribute(itemid, aname, it.next(), |
|
From: Michael K. <ko...@us...> - 2006-05-08 07:48:04
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/portal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2881/org/cobricks/portal Modified Files: InitServlet.java PortalManagerImpl.java PortalPresenter.java itemontology.xml Log Message: Index: PortalPresenter.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/PortalPresenter.java,v retrieving revision 1.36 retrieving revision 1.37 diff -u -d -r1.36 -r1.37 --- PortalPresenter.java 10 Feb 2006 11:36:15 -0000 1.36 +++ PortalPresenter.java 8 May 2006 07:47:59 -0000 1.37 @@ -176,6 +176,7 @@ */ public String parse(String filename, PortalRequest portalRequest) { + logger.debug("parse("+filename+")"); String pagePath = null; String pageName = null; String lang = portalRequest.getLang(); @@ -196,7 +197,7 @@ PortalObject o = portalManager.getObject(pagePath, pageName); if (!(o instanceof PortalPage)) { logger.warn("Wrong type of portal object for " - +pagePath+pageName); + +pagePath+pageName+": "+o.getClass().getName()); return ""; } PortalPage page = (PortalPage)o; Index: PortalManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/PortalManagerImpl.java,v retrieving revision 1.77 retrieving revision 1.78 diff -u -d -r1.77 -r1.78 --- PortalManagerImpl.java 10 Feb 2006 11:36:15 -0000 1.77 +++ PortalManagerImpl.java 8 May 2006 07:47:59 -0000 1.78 @@ -808,12 +808,12 @@ * Creates a new portal folder * * @param parentPath the path of the parent object for the new portal folder - * @param name the name of the folder (only url-compliant strings!) - * @param title title for the folder + * @param relpath the relative path name of the folder (only url-compliant strings!) + * @param title name for the folder * @param creator the user object of the user who creates the folder * @return the new folder's id */ - public int createFolder(String parentPath, String name, + public int createFolder(String parentPath, String relpath, String title, User creator) throws CobricksException { @@ -823,8 +823,8 @@ if (!parentPath.startsWith("/")) parentPath = "/"+parentPath; - String path = parentPath+name; - if (!name.endsWith("/")) + String path = parentPath+relpath; + if (!path.endsWith("/")) path += "/"; // create category object @@ -1272,7 +1272,7 @@ * initialize (create) the portal folder categories for the * filesystem webspace directories (if they do not exist) */ - protected void initializePortalFolders() + public void initializePortalFolders() { // first load all portal folder objects from the // Category Component Index: InitServlet.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/InitServlet.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- InitServlet.java 16 Feb 2006 15:21:08 -0000 1.9 +++ InitServlet.java 8 May 2006 07:47:59 -0000 1.10 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2005 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,7 +18,8 @@ import javax.servlet.*; import javax.servlet.http.*; -import org.apache.log4j.*; +import org.apache.log4j.Logger; +import org.apache.log4j.PropertyConfigurator; import org.apache.velocity.app.Velocity; import org.cobricks.core.CobricksException; Index: itemontology.xml =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/portal/itemontology.xml,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- itemontology.xml 10 Feb 2006 11:36:15 -0000 1.19 +++ itemontology.xml 8 May 2006 07:47:59 -0000 1.20 @@ -22,6 +22,10 @@ </attr> </class> +<class name="portalinclude" parent="portalpage"> +<description lang="de">Portal Template</description> +</class> + <class name="wikipage" parent="portalpage"> <description lang="de">Wikiseite</description> <attr name="content" type="text" multilanguage="true" versioned="true" /> |
|
From: Michael K. <ko...@us...> - 2006-05-08 07:48:04
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/user In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2881/org/cobricks/user Modified Files: UserManagerImpl.java Log Message: Index: UserManagerImpl.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/user/UserManagerImpl.java,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- UserManagerImpl.java 12 Mar 2006 22:57:59 -0000 1.60 +++ UserManagerImpl.java 8 May 2006 07:48:00 -0000 1.61 @@ -880,7 +880,9 @@ if (tmpdate != null) { result.setAttributeLocally(User.REGTIME, tmpdate); } - tmpdate = (Date) map.get("lastlogin"); + try { + tmpdate = (Date) map.get("lastlogin"); + } catch (Exception e) { } if (tmpdate != null) { result.setAttributeLocally(User.LASTLOGIN, tmpdate); } |
|
From: Michael K. <ko...@us...> - 2006-05-08 07:48:03
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2881/org/cobricks/core Modified Files: Ontology.java Log Message: Index: Ontology.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/core/Ontology.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Ontology.java 18 Jan 2006 18:22:46 -0000 1.7 +++ Ontology.java 8 May 2006 07:47:59 -0000 1.8 @@ -104,8 +104,14 @@ Iterator i = classes.values().iterator(); while (i.hasNext()) { OntologyClass oc = (OntologyClass)i.next(); - if (oc.getParent() == parent) + if (oc.getParent() == parent) { result.add(oc); + if (recursive) { + Set subset = getChildren(oc, true); + if (subset != null) + result.addAll(subset); + } + } } return result; } |
|
From: Philipp H. <p-...@us...> - 2006-05-05 09:37:54
|
Update of /cvsroot/cobricks/cobricks2/src/org/cobricks/discussion In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19726/src/org/cobricks/discussion Modified Files: DiscussionAccessHandler.java Log Message: checkPermission improved Index: DiscussionAccessHandler.java =================================================================== RCS file: /cvsroot/cobricks/cobricks2/src/org/cobricks/discussion/DiscussionAccessHandler.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- DiscussionAccessHandler.java 6 Apr 2006 16:25:53 -0000 1.2 +++ DiscussionAccessHandler.java 5 May 2006 09:37:44 -0000 1.3 @@ -2,11 +2,17 @@ import org.apache.log4j.Logger; +import org.cobricks.core.ComponentDirectory; import org.cobricks.core.CoreManager; import org.cobricks.core.db.DBAccess; +import org.cobricks.user.AccessControl; import org.cobricks.user.AccessHandler; import org.cobricks.user.AccessHandlerAdaptor; +import org.cobricks.user.AccessPermission; +import org.cobricks.user.User; +import org.cobricks.user.UserManager; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.HashMap; @@ -32,7 +38,7 @@ static final String domain = "discussion"; - static final String[] domainactions = { "*", "view", "read", "createCat","create", "delete", "vote" }; + static final String[] domainactions = { "*", "view", "read", "createCat","create", "delete" }; static final String[][] domainactionattrs = { // create @@ -46,6 +52,8 @@ Map actionAttrs; + private UserManager userManager; + /** Creates a new instance of DiscussionAccessHandler */ public DiscussionAccessHandler() { @@ -73,6 +81,15 @@ } actionAttrs.put(domainactions[i], attrs); } + + try { + ComponentDirectory componentDirectory = + coreManager.getComponentDirectory(); + userManager = (UserManager) + componentDirectory.getManager("userManager"); + } catch (Throwable e) { + logger.warn("failed getting user manager"); + } } public String getDomain() @@ -98,21 +115,22 @@ String action, Map attrs) { - //todo - // check capabilities of roles with status = "all" - // tbd - - // anonymous user? - if (userid == 0) - return false; - - // get capabilities of roles with status = "login" - - // get capabilities of roles with user as member (inclusive - // parent roles of those) + // currently we get all permissions and do a Java based comparison - + // we might construct a matching select here to let the database do + // some optimization ... TBD - // check if access is covered by any of the capabilities + // get permissions of user + AccessControl ac = userManager.getAccessControl(); + List permissions = ac.getAccessPermissionsByUser(userid); + User user = userManager.getUser(userid); + + Iterator i = permissions.iterator(); + while (i.hasNext()) { + AccessPermission perm = (AccessPermission)i.next(); + // check if this is the requested permission + if (perm.contains(user, domain, action, attrs)) return true; + } - return true; + return false; } } \ No newline at end of file |