| Newsgroups |
gmane.comp.java.helma.cvs |
| Message-ID |
<[email protected]> |
Author: hannes
Date: 2008-12-17 16:01:33 +0100 (Wed, 17 Dec 2008)
New Revision: 9439
Modified:
apps/gobi/trunk/code/Page/Page.js
Log:
Remove duplicate actions, they're supposed to be in PageActions.js
Details at http://dev.helma.org/trac/helma/changeset/9439
Modified: apps/gobi/trunk/code/Page/Page.js
===================================================================
--- apps/gobi/trunk/code/Page/Page.js 2008-12-16 14:01:37 UTC (rev 9438)
+++ apps/gobi/trunk/code/Page/Page.js 2008-12-17 15:01:33 UTC (rev 9439)
@@ -118,681 +118,4 @@
return 0;
}
-//////////////////////////// actions////////////////////////////////
-function history_action() {
- var list = this.version_history.list().reverse();
- if (list.length == 0) {
- res.data.body = msg("history_no_versions");
- } else {
- res.push();
- Html.div({ style: "float: right;" },
- Html.A({ href: this.href("history.rss"), title: "RSS 2.0 feed for updates to this page" },
- Html.Img({ src: getStaticUrl() + "xmlbutton.gif", border: 0, width: 36, height: 14 })));
- for (var i in list) {
- var idx = list.length - i;
- var v1 = idx == 1 ? {body: ""} : list[parseInt(i)+1];
- var v2 = list[i];
- var author = v2.creator ? v2.creator : null;
- var versionUrl = this.href("history.diff")+"?v="+idx;
- res.write(msg("history_version_header", versionUrl, idx,
- author ? author.name : msg("history_anonymous"),
- v2.modifytime.format("dd. MMMM yyyy, HH:mm")));
- var form1 = this.getRenderedFormProperties(v1.formdata ? v1.getFormData() : {});
- var form2 = this.getRenderedFormProperties(v2.getFormData());
- diff2(v1.body, v2.body, form1, form2);
- }
- res.data.body = res.pop();
- }
- this.renderSkin("page");
-}
-
-function history_rss_action() {
- var list = this.version_history.list().reverse();
- var path = this.getPath();
- RssWriter.openChannel({link: this.href(), title: path,
- description: "Updates for Page " + path,
- pubDate: new Date()});
- for (var i = 0; i < list.length; i++) {
- if (i > 20)
- break;
- var idx = list.length - i;
- var v1 = idx == 1 ? {body: ""} : list[parseInt(i)+1];
- var v2 = list[i];
- var author = v2.creator ? v2.creator.name : "anonymous user";
- var link = this.href("history.diff") + "?v=" + idx;
- var title = "Version " + idx;
- var date = v2.modifytime;
- var form1 = this.getRenderedFormProperties(v1.formdata ? v1.getFormData() : {});
- var form2 = this.getRenderedFormProperties(v2.getFormData());
- res.push();
- diff2(v1.body, v2.body, form1, form2);
- var desc = res.pop();
- RssWriter.writeItem({title: title, link: link,
- description: desc, pubDate: date,
- author: author });
- }
- RssWriter.closeChannel();
-}
-
-function history_diff_action() {
- var versions = this.version_history;
- var v = parseInt(req.data.v);
- if (isNaN(v))
- v = versions.size();
- if (v <= 0 || v > versions.size()) {
- res.data.body = msg("history_no_versions");
- } else {
- var v1 = v == 1 ? {body: ""} : versions.get(v-2);
- var v2 = versions.get(v-1);
- if (this.checkAccess("manage") && req.data.deleteVersion && v2) {
- v2.remove();
- versions.removeChild(v2);
- res.message = msg("history_delete_confirm");
- res.redirect(this.href("history"));
- }
- if (this.checkAccess("edit") && req.data.revertVersion && v1) {
- this.updateFromPage(v1);
- this.addVersionInfo();
- res.message = msg("history_revert_confirm");
- res.redirect(this.href());
- }
- res.push();
- var prev = msg("history_previous_version");
- var next = msg("history_next_version");
- if (v > 1)
- Html.link({href: this.href("history.diff")+"?v="+(v-1)}, prev);
- else
- res.write(prev);
- res.write(" ");
- Html.link({href: this.href("history")}, msg("history_overview"));
- res.write(" ");
- if (v < versions.size())
- Html.link({href: this.href("history.diff")+"?v="+(v+1)}, next);
- else
- res.write(next);
- var author = v2.creator ?
- v2.creator.getHtmlLink({},{}) :
- msg("history_anonymous");
- var editDate = v2.modifytime.format("dd. MMMM yyyy, HH:mm");
- res.write(msg("history_version_header_2", v, author, editDate));
- var form1 = this.getRenderedFormProperties(v1.formdata ? v1.getFormData() : {});
- var form2 = this.getRenderedFormProperties(v2.getFormData());
- diff(v1.body, v2.body, form1, form2);
- res.write("<table><tr>");
- if (this.checkAccess("edit")) {
- res.write("<td valign='top'>");
- Html.form({onSubmit: "return confirm('"+msg("history_revert_ask")+"')"});
- Html.hidden({name: "v", value: v})
- Html.submit({name: "revertVersion", value: msg("history_revert_button")});
- Html.closeTag("form");
- res.write("</td>");
- }
- if (this.checkAccess("manage")) {
- res.write("<td valign='top'>");
- Html.form({onSubmit: "return confirm('"+msg("history_delete_ask")+"')"});
- Html.hidden({name: "v", value: v})
- Html.submit({name: "deleteVersion", value: msg("history_delete_button")});
- Html.closeTag("form");
- res.write("</td>");
- }
- res.write("</tr></table>");
- res.data.body = res.pop();
- }
- this.renderSkin("page");
-}
-
-function link_action() {
- res.push();
- Html.form();
- var table = new Html.TableWriter(2, {table: { cellpadding: 3}});
- table.write("Link type:");
- table.write(Html.Input({name: "type", value: req.data.type}));
- table.write("Target page:");
- table.write(Html.Input({name: "page", value: req.data.page}));
- table.write();
- table.write(Html.Submit({name: "create", value: "Create"}) + " " +
- Html.Submit({name: "remove", value: "Remove"}));
- table.close();
-
- if (req.data.page) {
- var page = this.getPage(req.data.page);
- var type = req.data.type ? req.data.type : "testing";
- if (page) {
- if (req.data.remove) {
- this.removeLink(type, "out", page);
- } else if (req.data.create) {
- this.addLink(type, "out", page);
- }
- }
- res.redirect(this.href("link"));
- }
-
- res.write("<h4>Outgoing links</h4>");
- var linkgroups = this.links_out.list();
- for (var i in linkgroups) {
- var group = linkgroups[i].list();
- for (var j in group) {
- var link = group[j];
- res.writeln(linkgroups[i].groupname+" -> "+
- link.target.getHtmlLink({}, {}));
- res.writeln("<br />");
- }
- }
- res.data.body = res.pop();
- this.renderSkin("page");
-}
-
-/**
- * Main page action.
- */
-function main_action() {
- res.data.header = stripTags(res.data.title);
- res.data.body = this.getBody();
- // if empty body a list of child pages may be handy
- if (!res.data.body || !res.data.body.trim()) {
- res.push();
- this.list_macro({});
- res.data.body = res.pop();
- }
- this.renderSkin("page");
-}
-
-/**
- * Create a new page.
- */
-function create_action() {
- var name = checkPageName(req.data.name);
- name = this.processChildPageName(name);
- var type = req.data.type ? req.data.type : this.getChildType();
- var it = this.newChildPage(name, type);
- name = it.name;
- if (req.data.save) {
- var p = req.data.parent != null ?
- path[req.data.parent] : this;
- if (!p)
- p = this;
- if (name && name.length > 0) {
- if (p.get(name)) {
- res.message = msg("create_page_exists", name);
- } else {
- it.creator = it.modifier = session.user;
- it.createtime = it.modifytime = new Date();
- p.addChildPage(it);
- it.readEditForm(true);
- it.addVersionInfo();
- res.message = msg("create_confirm", it.name);
- this.childCreated(it);
- pageCreated(it);
- res.redirect(it.href());
- }
- } else {
- res.message = msg("create_enter_name");
- }
- }
- if (req.isPost()) {
- it.readEditForm(false);
- if (req.data.preview) {
- res.data.body = it.renderSkinAsString("body#preview");
- res.data.body += it.renderSkinAsString("create");
- res.message = msg("preview_message")
- this.renderSkin("page");
- return;
- }
- }
- // if childform is set and user is not admin skip the type chooser
- res.meta.hideTypeChooser = (this.childform && (res.meta.roles & ADMIN) == 0);
- res.data.body = it.renderSkinAsString("create");
- this.renderSkin("page");
-}
-
-/**
- * Edit this page.
- */
-function edit_action() {
- // if user clicked "save" read form data
- if (req.isPost()) {
- if (req.data.save) {
- if(req.data.body){
- // replace break tags with newline for fckEditor workaround
- req.data.body = req.data.body.replace(/<br[^>]*>[\n\r]*/g, "\r\n");
- }
- // get old body and formdata to check if we need to create new version
- var oldBody = this.body;
- var oldFormdata = this.getFormData().clone();
- this.readEditForm(true);
- this.modifier = session.user;
- this.modifytime = new Date();
- // create version info
- if (getDiffs(oldBody, this.body) || objectDiff(oldFormdata, this.getFormData()))
- this.addVersionInfo();
- res.message = msg("edit_confirm");
- if (this.getParent())
- this.getParent().childUpdated(this);
- pageUpdated(this);
- res.redirect(this.href());
- } else if (req.data.preview) {
- var p = newInstance(this.name, this._prototype);
- p.readEditForm(false);
- res.data.body = p.renderSkinAsString("body#preview");
- res.data.body += p.renderSkinAsString("edit");
- this.renderSkin("page");
- return
- }
- }
- res.data.body = this.renderSkinAsString("edit");
- this.renderSkin("page");
-}
-
-/**
- * List this page.
- */
-function list_action() {
- if (req.data.save) {
- var order = req.data.weight_array;
- if (!order)
- order = [req.data.weight];
- var names = req.data.name_array;
- if (!names) names = [req.data.name];
- for (var i in order) {
- var pos = parseInt(order[i]);
- if (isNaN(pos)) pos = null;
- var it = this.get(names[i]);
- if (it) {
- it.weight = pos;
- }
- }
- // re-add the child nodes ordered by weight
- var list = this.listSorted("weight");
- for (var i in list) {
- if (list[i].weight) {
- this.addAt(i, list[i]);
- }
- }
- res.redirect(this.href("list")+"?sort=weight");
- }
-
- if (this.size() > 0)
- res.data.body = this.renderSkinAsString("list");
- else
- res.data.body = "<i>--- no child pages ---</i>"
- this.renderSkin("page");
-}
-
-/**
- * Delete this page.
- */
-function move_action() {
- if (!this.getParent()) {
- res.message = "Can't move root page!";
- res.redirect (this.href());
- }
- if (req.data.save) {
- var it = this.getPage(req.data.path);
- if (it) {
- var p = it;
- var isChild = false;
- while (p) {
- if (p == this)
- isChild = true;
- p = p.getParent();
- }
- if (!isChild) {
- var name = req.data.name ? req.data.name : this.name;
- if (it.get(name)) {
- res.message = msg("move_page_exists", name);
- } else if (this.getParent() != it) {
- this.getParent().removeChild(this);
- this.name = name;
- it.addChildPage(this);
- res.redirect(this.href());
- }
- } else {
- res.message = msg("move_invalid_target");
- }
- } else {
- res.message = msg("move_target_not_found");
- }
- }
- res.push();
- res.write("<p>");
- res.write(msg("move_label"));
- res.write("</p>");
- Html.form({method: "post"});
- Html.input({name: "path", value: req.data.path, size: 30});
- res.write (" ");
- Html.submit({name: "save", value: msg("move_button")});
- res.writeln("</form></p>");
- res.data.body = res.pop();
- this.renderSkin("page");
-}
-
-
-/**
- * Delete this page.
- */
-function delete_action() {
- if (!this.getParent()) {
- res.message = msg("delete_root");
- res.redirect(this.href());
- }
- if (req.data.cancel) {
- this.cache.deleteKey = null;
- res.message = msg("delete_canceled");
- res.redirect(this.href());
- }
- if (req.data.save && req.data.key &&
- req.data.key == this.cache.deleteKey) {
- var parent = this.getParent();
- // remove the page
- this.removePage();
- res.message = msg("delete_confirm", this.name);
- if (parent)
- parent.childDeleted(this);
- pageDeleted(this);
- res.redirect(parent.href());
- }
- this.cache.deleteKey = Math.random(10);
- res.push();
- res.write("<p>");
- res.write(msg("delete_ask", this.name));
- res.write("</p>");
- Html.form({method: "post"});
- Html.hidden({name: "key", value: this.cache.deleteKey});
- Html.submit({name: "save", value: msg("delete_button")});
- res.write(" ");
- Html.submit({name: "cancel", value: msg("delete_cancel")});
- res.data.body = res.pop();
- this.renderSkin("page");
- return;
-}
-
-/**
- * Comment action
- */
-function comment_action() {
- if (req.isPost()) {
- var cmt = new Comment("comment");
- cmt.createtime = cmt.modifytime = new Date();
- cmt.creator = cmt.modifier = session.user;
- cmt.body = req.data.body.trim();
- if (req.data.save) {
- cmt.collection = "comment";
- // set parent reference manually for embedded dbs
- cmt.parent = this;
- this.comment_pages.add(cmt);
- res.message = msg("comment_added");
- cmt.addVersionInfo();
- pageCreated(cmt);
- } else if (req.data.preview) {
- res.data.body = cmt.renderSkinAsString("body#preview");
- res.data.body += cmt.renderSkinAsString("edit");
- res.message = msg("comment_preview_message")
- this.renderSkin("page");
- return;
- }
- }
- res.redirect(this.href());
-}
-
-/**
- * Attachment action
- */
-function attach_action() {
- var attachments = this.getXmlData("attachments", true);
- var list = attachments.list();
- var form = Html.Form({method: "post", action: this.href("attach.delete"),
- name: "deleteForm", target: "confirm"});
- if (list.length > 0) {
- // style for listing table
- var tableStyle = {
- table: {"class": "list", border:"0", cellspacing:"0", cellpadding:"0" },
- trEven: {"class": "even"},
- trOdd: {"class": "odd"}
- };
- var table = new Html.TableBuilder(4, tableStyle);
- // table.writeHeader = true;
- table.add("", {"class": "caption"});
- table.add("name", {"class": "caption"});
- table.add("type", {"class": "caption"});
- table.add("size", {"class": "caption"});
- for (var i = 0; i < list.length; i++) {
- table.add(Html.Checkbox({name: "file", value: i}));
- table.add(Html.A({href: this.getStaticUrl(list[i].filename)}, list[i].filename));
- table.add(list[i].contentType);
- table.add(list[i].contentLength + " bytes");
- }
- form.add(table)
- form.add(Html.P({style: "text-align: right;"},
- Html.Submit({name: "deleteFiles",
- onclick:"openPopup(null,'confirm',300,350); document.forms.deleteForm.submit(); return false;",
- value: msg("upload_delete_button")})));
- }
- res.data.body = form.toString() + this.renderSkinAsString("upload");
- this.renderSkin("page");
-}
-
-/**
- * Delete attachment action
- */
-function attach_delete_action() {
- var files = req.data.file_array;
- if (!files)
- files = req.data.file == null ? [] : [req.data.file];
-
- res.push();
- res.data.title = (msg("upload_delete_confirm"));
- var attachments = this.getXmlData("attachments", true);
- Html.openTag("ul");
- for (var i=files.length-1; i>=0; i--) {
- var upload = attachments[files[i]];
- Html.li({}, upload.linkAsString(this.getStaticUrl()));
- }
- Html.closeTag("ul");
- var callback = function() {
- if (req.data.confirm) {
- var attachments = this.getXmlData("attachments", true);
- var dir = this.getStaticDir(true);
- for (var i = files.length-1; i>=0; i--) {
- var upload = attachments[files[i]];
- if (upload) {
- var file = new File(dir, upload.filename);
- file.remove();
- attachments.removeChild(upload);
- }
- }
- this.setXmlData("attachments", attachments);
- session.message = msg(files.length == 1 ?
- "upload_deleted" : "upload_deleted_multi", files.length);
- }
- renderSkin("closePopup", {parentUrl: this.href("attach")});
- };
- Html.form({method: "post", action: Html.registerCallback(callback, this)});
- Html.hidden({name: "deleteFiles", value: "true"});
- for (var i=0; i<files.length; i++) {
- Html.hidden({name: "file", value: files[i]});
- }
-
- res.writeln("<br />");
- Html.openTag("p", {style: "text-align: center;"});
- Html.submit({name: "confirm", value: "Delete"});
- res.write(" ");
- Html.button({name: "cancel", value: "Cancel", onClick: "window.close();"});
- Html.closeTag("p");
- res.data.body = res.pop();
- this.renderSkin("popup");
-}
-
-/**
- * Upload attachment action
- */
-function attach_upload_action() {
- if (req.isPost() && req.data.upload && req.data.file.contentLength > 0) {
- var upload = new Upload(req.data.file, req.data.name);
- var error;
- var attachments = this.getXmlData("attachments", true);
- var list = attachments.list();
- for (var i in list) {
- if (list[i].name == upload.name) {
- error = msg("upload_exists", upload.name);
- break;
- }
- }
- if (error) {
- res.message = error;
- res.redirect(this.href("attach"));
- }
- upload.writeToFile(req.data.file, this.getStaticDir(true));
- attachments.add(upload);
- this.setXmlData("attachments", attachments);
- res.message = msg("upload_saved", upload.name);
- res.redirect(this.href("attach"));
- }
-}
-
-/**
- * Login action
- */
-function login_action() {
- var users = getService("users");
- if (!req.data.referrer) {
- // invalidate last location if request hasn't got any referrer
- session.data.lastLocation = null;
- }
- if (!users) {
- res.data.body = "User Service is not configured. Can't login.";
- } else {
- if (req.data.login) {
- var user = users.get(req.data.name);
- if (user && user.getFormData().password == req.data.password) {
- session.login(user);
- setAutoLoginCookie(user.name, req.data.password);
- res.message = msg("login_succeeded", root.name, user.name);
- var location = session.data.lastLocation;
- session.data.lastLocation = null;
- if (!location)
- location = this.href();
- res.redirect(location);
- } else {
- res.message = msg("login_failed");
- }
- }
-
- res.push();
- Html.form({method: "post", action: this.href("login")});
- res.write("<p><b>"+msg("login_please")+"</b></p>");
- var table = new Html.TableWriter(2, {td: {style: "padding-bottom: 6px;"}});
- table.write(msg("login_username"));
- table.write(Html.Input({name: "name", value: req.data.name}));
- table.write(msg("login_password"));
- table.write(Html.Password({name: "password"}));
- table.write();
- table.write(Html.Submit({name: "login", value: "Go"}));
- table.close();
- Html.closeTag("form");
- res.writeln("<br />");
- Html.a({href: this.href("register")}, msg("login_register"));
- res.data.body = res.pop();
- }
- this.renderSkin("page");
-}
-
-/**
- *
- */
-function logout_action() {
- if (session.user) {
- res.message = msg("logout", session.user.name);
- session.logout();
- unsetAutoLoginCookie();
- }
- res.redirect(this.href());
-}
-
-/**
- * Create a new user object.
- */
-function register_action() {
- var users = getService("users");
- if (!users) {
- res.data.body = "User Service is not configured. Can't login.";
- return;
- }
-
- var name = checkPageName(req.data.name);
- var it = users.newChildPage(name);
-
- if (req.data.save) {
- if (name && name.length > 0) {
- if (users.get(name)) {
- res.message = msg("register_user_exists", name);
- } else if (req.data.password != req.data.password_2) {
- res.message = msg("register_passwords_dont_match");
- } else {
- it.creator = it.modifier = it;
- it.createtime = it.modifytime = new Date();
- users.addChildPage(it);
- it.readEditForm(true);
- res.message = msg("register_confirm", it.name);
- users.childCreated(it);
- pageCreated(it);
- // if first user, make it admin
- if (users.size() == 1) {
- it.addLink("system:admin", "out", root);
- }
- // if current user is not logged in, log in as new user
- if (!session.user) {
- session.login(it);
- setAutoLoginCookie(it.name, req.data.password);
- res.message += msg("register_welcome");
- }
- res.redirect(this.href());
- }
- } else {
- res.message = msg("register_enter_name");
- }
- }
- if (req.isPost()) {
- it.readEditForm(false);
- }
- res.data.body = "<h4>"+msg("register_please")+"</h4>";
- res.data.body += it.renderSkinAsString("create");
- this.renderSkin("page");
-}
-
-/**
- * 404 action
- */
-function notfound_action() {
- res.data.title = msg("notfound_title");
- res.data.body = "<h3>"+res.data.title+"</h3>";
- res.data.body += "<p>"+msg("notfound_message", this.href()+req.path)+"</p>";
- this.renderSkin("page");
-}
-
-/**
- * error action
- */
-function error_action() {
- res.data.title = msg("error_title");
- res.data.body = "<h3>"+res.data.title+"</h3>";
- res.data.body += "<p>"+msg("error_body")+"</p>";
- res.data.body += "<p>"+res.error+"</p>";
- this.renderSkin("page");
-}
-
-/**
- * Stylesheet action
- */
-function stylesheet_css_action() {
- res.contentType = "text/css";
- this.renderSkin("stylesheet");
-}
-
-/**
- * Javascript action
- */
-function javascript_js_action() {
- res.contentType = "text/javascript";
- this.renderSkin("javascript");
-}