don't sort by the "date" field, use webdb_create instead
[mir.git] / source / mircoders / module / ModuleContent.java
index b71dc56..3be4a14 100755 (executable)
@@ -1,3 +1,34 @@
+/*
+ * Copyright (C) 2001, 2002  The Mir-coders group
+ *
+ * This file is part of Mir.
+ *
+ * Mir 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.
+ *
+ * Mir 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 Mir; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * In addition, as a special exception, The Mir-coders gives permission to link
+ * the code of this program with the com.oreilly.servlet library, any library
+ * licensed under the Apache Software License, The Sun (tm) Java Advanced
+ * Imaging library (JAI), The Sun JIMI library (or with modified versions of
+ * the above that use the same license as the above), and distribute linked
+ * combinations including the two.  You must obey the GNU General Public
+ * License in all respects for all of the code used other than the above
+ * mentioned libraries.  If you modify this file, you may extend this exception
+ * to your version of the file, but you are not obligated to do so.  If you do
+ * not wish to do so, delete this exception statement from your version.
+ */
+
 package mircoders.module;
 
 import java.io.*;
@@ -13,6 +44,7 @@ import mir.misc.*;
 import mir.storage.*;
 
 import mircoders.entity.*;
+import mircoders.storage.*;
 
 /*
  *  ContentObjekt -
@@ -27,17 +59,40 @@ public class ModuleContent extends AbstractModule
 
        public ModuleContent() {
                super();
-               if (theLog == null) theLog = Logfile.getInstance(Configuration.getProperty("Home") + Configuration.getProperty("Module.Content.Logfile"));
+               if (theLog == null) theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("Module.Content.Logfile"));
        }
 
        public ModuleContent(StorageObject theStorage) {
                this.theStorage = theStorage;
-               if (theLog == null) theLog = Logfile.getInstance(Configuration.getProperty("Home") + Configuration.getProperty("Module.Content.Logfile"));
+               if (theLog == null) theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("Module.Content.Logfile"));
        }
 
        //
        // methoden, um an ContentEntities zu kommen
 
+  public EntityList getFeatures(int offset, int limit) throws ModuleException
+  {
+    return getContent("is_published=true AND to_article_type=2", "webdb_create desc",
+                      offset, limit);
+  }
+
+  public EntityList getNewsWire(int offset, int limit) throws ModuleException
+  {
+    return getContent("is_published=true AND to_article_type = 1",
+                                    "webdb_create desc",offset,limit);
+  }
+
+  public EntityList getStartArticle() throws ModuleException
+  {
+    EntityList returnList = getContent("is_published=true AND to_article_type=4",
+                                        "webdb_create desc",0,1);
+    //if no startspecial exists
+    if (returnList==null || returnList.size()==0)
+      returnList = getContent("is_published=true AND to_article_type=3",
+                              "webdb_create desc",0,1);
+
+    return returnList;
+  }
 
        public EntityList getContent(HashMap searchValues, boolean concat, int offset, EntityUsers user)
                throws ModuleException {
@@ -103,13 +158,12 @@ public class ModuleContent extends AbstractModule
                return getContent(whereClause, orderBy, offset, user);
        }
 
-       public EntityList getContent(String whereClause, String orderBy, int offset, int limit, EntityGruppen user)
-               throws ModuleException {
+       public EntityList getContent(String whereClause, String orderBy, int offset,
+    int limit, EntityUsers user) throws ModuleException {
 
                try {
                        if (user!=null){
-                       //theLog.printInfo("user!=null admin: "+ user.getValue("admin"));
-                               if (user.getValue("is_admin").equals("0"))
+                               if (!user.isAdmin())
                                        whereClause += " and to_publisher='" + user.getId()+"'";
                                }
                                return theStorage.selectByWhereClause(whereClause, orderBy, offset, limit);
@@ -156,7 +210,7 @@ public class ModuleContent extends AbstractModule
                                }
 
                                if(whereClause.equals("nfrei")) {
-                                       whereClause="is_published='0'"; orderBy="date desc";
+                                       whereClause="is_published='0'"; orderBy="webdb_create desc";
                                }
 
                                if(whereClause.equals("lastchange")) {
@@ -164,7 +218,7 @@ public class ModuleContent extends AbstractModule
                                }
 
                                if(whereClause.equals("media")) {
-                                       whereClause="to_media > 0"; orderBy="webdb_lastchange desc";
+                                       return DatabaseContentToMedia.getInstance().getContent();
                                }
                        }
                        return theStorage.selectByWhereClause(whereClause, orderBy, offset);