09f838313664a8f48403e49d3c3e8b791ed95aa1
[mir.git] / source / mircoders / producer / ProducerFeature.java
1 package mircoders.producer;
2
3 import java.io.*;
4 import java.lang.*;
5 import java.util.*;
6 import java.sql.*;
7
8 import freemarker.template.*;
9
10 import mir.misc.*;
11 import mir.storage.*;
12 import mir.module.*;
13 import mir.entity.*;
14
15 import mircoders.module.*;
16 import mircoders.entity.*;
17 import mircoders.storage.*;
18
19
20
21 public class ProducerFeature extends ProducerList {
22
23   public void handle(PrintWriter htmlout, EntityUsers user, boolean force, boolean sync)
24                 throws StorageObjectException, ModuleException {
25                 orderBy="date desc";
26                 listTemplate = MirConfig.getProp("Producer.FeatureList.Template");
27                 EntityList featureEntityList = featureModule.getByWhereClause("","title", -1);
28                 SimpleList featureList = HTMLTemplateProcessor.makeSimpleList(featureEntityList);
29                 boolean first=true;
30                 whereClause="is_published!=true AND to_article_type=0 AND id IN (";
31                 for(int i=0; i < featureEntityList.size(); i++){
32
33             try {
34                 EntityTopics currentTopic = (EntityTopics)featureEntityList.elementAt(i);
35                 EntityList contentEntityList = DatabaseContentToTopics.getInstance().getContent(currentTopic);
36                 if(first==false) {
37                     whereClause += ",";
38                 }
39                 whereClause += currentTopic.getId();
40                 fileDesc = currentTopic.getValue("filename").trim();
41                 setAdditional("topic",currentTopic);
42             } catch (Exception e) {
43                 logHTML(htmlout, "problem with feature skipping");
44             }
45
46                         first = false;
47                 }
48                 whereClause += ")";
49                 handleIt(htmlout,user,force);
50         }
51
52   public static void main(String argv[]){
53     try {
54       new ProducerOpenPosting().handle(new PrintWriter(System.out), null,false, false);
55     } catch(Exception e) {
56       System.err.println(e.toString());
57     }
58   }
59 }