antville/code/Story/edit.hac
2002-12-01 19:26:40 +00:00

48 lines
No EOL
1.4 KiB
Text

if (!session.user && (req.data.submit == "save" || req.data.save))
rescueText(req.data);
checkIfLoggedIn(this.href(req.action));
if (session.data.rescuedText)
restoreRescuedText();
var deny = this.isEditDenied(session.user);
if (deny) {
res.message = getMessage("error",deny);
res.redirect(this.site.href());
}
// storing referrer in session-cache in case user clicks cancel later
if (!session.data.referrer && req.data.http_referer)
session.data.referrer = req.data.http_referer;
if (req.data.set) {
this.toggleOnline(req.data.set);
if (req.data.http_referer)
res.redirect(req.data.http_referer);
res.redirect(this.site.stories.href());
} else if (req.data.submit == "cancel" || req.data.cancel) {
if (!this.online)
var url = this.site.stories.href();
else
var url = session.data.referrer ? session.data.referrer : this.site.stories.href();
session.data.referrer = null;
res.redirect(url);
} else if (req.data.submit == "save" || req.data.save) {
var result = this.evalStory(req.data,session.user);
res.message = result.message;
if (!result.error) {
session.data.referrer = null;
res.redirect(result.url);
}
}
res.data.action = this.href(req.action);
res.data.title = this.site.title;
if (this.title)
res.data.title += " - " + encode(this.title);
res.data.body = this.renderSkinAsString("edit");
path.site.renderSkin("page");