use of db.NameValuePairs in project common by zenlunatics.
the class Files method upload.
// --------------------------------------------------------------------------
private void upload(Request request) throws IOException {
NameValuePairs name_value_pairs = new NameValuePairs();
String filename = request.getParameter("filename");
int parent = request.getInt("parent", 0);
if (parent != 0)
name_value_pairs.set("parent", parent);
name_value_pairs.set("filename", filename);
name_value_pairs.set("folder", false);
name_value_pairs.set("title", request);
int document_id = request.site.getViewDef(m_table, request.db).insert(name_value_pairs, request);
if (document_id != -1) {
FilePathStringBuilder dir = request.site.getBaseFilePath();
if (m_root_dir.length() > 0)
dir.append(m_root_dir);
if (parent != 0)
dir.append(parent);
try {
String d = dir.toString();
new File(d).mkdirs();
dir.append(filename);
String file_path = dir.toString();
request.getFileItem("filename").write(new File(file_path));
if (filename.endsWith(".jpg") || filename.endsWith(".JPG"))
Images.makeThumb(Images.load(file_path), d, filename, 100, true);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
request.writer.write("$('c_" + getName() + "').replace()");
}
use of db.NameValuePairs in project common by zenlunatics.
the class EMailForm method doPost.
// --------------------------------------------------------------------
@Override
public boolean doPost(Request request) throws IOException {
if (super.doPost(request))
return true;
String[] recipients = request.request.getParameterValues("email");
String cmd = request.getParameter("cmd");
if ("save".equals(cmd)) {
String list = request.getParameter("list");
NameValuePairs nvp = new NameValuePairs();
nvp.set("name", list);
nvp.set("people_id", request.getUser().getId());
StringBuilder people_ids = new StringBuilder();
for (String recipient : recipients) {
if (people_ids.length() > 0)
people_ids.append(',');
people_ids.append(request.db.lookupString("id", "people", "email='" + recipient + "'"));
}
nvp.set("people_ids", people_ids.toString());
request.db.updateOrInsert("people_mail_lists", nvp, "people_id=" + request.getUser().getId() + " AND name='" + DBConnection.escape(list) + "'");
} else if (recipients != null) {
Mail mail = new Mail(request.site);
String message = request.getParameter("message");
String reply_to = request.getParameter("reply_to");
if (reply_to != null) {
message = "<div style=\"background-color:#eee;border:solid 1px #ccc;margin-bottom:10px;padding:5px;width:100%;\">Sent by " + request.getUser().getName() + " from the " + request.site.getDisplayName() + " website.</div>" + message;
mail.setFrom("webmail@" + request.site.getDomain());
mail.setReplyTo(reply_to);
mail.setSubject("[" + request.db.lookupString("first,last", "people", "email='" + reply_to + "'") + "]" + request.getParameter("subject"));
} else {
mail.setFrom(request.getParameter("from"));
mail.setSubject(request.getParameter("subject"));
}
mail.setContent(message, true);
boolean individually = "1".equals(request.getParameter("individually"));
if (individually)
for (String recipient : recipients) mail.send(recipient);
else
mail.send(recipients);
if (request.db.getTable(m_table).getColumn("sent") != null)
for (String recipient : recipients) request.db.update(m_table, "sent=TRUE", "email='" + recipient + "'");
request.writer.write("dialog_alert('','mail sent')");
} else
request.writer.write("dialog_alert('','please select recipients for your email')");
return false;
}
use of db.NameValuePairs in project common by zenlunatics.
the class Meetings method beforeUpdate.
// --------------------------------------------------------------------------
@Override
public boolean beforeUpdate(int id, NameValuePairs name_value_pairs, Map<String, Object> previous_values, Request request) {
String many_days = name_value_pairs.getString("many_days");
if (many_days.length() > 0) {
NameValuePairs nvp = new NameValuePairs();
nvp.set("days", many_days);
nvp.set("meetings_id", id);
nvp.set("people_id", request.getUser().getId());
request.db.updateOrInsert("meeting_people", nvp, "meetings_id=" + id + " AND people_id=" + request.getUser().getId());
}
name_value_pairs.remove("many_days");
return true;
}
use of db.NameValuePairs in project common by zenlunatics.
the class Pictures method _newViewDef.
// --------------------------------------------------------------------------
@Override
public ViewDef _newViewDef(String name, Site site) {
if (name.equals(m_table)) {
ViewDef view_def = new ViewDef(name) {
@Override
public View newView(Request p) {
return new PicturesView(this, m_where, p);
}
@Override
public void afterInsert(NameValuePairs name_value_pairs, int row_id, Request request) {
ViewState.setFilter(m_name, null, request);
super.afterInsert(name_value_pairs, row_id, request);
}
};
view_def.setAccessPolicy(new RecordOwnerAccessPolicy().add().delete().edit());
view_def.setCenter(false);
view_def.setDefaultOrderBy("_timestamp_ DESC");
view_def.setDialogModes(View.Mode.ADD_FORM, View.Mode.EDIT_FORM);
view_def.setOnDelete("document.location=document.location");
view_def.setOnSuccessAfter("XHR_post(context+'/db','db_cmd=clear_filter&db_view_def=pictures',function(){var p=$('c_pictures');if(p)p.replace();}.bind(this))");
view_def.setRecordName("Picture");
view_def.setRowWindowSize(25);
view_def.setTimestampRecords(true);
ArrayList<String> columns = new ArrayList<String>();
columns.add("file");
columns.add("caption");
columns.add("tags");
for (JDBCColumn column : m_additional_columns) columns.add(column.name);
view_def.setColumnNamesForm(columns.toArray(new String[columns.size()]));
view_def.setColumnNamesFormTable(new String[] { "caption" });
PictureColumn picture_column = new PictureColumn("file", view_def, m_table, m_thumb_size, 1024).setSizeIsMaxSide(false);
if (m_base_file_path != null)
picture_column.setBaseFilePath(m_base_file_path);
view_def.setColumn(picture_column.setGenerateFileNames(true).setIsRequired(true));
view_def.setColumn(new TagsColumn("tags", "pictures", view_def));
view_def.setColumn(new LookupColumn("_owner_", "people", "first,last").setOnClick("XHR_post(context+'/ViewStates/pictures','filter=_owner_=", "',function(){$('c_pictures').replace(context + '/Views/pictures?db_mode=" + View.Mode.LIST + "');Gallery.close();})"));
view_def.addRelationshipDef(new ManyToMany(m_table + "_tags", m_table + "_" + m_table + "_tags", "tag").setManyTableColumn("tag").setShowOnForm(false));
view_def.getViewTheme().setDeleteImg("delete.png").setEditImg("pencil.png");
return addHooks(view_def);
}
if (name.equals(m_table + " add"))
return _newViewDef(m_table, site).setFrom(m_table).setName(m_table + " add").setOnSuccessAfter(null);
if (name.equals(m_table + " owners"))
return new ViewDef(name).setAccessPolicy(new AccessPolicy()).setFrom(m_table + " JOIN people ON people.id=" + m_table + "._owner_").setDefaultOrderBy("first,last").setShowColumnHeads(false).setShowHead(false).setCenter(false).setColumnNamesTable(new String[] { "_owner_" }).setColumn(new Column("_owner_").setValueRenderer(new LinkValueRenderer().setHrefColumn("_owner_").setOnClick("XHR_post(context+'/ViewStates/pictures','filter=_owner_=", "',function(){$('c_pictures').replace(context + '/Views/pictures?db_mode=" + View.Mode.LIST + "');})").setValueRenderer(new MultiColumnRenderer(new String[] { "first", "last" }, true, false)), false));
if (// for nav list
name.equals(m_table + " tags"))
return new ViewDef(name) {
@Override
public View newView(Request request) {
return super.newView(request).setSelectDistinct(true, "tag");
}
}.setAccessPolicy(new AccessPolicy()).setDefaultOrderBy("lower(tag)").setFrom(m_table + "_tags").setRecordName("Tag").setShowColumnHeads(false).setShowHead(false).setCenter(false).setColumnNamesTable(new String[] { "tag" }).setColumn(new Column("tag").setValueRenderer(new LinkValueRenderer().setHrefColumn("id").setOnClick("XHR_post(context+'/ViewStates/pictures','filter=pictures_tags_id=", "',function(){$('c_pictures').replace(context + '/Views/pictures?db_mode=" + View.Mode.LIST + "');})").setTextColumn("tag"), false));
if (name.equals(m_table + "_tags"))
return new ViewDef(name).setDefaultOrderBy("lower(tag)").setRecordName("Tag").setColumn(new Column("tag").setValueRenderer(new LinkValueRenderer().setHrefColumn("id").setOnClick("XHR_post(context+'/ViewStates/pictures','filter=pictures_tags_id=", "',function(){$('c_pictures').replace(context + '/Views/pictures?db_mode=" + View.Mode.LIST + "');Gallery.close();})").setTextColumn("tag"), false));
return null;
}
use of db.NameValuePairs in project common by zenlunatics.
the class News method rebuild.
// --------------------------------------------------------------------------
@AdminTask
public void rebuild(String provider_name, Request request) throws IOException {
NewsProvider provider = getProvider(provider_name);
if (provider == null) {
request.writer.write("provider " + provider_name + " not found");
return;
}
request.db.delete("news", "provider='" + provider_name + "'");
try {
ResultSet rs = request.db.select(new Select("*").from(provider.getTable()));
NameValuePairs name_value_pairs = new NameValuePairs();
while (rs.next()) {
name_value_pairs.clear();
name_value_pairs.set("provider", provider_name);
name_value_pairs.set("item_id", rs.getInt("id"));
name_value_pairs.set("_owner_", rs.getInt("_owner_"));
String timestamp = rs.getString("_timestamp_");
name_value_pairs.set("_timestamp_", timestamp);
name_value_pairs.set("last_update", timestamp);
for (JDBCColumn column : provider.m_duplicate_columns) name_value_pairs.set(column.name, rs.getString(column.name));
request.db.insert("news", name_value_pairs);
}
rs.getStatement().close();
} catch (SQLException e) {
request.abort(e);
}
}
Aggregations