diff --git a/htroot/Blog.html b/htroot/Blog.html index 345d25c05..799b2b1e2 100644 --- a/htroot/Blog.html +++ b/htroot/Blog.html @@ -19,7 +19,7 @@ #{/entries}# #(moreentries)#::show more entries...#(/moreentries)#
-#(admin)#::new entry - #(/admin)#Blog-Home +#(admin)#Login - ::new entry - #(/admin)#Blog-Home ::
diff --git a/htroot/Blog.java b/htroot/Blog.java index 58a302226..3def31d93 100644 --- a/htroot/Blog.java +++ b/htroot/Blog.java @@ -1,3 +1,51 @@ +// Blog.java +// ----------------------- +// part of YACY +// (C) by Michael Peter Christen; mc@anomic.de +// first published on http://www.anomic.de +// Frankfurt, Germany, 2004 +// +// This File is contributed by Jan Sandbrink +// Contains contributions from Marc Nause [MN] +// last change: 03.04.2006 +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// Using this software in any meaning (reading, learning, copying, compiling, +// running) means that you agree that the Author(s) is (are) not responsible +// for cost, loss of data or any harm that may be caused directly or indirectly +// by usage of this softare or this documentation. The usage of this software +// is on your own risk. The installation and usage (starting/running) of this +// software may allow other people or application to access your computer and +// any attached devices and is highly dependent on the configuration of the +// software which must be done by the user of the software; the author(s) is +// (are) also not responsible for proper configuration and usage of the +// software, even if provoked by documentation provided together with +// the software. +// +// Any changes to this file according to the GPL as documented in the file +// gpl.txt aside this file in the shipment you received can be done to the +// lines that follows this copyright notice here, but changes must not be +// done inside the copyright notive above. A re-distribution must contain +// the intact and unchanged copyright notice. +// Contributions and changes to the program code must be marked as such. + +// You must compile this file with +// javac -classpath .:../Classes Blacklist_p.java +// if the shell's current path is HTROOT + import java.io.IOException; import java.io.UnsupportedEncodingException; import java.text.SimpleDateFormat; @@ -13,7 +61,7 @@ import de.anomic.server.serverObjects; import de.anomic.server.serverSwitch; public class Blog { - + private static SimpleDateFormat SimpleFormatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); // TODO: make userdefined date/time-strings (localisation) @@ -26,19 +74,24 @@ public class Blog { serverObjects prop = new serverObjects(); boolean hasRights = switchboard.verifyAuthentication(header, true); - if(!hasRights){ - userDB.Entry userentry = switchboard.userDB.proxyAuth((String)header.get("Authorization", "xxxxxx")); - if(userentry != null && userentry.hasBlogRight()){ - hasRights=true; - } - } - - if(hasRights) prop.put("mode_admin",1); - else prop.put("mode_admin",0); - - if (post == null) { - post = new serverObjects(); - post.put("page", "blog_default"); + + if(hasRights) prop.put("mode_admin",1); + else prop.put("mode_admin",0); + + if (post == null) { + post = new serverObjects(); + post.put("page", "blog_default"); + } + + if(!hasRights){ + userDB.Entry userentry = switchboard.userDB.proxyAuth((String)header.get("Authorization", "xxxxxx")); + if(userentry != null && userentry.hasBlogRight()){ + hasRights=true; + } + //opens login window if login link is clicked - contrib [MN] + else if(post.containsKey("login")){ + prop.put("AUTHENTICATE","admin log-in"); + } } String pagename = post.get("page", "blog_default"); @@ -53,11 +106,11 @@ public class Blog { author = de.anomic.yacy.yacyCore.seedDB.mySeed.get("Name", "anonymous"); } } - + if(hasRights && post.containsKey("delete") && post.get("delete").equals("sure")) { switchboard.blogDB.delete(pagename); } - + if (post.containsKey("submit") && (hasRights)) { // store a new/edited blog-entry byte[] content; @@ -66,11 +119,11 @@ public class Blog { } catch (UnsupportedEncodingException e) { content = post.get("content", "").getBytes(); } - + //set name for new entry if(pagename.equals("blog_default")) pagename = String.valueOf(System.currentTimeMillis()); - + try { switchboard.blogDB.write(switchboard.blogDB.newEntry(pagename, post.get("subject",""), author, ip, content)); } catch (IOException e) {} @@ -157,7 +210,7 @@ public class Blog { } else prop.put("moreentries",0); } catch (IOException e) { - + } } else {