- adapted res.dependsOn() statements in stylesheet and javascript actions because of the new layout objects

- first step in tuning rss_action() - using StringBuffers instead of normal variables
This commit is contained in:
Robert Gaggl 2003-11-23 19:17:47 +00:00
parent de42b3cc6c
commit a6ecf1c2b4

View file

@ -89,10 +89,10 @@ function safescripts_action() {
/** /**
* wrapper to make style.skin public * wrapper to make style.skin public
*/ */
function stylesheet_action() { function stylesheet_action() {
res.dependsOn(this.modifytime); res.dependsOn(this.modifytime);
res.dependsOn(app.skinfiles["site"]["style"]); res.dependsOn(res.handlers.layout.modifytime);
res.dependsOn(res.handlers.layout.skins.getSkinSource("site", "style"));
res.digest(); res.digest();
res.contentType = "text/css"; res.contentType = "text/css";
this.renderSkin("style"); this.renderSkin("style");
@ -106,7 +106,8 @@ function stylesheet_action() {
function javascript_action() { function javascript_action() {
res.dependsOn(this.modifytime); res.dependsOn(this.modifytime);
res.dependsOn(app.skinfiles["site"]["javascript"]); res.dependsOn(res.handlers.layout.modifytime);
res.dependsOn(res.handlers.layout.skins.getSkinSource("site", "javascript"));
res.digest(); res.digest();
res.contentType = "text/javascript"; res.contentType = "text/javascript";
this.renderSkin("javascript"); this.renderSkin("javascript");
@ -144,28 +145,34 @@ function rss_action() {
res.digest(); res.digest();
var now = new Date(); var now = new Date();
var systitle = root.getSysTitle(); var systitle = root.getTitle();
var sdf = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); var sdf = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
sdf.setTimeZone(new java.util.SimpleTimeZone(0, "UTC")); sdf.setTimeZone(new java.util.SimpleTimeZone(0, "UTC"));
if (req.data.show == "all") { var collection;
var collection = this.allcontent; switch (req.data.show) {
} else if (req.data.show == "day") { case "all" :
var collection = this.get(req.data.day); collection = this.allcontent;
} else if (req.data.show == "topic") { break;
var collection = this.topics.get(req.data.topic); case "day" :
} else { collection = this.get(req.data.day);
var collection = this.allstories; break;
case "topic" :
collection = this.topics.get(req.data.topic);
break;
default :
collection = this.allstories;
} }
var size = (collection != null) ? collection.size() : 0; var size = (collection != null) ? collection.size() : 0;
var max = req.data.max ? parseInt(req.data.max) : 7; var max = req.data.max ? parseInt(req.data.max) : 7;
max = Math.min(max, size); max = Math.min(max, size);
max = Math.min(max, 10); max = Math.min(max, 10);
var param = new Object(); var param = new Object();
if (max > 0 && this.online) { if (max > 0 && this.online) {
var items = ""; var items = new java.lang.StringBuffer();
var resources = ""; var resources = new java.lang.StringBuffer();
collection.prefetchChildren(0, max); collection.prefetchChildren(0, max);
for (var i=0; i<max; i++) { for (var i=0; i<max; i++) {
var story = collection.get(i); var story = collection.get(i);
@ -188,8 +195,8 @@ function rss_action() {
param.date = sdf.format(story.createtime); param.date = sdf.format(story.createtime);
param.subject = story.topic ? story.topic : ""; param.subject = story.topic ? story.topic : "";
param.year = story.createtime.getYear(); param.year = story.createtime.getYear();
items += story.renderSkinAsString("rssItem", param); items.append(story.renderSkinAsString("rssItem", param));
resources += story.renderSkinAsString("rssResource", param); resources.append(story.renderSkinAsString("rssResource", param));
} }
param = new Object(); param = new Object();
@ -202,8 +209,8 @@ function rss_action() {
param.email = this.creator.email.entitize(); param.email = this.creator.email.entitize();
param.year = now.getYear(); param.year = now.getYear();
param.lastupdate = max > 0 ? sdf.format(this.lastUpdate): sdf.format(this.createtime); param.lastupdate = max > 0 ? sdf.format(this.lastUpdate): sdf.format(this.createtime);
param.items = items; param.items = items.toString();
param.resources = resources; param.resources = resources.toString();
this.renderSkin("rss", param); this.renderSkin("rss", param);
} }
} }
@ -218,7 +225,7 @@ function getfile_action() {
if (f) { if (f) {
f.requestcnt++; f.requestcnt++;
res.contentType = f.mimetype; res.contentType = f.mimetype;
res.redirect(getProperty("fileUrl") + this.alias + "/" + f.name); res.redirect(f.getUrl());
} else { } else {
res.message = getMessage("error.fileNotFound", req.data.name); res.message = getMessage("error.fileNotFound", req.data.name);
res.redirect(this.href()); res.redirect(this.href());