neue forms
[mir.git] / source / mir / media / MediaHandlerGeneric.java
index 1710c95..5cad443 100755 (executable)
@@ -35,9 +35,9 @@ import mir.storage.*;
 public class MediaHandlerGeneric implements MirMedia
 {
 
-    private String imageHost = MirConfig.getProp("Producer.Image.Host");
-    private static String imageRoot = MirConfig.getProp("Producer.ImageRoot");
-    private Logfile theLog = Logfile.getInstance(MirConfig.getProp("Home")+"log/media.log");
+    protected String imageHost = MirConfig.getProp("Producer.Image.Host");
+    protected String imageRoot = MirConfig.getProp("Producer.ImageRoot");
+    protected Logfile theLog = Logfile.getInstance(this.getClass().getName());
     public boolean set (byte[] uploadedData, Entity ent, Entity mediaTypeEnt ) {
         String ext = mediaTypeEnt.getValue("name");
         String dir = MirConfig.getProp("Producer.Media.Path");
@@ -46,20 +46,16 @@ public class MediaHandlerGeneric implements MirMedia
         String date = ent.getValue("date");
         String datePath = StringUtil.webdbDate2path(date);
         Integer size = new Integer(uploadedData.length);
-        //hack: make it a config option to use "dated" dirs
-        //we can't cause of stallman -mh
-        //if(FileUtil.write(dir+"/"+datePath+"/"+mediaFname, uploadedData)) {
-        if(FileUtil.write(dir+"/"+mediaFname, uploadedData)) {
+        if(FileUtil.write(dir+"/"+datePath+"/"+mediaFname, uploadedData)) {
+        //if(FileUtil.write(dir+"/"+mediaFname, uploadedData)) {
             //were done with the data, dereference.
             uploadedData=null;
             
             try {
                 ent.setValueForProperty("is_produced", "1");
                 ent.setValueForProperty("icon_is_produced", "1");
-                //hack: make it a config option to use "dated" dirs
-                //we can't cause of stallman -mh
-                //ent.setValueForProperty("publish_path",datePath+"/"+mediaFname);
-                ent.setValueForProperty("publish_path", mediaFname);
+                ent.setValueForProperty("publish_path",datePath+"/"+mediaFname);
+                //ent.setValueForProperty("publish_path", mediaFname);
                 ent.setValueForProperty("publish_server", mediaHost);
                 ent.setValueForProperty("size", size.toString());
                 ent.update();
@@ -129,9 +125,13 @@ public class MediaHandlerGeneric implements MirMedia
 
     public String getURL(Entity ent, Entity mediaTypeEnt)
     {
+      String stringSize = ent.getValue("size");
+      if (stringSize == null)
+        return null;
+      int size = Integer.parseInt(stringSize, 10)/1024;
       String title = ent.getValue("title")+
         " - "+mediaTypeEnt.getValue("name")+" "+
-        ent.getValue("size")+" Bytes";
+        size+" KB";
       return StringUtil.createURLLinks(ent.getValue("publish_server")+"/"+
         ent.getValue("publish_path"), title, imageRoot, getBigIcon());
     }