48 lines
No EOL
1.4 KiB
Text
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"); |