no message
authortob <tob>
Wed, 6 Feb 2002 00:30:08 +0000 (00:30 +0000)
committertob <tob>
Wed, 6 Feb 2002 00:30:08 +0000 (00:30 +0000)
source/mircoders/servlet/ServletModuleContent.java
templates-dist/de/contentlist.template

index 9e1a4d4..85de290 100755 (executable)
@@ -11,6 +11,7 @@ import javax.servlet.http.*;
 import freemarker.template.*;
 
 import mir.servlet.*;
+import mir.media.*;
 import mir.module.*;
 import mir.misc.*;
 import mir.storage.*;
@@ -423,6 +424,95 @@ public class ServletModuleContent extends ServletModule
       if (theList == null || theList.getCount() == 0 || theList.getCount()>1) {
         SimpleHash modelRoot = HTMLTemplateProcessor.makeSimpleHashWithEntitylistInfos(theList);
         modelRoot.put("articletypeHash", DatabaseArticleType.getInstance().getHashData());
+
+    EntityContent       currentContent;
+    EntityList          upMediaEntityList;
+    EntityList          imageEntityList;
+    EntityList          currentMediaList;
+    Entity              mediaType;
+    EntityMedia         uploadedMedia;
+    SimpleList          opList;
+      String imageRoot = MirConfig.getProp("Producer.ImageRoot");
+
+    SimpleHash          contentHash;
+    Class               mediaHandlerClass=null;
+    MirMedia            mediaHandler=null;
+    String              mediaHandlerName=null;
+    Database            mediaStorage=null;
+    String              tinyIcon;
+    String              iconAlt;
+
+    opList = HTMLTemplateProcessor.makeSimpleList(theList);
+
+      for (int i=0; i < theList.size();i++) {
+        currentContent = (EntityContent)theList.elementAt(i);
+        //fetching/setting the images
+        upMediaEntityList = DatabaseContentToMedia.getInstance().getUploadedMedia(currentContent);
+        if (upMediaEntityList!=null && upMediaEntityList.getCount()>=1) {
+          tinyIcon = null;
+          iconAlt = null;
+          mediaHandler = null;
+          mediaHandlerName = null;
+          for (int n=0; n < upMediaEntityList.size();n++) {
+            uploadedMedia = (EntityMedia)upMediaEntityList.elementAt(n);
+            mediaType = uploadedMedia.getMediaType();
+
+            //must of had a non-existant to_media_type entry..
+            //let's save our ass.
+            if (mediaType != null) {
+                /*
+                 * grrr. why doesn't getId return an int! if It
+                 * did I could just compare the value of getId and
+                 * pick the biggest one. or is there
+                 * another way around this that I am missing?
+                 * can we make getIdasInt() or can we just have
+                 * another getId() that returns an Int and the VM
+                 * will handle it transparantly? -mh
+                 */
+                try {
+                  mediaHandlerName = mediaType.getValue("classname");
+                  mediaHandlerClass = Class.forName("mir.media.MediaHandler"+mediaHandlerName);
+                  mediaHandler = (MirMedia)mediaHandlerClass.newInstance();
+                } catch (Exception e) {
+                  theLog.printError("ProducerStartpage:problem in reflection: "+mediaHandlerName);
+                }
+
+                //the "best" media type to show
+                if (mediaHandler.isVideo()) {
+                  tinyIcon = MirConfig.getProp("Producer.Icon.TinyVideo");
+                  iconAlt = "Video";
+                  break;
+                } else if (mediaHandler.isAudio()) {
+                  tinyIcon = MirConfig.getProp("Producer.Icon.TinyAudio");
+                  iconAlt = "Audio";
+                } else if (tinyIcon == null && !mediaHandler.isImage()) {
+                  tinyIcon = mediaHandler.getTinyIcon();
+                  iconAlt = mediaHandler.getIconAlt();
+                }
+            }
+          }
+          //it only has image(s)
+          if (tinyIcon == null) {
+            tinyIcon = MirConfig.getProp("Producer.Icon.TinyImage");
+            iconAlt = "Image";
+          }
+
+        // uploadedMedia Entity list is empty.
+        // we only have text
+        } else {
+          tinyIcon = MirConfig.getProp("Producer.Icon.TinyText");
+          iconAlt = "Text";
+        }
+
+        try{
+          //mediaList = HTMLTemplateProcessor.makeSimpleList(upMediaEntityList);
+          contentHash = (SimpleHash)opList.get(i);
+          contentHash.put("tiny_icon", imageRoot+"/"+tinyIcon);
+          contentHash.put("icon_alt", iconAlt);
+        } catch (Exception e){}
+      }
+
+
         deliver(req, res, modelRoot, templateListString);
       } else  { // count = 1
         _showObject(theList.elementAt(0).getId(), req, res);
index 5e05196..10a0c89 100755 (executable)
@@ -29,7 +29,9 @@
                        <if entry.is_published!="0">F<else>-</if>
                        <if entry.is_html!="0">H<else>-</if>
                        </font></td>
-           <td><font face="Verdana, Arial, Helvetica, sans-serif" size="-1"><b>
+           <td><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">
+           <img alt=${entry.icon_alt} border="0" height="10" src="${entry.tiny_icon}" width="12"> 
+                       <b>
                        <font size="-2">${articletypeHash[entry.to_article_type]["name"]} -- </font><if entry.place>${entry.place}: </if>${entry.title}</b><br>
                        ${entry.creator}&nbsp;
                        <a href="${actionRoot}?module=Content&do=edit&id=${entry.id}&where=${where_encoded}&order=${order_encoded}&offset=${offset}">edit</a>