use of db.Select in project common by zenlunatics.
the class Comments method deleteItem.
// --------------------------------------------------------------------------
private void deleteItem(int id, Request request) {
Person user = request.getUser();
String[] item = request.db.readRow(new Select("_owner_").from(m_name).whereIdEquals(id));
if (item == null)
return;
if (user.getId() == Integer.parseInt(item[0]) || request.userIsAdmin())
request.db.deleteById(m_name, id);
}
use of db.Select in project common by zenlunatics.
the class Comments method writeEditForm.
// --------------------------------------------------------------------------
public void writeEditForm(String comment_id, Request request) throws IOException {
HTMLWriter writer = request.writer;
writer.write("<div class=\"status\">");
writer.setAttribute("rows", "2");
writer.textAreaExpanding("post", "width:100%", request.db.lookupString(new Select("comment").from(m_name).whereIdEquals(comment_id)), false);
writer.scriptOpen();
writer.write("Dialog.top().add_ok('Save',function(){" + "var v=$('post').value;if(!v)return;XHR_post(context+'/").write(m_name).write("/").write(comment_id).write("/update','comment='+encodeURIComponent(v)");
if (m_provider != null) {
int item_id = request.db.lookupInt(new Select(m_items_table + "_id").from(m_name).whereIdEquals(comment_id), -1);
int news_id = request.db.lookupInt(new Select("id").from("news").where("provider='" + m_provider.getName() + "' AND item_id=" + item_id), -1);
writer.write(",function(){replace_news_item(").write(news_id).write(")}");
}
writer.write(")});");
writer.scriptClose();
}
use of db.Select in project common by zenlunatics.
the class PictureColumn method beforeDelete.
// --------------------------------------------------------------------------
@Override
public boolean beforeDelete(StringBuilder where, Request request) {
int id = Integer.parseInt(where.substring(where.indexOf("=") + 1));
String file_name = request.db.lookupString(new Select(m_name).from(m_table).whereIdEquals(id));
if (file_name == null || file_name.length() == 0)
return true;
if (request.db.countRows(m_table, m_name + "='" + DBConnection.escape(file_name) + "'") > 1)
return true;
new File(getDirectory(id, request).append(file_name).toString()).delete();
if (m_thumb_size > 0)
new File(getDirectory(id, request).append("thumbs").append(file_name).toString()).delete();
return true;
}
use of db.Select in project common by zenlunatics.
the class Documents method init.
// --------------------------------------------------------------------------
@Override
public void init(DBConnection db) {
JDBCTable table_def = new JDBCTable().add(new JDBCColumn("filename", Types.VARCHAR, 60)).add(new JDBCColumn("title", Types.VARCHAR, 60)).add(new JDBCColumn("type", Types.VARCHAR)).add(new JDBCColumn("url", Types.BOOLEAN)).add(new JDBCColumn("_timestamp_", Types.TIMESTAMP));
if (m_extra_columns != null)
for (JDBCColumn column : m_extra_columns) table_def.add(column);
addColumns(table_def);
db.getTable("documents", true).createMissingColumns(table_def, db).dropExtraColumns(table_def, db);
db.createTable("documents_types", "text VARCHAR");
m_site.addObjects(new Options(new Select("text").from("documents_types").orderBy("text"), true, m_site).setAllowEditing(true));
Roles.add("docs", m_site, db);
m_site.addUserDropdownItem(new Page("Edit Documents", m_site) {
@Override
public void write(Request request) throws IOException {
request.site.writePageOpen("Edit Documents", request);
request.site.newView("edit documents", request).writeComponent();
request.writer.br();
request.close();
}
}.setRole("docs"), db);
}
use of db.Select in project common by zenlunatics.
the class Documents method doGet.
// --------------------------------------------------------------------------
@Override
public boolean doGet(Request request) throws IOException {
if (super.doGet(request))
return true;
int key_value = request.getInt("db_key_value", 0);
if (key_value != 0) {
Rows data = new Rows(request.db).select(new Select("*").from("documents").whereIdEquals(key_value));
if (data.next()) {
new Head(request, data.getString("title")).styleSheet("admin").close();
FileColumn column = (FileColumn) request.site.getViewDef("documents", request.db).getColumn("filename");
File file = column.getFile(data, request);
BufferedReader br = new BufferedReader(new FileReader(file));
String line = br.readLine();
while (line != null) {
request.writer.write(line);
line = br.readLine();
}
br.close();
} else
request.writer.write("document not found");
data.close();
} else {
request.site.writePageOpen("Documents", request);
request.site.newView("documents", request).writeComponent();
}
request.close();
return true;
}
Aggregations