Search in sources :

Example 16 with Select

use of db.Select in project common by zenlunatics.

the class MailLists method doGet.

// --------------------------------------------------------------------------
@Override
public boolean doGet(Request request) throws IOException {
    if ("Mail Lists".equals(request.getPathSegment(1))) {
        writeSettingsForm(new String[] { "m_add_list_name_to_subject", "m_add_sender_to_from", "m_insert_headers", "m_show_reply_links_in_archives" }, false, request);
        return true;
    }
    int ml_id = request.getPathSegmentInt(1);
    String two = request.getPathSegment(2);
    request.getPathSegment(3);
    if ("archive".equals(two)) {
        writeArchiveViewer(ml_id, request);
        return true;
    }
    if ("headers".equals(two)) {
        int year = request.getPathSegmentInt(3);
        int month = request.getPathSegmentInt(4);
        ViewState.setFilter("ml_" + ml_id, "arrived>='" + month + "/1/" + year + "' AND arrived<'" + (month == 12 ? 1 : month + 1) + "/1/" + (month == 12 ? year + 1 : year) + "'", request);
        request.site.newView("ml_" + ml_id, request).setSelectColumnNamesTable().writeComponent();
        return true;
    }
    if ("search".equals(two)) {
        String search = request.getParameter("search");
        if (search.length() == 0)
            request.writer.write("no words to search entered");
        else {
            boolean all = "all".equals(request.getParameter("words"));
            boolean subject = request.getParameter("subject") != null;
            boolean message = request.getParameter("message") != null;
            if (!subject && !message)
                request.writer.write("you must select \"search subject\" or \"search message\" or both");
            else
                new MailList(ml_id, request.site, request.db).search(search, all, subject, message, request);
        }
        return true;
    }
    request.response.setContentType("text/html");
    String cmd = request.getParameter("cmd");
    try {
        if (cmd == null) {
            request.site.writePageOpen("", request);
            MailHandler mail_handler = getMailHandler(ml_id, request.db);
            boolean subscribed = mail_handler != null ? mail_handler.isSubscribed(request.getUser(), request) : request.db.exists("mail_lists_people", "mail_lists_id=" + ml_id + " AND people_id=" + request.getUser().getId());
            if (!request.db.lookupBoolean(new Select("archives_public").from("mail_lists").whereIdEquals(ml_id)) && !subscribed)
                request.writer.write("Archives for this list are private to the list subscribers");
            else
                writeArchiveViewer(ml_id, request);
            request.close();
        } else if (cmd.equals("get_file")) {
            MailList mail_list = new MailList(ml_id, request.site, request.db);
            try {
                String text = mail_list.loadMessage(request.getInt("message", -1), request.db);
                if (text == null)
                    request.writer.write("Message file not found.");
                else {
                    InputStream is = new ByteArrayInputStream(text.getBytes());
                    MimeMessage message = new MimeMessage(getSession(), is);
                    String cid = request.getParameter("cid");
                    if (cid != null) {
                        MimeMultipart multipart = (MimeMultipart) message.getContent();
                        WebMail.writeFile(multipart.getBodyPart("<" + cid + ">"), request);
                    } else {
                        String[] indexes = request.getParameter("path").split(",");
                        int[] path = new int[indexes.length];
                        for (int j = 0; j < indexes.length; j++) path[j] = Integer.parseInt(indexes[j]);
                        WebMail.writeFile(message, path, 0, request);
                    }
                }
            } catch (MessagingException e) {
                sendError(mail_list.getName(), "doGet", null, null, e);
            } catch (SQLException e) {
                sendError(mail_list.getName(), "doGet", null, null, e);
            }
        } else if (cmd.equals("get_message"))
            writeMessage(request.getParameter("list"), request.getInt("db_key_value", -1), request);
        else if (cmd.equals("reply_list"))
            writeReplyForm(request.getParameter("list"), request.getInt("db_key_value", -1), false, request);
        else if (cmd.equals("reply_sender"))
            writeReplyForm(request.getParameter("list"), request.getInt("db_key_value", -1), true, request);
        else if (cmd.equals("send"))
            new Mail(request.site).send(request.getParameter("from"), request.getParameter("to"), request.getParameter("subject"), request.getParameter("message"), true);
    } catch (IOException e) {
        System.out.println(e);
    }
    return true;
}
Also used : MessagingException(javax.mail.MessagingException) SQLException(java.sql.SQLException) ByteArrayInputStream(java.io.ByteArrayInputStream) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) IOException(java.io.IOException) ByteArrayInputStream(java.io.ByteArrayInputStream) MimeMessage(javax.mail.internet.MimeMessage) MimeMultipart(javax.mail.internet.MimeMultipart) Select(db.Select)

Example 17 with Select

use of db.Select in project common by zenlunatics.

the class FileColumn method getFile.

// --------------------------------------------------------------------------
public File getFile(int id, Request request) {
    String filename = request.db.lookupString(new Select(m_name).from(m_table).whereIdEquals(id));
    if (filename == null)
        return null;
    FilePathStringBuilder path = getDirectory(id, request);
    path.append(filename);
    return new File(path.toString());
}
Also used : Select(db.Select) FilePathStringBuilder(web.FilePathStringBuilder) File(java.io.File)

Example 18 with Select

use of db.Select in project common by zenlunatics.

the class FileColumn method writeActionSelect.

// --------------------------------------------------------------------------
private void writeActionSelect(ViewDef view_def, Mode mode, String dir, Request request) throws IOException {
    List<String> actions = new ArrayList<String>();
    HTMLWriter writer = request.writer;
    if (m_allow_editing)
        actions.add("create a new file");
    actions.add("upload a file");
    if (m_allow_choosing || request.userIsAdministrator())
        actions.add("select a file on the server");
    new web.Select("db_actions", actions).setOnChange("this.fcs.change()").write(request);
    writer.scriptOpen();
    writer.write("var e=$('db_actions');e.fcs=new FileColumnSelect(e,'");
    writer.write(view_def.getName());
    writer.write("','");
    writer.write(m_name);
    writer.write("',{");
    boolean has_options = false;
    if (view_def.useDialogFor(mode)) {
        writer.write("in_dialog:true");
        has_options = true;
    }
    if (dir != null) {
        if (has_options)
            writer.write(',');
        writer.write("dir_column:'");
        writer.write(m_dir_column);
        writer.write("',dir:'");
        writer.write(dir);
        writer.write('\'');
    }
    writer.write("});e.fcs.change();");
    writer.scriptClose();
}
Also used : HTMLWriter(web.HTMLWriter) ArrayList(java.util.ArrayList) Select(db.Select)

Example 19 with Select

use of db.Select in project common by zenlunatics.

the class FileColumn method beforeUpdate.

// --------------------------------------------------------------------------
@Override
public boolean beforeUpdate(int id, NameValuePairs name_value_pairs, Map<String, Object> previous_values, Request request) {
    if (name_value_pairs.containsName(m_name)) {
        String dir = null;
        if (m_dir_column != null)
            if (m_dir_column.equals("id"))
                dir = Integer.toString(id);
            else
                dir = name_value_pairs.getString(m_dir_column);
        String old_name = request.db.lookupString(new Select(m_name).from(m_table).whereIdEquals(id));
        if (old_name == null)
            writeTextFile(name_value_pairs, dir, true, request.site);
        else {
            writeTextFile(name_value_pairs, dir, !old_name.equals(name_value_pairs.getString(m_name)), request.site);
            if (!old_name.equals(name_value_pairs.getString(m_name)))
                deleteOldFile(name_value_pairs.getString(m_name), id, request);
        }
    }
    if (m_dir_column != null) {
        int new_dir = name_value_pairs.getInt(m_dir_column, 0);
        int old_dir = request.db.lookupInt(new Select(m_dir_column).from(m_table).whereIdEquals(id), 0);
        if (new_dir != old_dir) {
            String filename = request.db.lookupString(new Select(m_name).from(m_table).whereIdEquals(id));
            FilePathStringBuilder old_path = getBaseFilePath(request.site);
            if (old_dir != 0)
                old_path.append(old_dir);
            old_path.append(filename);
            FilePathStringBuilder new_path = getBaseFilePath(request.site);
            if (new_dir != 0)
                new_path.append(new_dir);
            new_path.append(filename);
            new File(old_path.toString()).renameTo(new File(new_path.toString()));
        }
    }
    return true;
}
Also used : Select(db.Select) FilePathStringBuilder(web.FilePathStringBuilder) File(java.io.File)

Example 20 with Select

use of db.Select in project common by zenlunatics.

the class Documents method writeItem.

// --------------------------------------------------------------------------
/**
 * @throws IOException
 */
@Override
public void writeItem(int item_id, Request request) throws IOException {
    FileColumn file_column = (FileColumn) request.site.getViewDef("documents", request.db).getColumn("filename");
    Rows data = new Rows(request.db).select(new Select("*").from("documents").whereIdEquals(item_id));
    if (data.next())
        file_column.writeValue(data, request);
    data.close();
}
Also used : Select(db.Select) FileColumn(db.column.FileColumn) 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