import java.io.*;
import java.lang.*;
+import java.lang.reflect.*;
import java.util.*;
import freemarker.template.*;
private static String startPageTemplate = MirConfig.getProp("Producer.StartPage.Template");
private static int itemsPerPage = Integer.parseInt(MirConfig.getProp("Producer.StartPage.Items"));
private static int newsPerPage = Integer.parseInt(MirConfig.getProp("Producer.StartPage.Newswire"));
+ Entity mediaType;
+ Entity upMedia;
+ SimpleHash upMediaSimpleHash;
+ Class mediaHandlerClass;
+ Class mediaStorageClass;
+ String mediaStorageName;
+
+
public static void main(String argv[]){
try {
String currentMediaId;
EntityList upMediaEntityList;
EntityList imageEntityList;
+ EntityList currentMediaList;
Entity mediaType;
- EntityUploadedMedia uploadedMedia;
- Class mediaHandlerClass;
- MirMedia mediaHandler;
- String mediaHandlerName;
+ EntityMedia uploadedMedia;
+ Class mediaHandlerClass=null;
+ MirMedia mediaHandler=null;
+ String mediaHandlerName=null;
+ Database mediaStorage=null;
String tinyIcon;
String iconAlt;
Logfile theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("Producer.Logfile"));
entityList = topicsModule.getByWhereClause("","title",-1);
SimpleList topicList = HTMLTemplateProcessor.makeSimpleList(entityList);
+ // get the imclinks
+ entityList = linksImcsModule.getByWhereClause("", "sortpriority, title", -1);
+ SimpleList imcList = HTMLTemplateProcessor.makeSimpleList(entityList);
+
+ EntityList theParentList = linksImcsModule.getByWhereClause("to_parent_id=NULL", "sortpriority, title", -1);
+ SimpleList parentList = HTMLTemplateProcessor.makeSimpleList(theParentList);
+
// get the newswire
- whereClause="is_published=true AND to_article_type >= 1";
+ whereClause="is_published=true AND to_article_type = 1";
entityList = contentModule.getContent(whereClause,"date desc, webdb_create desc",0,newsPerPage);
SimpleList newsWireList = HTMLTemplateProcessor.makeSimpleList(entityList);
for (int i=0; i < entityList.size();i++) {
mediaHandler = null;
mediaHandlerName = null;
for (int n=0; n < upMediaEntityList.size();n++) {
- uploadedMedia = (EntityUploadedMedia)upMediaEntityList.elementAt(n);
+ uploadedMedia = (EntityMedia)upMediaEntityList.elementAt(n);
mediaType = uploadedMedia.getMediaType();
//must of had a non-existant to_media_type entry..
* 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
+ * another getId() that returns an Int and the VM
* will handle it transparantly? -mh
*/
try {
theLog.printError("ProducerStartpage:problem in reflection: "+mediaHandlerName);
}
- //the best media type
+ //the "best" media type to show
if (mediaHandler.isVideo()) {
tinyIcon = MirConfig.getProp("Producer.Icon.TinyVideo");
iconAlt = "Video";
tinyIcon = MirConfig.getProp("Producer.Icon.TinyText");
iconAlt = "Text";
}
-
+
try{
//mediaList = HTMLTemplateProcessor.makeSimpleList(upMediaEntityList);
contentHash = (SimpleHash)newsWireList.get(i);
entityList = contentModule.getContent(whereClause,"date desc, webdb_create desc",0,1);
}
SimpleList startItemList = HTMLTemplateProcessor.makeSimpleList(entityList);
- for (int i=0; i < entityList.size();i++) {
- currentContent = (EntityContent)entityList.elementAt(i);
- //fetching/setting the images
- imageEntityList = DatabaseContentToMedia.getInstance().getImages(currentContent);
- if (imageEntityList!=null && imageEntityList.getCount()>=1) {
+ for (int k=0; k < entityList.size();k++) {
+ currentContent = (EntityContent)entityList.elementAt(k);
+ //media to content
+ currentMediaList = DatabaseContentToMedia.getInstance().getUploadedMedia(currentContent);
+ if (currentMediaList!=null && currentMediaList.getCount()>=1) {
+ SimpleList mediaListAudio = new SimpleList();
+ SimpleList mediaListImages = new SimpleList();
+ SimpleList mediaListVideo = new SimpleList();
+ SimpleList mediaListOther = new SimpleList();
+ for (int n=0; n < currentMediaList.size();n++) {
+ upMedia = currentMediaList.elementAt(n);
+ upMediaSimpleHash = HTMLTemplateProcessor.makeSimpleHash(upMedia);
+ mediaType = ((EntityMedia)upMedia).getMediaType();
+ //must be 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("ProducerList: problem in reflection: "+mediaHandlerName);
+ } //end catch
+ upMediaSimpleHash.put("url", mediaHandler.getListView(upMedia, mediaType));
+ if (upMedia.getValue("is_published") == "1") {
+ if (mediaHandler.isImage()) {
+ mediaListImages.add(upMediaSimpleHash);
+ } else if (mediaHandler.isAudio()) {
+ mediaListAudio.add(upMediaSimpleHash);
+ } else if (mediaHandler.isVideo()) {
+ mediaListVideo.add(upMediaSimpleHash);
+ } else {
+ mediaListOther.add(upMediaSimpleHash);
+ }
+ } //end if is_published
+ } //end if media_type != null
+ } //end for
try{
- mediaList = HTMLTemplateProcessor.makeSimpleList(imageEntityList);
- contentHash = (SimpleHash)startItemList.get(i);
- contentHash.put("to_media", mediaList);
+ contentHash = (SimpleHash)startItemList.get(k);
+ contentHash.put("to_media_audio", mediaListAudio);
+ contentHash.put("to_media_images", mediaListImages);
+ contentHash.put("to_media_video", mediaListVideo);
+ contentHash.put("to_media_other", mediaListOther);
} catch (Exception e){}
- }
- }
+ } //end if currentMediaList != null
+ } //enf for featurueList.size..
// get the breaking news
// only the first 5
orderBy="date desc, webdb_create desc";
entityList = contentModule.getContent(whereClause, orderBy, 0, itemsPerPage);
SimpleList featureList = HTMLTemplateProcessor.makeSimpleList(entityList);
- for (int i=0; i < entityList.size();i++) {
- currentContent = (EntityContent)entityList.elementAt(i);
- //fetching/setting the images
- imageEntityList = DatabaseContentToMedia.getInstance().getImages(currentContent);
- if (imageEntityList!=null && imageEntityList.getCount()>=1) {
+ for (int k=0; k < entityList.size();k++) {
+ currentContent = (EntityContent)entityList.elementAt(k);
+ //media to content
+ currentMediaList = DatabaseContentToMedia.getInstance().getUploadedMedia(currentContent);
+ if (currentMediaList!=null && currentMediaList.getCount()>=1) {
+ SimpleList mediaListAudio = new SimpleList();
+ SimpleList mediaListImages = new SimpleList();
+ SimpleList mediaListVideo = new SimpleList();
+ SimpleList mediaListOther = new SimpleList();
+ for (int n=0; n < currentMediaList.size();n++) {
+ upMedia = currentMediaList.elementAt(n);
+ upMediaSimpleHash = HTMLTemplateProcessor.makeSimpleHash(upMedia);
+ mediaType = ((EntityMedia)upMedia).getMediaType();
+ //must be 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("ProducerList: problem in reflection: "+mediaHandlerName);
+ } //end catch
+ upMediaSimpleHash.put("url", mediaHandler.getListView(upMedia, mediaType));
+ if (upMedia.getValue("is_published") == "1") {
+ if (mediaHandler.isImage()) {
+ mediaListImages.add(upMediaSimpleHash);
+ } else if (mediaHandler.isAudio()) {
+ mediaListAudio.add(upMediaSimpleHash);
+ } else if (mediaHandler.isVideo()) {
+ mediaListVideo.add(upMediaSimpleHash);
+ } else {
+ mediaListOther.add(upMediaSimpleHash);
+ }
+ } //end if is_published
+ } //end if media_type != null
+ } //end for
try{
- mediaList = HTMLTemplateProcessor.makeSimpleList(imageEntityList);
- contentHash = (SimpleHash)featureList.get(i);
- contentHash.put("to_media", mediaList);
+ contentHash = (SimpleHash)featureList.get(k);
+ contentHash.put("to_media_audio", mediaListAudio);
+ contentHash.put("to_media_images", mediaListImages);
+ contentHash.put("to_media_video", mediaListVideo);
+ contentHash.put("to_media_other", mediaListOther);
} catch (Exception e){}
- }
- }
+ } //end if currentMediaList != null
+ } //enf for featurueList.size..
// Zusaetzlich Informationen
startPageModel = new SimpleHash();
startPageModel.put("breakingnews", breakingList);
startPageModel.put("topics", topicList);
+ startPageModel.put("imclist", imcList);
+ startPageModel.put("parentlist", parentList);
startPageModel.put("newswire", newsWireList);
startPageModel.put("startspecial", startItemList);
startPageModel.put("features", featureList);
htmlFileName = producerDocRoot + "/index.shtml";
-
+
produce(startPageTemplate, htmlFileName, startPageModel, htmlout);
// Finish