Sourcecode in Story/macros.js:
1: function editableby_macro(param) {
2: if (param.as == "editor" && (session.user == this.creator || !this.creator)) {
3: var options = [EDITABLEBY_ADMINS,
4: EDITABLEBY_CONTRIBUTORS,
5: EDITABLEBY_SUBSCRIBERS];
6: var labels = [getMessage("Story.editableBy.admins"),
7: getMessage("Story.editableBy.contributors"),
8: getMessage("Story.editableBy.subscribers")];
9: delete param.as;
10: if (req.data.publish || req.data.save)
11: var selValue = !isNaN(req.data.editableby) ? req.data.editableby : null;
12: else
13: var selValue = this.editableby;
14: for (var i=0;i<options.length;i++) {
15: Html.radioButton({name: "editableby", value: options[i], selectedValue: selValue});
16: res.write(" ");
17: res.write(labels[i]);
18: res.write(" ");
19: }
20: } else {
21: switch (this.editableby) {
22: case 0 :
23: res.write(getMessage("Story.editableBy.adminsLong", {siteTitle: path.Site.title}));
24: return;
25: case 1 :
26: res.write(getMessage("Story.editableBy.contributorsLong", {siteTitle: path.Site.title}));
27: break;
28: case 2 :
29: res.write(getMessage("Story.editableBy.subscribersLong", {siteTitle: path.Site.title}));
30: break;
31: }
32: }
33: return;
34: }
|