Search in sources :

Example 31 with Select

use of db.Select in project common by zenlunatics.

the class SiteMenu method init.

// --------------------------------------------------------------------------
@Override
public void init(DBConnection db) {
    JDBCTable jdbc_table = new JDBCTable().add(new JDBCColumn("name", Types.VARCHAR, 30)).add(new JDBCColumn("_order_", Types.INTEGER));
    db.getTable("menu").dropExtraColumns(jdbc_table, db).createMissingColumns(jdbc_table, db);
    jdbc_table = new JDBCTable().add(new JDBCColumn("people")).add(new JDBCColumn("name", Types.VARCHAR, 30)).add(new JDBCColumn("_order_", Types.INTEGER));
    db.getTable("menu_items").dropExtraColumns(jdbc_table, db).createMissingColumns(jdbc_table, db);
    m_menu = new DBObjects<MenuItem>(new Select("*").from("menu").orderBy("_order_"), MenuItem.class, m_site);
    // so that the UpdateHook calls get called on reorder
    m_site.addObjects(m_menu);
    Pages pages = (Pages) m_site.getModule("Pages");
    pages.add(new Page("Other", "Other"), db);
    ViewDef view_def = m_site.getViewDef("pages", db);
    view_def.addDeleteHook(this).addUpdateHook(this);
}
Also used : Pages(app.Pages) JDBCTable(db.JDBCTable) Select(db.Select) JDBCColumn(db.JDBCColumn) Page(app.Page) ViewDef(db.ViewDef)

Example 32 with Select

use of db.Select in project common by zenlunatics.

the class Comments method doPost.

// --------------------------------------------------------------------------
@Override
public boolean doPost(Request request) throws IOException {
    if (super.doPost(request))
        return true;
    String action = request.getPathSegment(-1);
    if ("add".equals(action)) {
        NameValuePairs name_value_pairs = new NameValuePairs();
        int item_id = request.getInt("item_id", 0);
        name_value_pairs.set(m_items_table + "_id", item_id);
        name_value_pairs.set("comment", request.getParameter("comment"));
        name_value_pairs.set("_owner_", request.getUser().getId());
        int id = request.db.insert(m_name, name_value_pairs);
        if (m_provider != null) {
            m_provider.updateNewsItem(item_id, false, name_value_pairs, request);
            m_provider.commentAdded(id);
        }
        return true;
    }
    if ("delete".equals(action)) {
        deleteItem(request.getPathSegmentInt(-2), request);
        return true;
    }
    if ("update".equals(action)) {
        NameValuePairs name_value_pairs = new NameValuePairs();
        name_value_pairs.set("comment", request.getParameter("comment"));
        name_value_pairs.set_timestamp_();
        int id = request.getPathSegmentInt(-2);
        request.db.update(m_name, name_value_pairs, id);
        int item_id = request.db.lookupInt(new Select(m_items_table + "_id").from(m_name).whereIdEquals(id), 0);
        if (m_provider != null)
            m_provider.updateNewsItem(item_id, false, name_value_pairs, request);
        return true;
    }
    return false;
}
Also used : NameValuePairs(db.NameValuePairs) Select(db.Select)

Example 33 with Select

use of db.Select in project common by zenlunatics.

the class Comments method writeComments2.

// --------------------------------------------------------------------------
private static void writeComments2(String table, int id, Request request) throws IOException {
    List<Object[]> rows = request.db.readRowsObjects(new Select(table + "_comments.id,comment,reply_to,_owner_,_timestamp_,people.id person,first,last,picture").from(table + "_comments LEFT JOIN people ON people.id=" + table + "_comments._owner_").where(table + "_id=" + id).orderBy("_timestamp_"));
    Calendar now = Calendar.getInstance();
    if (rows.size() > 0)
        for (Object[] values : rows) if (values[2] == null)
            writeComment(table, values, rows, 0, now, request);
    String uuid = writeCommentInput(table, id, request);
    if (uuid != null)
        request.writer.js("c_($('" + uuid + "')).scrollTo(0,9999);");
}
Also used : Calendar(java.util.Calendar) Select(db.Select)

Example 34 with Select

use of db.Select in project common by zenlunatics.

the class MailHandler method getRecipients.

// --------------------------------------------------------------------------
protected ArrayList<InternetAddress> getRecipients(int list_id, Site site, DBConnection db) {
    String address = null;
    ArrayList<InternetAddress> recipients = new ArrayList<InternetAddress>();
    try {
        List<String> addresses = db.readValues(new Select("email").from("people").where(getWhere() + " AND NOT EXISTS(SELECT 1 FROM mail_lists_digest WHERE mail_lists_digest.people_id=people.id AND mail_lists_digest.mail_lists_id=" + list_id + ")"));
        for (String a : addresses) {
            address = a;
            recipients.add(new InternetAddress(address));
        }
    } catch (AddressException e) {
        StringWriter sw = new StringWriter();
        e.printStackTrace(new PrintWriter(sw));
        new Mail(site).send("sean@sonoracohousing.com", "AddressException in MailHandler.getRecipients()", site.getDisplayName() + "\n" + address + "\n" + e.toString() + "\n" + sw.toString(), false);
    }
    if (recipients.size() == 0)
        site.log("No recipients for list " + list_id + "\n" + getWhere());
    return recipients;
}
Also used : InternetAddress(javax.mail.internet.InternetAddress) StringWriter(java.io.StringWriter) AddressException(javax.mail.internet.AddressException) ArrayList(java.util.ArrayList) Select(db.Select) PrintWriter(java.io.PrintWriter)

Example 35 with Select

use of db.Select in project common by zenlunatics.

the class MailList method moveMessagesToDisk.

// --------------------------------------------------------------------------
void moveMessagesToDisk(Request request) throws IOException {
    new File(m_dir).mkdirs();
    try {
        ResultSet rs = request.db.select(new Select("id").from("ml_" + m_id).where("message IS NOT NULL"));
        while (rs.next()) {
            int id = rs.getInt(1);
            BufferedWriter bw = new BufferedWriter(new FileWriter(m_dir + File.separator + id));
            bw.write(request.db.lookupString(new Select("message").from("ml_" + m_id).whereIdEquals(id)));
            bw.close();
        }
        rs.getStatement().close();
    } catch (SQLException e) {
        request.writer.write(e.toString());
    }
    request.db.update("ml_" + m_id, "message=NULL", null);
    request.db.update("mail_lists", "store_on_disk=true", m_id);
}
Also used : SQLException(java.sql.SQLException) FileWriter(java.io.FileWriter) ResultSet(java.sql.ResultSet) Select(db.Select) File(java.io.File) BufferedWriter(java.io.BufferedWriter)

Aggregations

Select (db.Select)67 SQLException (java.sql.SQLException)24 ResultSet (java.sql.ResultSet)21 HTMLWriter (web.HTMLWriter)18 ArrayList (java.util.ArrayList)9 JDBCColumn (db.JDBCColumn)7 File (java.io.File)7 IOException (java.io.IOException)6 MessagingException (javax.mail.MessagingException)6 MimeMessage (javax.mail.internet.MimeMessage)6 AdminTask (web.AdminTask)6 FilePathStringBuilder (web.FilePathStringBuilder)6 Person (app.Person)5 JDBCTable (db.JDBCTable)5 NameValuePairs (db.NameValuePairs)5 View (db.View)5 DBObject (db.DBObject)4 ViewDef (db.ViewDef)4 InternetAddress (javax.mail.internet.InternetAddress)4 Page (app.Page)3