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);
}
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;
}
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);");
}
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;
}
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);
}
Aggregations