Search in sources :

Example 51 with Select

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);
}
Also used : Select(db.Select) Person(app.Person)

Example 52 with Select

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();
}
Also used : HTMLWriter(web.HTMLWriter) Select(db.Select)

Example 53 with Select

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;
}
Also used : Select(db.Select) File(java.io.File)

Example 54 with Select

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);
}
Also used : Options(db.Options) JDBCTable(db.JDBCTable) Select(db.Select) Request(app.Request) JDBCColumn(db.JDBCColumn) Page(app.Page)

Example 55 with Select

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;
}
Also used : Head(web.Head) Select(db.Select) BufferedReader(java.io.BufferedReader) FileReader(java.io.FileReader) FileColumn(db.column.FileColumn) File(java.io.File) Rows(db.Rows)

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