import java.io.*;
import java.lang.*;
+import java.lang.reflect.*;
import java.util.*;
import freemarker.template.*;
import mir.misc.*;
+import mir.media.*;
import mir.storage.*;
import mir.module.*;
import mir.entity.*;
EntityList batchEntityList;
HashMap currentContentValues;
SimpleHash imageHash = new SimpleHash();
- EntityGruppen userEntity=null;
+ EntityUsers userEntity=null;
+ Entity mediaType;
+ Entity upMedia;
+ SimpleHash upMediaSimpleHash;
+ Class mediaHandlerClass;
+ Class mediaStorageClass;
+ String mediaStorageName;
+ String mediaHandlerName=null;
+ MirMedia mediaHandler=null;
+ Database mediaStorage=null;
//create the freemarker-model
SimpleHash mergeData = HTMLTemplateProcessor.makeSimpleHash(currentContentValues);
- // get the images
- EntityList currentMedia = DatabaseContentToMedia.getInstance().getImages(currentContent);
- if (currentMedia!=null && currentMedia.getCount()>=1) {
- SimpleList mediaList = HTMLTemplateProcessor.makeSimpleList(currentMedia);
+ // get the uploaded media
+ EntityList currentMediaList = DatabaseContentToMedia.getInstance().getUploadedMedia(currentContent);
+ if (currentMediaList!=null && currentMediaList.getCount()>=1) {
+ SimpleList mediaList = new SimpleList();
+ for (int n=0; n < currentMediaList.size();n++) {
+ upMedia = currentMediaList.elementAt(n);
+ upMediaSimpleHash = HTMLTemplateProcessor.makeSimpleHash(upMedia);
+ mediaType = ((EntityMedia)upMedia).getMediaType();
+ //in case it's a non-existant to_media_type entry..
+ if (mediaType != null) {
+ try {
+ mediaHandlerName = mediaType.getValue("classname");
+ mediaStorageName = mediaType.getValue("tablename");
+ mediaStorageClass = Class.forName("mircoders.storage.Database"+mediaStorageName);
+ mediaHandlerClass = Class.forName("mir.media.MediaHandler"+mediaHandlerName);
+ mediaHandler = (MirMedia)mediaHandlerClass.newInstance();
+ Method m = mediaStorageClass.getMethod("getInstance", null);
+ mediaStorage = (Database)m.invoke(null, null);
+ //we most likely need further info
+ upMedia = mediaStorage.selectById(upMedia.getId());
+ } catch (Exception e) {
+ theLog.printError("ProducerStartpage:problem in reflection: "+mediaHandlerName);
+ } //end catch
+ upMediaSimpleHash.put("url", mediaHandler.getURL(upMedia, mediaType));
+ upMediaSimpleHash.put("type",mediaType.getValue("classname"));
+ mediaList.add(upMediaSimpleHash);
+ } //end if media_type != null
+ } //end for
mergeData.put("to_media", mediaList);
- }
+ } //end if currentMediaList != null
// get the comments for the article
- mergeData.put("comments", currentContent.getComments());
+ // and html-ize them
+ SimpleList commentList = currentContent.getComments();
+ try{
+ if(commentList.isEmpty()==false){
+ while(commentList.hasNext()){
+ SimpleHash comment = (SimpleHash)commentList.next();
+ SimpleScalar commentText = (SimpleScalar)comment.get("description");
+ comment.put("description",new SimpleScalar(StringUtil.createHTML(commentText.getAsString(),imageRoot,mailLinkName,extLinkName,intLinkName)));
+ }
+ }
+ } catch(Exception e){}
+ mergeData.put("comments", commentList);
// get the topics of this article
mergeData.put("topics",HTMLTemplateProcessor.makeSimpleList(DatabaseContentToTopics.getInstance().getTopics(currentContent)));
sessionConnectTime = new java.util.Date().getTime() - startTime;
if (retVal == true && !"1".equals(currentContent.getValue("is_produced")))
currentContent.setProduced(true);
- }
+ }//while
if (batchEntityList.hasNextBatch()){
batchEntityList = contentModule.getContent(whereClause, orderBy, batchEntityList.getNextBatch(),contentBatchsize, userEntity);
sessionConnectTime = new java.util.Date().getTime() - startTime;
logHTML(htmlout, "Producer.Content finished: " + sessionConnectTime + " ms.");
}
-
+
}
+