* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* In addition, as a special exception, The Mir-coders gives permission to link
- * the code of this program with any library licensed under the Apache Software License,
- * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
- * (or with modified versions of the above that use the same license as the above),
- * and distribute linked combinations including the two. You must obey the
- * GNU General Public License in all respects for all of the code used other than
- * the above mentioned libraries. If you modify this file, you may extend this
- * exception to your version of the file, but you are not obligated to do so.
+ * the code of this program with any library licensed under the Apache Software License,
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
+ * (or with modified versions of the above that use the same license as the above),
+ * and distribute linked combinations including the two. You must obey the
+ * GNU General Public License in all respects for all of the code used other than
+ * the above mentioned libraries. If you modify this file, you may extend this
+ * exception to your version of the file, but you are not obligated to do so.
* If you do not wish to do so, delete this exception statement from your version.
*/
package tool;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
+import java.util.Arrays;
import java.util.Iterator;
+import java.util.List;
import mir.util.ExceptionFunctions;
import mir.util.PropertiesManipulator;
PropertiesManipulator result;
try {
- master = PropertiesManipulator.readProperties(new FileInputStream(new File(aMaster)));
+ master = PropertiesManipulator.readProperties(
+ new BufferedInputStream(
+ new FileInputStream(new File(aMaster)),8192));
}
catch (Throwable t) {
System.out.println("Unable to read master properties: " + t.getMessage());
}
try {
- slave = PropertiesManipulator.readProperties(new FileInputStream(new File(aSlave)));
+ slave = PropertiesManipulator.readProperties(
+ new BufferedInputStream(
+ new FileInputStream(new File(aSlave)),8192));
}
catch (FileNotFoundException t) {
slave = new PropertiesManipulator();
PropertiesManipulator result;
try {
- master = PropertiesManipulator.readProperties(new FileInputStream(new File(aMaster)));
+ master = PropertiesManipulator.readProperties(
+ new BufferedInputStream(
+ new FileInputStream(new File(aMaster)),8192));
}
catch (Throwable t) {
System.out.println("Unable to read master properties: " + t.getMessage());
}
try {
- slave = PropertiesManipulator.readProperties(new FileInputStream(new File(aSlave)));
+ slave = PropertiesManipulator.readProperties(
+ new BufferedInputStream(
+ new FileInputStream(new File(aSlave)),8192));
}
catch (FileNotFoundException t) {
slave = new PropertiesManipulator();
}
try {
- PropertiesManipulator.writeProperties(result, new FileOutputStream(new File(aSlave)));
+ PropertiesManipulator.writeProperties(result,
+ new BufferedOutputStream(new FileOutputStream(new File(aSlave)),8192));
}
catch (Throwable t) {
System.out.println("Unable to write slave properties: " + t.getMessage());
PropertiesManipulator bundle;
try {
- bundle = PropertiesManipulator.readProperties(new FileInputStream(new File(aBundle)));
+ bundle = PropertiesManipulator.readProperties(
+ new BufferedInputStream(
+ new FileInputStream(new File(aBundle)),8192));
- PropertiesManipulator.writeProperties(bundle, new FileOutputStream(anOutputFile), anEncoding, false);
+ PropertiesManipulator.writeProperties(bundle,
+ new BufferedOutputStream(new FileOutputStream(anOutputFile),8192), anEncoding, false);
}
catch (Throwable t) {
System.out.println("Unable to read master properties: " + t.getMessage());
PropertiesManipulator bundle;
try {
- bundle = PropertiesManipulator.readProperties(new FileInputStream(new File(aSourceFile)), anEncoding);
+ bundle = PropertiesManipulator.readProperties(
+ new BufferedInputStream(
+ new FileInputStream(new File(aSourceFile)),8192), anEncoding);
}
catch (Throwable t) {
Throwable s = ExceptionFunctions.traceCauseException(t);
return;
}
try {
- PropertiesManipulator.writeProperties(bundle, new FileOutputStream(aBundle));
+ PropertiesManipulator.writeProperties(bundle,
+ new BufferedOutputStream(new FileOutputStream(aBundle),8192));
}
catch (Throwable t) {
System.out.println("Unable to write bundle: " + t.toString());
}
}
+ public static void rename(String anOldKeyName, String aNewKeyName, List aBundles) {
+ /*
+ PropertiesManipulator bundle;
+
+ try {
+ bundle = PropertiesManipulator.readProperties(new FileInputStream(new File(aBundle)));
+
+ PropertiesManipulator.writeProperties(bundle, new FileOutputStream(anOutputFile), anEncoding, false);
+ }
+ catch (Throwable t) {
+ System.out.println("Unable to read master properties: " + t.getMessage());
+ return;
+ }
+*/
+ }
+
+
public static void main(String[] anArguments) {
String command = "help";
return;
}
}
- }
+ else if (command.equals("rename")) {
+ if (anArguments.length>=3) {
+ List arguments = Arrays.asList(anArguments);
+ rename(anArguments[0], anArguments[1], arguments.subList(2, arguments.size()));
+/*
+ decode(anArguments[1], anArguments[2], anArguments[3]);
+*/
+ return;
+ }
+ }
+ }
System.out.println("Usage:");
System.out.println(" BundleTool decode <bundle> <encoding> <sourcefile>");
System.out.println("");
System.out.println(" Decodes the keys/values with a custom encoding.");
+ System.out.println(" BundleTool rename <old key> <new key> <bundle> [<bundle> [ ... ]]");
+ System.out.println("");
+ System.out.println(" Decodes the keys/values with a custom encoding.");
}
}
\ No newline at end of file
-package tool;\r
-\r
-import java.security.MessageDigest;\r
-import java.util.TimeZone;\r
-\r
-import gnu.regexp.RE;\r
-import mir.util.StringRoutines;\r
-\r
-/**\r
- * <p>Title: </p>\r
- * <p>Description: </p>\r
- * <p>Copyright: Copyright (c) 2003</p>\r
- * <p>Company: </p>\r
- * @author not attributable\r
- * @version 1.0\r
- */\r
-\r
-public class ConfigTool {\r
- public ConfigTool() {\r
- }\r
-\r
- public static void timezone(String aSpecification) {\r
- try {\r
- RE specification = new RE(aSpecification);\r
- String[] timeZoneIds = TimeZone.getAvailableIDs();\r
-\r
- System.out.println("ID\tOffset\tDST?\tName");\r
- for (int i=0; i<timeZoneIds.length; i++) {\r
- if (specification.isMatch(timeZoneIds[i])) {\r
- TimeZone timeZone = TimeZone.getTimeZone(timeZoneIds[i]);\r
- long offset = timeZone.getRawOffset()/(1000*60);\r
- String sign = "";\r
- if (offset<0) {\r
- offset=-offset;\r
- sign = "-";\r
- }\r
-\r
- System.out.println(timeZone.getID() + "\t" + sign + offset/60 + ":" + StringRoutines.padStringLeft(Long.toString(offset%60),2,'0')+"\t"+(timeZone.useDaylightTime()?"yes":"no")+"\t"+ timeZone.getDisplayName());\r
- }\r
- }\r
- }\r
- catch (Throwable t) {\r
- System.err.println(t.toString());\r
- }\r
- }\r
-\r
- public static void digest(String aDigest, String aData) {\r
- try {\r
- MessageDigest messageDigest = MessageDigest.getInstance(aDigest);\r
-\r
- System.out.println(StringRoutines.convertToHex(messageDigest.digest(aData.getBytes("UTF-8"))));\r
- }\r
- catch (Throwable t) {\r
- System.err.println(t.toString());\r
- }\r
- }\r
-\r
- public static void main(String[] anArguments) {\r
- String command = "help";\r
-\r
- if (anArguments.length >= 1) {\r
- command = anArguments[0];\r
-\r
- if (command.equals("timezone")) {\r
- if (anArguments.length<=2) {\r
- if (anArguments.length==2)\r
- timezone(anArguments[1]);\r
- else\r
- timezone(".*");\r
- }\r
-\r
- return;\r
- }\r
- else if (command.equals("digest")) {\r
- if (anArguments.length == 3) {\r
- digest(anArguments[1], anArguments[2]);\r
-\r
- return;\r
- }\r
- }\r
- }\r
-\r
-\r
-\r
- System.out.println("Usage:");\r
-\r
- System.out.println(" ConfigTool timezone [regexp]");\r
- System.out.println("");\r
- System.out.println(" Shows the available timezones");\r
- System.out.println("");\r
- System.out.println(" BundleTool digest <digestname> <string>");\r
- System.out.println("");\r
- System.out.println(" Calculates the digest of a string.");\r
- System.out.println("");\r
- }\r
+/*
+ * Copyright (C) 2001, 2002 The Mir-coders group
+ *
+ * This file is part of Mir.
+ *
+ * Mir is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Mir is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Mir; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * In addition, as a special exception, The Mir-coders gives permission to link
+ * the code of this program with any library licensed under the Apache Software License,
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
+ * (or with modified versions of the above that use the same license as the above),
+ * and distribute linked combinations including the two. You must obey the
+ * GNU General Public License in all respects for all of the code used other than
+ * the above mentioned libraries. If you modify this file, you may extend this
+ * exception to your version of the file, but you are not obligated to do so.
+ * If you do not wish to do so, delete this exception statement from your version.
+ */
+package tool;
+
+import gnu.regexp.RE;
+
+import java.security.MessageDigest;
+import java.util.TimeZone;
+
+import mir.util.StringRoutines;
+
+/**
+ * <p>Title: </p>
+ * <p>Description: </p>
+ * <p>Copyright: Copyright (c) 2003</p>
+ * <p>Company: </p>
+ * @author not attributable
+ * @version 1.0
+ */
+
+public class ConfigTool {
+ public ConfigTool() {
+ }
+
+ public static void timezone(String aSpecification) {
+ try {
+ RE specification = new RE(aSpecification);
+ String[] timeZoneIds = TimeZone.getAvailableIDs();
+
+ System.out.println("ID\tOffset\tDST?\tName");
+ for (int i=0; i<timeZoneIds.length; i++) {
+ if (specification.isMatch(timeZoneIds[i])) {
+ TimeZone timeZone = TimeZone.getTimeZone(timeZoneIds[i]);
+ long offset = timeZone.getRawOffset()/(1000*60);
+ String sign = "";
+ if (offset<0) {
+ offset=-offset;
+ sign = "-";
+ }
+
+ System.out.println(timeZone.getID() + "\t" + sign + offset/60 + ":" + StringRoutines.padStringLeft(Long.toString(offset%60),2,'0')+"\t"+(timeZone.useDaylightTime()?"yes":"no")+"\t"+ timeZone.getDisplayName());
+ }
+ }
+ }
+ catch (Throwable t) {
+ System.err.println(t.toString());
+ }
+ }
+
+ public static void digest(String aDigest, String aData) {
+ try {
+ MessageDigest messageDigest = MessageDigest.getInstance(aDigest);
+
+ System.out.println(StringRoutines.convertToHex(messageDigest.digest(aData.getBytes("UTF-8"))));
+ }
+ catch (Throwable t) {
+ System.err.println(t.toString());
+ }
+ }
+
+ public static void main(String[] anArguments) {
+ String command = "help";
+
+ if (anArguments.length >= 1) {
+ command = anArguments[0];
+
+ if (command.equals("timezone")) {
+ if (anArguments.length<=2) {
+ if (anArguments.length==2)
+ timezone(anArguments[1]);
+ else
+ timezone(".*");
+ }
+
+ return;
+ }
+ else if (command.equals("digest")) {
+ if (anArguments.length == 3) {
+ digest(anArguments[1], anArguments[2]);
+
+ return;
+ }
+ }
+ }
+
+
+
+ System.out.println("Usage:");
+
+ System.out.println(" ConfigTool timezone [regexp]");
+ System.out.println("");
+ System.out.println(" Shows the available timezones");
+ System.out.println("");
+ System.out.println(" BundleTool digest <digestname> <string>");
+ System.out.println("");
+ System.out.println(" Calculates the digest of a string.");
+ System.out.println("");
+ }
}
\ No newline at end of file
--- /dev/null
+package tool;
+
+import java.awt.Transparency;
+import java.awt.image.ColorModel;
+import java.awt.image.DataBuffer;
+import java.awt.image.SampleModel;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+
+import javax.media.jai.JAI;
+import javax.media.jai.PlanarImage;
+
+
+/**
+ * This class displays basic information about the image.
+ */
+public class ImageTool {
+ /**
+ * The application entry point.
+ * @param args the command line arguments.
+ */
+ public static void main(String[] args) throws FileNotFoundException {
+ // We need one argument: the image filename.
+ if (args.length != 1) {
+ System.err.println("Usage: java tool.ImageTool image");
+ System.exit(0);
+ }
+ FileInputStream fi = new FileInputStream(args[0]);
+ // Open the image (using the name passed as a command line parameter)
+ PlanarImage pi = JAI.create("ImageRead", fi);
+
+ // Display image data. First, the image size (non-JAI related).
+ File image = new File(args[0]);
+ System.out.println("Image file size:" + image.length() + " bytes.");
+
+ // Now let's display the image dimensions and coordinates.
+ System.out.print("Dimensions: ");
+ System.out.print(pi.getWidth() + "x" + pi.getHeight() + " pixels");
+ System.out.println(" (from " + pi.getMinX() + "," + pi.getMinY() + " to " +
+ pi.getMaxX() + "," + pi.getMaxY() + ")");
+
+ // Tiles number, dimensions and coordinates.
+ System.out.print("Tiles:");
+ System.out.print(pi.getTileWidth() + "x" + pi.getTileHeight() + " pixels" +
+ " (" + pi.getNumXTiles() + "x" + pi.getNumYTiles() +
+ " tiles)");
+ System.out.print(" (from " + pi.getMinTileX() + "," + pi.getMinTileY() +
+ " to " + pi.getMaxTileX() + "," + pi.getMaxTileY() + ")");
+ System.out.println(" offset: " + pi.getTileGridXOffset() + "," +
+ pi.getTileGridXOffset());
+
+ // Display info about the SampleModel of the image.
+ SampleModel sm = pi.getSampleModel();
+ System.out.println("Number of bands: " + sm.getNumBands());
+ System.out.print("Data type: ");
+
+ switch (sm.getDataType()) {
+ case DataBuffer.TYPE_BYTE:
+ System.out.println("byte");
+
+ break;
+
+ case DataBuffer.TYPE_SHORT:
+ System.out.println("short");
+
+ break;
+
+ case DataBuffer.TYPE_USHORT:
+ System.out.println("unsigned short");
+
+ break;
+
+ case DataBuffer.TYPE_INT:
+ System.out.println("int");
+
+ break;
+
+ case DataBuffer.TYPE_FLOAT:
+ System.out.println("float");
+
+ break;
+
+ case DataBuffer.TYPE_DOUBLE:
+ System.out.println("double");
+
+ break;
+
+ case DataBuffer.TYPE_UNDEFINED:
+ System.out.println("undefined");
+
+ break;
+ }
+
+ // Display info about the ColorModel of the image.
+ ColorModel cm = pi.getColorModel();
+ System.out.println("Number of color components: " + cm.getNumComponents());
+ System.out.println("Bits per pixel: " + cm.getPixelSize());
+ System.out.print("Transparency: ");
+
+ switch (cm.getTransparency()) {
+ case Transparency.OPAQUE:
+ System.out.println("opaque");
+
+ break;
+
+ case Transparency.BITMASK:
+ System.out.println("bitmask");
+
+ break;
+
+ case Transparency.TRANSLUCENT:
+ System.out.println("translucent");
+
+ break;
+ }
+ }
+}
<function EditSubmitButtonNormal(aLabel, aFieldName)>\r
<tr>
<td class="${TABLE_FOOT_CLASS}" colspan="2" align="right">
- <input type="submit" name="${aFieldName}" value="${aLabel}">
+ <input class="majorbutton" type="submit" name="${aFieldName}" value="${aLabel}">
</td>
</tr>
</function>
<input type="checkbox" name="${fieldname}" value="1"<if fieldcontent=="1"> checked</if>>
<call EditFieldEnd()>
</function> \r
+
+<function ReadOnlyCheckbox(label, fieldcontent, aLabelClass, aValueClass)>
+ <call EditFieldStart(label, "", aLabelClass, aValueClass)>
+ <if fieldcontent=="1">${lang("yes")}<else>${lang("no")}</if>
+ <call EditFieldEnd()>
+</function> \r
\r
+<function ReadOnlyCheckboxNormal(label, fieldcontent)>\r
+ <call ReadOnlyCheckbox(label, fieldcontent, "table-left", "listrow2")>\r
+</function>
<function EditCheckboxNormal(label, fieldname, fieldcontent)>\r
<call EditCheckbox(label, fieldname, fieldcontent, "table-left", "listrow2")>\r
</function>
+++ /dev/null
-<include "SETTINGS.template">
-
-<function EditStart(aAction, aHiddenFields, aHiddenValues)>
- <form action="${config.docRoot}/admin/${aAction}" method="post">
- <assign index="0">
- <list aHiddenFields as i>
- <input type="hidden" name="${i}" value="${aHiddenValues[index]}">
- <assign index=utility.increment(index)>
- </list>
- <table border="0">
-</function>
-
-<function EditEnd()>
- </table>
- </form>
-</function>
-
-<function EditFieldStart(aLabel, aHint, aLabelClass, aValueClass)>
- <tr>
- <td align="right" class="${aLabelClass}">
- <b>${aLabel}:</b>
- <if aHint>
- <br>
- <span class="small">${aHint}</span>
- </if>
- </td>
-
- <td class="${aValueClass}">
-</function>
-
-<function EditFieldEnd()>
- </td>
- </tr>
-</function>
-
-<function EditSubmitButtonNormal(aLabel, aFieldName)>
- <tr>
- <td class="${TABLE_FOOT_CLASS}" colspan="2" align="right">
- <input type="submit" name="${aFieldName}" value="${aLabel}">
- </td>
- </tr>
-</function>
-
-
-<function EditReadonlyTextNormal(label, fieldcontent)>
- <call EditFieldStart(label, "", "table-left", "listrow2")>
- ${utility.encodeHTML(fieldcontent)}
- <call EditFieldEnd()>
-</function>
-
-
-<function EditText(label, size, maxlength, fieldname, fieldcontent, aLabelClass, aValueClass)>
- <call EditFieldStart(label, "", aLabelClass, aValueClass)>
- <input type="text" size="${size}" maxlength="${maxlength}" name="${fieldname}" value="${utility.encodeHTML(fieldcontent)}">
- <call EditFieldEnd()>
-</function>
-<function EditTextNormal(label, size, maxlength, fieldname, fieldcontent)>
- <call EditText(label, size, maxlength, fieldname, fieldcontent, "table-left", "listrow2")>
-</function>
-<function EditTextHighlighted(label, size, maxlength, fieldname, fieldcontent)>
- <call EditText(label, size, maxlength, fieldname, fieldcontent, "table-left-light", "listrow1")>
-</function>
-
-
-<function EditPassword(label, size, maxlength, fieldname, fieldcontent, aLabelClass, aValueClass)>
- <call EditFieldStart(label, "", aLabelClass, aValueClass)>
- <input type="password" size="${size}" maxlength="${maxlength}" name="${fieldname}" value="${utility.encodeHTML(fieldcontent)}">
- <call EditFieldEnd()>
-</function>
-
-<function EditPasswordNormal(label, size, maxlength, fieldname, fieldcontent)>
- <call EditPassword(label, size, maxlength, fieldname, fieldcontent, "table-left", "listrow2")>
-</function>
-<function EditPasswordHighlighted(label, size, maxlength, fieldname, fieldcontent)>
- <call EditPassword(label, size, maxlength, fieldname, fieldcontent, "table-left-light", "listrow1")>
-</function>
-
-
-<function EditCheckbox(label, fieldname, fieldcontent, aLabelClass, aValueClass)>
- <call EditFieldStart(label, "", aLabelClass, aValueClass)>
- <input type="checkbox" name="${fieldname}" value="1"<if fieldcontent=="1"> checked</if>>
- <call EditFieldEnd()>
-</function>
-
-<function EditCheckboxNormal(label, fieldname, fieldcontent)>
- <call EditCheckbox(label, fieldname, fieldcontent, "table-left", "listrow2")>
-</function>
-<function EditCheckboxHighlighted(label, fieldname, fieldcontent)>
- <call EditCheckbox(label, fieldname, fieldcontent, "table-left-light", "listrow1")>
-</function>
-
-
-<function EditTextArea(label, aHint, cols, rows, fieldname, fieldcontent, aLabelClass, aValueClass)>
- <call EditFieldStart(label, aHint, aLabelClass, aValueClass)>
- <textarea cols="${cols}" rows="${rows}" name="${fieldname}" wrap="virtual">${utility.encodeHTML(fieldcontent)}</textarea>
- <call EditFieldEnd()>
-</function>
-
-<function EditTextAreaNormal(label, aHint, cols, rows, fieldname, fieldcontent)>
- <call EditTextArea(label, aHint, cols, rows, fieldname, fieldcontent, "table-left", "listrow2")>
-</function>
-<function EditTextAreaHighlighted(label, size, maxlength, fieldname, fieldcontent)>
- <call EditTextArea(label, aHint, cols, rows, fieldname, fieldcontent, "table-left-light", "listrow1")>
-</function>
-
-
-
-
-<function EditPullDown (label, fieldname, entrieslist, keyfield, valuefield, value, langprefix, aLabelClass, aValueClass)>
- <call EditFieldStart(label, "", aLabelClass, aValueClass)>
- <select name="${fieldname}">
- <list entrieslist as a>
- <option value="${a[keyfield]}" <if (a[keyfield] == value)>selected</if>><if langprefix>${lang(langprefix+a[valuefield])}<else>${a[valuefield]}</if></option>
- </list>
- </select>
- <call EditFieldEnd()>
-</function>
-
-<function EditPullDownNormal(label, fieldname, entrieslist, keyfield, valuefield, value, langprefix)>
- <call EditPullDown(label, fieldname, entrieslist, keyfield, valuefield, value, langprefix, "table-left", "listrow2")>
-</function>
-<function EditPullDownHighlighted(label, fieldname, entrieslist, keyfield, valuefield, value, langprefix)>
- <call EditPullDown(label, fieldname, entrieslist, keyfield, valuefield, value, langprefix, "table-left-light", "listrow1")>
-</function>
-
-
<function showButton(anUrl, aLabel)>
<call showAbsoluteLinkButton(config.actionRoot+"?"+anUrl, aLabel)>
</function>
+<function showGETButton(anUrl, aLabel)>
+ <call showAbsoluteLinkButton(config.actionRoot+"?"+anUrl, aLabel)>
+</function>
+<function showPOSTButton(anUrl, aLabel)>
+ <call showGETButton(anUrl, aLabel)>
+<comment>
+ <form method="POST" action="${utility.encodeHTML(config.actionRoot+"?"+anUrl)}"><input type="submit" class="majorbutton" value="${aLabel}"></form>
+</comment>
+</function>
<assign TABLE_HEAD_CLASS "table-head">
<list aDataKeys as i>
<td>
- ${entry[i]}
+ ${utility.prettyEncodeHTML(entry[i])}
</td>
</list>
<if aShowDelete == "1" || aShowEdit == "1" >
<td>
<if aShowDelete>
- <a class="listcommand" href="${config.actionRoot}?module=${aModuleName}&do=delete&id=${entry.id}">${lang("delete")}</a>
+ <a class="listcommand" href="${config.actionRoot}?module=${aModuleName}&do=delete&id=${entry.id}&okurl=${utility.encodeURI(thisurl)}&cancelurl=${utility.encodeURI(thisurl)}">${lang("delete")}</a>
</if>
<if aShowDelete == "1" && aShowEdit == "1">
|
<comment>extra navigation</comment>
-<function AddOrBack(module_name, module_jumpback, do_jumpback)>
+<function showAddOrBack(anAllowAdd, anAddModule, aBackModule, aBackMethod)>
<p>
- <a class="link-box" href="${config.actionRoot}?module=${module_name}&do=add">[+] ${lang("add")}</a>
- <a class="link-box" href="${config.actionRoot}?module=${module_jumpback}&do=${do_jumpback}">[<] ${lang("back")} </a>
- <a class="link-box" href="${config.actionRoot}">[<<<] ${lang("head.start")}</a>
+ <if anAllowAdd == "1">
+ <a class="link-box" href="${config.actionRoot}?module=${anAddModule}&do=add">[+] ${lang("add")}</a>
+ </if>
+ <a class="link-box" href="${config.actionRoot}?module=${aBackModule}&do=${aBackMethod}">[<] ${lang("back")} </a>
+<comment> <a class="link-box" href="${config.actionRoot}">[<<<] ${lang("head.start")}</a></comment>
</p>
</function>
-<function showAddOrBack(anAllowAdd, anAddModule, aBackModule, aBackMethod, )>
+<function showAddOrBack2(anAllowAdd, anAddModule, aBackUrl)>
<p>
<if anAllowAdd == "1">
<a class="link-box" href="${config.actionRoot}?module=${anAddModule}&do=add">[+] ${lang("add")}</a>
</if>
- <a class="link-box" href="${config.actionRoot}?module=${aBackModule}&do=${aBackMethod}">[<] ${lang("back")} </a>
-<comment> <a class="link-box" href="${config.actionRoot}">[<<<] ${lang("head.start")}</a></comment>
+ <a class="link-box" href="${config.actionRoot}?${aBackUrl}">[<] ${lang("back")} </a>
</p>
</function>
<p><a class="link-box" href="${config.actionRoot}?${aBackUrl}">[<] ${lang("back")} </a> </p>
</function>
+<function _PulldownTableRow (label, fieldname, entrieslist, keyfield, valuefield, value, langprefix, aCanEdit)>
+ <if aCanEdit=="1">
+ <call PulldownTableRow (label, fieldname, entrieslist, keyfield, valuefield, value, langprefix)>
+ <else>
+ <call ReadOnlyPulldownTableRow (label, entrieslist, keyfield, valuefield, value, langprefix)>
+ </if>
+</function>
+
+<function ReadOnlyPulldownTableRow (label, entrieslist, keyfield, valuefield, value, langprefix)>
+ <tr>
+ <td align="right" class="table-left">
+ <b>${label}:</b>
+ </td>
+ <td class="listrow2">
+ <list entrieslist as a>
+ <if (a[keyfield] == value)><if langprefix>${lang(langprefix+a[valuefield])}<else>${a[valuefield]}</if></if>
+ </list>
+ </td>
+ </tr>
+</function>
+
<function PulldownTableRow (label, fieldname, entrieslist, keyfield, valuefield, value, langprefix)>
<tr>
<td align="right" class="table-left">
</tr>
</function>
+<function ReadonlyTextTableRowNormal (label, fieldcontent)>
+ <call ReadonlyTextTableRow(label, fieldcontent, "listrow2")>
+</function>
+<function _TextInputTableRow(label, size, maxlength, fieldname, fieldcontent, aCanEdit)>
+ <if aCanEdit=="1">
+ <call TextInputTableRow(label, size, maxlength, fieldname, fieldcontent)>
+ <else>
+ <call ReadonlyTextTableRow(label, fieldcontent, "listrow2")>
+ </if>
+</function>
-
-
-
-
+<function _TextInputTableRowLight(label, size, maxlength, fieldname, fieldcontent, aCanEdit)>
+ <if aCanEdit=="1">
+ <call TextInputTableRowLight(label, size, maxlength, fieldname, fieldcontent)>
+ <else>
+ <call ReadonlyTextTableRow(label, fieldcontent, "listrow1")>
+ </if>
+</function>
<function TextInputTableRow (label, size, maxlength, fieldname, fieldcontent)>
<tr>
</tr>
</function>
-<function ReadonlyTextTableRow (label, fieldcontent)>
+<function ReadonlyTextTableRow (label, fieldcontent, class)>
<tr>
<td align="right" class="table-left">
<b>${label}:</b>
</td>
- <td class="listrow2">
+ <td class="${class}">
${utility.encodeHTML(fieldcontent)}
</td>
</tr>
<function CheckboxTableRow (label, fieldname, fieldcontent )>
<call EditCheckboxNormal(label, fieldname, fieldcontent)>
-<comment>
+</function>
+
+<function _CheckboxTableRow (label, fieldname, fieldcontent, aCanEdit)>
+ <if aCanEdit=="1">
+ <call EditCheckboxNormal(label, fieldname, fieldcontent)>
+ <else>
+ <call ReadOnlyCheckboxNormal(label, fieldcontent)>
+ </if>
+</function>
+
+<function _TextAreaTableRow (label, hint, cols, rows, fieldname, fieldcontent, aCanEdit)>
+ <if aCanEdit=="1">
+ <call TextAreaTableRow (label, hint, cols, rows, fieldname, fieldcontent)>
+ <else>
+ <call ReadOnlyTextAreaTableRow (label, hint, fieldcontent)>
+ </if>
+</function>
+<function ReadOnlyTextAreaTableRow (label, hint, fieldcontent )>
<tr>
<td align="right" valign="top" class="table-left">
<b>${label}:</b>
+ <if hint>
+ <br>
+ <span class="small">${hint}</span>
+ </if>
</td>
<td class="listrow2">
- <input type="checkbox" name="${fieldname}" value="1"<if fieldcontent=="1"> checked</if>>
+ ${utility.prettyEncodeHTML(fieldcontent)}
</td>
</tr>
-</comment>
-</function>
-
+</function>
<function TextAreaTableRow (label, hint, cols, rows, fieldname, fieldcontent )>
<tr>
<td align="right" valign="top" class="table-left">
</function>
<comment>complete search-form for contenentries, not sure if it works from everywhere</comment>
-<function ContentSearch (layout)>
+<function ContentSearch (aLayout)>
- <form method="POST" action="${config.actionRoot}">
+ <form method="GET" action="${config.actionRoot}">
<input type="hidden" name="module" value="Content">
<input type="hidden" name="do" value="search">
- <input type="hidden" name="selectarticleurl" value="${utility.encodeHTML(selectarticleurl)}">
+ <if selectarticleurl>
+ <input type="hidden" name="selectarticleurl" value="${utility.encodeHTML(selectarticleurl)}">
+ </if>
<table border="0" cellpadding="2" cellspacing="3">
- <tr <if !layout>class="bg-neutral"</if>>
- <td <if layout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.value")}</td>
- <td <if layout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.field")}</td>
- <td <if layout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.publishedstate")}</td>
- <td <if layout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.articletype")}</td>
- <td <if layout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.order")}</td>
- <td <if layout>class="table_head"<else>class="small bg_neutral"</if> valign="bottom"> </td>
+ <tr <if !aLayout>class="bg-neutral"</if>>
+ <td <if aLayout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.value")}</td>
+ <td <if aLayout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.field")}</td>
+ <td <if aLayout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.publishedstate")}</td>
+ <td <if aLayout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.articletype")}</td>
+ <td <if aLayout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.order")}</td>
+ <td <if aLayout>class="table_head"<else>class="small bg_neutral"</if> valign="bottom"> </td>
</tr>
<tr>
- <td <if layout>class="listrow2"</if>><input type="text" size="10" maxlength="20" name="searchvalue" value="${searchvalue}"></td>
- <td <if layout>class="listrow2"</if>>
+ <td <if aLayout>class="listrow2"</if>><input type="text" size="10" maxlength="20" name="searchvalue" value="${searchvalue}"></td>
+ <td <if aLayout>class="listrow2"</if>>
<select name="searchfield">
- <option value="title"<if searchfield=="title"> selected</if>>${lang("contentsearch.field.title")}</option>
- <option value="creator"<if searchfield=="creator"> selected</if>>${lang("contentsearch.field.creator")}</option>
- <option value="contents"<if searchfield=="content"> selected</if>>${lang("contentsearch.field.contents")}</option>
- <option value="creator_main_url"<if searchfield=="creator_main_url"> selected</if>>${lang("contentsearch.field.creator_main_url")}</option>
- <option value="creator_email"<if searchfield=="creator_email"> selected</if>>${lang("contentsearch.field.creator_email")}</option>
+ <option value="title"<if searchfield && searchfield=="title"> selected</if>>${lang("contentsearch.field.title")}</option>
+ <option value="creator"<if searchfield && searchfield=="creator"> selected</if>>${lang("contentsearch.field.creator")}</option>
+ <option value="contents"<if searchfield && searchfield=="content"> selected</if>>${lang("contentsearch.field.contents")}</option>
+ <option value="creator_main_url"<if searchfield && searchfield=="creator_main_url"> selected</if>>${lang("contentsearch.field.creator_main_url")}</option>
+ <option value="creator_email"<if searchfield && searchfield=="creator_email"> selected</if>>${lang("contentsearch.field.creator_email")}</option>
+ <option value="comment"<if searchfield && searchfield=="comment"> selected</if>>${lang("contentsearch.field.comment")}</option>
</select>
</td>
- <td <if layout>class="listrow2"</if>>
+ <td <if aLayout>class="listrow2"</if>>
<select name="searchispublished">
<option value="">--</option>
- <option value="0" <if searchispublished=="0"> selected</if>>${lang("contentsearch.publishedstate.hidden")}</option>
- <option value="1" <if searchispublished=="1"> selected</if>>${lang("contentsearch.publishedstate.published")}</option>
+ <option value="0" <if searchispublished && searchispublished=="0"> selected</if>>${lang("contentsearch.publishedstate.hidden")}</option>
+ <option value="1" <if searchispublished && searchispublished=="1"> selected</if>>${lang("contentsearch.publishedstate.published")}</option>
</select>
</td>
- <td <if layout>class="listrow2"</if>>
+ <td <if aLayout>class="listrow2"</if>>
<select name="searcharticletype">
<option value="">--</option>
<list articletypes as at>
- <option value="${at.id}" <if searcharticletype==at.id> selected</if>>${lang("articletypes."+at.name)}</option>
+ <option value="${at.id}" <if searcharticletype && searcharticletype==at.id> selected</if>>${lang("articletypes."+at.name)}</option>
</list>
</select>
</td>
- <td <if layout>class="listrow2"</if>>
+ <td <if aLayout>class="listrow2"</if>>
<select name="searchorder">
- <option value="datedesc" <if searchorder=="datedesc"> selected</if>>${lang("contentsearch.order.datedesc")}</option>
- <option value="dateasc" <if searchorder=="dateasc"> selected</if>>${lang("contentsearch.order.dateasc")}</option>
- <option value="title" <if searchorder=="title"> selected</if>>${lang("contentsearch.order.title")}</option>
- <option value="creator" <if searchorder=="creator"> selected</if>>${lang("contentsearch.order.creator")}</option>
+ <option value="datedesc" <if searchorder && searchorder=="datedesc"> selected</if>>${lang("contentsearch.order.datedesc")}</option>
+ <option value="dateasc" <if searchorder && searchorder=="dateasc"> selected</if>>${lang("contentsearch.order.dateasc")}</option>
+ <option value="title" <if searchorder && searchorder=="title"> selected</if>>${lang("contentsearch.order.title")}</option>
+ <option value="creator" <if searchorder && searchorder=="creator"> selected</if>>${lang("contentsearch.order.creator")}</option>
</select>
</td>
- <td <if layout>class="listrow2"</if>>
+ <td <if aLayout>class="listrow2"</if>>
<input class="majorbutton" type="submit" name="search" value="${lang("contentsearch.searchbutton")}">
</td>
</tr>
<comment>functions to show media for an article/comment edit page</comment>
-<function showArticleAttachments(anArticle)>
- <call showAttachments(1, anArticle)>
+<function showArticleAttachments(anArticle, aCanEdit, aReturnUrl)>
+ <call showAttachments(1, anArticle, aCanEdit, aReturnUrl)>
</function>
-<function showCommentAttachments(aComment)>
- <call showAttachments(0, aComment)>
+<function showCommentAttachments(aComment, aReturnUrl)>
+ <call showAttachments(0, aComment, "1", aReturnUrl)>
</function>
-<function showAttachments(anIsArticle, anObject)>
+<function showAttachments(anIsArticle, anObject, aCanEdit, aReturnUrl)>
<if anIsArticle=="1">
<assign objectKey="articleid">
<assign objectModule="Content">
<td align=right valign=top class="table-left">
${lang("content.images")}:
</td>
- <td align="left" valign="top" class="listrow2">
- <a href="${config.actionRoot}?module=Images&do=list&${objectKey}=${anObject.id}">[+] ${lang("content.addimage")}</a> |
- <a href="${config.actionRoot}?module=Images&do=add&${objectKey}=${anObject.id}">${lang("content.uploadimage")}</a>
- </td>
+ <if aCanEdit=="1">
+ <td align="left" valign="top" class="listrow2">
+ <a href="${config.actionRoot}?module=Images&do=list&${objectKey}=${anObject.id}&returnurl=${utility.encodeURI(aReturnUrl)}">[+] ${lang("content.addimage")}</a> |
+ <a href="${config.actionRoot}?module=Images&do=add&${objectKey}=${anObject.id}&returnurl=${utility.encodeURI(aReturnUrl)}">${lang("content.uploadimage")}</a>
+ </td>
+ </if>
</tr>
<list anObject.to_all_media_images as m>
<tr>
<td align=right valign=top>
- <a href="${config.actionRoot}?module=Images&do=edit&id=${m["id"]}"><img src="${config.actionRoot}?module=Images&do=getIcon&id=${m["id"]}" alt="edit" border="0"></a>
- </td>
- <td align="left" valign="top">
- <a href="${config.actionRoot}?module=${objectModule}&do=dettach&${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("delete")}</a>
+ <a href="${config.actionRoot}?module=Images&do=getMedia&id=${m["id"]}&returnurl=${utility.encodeURI(aReturnUrl)}"><img src="${config.actionRoot}?module=Images&do=getIcon&id=${m["id"]}" alt="edit" border="0"></a>
</td>
+ <if aCanEdit=="1">
+ <td align="left" valign="top">
+ <a href="${config.actionRoot}?module=${objectModule}&do=dettach&${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("deattach")}</a> |
+ <a href="${config.actionRoot}?module=Images&do=edit&id=${m.id}&returnurl=${utility.encodeURI(aReturnUrl)}">${lang("edit")}</a>
+ </td>
+ </if>
</tr>
</list>
-
<tr>
<td align=right valign=top class="table-left">
${lang("content.audio")}:
</td>
- <td align="left" valign="top" class="listrow2">
- <a href="${config.actionRoot}?module=Audio&do=list&${objectKey}=${anObject.id}">[+] ${lang("content.addaudio")}</a> |
- <a href="${config.actionRoot}?module=Audio&do=add&${objectKey}=${anObject.id}">${lang("content.uploadaudio")}</a>
- </td>
+ <if aCanEdit=="1">
+ <td align="left" valign="top" class="listrow2">
+ <a href="${config.actionRoot}?module=Audio&do=list&${objectKey}=${anObject.id}&returnurl=${utility.encodeURI(aReturnUrl)}">[+] ${lang("content.addaudio")}</a> |
+ <a href="${config.actionRoot}?module=Audio&do=add&${objectKey}=${anObject.id}&returnurl=${utility.encodeURI(aReturnUrl)}">${lang("content.uploadaudio")}</a>
+ </td>
+ </if>
</tr>
<list anObject.to_all_media_audio as m>
<tr>
<td align=right valign=top>
- <a href="${config.actionRoot}?module=Audio&do=edit&id=${m["id"]}"><img src="${config.docRoot}/img/${m["big_icon"]}" alt="edit" border="0"></a>
- </td>
- <td align="left" valign="top">
- <a href="${config.actionRoot}?module=${objectModule}&do=dettach&${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("delete")}</a>
+ <a href="${config.actionRoot}?module=Audio&do=getMedia&id=${m["id"]}&returnurl=${utility.encodeURI(aReturnUrl)}"><img src="${config.docRoot}/img/${m["big_icon"]}" alt="edit" border="0"></a>
</td>
+ <if aCanEdit=="1">
+ <td align="left" valign="top">
+ <a href="${config.actionRoot}?module=${objectModule}&do=dettach&${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("deattach")}</a> |
+ <a href="${config.actionRoot}?module=Audio&do=edit&id=${m.id}&returnurl=${utility.encodeURI(aReturnUrl)}">${lang("edit")}</a>
+ </td>
+ </if>
</tr>
</list>
<td align=right valign=top class="table-left">
${lang("content.video")}:
</td>
- <td align="left" valign="top" class="listrow2">
- <a href="${config.actionRoot}?module=Video&do=list&${objectKey}=${anObject.id}">[+] ${lang("content.addvideo")}</a> |
- <a href="${config.actionRoot}?module=Video&do=add&${objectKey}=${anObject.id}">${lang("content.uploadvideo")}</a>
- </td>
+ <if aCanEdit=="1">
+ <td align="left" valign="top" class="listrow2">
+ <a href="${config.actionRoot}?module=Video&do=list&${objectKey}=${anObject.id}&returnurl=${utility.encodeURI(aReturnUrl)}">[+] ${lang("content.addvideo")}</a> |
+ <a href="${config.actionRoot}?module=Video&do=add&${objectKey}=${anObject.id}&returnurl=${utility.encodeURI(aReturnUrl)}">${lang("content.uploadvideo")}</a>
+ </td>
+ </if>
</tr>
<list anObject.to_all_media_video as m>
<tr>
<td align=right valign=top>
- <a href="${config.actionRoot}?module=Video&do=edit&id=${m["id"]}"><img src="${config.docRoot}/img/${m["big_icon"]}" alt="edit" border="0"></a>
- </td>
- <td align="left" valign="top">
- <a href="${config.actionRoot}?module=${objectModule}&do=dettach&${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("delete")}</a>
+ <a href="${config.actionRoot}?module=Video&do=getMedia&id=${m["id"]}&returnurl=${utility.encodeURI(aReturnUrl)}"><img src="${config.docRoot}/img/${m["big_icon"]}" alt="edit" border="0"></a>
</td>
+ <if aCanEdit=="1">
+ <td align="left" valign="top">
+ <a href="${config.actionRoot}?module=${objectModule}&do=dettach&${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("deattach")}</a> |
+ <a href="${config.actionRoot}?module=Video&do=edit&id=${m.id}&returnurl=${utility.encodeURI(aReturnUrl)}">${lang("edit")}</a>
+ </td>
+ </if>
</tr>
</list>
+
<tr>
<td align=right valign=top class="table-left">
${lang("content.other")}:
</td>
- <td align="left" valign="top" class="listrow2">
- <a href="${config.actionRoot}?module=OtherMedia&do=list&${objectKey}=${anObject.id}">[+] ${lang("content.addother")}</a> |
- <a href="${config.actionRoot}?module=OtherMedia&do=add&${objectKey}=${anObject.id}">${lang("content.uploadother")}</a>
- </td>
+ <if aCanEdit=="1">
+ <td align="left" valign="top" class="listrow2">
+ <a href="${config.actionRoot}?module=OtherMedia&do=list&${objectKey}=${anObject.id}&returnurl=${utility.encodeURI(aReturnUrl)}">[+] ${lang("content.addother")}</a> |
+ <a href="${config.actionRoot}?module=OtherMedia&do=add&${objectKey}=${anObject.id}&returnurl=${utility.encodeURI(aReturnUrl)}">${lang("content.uploadother")}</a>
+ </td>
+ </if>
</tr>
<list anObject.to_all_media_other as m>
<tr>
<td align=right valign=top">
- <a href="${config.actionRoot}?module=Video&do=edit&id=${m["id"]}"><img src="${config.docRoot}/img/${m["big_icon"]}" alt="edit" border="0"></a>
- </td>
- <td align="left" valign="top">
- <a href="${config.actionRoot}?module=${objectModule}&do=dettach&${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("delete")}</a>
+ <a href="${config.actionRoot}?module=OtherMedia&do=getMedia&id=${m["id"]}&returnurl=${utility.encodeURI(aReturnUrl)}"><img src="${config.docRoot}/img/${m["big_icon"]}" alt="edit" border="0"></a>
</td>
+ <if aCanEdit=="1">
+ <td align="left" valign="top">
+ <a href="${config.actionRoot}?module=${objectModule}&do=dettach&${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("deattach")}</a> |
+ <a href="${config.actionRoot}?module=OtherMedia&do=edit&id=${m.id}&returnurl=${utility.encodeURI(aReturnUrl)}">${lang("edit")}</a>
+ </td>
+ </if>
</tr>
</list>
</table>
+++ /dev/null
-<include "EDITFUNCTIONS.tmpl">
-
-<function showAbsoluteLinkButton(anUrl, aLabel)>
- <span class="link-box-div">
- <a class="link-box" href="${utility.encodeHTML(anUrl)}">${aLabel}</a>
- </span>
-</function>
-<function showButton(anUrl, aLabel)>
- <call showAbsoluteLinkButton(config.docRoot+"?"+anUrl, aLabel)>
-</function>
-
-
-<assign TABLE_HEAD_CLASS "table-head">
-<assign TABLE_FOOT_CLASS "table-foot">
-<assign LIST_ROW_CLASS "listrow1">
-<assign LIST_ROW_CLASS_ALTERNATIVE "listrow2">
-
-<function EntityTable(anEntityList, aDataKeys, aHeaders, aFrom, aTo, aCount, aDeleteUri, aEditUri, aDeleteCancelUri)>
- <assign nrColumns="0">
- <list aHeaders as h>
- <assign nrColumns=utility.increment(nrColumns)>
- </list>
- <if aDeleteUri || aEditUri >
- <assign nrColumns=utility.increment(nrColumns)>
- </if>
-
- <table cellspacing="2" border="0">
- <tr>
- <list aHeaders as i>
- <td class="${TABLE_HEAD_CLASS}">
- <b>${i}</b>
- </td>
- </list>
- <if aDeleteUri || aEditUri>
- <td class="${TABLE_HEAD_CLASS}">
-
- </td>
- </if>
- </tr>
- <assign alternative="0">
-
- <list anEntityList as entry>
- <if alternative=="0">
- <assign alternative="1">
- <tr class="${LIST_ROW_CLASS}">
- <else>
- <assign alternative="0">
- <tr class="${LIST_ROW_CLASS_ALTERNATIVE}">
- </if>
-
- <list aDataKeys as i>
- <td>
- ${entry[i]}
- </td>
- </list>
- <if aDeleteUri || aEditUri>
- <td>
- <if aDeleteUri>
- <a class="listcommand" href="${config.docRoot}/admin/${aDeleteUri}?id=${entry.id}&offset=${aFrom}&okurl=${aDeleteUri}&cancelurl=${aDeleteCancelUri}&order=&where">${lang("delete")}</a>
- </if>
- <if aDeleteUri && aEditUri>
- |
- </if>
- <if aEditUri>
- <a class="listcommand" href="${config.docRoot}/admin/${aEditUri}?id=${entry.id}&offset=${aFrom}">${lang("edit")}</a>
- </if>
- </td>
- </if>
- </tr>
- </list>
-
-
- <tr>
- <td colspan="${nrColumns}" class="${TABLE_FOOT_CLASS}">
- ${aCount} ${lang("records")} / ${lang("show_from_to", aFrom, aTo)}
- </td>
- </tr>
-
- </table>
-</function>
-
-
-<comment>extra navigation</comment>
-<function AddOrBack(module_name, module_jumpback, do_jumpback)>
- <p>
- <a class="link-box" href="${config.docRoot}?module=${module_name}&do=add">[+] ${lang("add")}</a>
- <a class="link-box" href="${config.docRoot}?module=${module_jumpback}&do=${do_jumpback}">[<] ${lang("back")} </a>
- <a class="link-box" href="${config.docRoot}">[<<<] ${lang("head.start")}</a>
- </p>
-</function>
-
-<function showAddOrBack(anAllowAdd, anAddModule, aBackModule, aBackParams, )>
- <p>
- <if anAllowAdd == "1">
- <a class="link-box" href="${config.docRoot}/admin/${anAddModule}">[+] ${lang("add")}</a>
- </if>
- <a class="link-box" href="${config.docRoot}/admin/${aBackModule}?${aBackParams}">[<] ${lang("back")} </a>
-<comment> <a class="link-box" href="${config.docRoot}">[<<<] ${lang("head.start")}</a></comment>
- </p>
-</function>
-
-<function showBack(aBackUrl)>
- <p><a class="link-box" href="${config.docRoot}?${aBackUrl}">[<] ${lang("back")} </a> </p>
-</function>
-
-<function PulldownTableRow (label, fieldname, entrieslist, keyfield, valuefield, value, langprefix)>
- <tr>
- <td align="right" class="table-left">
- <b>${label}:</b>
- </td>
- <td class="listrow2">
- <select name="${fieldname}">
- <list entrieslist as a>
- <option value="${a[keyfield]}" <if (a[keyfield] == value)>selected</if>><if langprefix>${lang(langprefix+a[valuefield])}<else>${a[valuefield]}</if></option>
- </list>
- </select>
- </td>
- </tr>
-</function>
-
-
-
-
-
-
-
-
-
-<function TextInputTableRow (label, size, maxlength, fieldname, fieldcontent)>
- <tr>
- <td align="right" class="table-left">
- <b>${label}:</b>
- </td>
-
- <td class="listrow2">
- <input type="text" size="${size}" maxlength="${maxlength}" name="${fieldname}" value="${utility.encodeHTML(fieldcontent)}">
- </td>
- </tr>
-</function>
-
-<function ReadonlyTextTableRow (label, fieldcontent)>
- <tr>
- <td align="right" class="table-left">
- <b>${label}:</b>
- </td>
-
- <td class="listrow2">
- ${utility.encodeHTML(fieldcontent)}
- </td>
- </tr>
-</function>
-
-<function PasswordTextInputTableRow (label, size, maxlength, fieldname, fieldcontent)>
- <tr>
- <td align="right" class="table-left">
- <b>${label}:</b>
- </td>
-
- <td class="listrow2">
- <input type="password" size="${size}" maxlength="${maxlength}" name="${fieldname}" value="${utility.encodeHTML(fieldcontent)}">
- </td>
- </tr>
-</function>
-
-<function TextInputTableRowLight (label, size, maxlength, fieldname, fieldcontent)>
- <tr>
- <td align="right" class="table-left-light">
- <b>${label}:</b>
- </td>
-
- <td class="listrow1">
- <input type="text" size="${size}" maxlength="${maxlength}" name="${fieldname}" value="${utility.encodeHTML(fieldcontent)}">
- </td>
- </tr>
-</function>
-
-<function CheckboxTableRow (label, fieldname, fieldcontent )>
- <call EditCheckboxNormal(label, fieldname, fieldcontent)>
-<comment>
- <tr>
- <td align="right" valign="top" class="table-left">
- <b>${label}:</b>
- </td>
-
- <td class="listrow2">
- <input type="checkbox" name="${fieldname}" value="1"<if fieldcontent=="1"> checked</if>>
- </td>
- </tr>
-</comment>
-</function>
-
-<function TextAreaTableRow (label, hint, cols, rows, fieldname, fieldcontent )>
- <tr>
- <td align="right" valign="top" class="table-left">
- <b>${label}:</b>
- <if hint>
- <br>
- <span class="small">${hint}</span>
- </if>
- </td>
-
- <td class="listrow2">
- <textarea cols="${cols}" rows="${rows}" name="${fieldname}" wrap="virtual">${utility.encodeHTML(fieldcontent)}</textarea>
- </td>
- </tr>
-</function>
-
-
-<function TextAreaTableRowLight (label, hint, cols, rows, fieldname, fieldcontent )>
- <tr>
- <td align="right" valign="top" class="table-left-light">
- <b>${label}:</b>
- <if hint>
- <br>
- <span class="small">${hint}</span>
- </if>
- </td>
-
- <td class="listrow1">
- <textarea cols="${cols}" rows="${rows}" name="${fieldname}" wrap="virtual">${utility.encodeHTML(fieldcontent)}</textarea>
- </td>
- </tr>
-</function>
-
-<comment>complete search-form for contenentries, not sure if it works from everywhere</comment>
-<function ContentSearch (layout)>
-
- <form method="POST" action="${config.docRoot}">
- <input type="hidden" name="module" value="Content">
- <input type="hidden" name="do" value="search">
- <input type="hidden" name="selectarticleurl" value="${utility.encodeHTML(request.selectarticleurl)}">
-
- <table border="0" cellpadding="2" cellspacing="3">
- <tr <if !layout>class="bg-neutral"</if>>
- <td <if layout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.value")}</td>
- <td <if layout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.field")}</td>
- <td <if layout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.publishedstate")}</td>
- <td <if layout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.articletype")}</td>
- <td <if layout>class="table-head"<else>class="small bg-neutral"</if> valign="bottom"> ${lang("contentsearch.order")}</td>
- <td <if layout>class="table_head"<else>class="small bg_neutral"</if> valign="bottom"> </td>
- </tr>
- <tr>
- <td <if layout>class="listrow2"</if>><input type="text" size="10" maxlength="20" name="searchvalue" value="${searchvalue}"></td>
- <td <if layout>class="listrow2"</if>>
- <select name="searchfield">
- <option value="title"<if searchfield=="title"> selected</if>>${lang("contentsearch.field.title")}</option>
- <option value="creator"<if searchfield=="creator"> selected</if>>${lang("contentsearch.field.creator")}</option>
- <option value="contents"<if searchfield=="content"> selected</if>>${lang("contentsearch.field.contents")}</option>
- <option value="creator_main_url"<if searchfield=="creator_main_url"> selected</if>>${lang("contentsearch.field.creator_main_url")}</option>
- <option value="creator_email"<if searchfield=="creator_email"> selected</if>>${lang("contentsearch.field.creator_email")}</option>
- </select>
- </td>
- <td <if layout>class="listrow2"</if>>
- <select name="searchispublished">
- <option value="">--</option>
- <option value="0" <if searchispublished=="0"> selected</if>>${lang("contentsearch.publishedstate.hidden")}</option>
- <option value="1" <if searchispublished=="1"> selected</if>>${lang("contentsearch.publishedstate.published")}</option>
- </select>
- </td>
- <td <if layout>class="listrow2"</if>>
- <select name="searcharticletype">
- <option value="">--</option>
- <list articletypes as at>
- <option value="${at.id}" <if searcharticletype==at.id> selected</if>>${lang("articletypes."+at.name)}</option>
- </list>
- </select>
- </td>
- <td <if layout>class="listrow2"</if>>
- <select name="searchorder">
- <option value="datedesc" <if searchorder=="datedesc"> selected</if>>${lang("contentsearch.order.datedesc")}</option>
- <option value="dateasc" <if searchorder=="dateasc"> selected</if>>${lang("contentsearch.order.dateasc")}</option>
- <option value="title" <if searchorder=="title"> selected</if>>${lang("contentsearch.order.title")}</option>
- <option value="creator" <if searchorder=="creator"> selected</if>>${lang("contentsearch.order.creator")}</option>
- </select>
- </td>
- <td <if layout>class="listrow2"</if>>
- <input class="majorbutton" type="submit" name="search" value="${lang("contentsearch.searchbutton")}">
- </td>
- </tr>
- </table>
- </form>
-
-</function>
-
-<comment>browse function, only called if necessary</comment>
-<function PrevNext (align)>
- <if prevurl || nexturl>
- <p align="${align}">
- <if prevurl>
- <a class="link-box" href="${config.docRoot}?${prevurl}"> [ < ] ${lang("list.previous")}</a>
- </if>
- <if nexturl>
- <a class="link-box" href="${config.docRoot}?${nexturl}"> ${lang("list.next")} [ > ]</a>
- </if>
- </p>
- </if>
-</function>
-
-
-<comment>previous next links</comment>
-<function showPrevNextLinks (aPreviousUrl, aNextUrl, anAlignment)>
- <if aPreviousUrl || aNextUrl>
- <p align="${anAlignment}">
- <if aPreviousUrl>
- <a class="link-box" href="${config.docRoot}${aPreviousUrl}"> [ < ] ${lang("list.previous")}</a>
- </if>
- <if aPreviousUrl && aNextUrl>
-
- </if>
- <if aNextUrl>
- <a class="link-box" href="${config.docRoot}${aNextUrl}"> ${lang("list.next")} [ > ]</a>
- </if>
- </p>
- </if>
-</function>
-
-
-<comment>multifunctional help - popup or not - big or small designs</comment>
-<function Help (HelpUrl, popup, big )>
- <if popup>
-
- <Script Language="JavaScript">
- <!--
- function openwindowlink() {
- newwin = window.open("${HelpUrl}","windowname","height=320,width=320,top=200,left=300, scrollbars,resizable")
- }
- // end hiding -->
- </Script>
-
- <a href="JavaScript: openwindowlink()">
- <if big><span class="link-help"><else><span class="link-help-small"></if>
- <if big> [ ? ] ${lang("help")}<else>[?]</if>
- </span>
- </a>
-
- <else>
-
- <if big>
- <a href="${HelpUrl}" target="_blank"><span class="link-help"> [ ? ] ${lang("help")}</span></a>
- <else>
- <a href="${HelpUrl}" target="_blank"><span class="link-help-small">[?]</span></a>
- </if>
- </if>
-</function>
-
-
-
-<comment>functions to show media for an article/comment edit page</comment>
-<function showArticleAttachments(anArticle)>
- <call showAttachments(1, anArticle)>
-</function>
-
-<function showCommentAttachments(aComment)>
- <call showAttachments(0, aComment)>
-</function>
-
-<function showAttachments(anIsArticle, anObject)>
- <if anIsArticle=="1">
- <assign objectKey="articleid">
- <assign objectModule="Content">
- <else>
- <assign objectKey="commentid">
- <assign objectModule="Comment">
- </if>
-
- <table cellspacing="2" cellpadding="2">
- <tr>
- <td class="table-head" colspan="2">
- ${lang("content.attachments")}
- </td>
- </tr>
-
- <tr>
- <td align=right valign=top class="table-left">
- ${lang("content.images")}:
- </td>
- <td align="left" valign="top" class="listrow2">
- <a href="${config.docRoot}?module=Images&do=list&${objectKey}=${anObject.id}">[+] ${lang("content.addimage")}</a> |
- <a href="${config.docRoot}?module=Images&do=add&${objectKey}=${anObject.id}">${lang("content.uploadimage")}</a>
- </td>
- </tr>
- <list anObject.to_all_media_images as m>
- <tr>
- <td align=right valign=top>
- <a href="${config.docRoot}?module=Images&do=edit&id=${m["id"]}"><img src="${config.docRoot}?module=Images&do=getIcon&id=${m["id"]}" alt="edit" border="0"></a>
- </td>
- <td align="left" valign="top">
- <a href="${config.docRoot}?module=${objectModule}&do=dettach&${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("delete")}</a>
- </td>
- </tr>
- </list>
-
-
- <tr>
- <td align=right valign=top class="table-left">
- ${lang("content.audio")}:
- </td>
- <td align="left" valign="top" class="listrow2">
- <a href="${config.docRoot}?module=Audio&do=list&${objectKey}=${anObject.id}">[+] ${lang("content.addaudio")}</a> |
- <a href="${config.docRoot}?module=Audio&do=add&${objectKey}=${anObject.id}">${lang("content.uploadaudio")}</a>
- </td>
- </tr>
- <list anObject.to_all_media_audio as m>
- <tr>
- <td align=right valign=top>
- <a href="${config.docRoot}?module=Audio&do=edit&id=${m["id"]}"><img src="${config.docRoot}/img/${m["big_icon"]}" alt="edit" border="0"></a>
- </td>
- <td align="left" valign="top">
- <a href="${config.docRoot}?module=${objectModule}&do=dettach&${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("delete")}</a>
- </td>
- </tr>
- </list>
-
-
- <tr>
- <td align=right valign=top class="table-left">
- ${lang("content.video")}:
- </td>
- <td align="left" valign="top" class="listrow2">
- <a href="${config.docRoot}?module=Video&do=list&${objectKey}=${anObject.id}">[+] ${lang("content.addvideo")}</a> |
- <a href="${config.docRoot}?module=Video&do=add&${objectKey}=${anObject.id}">${lang("content.uploadvideo")}</a>
- </td>
- </tr>
- <list anObject.to_all_media_video as m>
- <tr>
- <td align=right valign=top>
- <a href="${config.docRoot}?module=Video&do=edit&id=${m["id"]}"><img src="${config.docRoot}/img/${m["big_icon"]}" alt="edit" border="0"></a>
- </td>
- <td align="left" valign="top">
- <a href="${config.docRoot}?module=${objectModule}&do=dettach&${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("delete")}</a>
- </td>
- </tr>
- </list>
-
- <tr>
- <td align=right valign=top class="table-left">
- ${lang("content.other")}:
- </td>
- <td align="left" valign="top" class="listrow2">
- <a href="${config.docRoot}?module=OtherMedia&do=list&${objectKey}=${anObject.id}">[+] ${lang("content.addother")}</a> |
- <a href="${config.docRoot}?module=OtherMedia&do=add&${objectKey}=${anObject.id}">${lang("content.uploadother")}</a>
- </td>
- </tr>
- <list anObject.to_all_media_other as m>
- <tr>
- <td align=right valign=top">
- <a href="${config.docRoot}?module=Video&do=edit&id=${m["id"]}"><img src="${config.docRoot}/img/${m["big_icon"]}" alt="edit" border="0"></a>
- </td>
- <td align="left" valign="top">
- <a href="${config.docRoot}?module=${objectModule}&do=dettach&${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("delete")}</a>
- </td>
- </tr>
- </list>
- </table>
-</function>
-
-
<function MediaSearch (module)>
-<form method="post" action="${config.actionRoot}">
-
-<input type="hidden" name="module" value="${module}">
-<input type="hidden" name="do" value="search">
-<input type="hidden" name="articleid" value="${articleid}">
-<input type="hidden" name="commentid" value="${commentid}">
-
-<table border="0" cellspacing="2" cellpadding="2">
- <tr>
- <td class="table-head">${lang("search")}:</td>
- <td class="table-head">${lang("medialist.search_text_in")}:</td>
- <td class="table-head">${lang("media.published")}:</td>
- <td class="table-head">${lang("media.mediafolder")}:</td>
- <td class="table-head"> </td>
- <td><a class="link-box" href="${config.actionRoot}?module=${module}&do=add">[+] ${lang("add")} </a></td>
- </tr>
-
- <tr>
- <td class="listrow2">
- <input type="text" size="20" maxlength="30" name="searchtext" value="${searchtext}">
- </td>
- <td class="listrow2">
- <select name="searchfield">
- <option value="title"<if searchfield=="title"> selected</if>>${lang("media.title")}</option>
- <option value="creator"<if searchfield=="creator"> selected</if>>${lang("media.creator")}</option>
- <option value="place"<if searchfield=="place"> selected</if>>${lang("media.location")}</option>
- </select>
- </td>
-
- <td class="listrow2">
- <select name="searchispublished">
- <option value="">${lang("dontcare")}</option>
- <option value="0" <if searchispublished=="0"> selected</if>>${lang("no")}</option>
- <option value="1" <if searchispublished=="1"> selected</if>>${lang("yes")}</option>
+ <form method="GET" action="${config.actionRoot}">
+
+ <input type="hidden" name="module" value="${module}">
+ <input type="hidden" name="do" value="search">
+ <input type="hidden" name="articleid" value="${articleid}">
+ <input type="hidden" name="commentid" value="${commentid}">
+
+ <table border="0" cellspacing="2" cellpadding="2">
+ <tr>
+ <td class="table-head">${lang("search")}:</td>
+ <td class="table-head">${lang("medialist.search_text_in")}:</td>
+ <td class="table-head">${lang("media.published")}:</td>
+ <td class="table-head">${lang("media.mediafolder")}:</td>
+ <td class="table-head"> </td>
+ <td><a class="link-box" href="${config.actionRoot}?module=${module}&do=add">[+] ${lang("add")} </a></td>
+ </tr>
+
+ <tr>
+ <td class="listrow2">
+ <input type="text" size="20" maxlength="30" name="searchtext" value="${searchtext}">
+ </td>
+ <td class="listrow2">
+ <select name="searchfield">
+ <option value="title"<if searchfield=="title"> selected</if>>${lang("media.title")}</option>
+ <option value="creator"<if searchfield=="creator"> selected</if>>${lang("media.creator")}</option>
+ <option value="place"<if searchfield=="place"> selected</if>>${lang("media.location")}</option>
+ </select>
+ </td>
+
+ <td class="listrow2">
+ <select name="searchispublished">
+ <option value="">${lang("dontcare")}</option>
+ <option value="0" <if searchispublished=="0"> selected</if>>${lang("no")}</option>
+ <option value="1" <if searchispublished=="1"> selected</if>>${lang("yes")}</option>
+ </select>
+ </td>
+
+ <td class="listrow2">
+ <select name="searchmediafolder">
+ <option value="">-</option>
+ <list mediafolders as m>
+ <option value="${m.id}" <if m.id == searchmediafolder>selected</if>>${m.name}</option>
+ </list>
</select>
- </td>
-
- <td class="listrow2">
- <select name="searchmediafolder">
- <option value="">-</option>
- <list mediafolders as m>
- <option value="${m.id}" <if m.id == searchmediafolder>selected</if>>${m.name}</option>
- </list>
- </select>
- </td>
-
- <td class="listrow2">
- <input type="submit" name="search" value="${lang("filter")}">
- </td>
-
- <td>
-
- </td>
- </tr>
-</table>
-
-</form>
-
+ </td>
+
+ <td class="listrow2">
+ <input type="submit" class="majorbutton" name="search" value="${lang("filter")}">
+ </td>
+
+ <td>
+
+ </td>
+ </tr>
+ </table>
+
+ </form>
+
</function>
<function MediaList (module)>
+ <if returnurl>
+ <call showAddOrBack2("1", module, returnurl)>
+ <else>
+ <call showAddOrBack("1", module, "Admin", "start")>
+ </if>
- <call showAddOrBack("1", module, "Admin", "start")>
<if medialist>
<call showPrevNextLinks(prevurl, nexturl, "left")>
<td class="table-head">
<b>${lang("media.format")}</b></td>
<td class="table-head">
- <b>${lang("media.size")}</b></td>
- <td class="table-head">
<b>${lang("media.mediafolder")}</b></td>
<td class="table-head">
<b>${lang("media.creator")}</b></td>
<if module=="Images">
<img src="${config.actionRoot}?module=${module}&do=getIcon&id=${entry.id}" border=0></a>
<else>
- <img src="${config.docRoot}/img/${entry.big_icon}" border=0></a>
+ <img src="${config.docRoot}/img/${entry.info.bigIcon}" border=0></a>
</if>
</td>
<td>
- ${entry.title}
- <if entry.description><br>${entry.description}</if>
+ ${utility.encodeHTML(entry.title)}
+ <if entry.description && entry.title><br></if>${utility.encodeHTML(entry.description)}
+ <br><br>
+ <if entry.is_published=="1">${lang("media.published")}: <a href="${entry.publish_server}${entry.publish_path}">${entry.publish_server}${entry.publish_path}</a><br></if>
+ <a href="${config.actionRoot}?module=${module}&do=showarticles&id=${entry.id}">${lang("media.articles")}</a> |
+ <a href="${config.actionRoot}?module=${module}&do=showcomments&id=${entry.id}">${lang("media.comments")}</a>
+
</td>
<td>
- ${entry.media_descr}
- </td>
- <td>
- ${entry.human_readable_size}
+ ${entry.info.mediaType}
</td>
<td>
<if entry.mediafolder>
</table>
<call showPrevNextLinks(prevurl, nexturl, "left")>
- <call showAddOrBack("1", module, "Admin", "start")>
+
+ <if returnurl>
+ <call showAddOrBack2("1", module, returnurl)>
+ <else>
+ <call showAddOrBack("1", module, "Admin", "start")>
+ </if>
<else>
<P align="center">${lang("no_matches_found")}</p>
<b>${i}</b>
</td>
</list>
- <td class="${TABLE_HEAD_CLASS}">
+ <td class="${TABLE_HEAD_CLASS}" width="50">
</td>
</tr>
</function>
\r
+<function SpannedListHead(aHeaders, aSpans)>\r
+ <tr class="${TABLE_HEAD_CLASS}">
+ <assign index="0">\r
+ <list aHeaders as i>
+ <td colspan="${aSpans[index]}" class="${TABLE_HEAD_CLASS}">
+ <b>${i}</b>
+ </td>
+ <assign index=utility.increment(index)>
+ </list>
+ <td class="${TABLE_HEAD_CLASS}">
+
+ </td>
+ </tr>
+</function>
+
<function ListFoot(aNrRecords, aFrom, aTo)>\r
<tr>
<td colspan="${TABLE_NR_COLUMNS}" class="table-foot">
</table>\r
</function>\r
+<function ExtendedListEntry(aFields, aLinks, aLinkTitles)>
+ <if alt=="1">
+ <assign alt="0">
+ <tr class="${LIST_ROW_CLASS_ALTERNATIVE}">
+ <else>
+ <assign alt="1">
+ <tr class="${LIST_ROW_CLASS}">
+ </if>
+
+ <list aFields as i>
+ <td>
+ ${i}
+ </td>
+ </list>
+ <td>\r
+ <assign index="0">\r
+ <assign first="1">\r
+ <list aLinks as i>\r
+ <if first=="1">\r
+ <assign first="0">\r
+ <else> \r
+ |\r
+ </if>\r
+ <a class="listcommand" href="${config.actionRoot}?${utility.encodeHTML(i)}">${aLinkTitles[index]}</a> \r
+ <assign index=utility.increment(index)>
+ </list>\r
+ </td>
+ </tr>
+</function>\r
+
+
+<function SpannedListEntry(aFields, aSpans, aLinkPrefix, aLinks, aLinkTitles)>\r
+ <if alt=="1">
+ <tr class="${LIST_ROW_CLASS_ALTERNATIVE}">
+ <else>
+ <tr class="${LIST_ROW_CLASS}">
+ </if>
+
+ <assign index="0">\r
+ <list aFields as i>
+ <td colspan="${aSpans[index]}">
+ ${i}
+ </td>
+ <assign index=utility.increment(index)>
+ </list>
+ <td>\r
+ <assign index="0">\r
+ <assign first="1">\r
+ <list aLinks as i>\r
+ <if first=="1">\r
+ <assign first="0">\r
+ <else> \r
+ |\r
+ </if>\r
+ <a class="listcommand" href="${config.actionRoot}?${utility.encodeHTML(aLinkPrefix)}${utility.encodeHTML(i)}">${aLinkTitles[index]}</a> \r
+ <assign index=utility.increment(index)>
+ </list>\r
+ </td>
+ </tr>
+</function>
<function ListEntry(aFields, aLinkPrefix, aLinks, aLinkTitles)>\r
<if alt=="1">
<assign alt="0">
<tr>
<td class="table-foot" colspan="2" align="right">
<if id>
- <input type="submit" name="save" value="${lang("save")}">
+ <input type="submit" class="majorbutton" name="save" value="${lang("save")}">
<else>
- <input type="submit" name="save" value="${lang("insert")}">
+ <input type="submit" class="majorbutton" name="save" value="${lang("insert")}">
</if>
</td>
</tr>
<br><br>
</p>
<call ListStart()>\r
- <call ListHead([
+ <call SpannedListHead([
lang("abuse.filter.type"),
- lang("abuse.filter.expression"),
+ lang("abuse.filter.expression")], ["1","3"])>
+ <call ListHead([
lang("abuse.filter.articleaction"),
lang("abuse.filter.commentaction"),
lang("abuse.filter.comments"),
- lang("abuse.filter.lasthit"),
- ])>
+ lang("abuse.filter.lasthit")])>
<list filters as f>
- <if f.lastHit>\r
- <call ListEntry([
- lang("abuse.filtertype."+f.type),
- utility.encodeHTML(f.expression),
- lang("content.operation."+f.articleAction),
- lang("comment.operation."+f.commentAction),
- f.comments,
- f.lastHit.format(config["Mir.DefaultDateTimeFormat"], config["Mir.DefaultTimezone"])
- ],
- "module=Abuse&id="+f.id,
- ["&do=edit", "&do=delete"],
- [lang("edit"), lang("delete")])
- >
- <else>
- <call ListEntry([
+ <call SpannedListEntry([
lang("abuse.filtertype."+f.type),
- utility.encodeHTML(f.expression),
- lang("content.operation."+f.articleAction),
- lang("comment.operation."+f.commentAction),
- f.comments,
- "-"
- ],
+ utility.encodeHTML(f.expression)],
+ ["1","3"],
"module=Abuse&id="+f.id,
- ["&do=edit", "&do=delete"],
- [lang("edit"), lang("delete")])
- >
- </if>
+ ["&do=edit", "&do=delete"],
+ [lang("edit"), lang("delete")])>
+ <if f.lastHit>\r
+ <call ListEntry([
+ lang("content.operation."+f.articleAction),
+ lang("comment.operation."+f.commentAction),
+ utility.prettyEncodeHTML(f.comments),
+ f.lastHit.format(config["Mir.DefaultDateTimeFormat"], config["Mir.DefaultTimezone"])
+ ],
+ "module=Abuse&id="+f.id,
+ ["&do=moveup", "&do=movedown", "&do=movetop", "&do=movebottom"],
+ [lang("abuse.filters.moveup"), lang("abuse.filters.movedown"),
+ lang("abuse.filters.movetop"), lang("abuse.filters.movebottom")])
+ >
+ <else>
+ <call ListEntry([
+ lang("content.operation."+f.articleAction),
+ lang("comment.operation."+f.commentAction),
+ utility.prettyEncodeHTML(f.comments),
+ "-"
+ ],
+ "module=Abuse&id="+f.id,
+ ["&do=moveup", "&do=movedown", "&do=movetop", "&do=movebottom"],
+ [lang("abuse.filters.moveup"), lang("abuse.filters.movedown"),
+ lang("abuse.filters.movetop"), lang("abuse.filters.movebottom")])
+ >
+ </if>
+ <tr height="2" class="${TABLE_HEAD_CLASS}"><td colspan="6"> </td></tr>
</list>\r
<call ListEnd()>\r
<td class="table-head">${lang("abuse.log.address")}</td>
<td class="table-head">${lang("abuse.log.object")}</td>
<td class="table-head">${lang("abuse.log.browser")}</td>
+ <td class="table-head">${lang("abuse.log.filtertype")}</td>
+ <td class="table-head">${lang("abuse.log.filterexpression")}</td>
</tr>
<assign grey="0">
</if>
</td>
<td>${l.browser}</td>
+ <td><if l.hitfiltertype>${lang("abuse.filtertype."+l.hitfiltertype)}</if></td>
+ <td>${utility.encodeHTML(l.hitfilterexpression)}</td>
</tr>
</list>
<tr>
- <td colspan="4" class="table-foot"> </td>
+ <td colspan="6" class="table-foot"> </td>
</tr>
</table>
<tr>
<td align="right" valign="top">
<a href="${config.actionRoot}?module=${module}&do=getMedia&id=${uploadedmedia.id}">
- <img src="/img/${uploadedmedia.big_icon}" border=0></a>
+ <img src="${config.docRoot}/img/${uploadedmedia.info.bigIcon}" border=0></a>
</td>
<td valign="bottom" class="small">
- ${lang("media.created")}: ${uploadedmedia.webdb_create}
- <if uploadedmedia.webdb_lastchange>/ ${lang("media.changed")} ${uploadedmedia.webdb_lastchange}</if><br>
- <if uploadedmedia.is_published=="1">${lang("media.published")}: ${uploadedmedia.publish_date} / ${uploadedmedia.publish_server}${uploadedmedia.publish_path}<br></if>
- ${lang("media.format")}: ${uploadedmedia.mimetype} / ${uploadedmedia.media_descr}<br>
+ ${lang("media.created")}: ${uploadedmedia.creationdate.format(config["Mir.DefaultDateTimeFormat"])}
+ ${lang("media.urls")}: ${uploadedmedia.publish_server}${uploadedmedia.publish_path}<br>
+ ${lang("media.format")}: ${uploadedmedia.info.mediaType}<br>
${lang("media.size")}: ${uploadedmedia.human_readable_size}<br>
- ${lang("media.rights")}: <b>${uploadedmedia.rightsHashdata[to_rights]["name"]}</b><br>
</td>
</tr>
</if>
<call showButton(
"module=Comment&do=articlecomments&articleid="+comment.to_content.id+"&returnurl="+utility.encodeURI(thisurl),
lang("comment.allcomments"))>
+ <comment>
<call showAbsoluteLinkButton(
comment.publicurl,
lang("preview"))>
+ </comment>
</if>
<list comment.operations as op>
- <call showButton(
+ <call showPOSTButton(
"module=Localizer&do=commentoperation&operation="+op+"&id="+comment.id+"&returnurl="+utility.encodeURI(thisurl),
lang("comment.operation."+op))>
</list>
<td align="right" valign="top">
${lang("comment.published")} <input type="checkbox" name="is_published" value="1" <if comment.is_published=="1"> checked</if>>
<if new=="1">
- <input type="submit" name="save" value="${lang("insert")}">
+ <input type="submit" class="majorbutton" name="save" value="${lang("insert")}">
<else>
- <input type="submit" name="save" value="${lang("save")}">
+ <input type="submit" class="majorbutton" name="save" value="${lang("save")}">
</if>
</td>
</tr>
<call PulldownTableRow (lang("comment.language"), "to_language", languages, "id", "name", comment.to_language, "")>
<call CheckboxTableRow (lang("comment.html"), "is_html", comment.is_html )>
<call TextAreaTableRow (lang("comment.text"), "", 70, 15, "description", comment.description)>
+ <call TextAreaTableRow (lang("comment.comment"), lang("comment.comment.info"), 70, 6, "comment", comment.comment)>
<tr>
<td colspan="2" align="right" class="table-foot" >
<span class="text">
<if new=="1">
- <input type="submit" name="save" value="${lang("insert")}">
+ <input type="submit" class="majorbutton" name="save" value="${lang("insert")}">
<else>
- <input type="submit" name="save" value="${lang("save")}">
+ <input type="submit" class="majorbutton" name="save" value="${lang("save")}">
</if>
</span>
</td>
<tr>
<td align="left" valign="top">
-<call showCommentAttachments(comment)>
+<call showCommentAttachments(comment, thisurl)>
</td>
</tr>
</table>
<option value="description"<if searchfield=="description"> selected</if>>${lang("commentsearch.field.description")}</option>
<option value="main_url"<if searchfield=="main_url"> selected</if>>${lang("commentsearch.field.main_url")}</option>
<option value="email"<if searchfield=="email"> selected</if>>${lang("commentsearch.field.email")}</option>
+ <option value="comment"<if searchfield=="comment"> selected</if>>${lang("commentsearch.field.comment")}</option>
</select>
</td>
<td class="listrow2">
${lang("comment.article")} / ${lang("comment.title")} / ${lang("comment.creator")} / ${lang("comment.text")}
</td>
<td>
+ ${lang("comment.comment")}
+ </td>
+ <td>
</td>
</tr>
<a href="${config.actionRoot}?module=Content&do=edit&id=${entry.to_content.id}">
${lang("edit")}
</a> |
+<comment>
<a href="${entry.publicurl}">
${lang("start.show")}
</a> |
+</comment>
<a href="${config.actionRoot}?module=Comment&do=articlecomments&articleid=${entry.to_content.id}">
${lang("commentlist.allcomments")}
</a>
${lang("by")}: ${entry.creator}
</if>
<br>
- ${utility.encodeHTML(entry.description)}
+ ${utility.prettyEncodeHTML(utility.subString(entry.description, 0, config["Mir.Admin.ListTextLengthLimit"]))}
<if entry.main_url><br>URL: ${entry.main_url}</if>
<br>
</td>
<td valign="top">
+ ${utility.prettyEncodeHTML(entry.comment)}
+ </td>
+ <td valign="top">
<if config["Mir.Localizer.Admin.AllowDeleteComment"]=="1">
<a class="small" href="${config.actionRoot}?module=Comment&do=delete&id=${entry.id}&okurl=${utility.encodeURI(thisurl)}&cancelurl=${utility.encodeURI(thisurl)}">[${lang("delete")}]</a>
</list>
<tr>
- <td colspan="3" class="table-foot">
+ <td colspan="4" class="table-foot">
${count} ${lang("records")} / ${lang("show_from_to", from, to)}
</td>
</tr>
<input type="hidden" name="id" value="${id}">
<input type="hidden" name="okurl" value="${okurl}">
<input type="hidden" name="cancelurl" value="${cancelurl}">
- <input type="submit" name="cancel" value="${lang("cancel")}">
- <input type="submit" name="confirm" value="${lang("delete")}"><br>
+ <input type="submit" class="majorbutton" name="cancel" value="${lang("cancel")}">
+ <input type="submit" class="majorbutton" name="confirm" value="${lang("delete")}"><br>
<br>
<b><span class="text-alert">${lang("confirm.text")}</span></b>
</p>
+++ /dev/null
-<html>
- <head>
- <title>${config["Mir.Name"]} | ${lang("confirm.htmltitle")}</title>
- <link rel="stylesheet" type="text/css" href="${config.docRoot}/style/admin.css">
- </head>
-
- <body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
- <center>
- <include "head.tmpl">
- <form method="post" action="${config.docRoot}/admin/confirm.do">
- <table><tr><td>
- <p class="box-head" align="center"><b>${lang("confirm.really_delete")}</b></p>
- <p class="box" align="center">
- <input type="hidden" name="id" value="${request.id}">
- <input type="hidden" name="order" value="${request.order}">
- <input type="hidden" name="limit" value="${request.limit}">
- <input type="hidden" name="offset" value="${request.offset}">
- <input type="hidden" name="okurl" value="${request.okurl}">
- <input type="hidden" name="cancelurl" value="${request.cancelurl}">
- <input type="submit" name="cancel" value="${lang("cancel")}">
- <input type="submit" name="confirm" value="${lang("delete")}"><br>
- <br>
- <b><span class="text-alert">${lang("confirm.text")}</span></b>
- </p>
- </td></tr></table>
- </form>
- </center>
- <include "foot.template">
- </body>
-</html>
<include "FUNCTIONS.template">
<include "head.template">
+<if new=="0">
+ <table width="100%" cellspacing="0" cellpadding="5">
+ <tr>
+ <td align="left" valign="top">
+ <call showGETButton(
+ "module=Comment&do=articlecomments&articleid="+article.id+"&returnurl="+utility.encodeURI(thisurl),
+ lang("content.comments"))>
+
+ <list article.previews as p>
+ <call showGETButton(
+ "module=Content&do=showPreview&preview="+p+"&id="+article.id+"&returnurl="+utility.encodeURI(thisurl),
+ lang("content.preview."+p))>
+ </list>
+ </td>
+ <td align="right" valign="top">
+ <if article.is_locked=="1" && article.lockinguser>
+ ${lang("content.lockedby", article.lockinguser.login)}
+ </if>
+
+ <if mayLock=="1">
+ <form method="post" action="${config.actionRoot}">
+ <input type="hidden" name="module" value="Content">
+ <input type="hidden" name="id" value="${utility.encodeHTML(article.id)}">
+ <input type="hidden" name="returnurl" value="${utility.encodeURI(thisurl)}">
+ <input type="hidden" name="do" value="lock">
+ <input type="submit" class="majorbutton" name="lock" value="${lang("content.lock")}">
+ </form>
+ </if>
+ <if mayUnlock=="1">
+ <form method="post" action="${config.actionRoot}">
+ <input type="hidden" name="module" value="Content">
+ <input type="hidden" name="id" value="${utility.encodeHTML(article.id)}">
+ <input type="hidden" name="returnurl" value="${utility.encodeURI(thisurl)}">
+ <input type="hidden" name="do" value="unlock">
+ <input type="submit" class="majorbutton" name="unlock" value="${lang("content.unlock")}">
+ </form>
+ </if>
+ <if mayForceLock=="1">
+ <form method="post" action="${config.actionRoot}">
+ <input type="hidden" name="module" value="Content">
+ <input type="hidden" name="id" value="${utility.encodeHTML(article.id)}">
+ <input type="hidden" name="returnurl" value="${utility.encodeURI(thisurl)}">
+ <input type="hidden" name="do" value="forcelock">
+ <input type="submit" class="majorbutton" name="fotcelock" value="${lang("content.forcelock")}">
+ </form>
+ </if>
+ </td>
+ </tr>
+ </table>
+</if>
+
+<if mayEdit=="1">
<form method="post" action="${config.actionRoot}">
<input type="hidden" name="module" value="Content">
<input type="hidden" name="id" value="${utility.encodeHTML(article.id)}">
<else>
<input type="hidden" name="do" value="update">
</if>
+</if>
<table width="100%" cellspacing="0" cellpadding="5">
<tr>
<td align="left" valign="top">
<if new=="0">
- <call showButton(
- "module=Comment&do=articlecomments&articleid="+article.id+"&returnurl="+utility.encodeURI(thisurl),
- lang("content.comments"))>
- <call showAbsoluteLinkButton(
- article.publicurl,
- lang("preview"))>
<list article.operations as op>
- <call showButton(
+ <call showPOSTButton(
"module=Localizer&do=articleoperation&operation="+op+"&articleid="+article.id+"&returnurl="+utility.encodeURI(thisurl),
lang("content.operation."+op))>
</list>
</if>
-
</td>
<td align="right" valign="top">
${lang("content.published")} :
- <input type="checkbox" name="is_published" value="1"<if article.is_published!="0" && article.is_published!=""> checked</if>>
- <if new=="1">
- <input type="submit" name="save" value="${lang("insert")}">
+ <if mayEdit=="1">
+ <input type="checkbox" name="is_published" value="1"<if article.is_published!="0" && article.is_published!=""> checked</if>>
+ <if new=="1">
+ <input type="submit" class="majorbutton" name="save" value="${lang("insert")}">
+ <else>
+ <input type="submit" class="majorbutton" name="save" value="${lang("save")}">
+ </if>
<else>
- <input type="submit" name="save" value="${lang("save")}">
+ <if article.is_published!="0" && article.is_published!="">${lang("yes")}<else>${lang("no")}</if>
</if>
</td>
</tr>
</table>
<table width="100%" cellspacing="3" cellpadding="2">
<tr>
- <td align="right" class="table-left">
+ <td align="right" class="table-left" width="30%">
id # :
</td>
<td class="listrow2">
</td>
</tr>
+<if new=="0">
+ <comment>changedate, creationdate aren't available for new articles</comment>
<tr>
<td align="right" class="table-left">
${lang("content.lastchange_date")}:
${lang("content.create_date")}:
</td>
<td class="listrow2">
- ${utility.encodeHTML(article.creationdate.format(config["Mir.DefaultDateTimeFormat"]))}<br>${lang("edit")}:
- <input type="text" size="10" maxlength="16" name="webdb_create" value=""> <span class="small">(yyyy-mm-dd [HH:mm])</span>
+ ${utility.encodeHTML(article.creationdate.format(config["Mir.DefaultDateTimeFormat"]))}
+ <if mayEdit=="1">
+ <br>${lang("edit")}:
+ <input type="text" size="10" maxlength="16" name="webdb_create" value=""> <span class="small">(yyyy-mm-dd [HH:mm])</span>
+ </if>
</td>
</tr>
+</if>
- <call PulldownTableRow (lang("content.articletype"), "to_article_type", articletypes, "id", "name", article.to_article_type, "articletypes.")>
- <call PulldownTableRow (lang("content.language"), "to_language", languages, "id", "name", article.to_language, "")>
+ <call _PulldownTableRow (lang("content.articletype"), "to_article_type", articletypes, "id", "name", article.to_article_type, "articletypes.", mayEdit)>
+ <call _PulldownTableRow (lang("content.language"), "to_language", languages, "id", "name", article.to_language, "", mayEdit)>
- <tr>
- <td align="right" valign="top" class="table-left">
- ${lang("content.topic")}:
- </td>
- <td class="listrow2" >
- <if config["Mir.Localizer.Admin.TopicListFlavor"]!="0">
- <table border=0 cellpadding="2" cellspacing="0">
- <tr>
- <assign col=config["Mir.Localizer.Admin.TopicListColumns"]>
- <list topics as t>
- <if col=="0">
- </tr>
- <tr>
- <assign col=config["Mir.Localizer.Admin.TopicListColumns"]>
+ <list topics as r>
+ <tr>
+ <td align="right" valign="top" class="table-left">
+ ${lang(r.key)}:
+ </td>
+ <td class="listrow2">
+ <if mayEdit=="1">
+ <if r.listtype=="1">
+ <table border=0 cellpadding="2" cellspacing="0">
+ <tr>
+ <assign col=r.listparameter>
+ <list r.items as t>
+ <if col=="0">
+ </tr>
+ <tr>
+ <assign col=r.listparameter>
+ </if>
+ <td title="${utility.encodeHTML(t.description)}">
+ <input type="checkbox" name="to_topic" value="${t.id}" <list article.to_topics as to><if (t.id == to["id"])>checked</if></list>>
+ <span class="small"> ${t.title}</span>
+ </td>
+ <assign col=utility.increment(col, "-1")>
+ </list>
+ <if col!="0">
+ <td colspan="${col}">
+
+ </td>
+ </if>
+ </tr>
+ </table>
+ <else>
+ <if r.listtype=="0">
+ <select name="to_topic" size="r.listparameter" multiple>
+ <list r.items as t>
+ <option value="${t.id}" <list article.to_topics as to><if (t.id == to["id"])>selected</if></list>>${t.title}</option>
+ </list>
+ </select>
+ <else>
+ <select name="to_topic" size="1">
+ <list r.items as t>
+ <option value="${t.id}" <list article.to_topics as to><if (t.id == to["id"])>selected</if></list>>${t.title}</option>
+ </list>
+ </select>
</if>
- <td title="${utility.encodeHTML(t.description)}">
- <input type="checkbox" name="to_topic" value="${t.id}" <list article.to_topics as to><if (t.id == to["id"])>checked</if></list>>
- <span class="small"> ${t.title}</span>
- </td>
- <assign col=utility.increment(col, "-1")>
+ </if>
+ <else>
+ <list r.items as t>
+ <list article.to_topics as to><if (t.id == to["id"])>${t.title} <br/> </if></list>
</list>
- <if col!="0">
- <td colspan="${col}">
-
- </td>
- </if>
- </tr>
- </table>
- <else>
- <select name="to_topic" size="7" multiple>
- <list topics as t>
- <option value="${t.id}" <list article.to_topics as to><if (t.id == to["id"])>selected</if></list>>${t.title}</option>
- </list>
- </select>
- </if>
- </td>
- </tr>
+ </if>
+ </td>
+ </tr>
+ </list>
- <call TextInputTableRow (lang("content.title"), 40, 255, "title", article.title)>
- <call TextInputTableRowLight (lang("content.subtitle"), 40, 255, "subtitle", article.subtitle)>
- <call TextInputTableRowLight (lang("content.edittitle"), 40, 255, "edittitle", article.edittitle)>
- <comment>
- <call TextInputTableRowLight ("", 20, 20, "subtitle", article.edittitle)>
- </comment>
- <call TextInputTableRowLight (lang("content.location"), 40, 255, "source", article.source)>
- <call TextInputTableRow (lang("content.creator"), 40, 80, "creator", article.creator)>
- <call TextInputTableRowLight (lang("content.creator.email"), 40, 80, "creator_email", article.creator_email)>
- <call TextInputTableRowLight (lang("content.creator.url"), 40, 255, "creator_main_url", article.creator_main_url)>
- <call TextInputTableRowLight (lang("content.creator.address"), 20, 80, "creator_address", article.creator_address)>
- <call TextInputTableRowLight (lang("content.creator.telephone"), 20, 20, "creator_phone", article.creator_phone)>
- <call CheckboxTableRow (lang("content.html"), "is_html", article.is_html )>
- <call TextAreaTableRow (lang("content.abstract"), "", 70, 15, "description", article.description)>
- <call TextAreaTableRow (lang("content.content"), "", 70, 20, "content_data", article.content_data)>
- <call TextAreaTableRow (lang("content.comment"), lang("content.internal"), 70, 6, "comment", article.comment)>
+
+ <call _TextInputTableRow (lang("content.title"), 40, 255, "title", article.title, mayEdit)>
+ <call _TextInputTableRowLight (lang("content.subtitle"), 40, 255, "subtitle", article.subtitle, mayEdit)>
+ <call _TextInputTableRowLight (lang("content.edittitle"), 40, 255, "edittitle", article.edittitle, mayEdit)>
+ <call _TextInputTableRowLight (lang("content.location"), 40, 255, "source", article.source, mayEdit)>
+ <call _TextInputTableRow (lang("content.creator"), 40, 80, "creator", article.creator, mayEdit)>
+ <call _TextInputTableRowLight (lang("content.creator.email"), 40, 80, "creator_email", article.creator_email, mayEdit)>
+ <call _TextInputTableRowLight (lang("content.creator.url"), 40, 255, "creator_main_url", article.creator_main_url, mayEdit)>
+ <call _TextInputTableRowLight (lang("content.creator.address"), 20, 80, "creator_address", article.creator_address, mayEdit)>
+ <call _TextInputTableRowLight (lang("content.creator.telephone"), 20, 20, "creator_phone", article.creator_phone, mayEdit)>
+ <call _CheckboxTableRow (lang("content.html"), "is_html", article.is_html, mayEdit)>
+ <call _TextAreaTableRow (lang("content.abstract"), "", 70, 15, "description", article.description, mayEdit)>
+ <call _TextAreaTableRow (lang("content.content"), "", 70, 20, "content_data", article.content_data, mayEdit)>
+ <call _TextAreaTableRow (lang("content.comment"), lang("content.internal"), 70, 6, "comment", article.comment, mayEdit)>
+ <call _TextAreaTableRow (lang("content.keywords"), "", 70, 4, "keywords", article.keywords, mayEdit)>
- <tr>
- <td colspan="2" align="right" valign="top">
- <if new=="1">
- <input type="submit" name="save" value="${lang("insert")}">
- <else>
- <input type="submit" name="save" value="${lang("save")}">
- </if>
- </td>
- </tr>
+ <if mayEdit=="1">
+ <tr>
+ <td colspan="2" align="right" valign="top">
+ <if new=="1">
+ <input type="submit" class="majorbutton" name="save" value="${lang("insert")}">
+ <else>
+ <input type="submit" class="majorbutton" name="save" value="${lang("save")}">
+ </if>
+ </td>
+ </tr>
+ </if>
</table>
<if new=="0">
-
-<table width="90%" cellspacing="0" cellpadding="0">
-
-<tr>
-<td align="left" valign="top">
-
-<table cellspacing="3" cellpadding="2">
- <tr>
- <td class="table-head" colspan="2">
- ${lang("content.family")}
- </td>
- </tr>
-
+ <table width="90%" cellspacing="0" cellpadding="0">
+
<tr>
- <td align=right valign=top class="table-left">
- ${lang("content.parent")}:
- </td>
- <td align="left" valign="top" class="listrow2">
- <if article.parent>
- <b>${utility.encodeHTML(article.parent.title)}</b><br>
- <a href="${config.actionRoot}?module=Content&do=edit&id=${article.parent.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("content.viewparent")}</a> |
- <a href="${config.actionRoot}?module=Content&do=clearparent&id=${article.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("content.clearparent")}</a> |
- </if>
- <a href="${config.actionRoot}?module=Content&do=selectparent&id=${article.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("content.selectparent")}</a>
- </td>
- </tr>
+ <td align="left" valign="top">
- <tr>
- <td align=right valign=top class="table-left">
- ${lang("content.children")}:
- </td>
- <td align="left" valign="top" class="listrow2">
- <a href="${config.actionRoot}?module=Content&do=listchildren&article_id=${article.id}">${lang("content.viewchildren")}</a>
+ <table cellspacing="3" cellpadding="2">
+ <tr>
+ <td class="table-head" colspan="2">
+ ${lang("content.family")}
+ </td>
+ </tr>
+
+ <tr>
+ <td align=right valign=top class="table-left">
+ ${lang("content.parent")}:
+ </td>
+ <td align="left" valign="top" class="listrow2">
+ <if article.parent>
+ <b>${utility.encodeHTML(article.parent.title)}</b><br>
+ <a href="${config.actionRoot}?module=Content&do=edit&id=${article.parent.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("content.viewparent")}</a> |
+ <a href="${config.actionRoot}?module=Content&do=clearparent&id=${article.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("content.clearparent")}</a> |
+ </if>
+ <if mayEdit=="1">
+ <a href="${config.actionRoot}?module=Content&do=selectparent&id=${article.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("content.selectparent")}</a>
+ </if>
+ </td>
+ </tr>
+
+ <tr>
+ <td align=right valign=top class="table-left">
+ ${lang("content.children")}:
+ </td>
+ <td align="left" valign="top" class="listrow2">
+ <a href="${config.actionRoot}?module=Content&do=listchildren&article_id=${article.id}">${lang("content.viewchildren")}</a>
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td align="right" valign="top">
+ <call showArticleAttachments(article, mayEdit, thisurl)>
</td>
</tr>
</table>
-</td>
-<td align="right" valign="top">
-<call showArticleAttachments(article)>
-</td>
-</tr>
-</table>
-
</if>
-
-</form>
+<if mayEdit=="1">
+ </form>
+</if>
<include "foot.template">
</body>
+++ /dev/null
-<html>
-<head>
- <title>${lang("content.htmltitle")}</title>
- <link rel="stylesheet" type="text/css" href="${config.docRoot}/style/admin.css"
-</head>
-
-<body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
-
-<include "FUNCTIONS.tmpl">
-<include "head.tmpl">
-
-<if request.new && request.new=="1">
- <assign action="contentSave.do">
- <assign new=request.new>
-<else>
- <assign action="requestSave.do">
- <assign new="0">
-</if>
-<assign thisurl="contentSave.do?id="+utility.encodeHTML(request.article.id) >
-
-<form method="post" action="${config.docRoot}/admin/contentSave.do">
- <input type="hidden" name="id" value="${utility.encodeHTML(request.article.id)}">
- <input type="hidden" name="returnurl" value="${utility.encodeHTML(request.returnurl)}">
- <input type="hidden" name="new" value="${new}">
-
-<table width="100%" cellspacing="0" cellpadding="5">
- <tr>
- <td align="left" valign="top">
- <if new=="0">
- <call showButton(
- "module=Comment&do=articlecomments&articleid="+request.article.id+"&returnurl="+utility.encodeURI(thisurl),
- lang("content.comments"))>
- <call showAbsoluteLinkButton(
- request.article.publicurl,
- lang("preview"))>
- <list request.article.operations as op>
- <call showButton(
- "module=Localizer&do=articleoperation&operation="+op+"&articleid="+request.article.id+"&returnurl="+utility.encodeURI(thisurl),
- lang("content.operation."+op))>
- </list>
- </if>
-
- </td>
- <td align="right" valign="top">
- ${lang("content.published")} :
- <input type="checkbox" name="is_published" value="1"<if request.article.published!="0" && request.article.published!=""> checked</if>>
- <if new=="1">
- <input type="submit" name="save" value="${lang("insert")}">
- <else>
- <input type="submit" name="save" value="${lang("save")}">
- </if>
- </td>
- </tr>
-</table>
-<table width="100%" cellspacing="3" cellpadding="2">
- <tr>
- <td align="right" class="table-left">
- id # :
- </td>
- <td class="listrow2">
- ${request.article.id}
- </td>
- </tr>
-
- <tr>
- <td align="right" class="table-left">
- ${lang("content.lastchange_date")}:
- </td>
- <td class="listrow2">
- ${utility.encodeHTML(request.article.webdbLastchange.format(config["Mir.DefaultDateTimeFormat"]))}<br>
- </td>
- </tr>
-
- <tr>
- <td align="right" valign="top" class="table-left">
- ${lang("content.webdbCreate")}:
- </td>
- <td class="listrow2">
- ${utility.encodeHTML(request.article.webdbCreate.format(config["Mir.DefaultDateTimeFormat"]))}<br>${lang("edit")}:
- <input type="text" size="10" maxlength="16" name="date" value=""> <span class="small">(yyyy-mm-dd [HH:mm])</span>
- </td>
- </tr>
-
- <call PulldownTableRow (lang("content.articletype"), "to_article_type", application.articletypes, "id", "name", request.article.articleType.id, "articletypes.")>
- <call PulldownTableRow (lang("content.language"), "to_language", application.languages, "id", "name", request.article.language.id, "")>
-
- <tr>
- <td align="right" valign="top" class="table-left">
- ${lang("content.topic")}:
- </td>
- <td class="listrow2" >
- <if config["Mir.Localizer.Admin.TopicListFlavor"]!="0">
- <table border=0 cellpadding="2" cellspacing="0">
- <tr>
- <assign col=config["Mir.Localizer.Admin.TopicListColumns"]>
- <list application.topics as t>
- <if col=="0">
- </tr>
- <tr>
- <assign col=config["Mir.Localizer.Admin.TopicListColumns"]>
- </if>
- <td title="${utility.encodeHTML(t.description)}">
- <input type="checkbox" name="to_topic" value="${t.id}" <list request.article.topicsAsList as to><if (t.id == to["id"])>checked</if></list>>
- <span class="small"> ${t.title}</span>
- </td>
- <assign col=utility.increment(col, "-1")>
- </list>
- <if col!="0">
- <td colspan="${col}">
-
- </td>
- </if>
- </tr>
- </table>
- <else>
- <select name="to_topic" size="7" multiple>
- <list topics as t>
- <option value="${t.id}" <list request.article.topics as to><if (t.id == to["id"])>selected</if></list>>${t.title}</option>
- </list>
- </select>
- </if>
- </td>
- </tr>
-
- <call TextInputTableRow (lang("content.title"), 40, 255, "title", request.article.title)>
- <call TextInputTableRowLight (lang("content.subtitle"), 40, 255, "subtitle", request.article.subtitle)>
- <call TextInputTableRowLight (lang("content.edittitle"), 40, 255, "edittitle", request.article.edittitle)>
- <comment>
- <call TextInputTableRowLight ("", 20, 20, "subtitle", request.article.edittitle)>
- </comment>
- <call TextInputTableRowLight (lang("content.location"), 40, 255, "source", request.article.source)>
- <call TextInputTableRow (lang("content.creator"), 40, 80, "creator", request.article.creator)>
- <call TextInputTableRowLight (lang("content.creator.email"), 40, 80, "creator_email", request.article.creatorEmail)>
- <call TextInputTableRowLight (lang("content.creator.url"), 40, 255, "creator_main_url", request.article.creatorMainUrl)>
- <call TextInputTableRowLight (lang("content.creator.address"), 20, 80, "creator_address", request.article.creatorAddress)>
- <call TextInputTableRowLight (lang("content.creator.telephone"), 20, 20, "creator_phone", request.article.creatorPhone)>
- <call CheckboxTableRow (lang("content.html"), "is_html", request.article.html )>
- <call TextAreaTableRow (lang("content.abstract"), "", 70, 15, "description", request.article.description)>
- <call TextAreaTableRow (lang("content.content"), "", 70, 20, "content_data", request.article.contentData)>
- <call TextAreaTableRow (lang("content.comment"), lang("content.internal"), 70, 6, "comment", request.article.comment)>
-
- <tr>
- <td colspan="2" align="right" valign="top">
- <if new=="1">
- <input type="submit" name="save" value="${lang("insert")}">
- <else>
- <input type="submit" name="save" value="${lang("save")}">
- </if>
- </td>
- </tr>
-</table>
-
-<if new=="0">
-
-<table width="90%" cellspacing="0" cellpadding="0">
-
-<tr>
-<td align="left" valign="top">
-
-<table cellspacing="3" cellpadding="2">
- <tr>
- <td class="table-head" colspan="2">
- ${lang("content.family")}
- </td>
- </tr>
-
- <tr>
- <td align=right valign=top class="table-left">
- ${lang("content.parent")}:
- </td>
- <td align="left" valign="top" class="listrow2">
- <if request.article.parentContent>
- <b>${utility.encodeHTML(request.article.parentContent.title)}</b><br>
- <a href="${config.docRoot}?module=Content&do=edit&id=${request.article.parentContent.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("content.viewparent")}</a> |
- <a href="${config.docRoot}?module=Content&do=clearparent&id=${request.article.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("content.clearparent")}</a> |
- </if>
- <a href="${config.docRoot}?module=Content&do=selectparent&id=${request.article.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("content.selectparent")}</a>
- </td>
- </tr>
-
- <tr>
- <td align=right valign=top class="table-left">
- ${lang("content.children")}:
- </td>
- <td align="left" valign="top" class="listrow2">
- <a href="${config.docRoot}?module=Content&do=listchildren&article_id=${request.article.id}">${lang("content.viewchildren")}</a>
- </td>
- </tr>
-</table>
-
-</td>
-<td align="right" valign="top">
-<call showArticleAttachments(request.article)>
-</td>
-</tr>
-</table>
-
-</if>
-
-</form>
-
- <include "foot.tmpl">
-</body>
-</html>
if selectarticleurl is set, this list is used to select an article
</comment>
-<if selectarticleurl!="">
+<if selectarticleurl && selectarticleurl!="">
<assign showsearch="1">
<assign showactions="0">
<else>
<input type="hidden" name="do" value="articleoperationbatch">
<input type="hidden" name="returnurl" value="${utility.encodeHTML(thisurl)}">
<p class="box">
- <input type="submit" name="save" value="${lang("save")}"> (${lang("commentlist.activate")})
+ <input type="submit" class="majorbutton" name="save" value="${lang("save")}"> (${lang("commentlist.activate")})
</p>
</if>
</if>
<if entry.is_published!="0">Pub.<else>-</if> <if entry.is_html!="0">HTML<else>-</if>
</td>
<td>
- ${lang("articletypes." + entry.article_type.name)} <b>${entry.title}</b> (${entry.id})<br>
- ${lang("by")} <i>${utility.encodeHTML(entry.creator)}</i><br>
+ ${lang("articletypes." + entry.article_type.name)} <b>${utility.prettyEncodeHTML(entry.title)}</b> (${entry.id})<br>
+ ${lang("by")} <i>${utility.prettyEncodeHTML(entry.creator)}</i><br>
<if showactions=="1">
<if config["Mir.Localizer.Admin.ListOperationsFlavor"]=="0">
<list entry.operations as op>
</if>
<if entry.operations> | </if>
<a href="${config.actionRoot}?module=Content&do=edit&id=${entry.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("edit")}</a> |
- <a href="${entry.publicurl}">${lang("preview")}</a> |
+ <comment> <a href="${entry.publicurl}">${lang("preview")}</a> |</comment>
<a href="${config.actionRoot}?module=Comment&do=articlecomments&articleid=${entry.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("contentlist.comments")}</a> (${entry.commentcount})
<else>
<span class="text">
</if>
</td>
<td width="25%" <if grey=="1">class="listrow3"<else>class="listrow4"</if> valign="top">
- <span class="small">${entry.comment} </span>
+ <span class="small">${utility.prettyEncodeHTML(entry.comment)} </span>
</td>
<td valign="top" class="listcommand">
<if showactions=="1">
+++ /dev/null
-<comment>
- if selectarticleurl is set, this list is used to select an article
-</comment>
-
-<if request.selectarticleurl && request.selectarticleurl !="">
- <assign showsearch="1">
- <assign showactions="0">
-<else>
- <assign showactions="1">
- <assign showsearch="0">
-</if>
-
-
-<assign showactions="1">
-<assign showsearch="0">
-<assign thisurl="contentList.do">
-
-
-<html>
-<head>
- <title>${config["Mir.Name"]} | ${lang("contentlist.htmltitle")} </title>
- <link rel="stylesheet" type="text/css" href="${config.docRoot}/style/admin.css">
-</head>
-
-<body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
-<include "FUNCTIONS.tmpl">
-<include "head.tmpl">
-
-<if showsearch=="1">
- <call ContentSearch ("layouted")>
-</if>
-
-<if request.articles>
-
-<if showactions=="1">
- <if config["Mir.Localizer.Admin.ListOperationsFlavor"]!="0">
- <form method="post" action="${config.docRoot}">
- <input type="hidden" name="module" value="Localizer">
- <input type="hidden" name="do" value="articleoperationbatch">
- <input type="hidden" name="returnurl" value="${utility.encodeHTML(thisurl)}">
- <p class="box">
- <input type="submit" name="save" value="${lang("save")}"> (${lang("commentlist.activate")})
- </p>
- </if>
-</if>
-
-<call showPrevNextLinks(prevurl, nexturl, "right")>
-
-<table border="0" width="100%" cellspacing="3" cellpadding="2">
- <tr>
- <td class="table-head" valign="top">
- <span class="small">
- ${lang("content.creationdate")}<br>
- ${lang("content.modificationdate")}<br>
- ${lang("content.status")}
- </span>
- </td>
- <td class="table-head" valign="top">
- ${lang("content.type")} - ${lang("content.title")} (id # )<br>
- ${lang("content.creator")}
- </td>
- <td class="table-head" valign="top">
- ${lang("content.comment")}
- </td>
- <td class="table-head" valign="top"> </td>
- </tr>
-
-<assign grey="0">
- <list request.articles as entry>
- <tr <if grey=="1"><assign grey="0">class="listrow1"<else>class="listrow2"<assign grey="1"></if>>
- <td class="x-small">
- ${entry.webdbCreate.format(config["Mir.DefaultDateTimeFormat"])}<br>
- ${entry.webdbLastchange.format(config["Mir.DefaultDateTimeFormat"])}<br>
- <if entry.published!="0">Pub.<else>-</if> <if entry.html!="0">HTML<else>-</if>
- </td>
- <td>
- ${lang("articletypes." + entry.articleType.name)} <b>${entry.title}</b> (${entry.id})<br>
- ${lang("by")} <i>${utility.encodeHTML(entry.creator)}</i><br>
- <if showactions=="1">
- <if config["Mir.Localizer.Admin.ListOperationsFlavor"]=="0">
- <list entry.operations as op>
- [ <a href="${config.docRoot}?module=Localizer&do=articleoperation&operation=${op}&articleid=${entry.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("content.operation."+op)}</a> ]
- </list>
- </if>
- <if config["Mir.Localizer.Admin.ListOperationsFlavor"]=="1">
- <list entry.operations as op>
- [ <input type="checkbox" name="operation" value="${entry.id};${op}"> ${lang("content.operation."+op)} ]
- </list>
- </if>
- <if config["Mir.Localizer.Admin.ListOperationsFlavor"]=="2">
- <if entry.operations>
- <br>
- <select name="operation">
- <option value="" selected> </option>
- <list entry.operations as op>
- <option value="${entry.id};${op}">${lang("content.operation."+op)}</option>
- </list>
- </select>
- </if>
- </if>
- <if entry.operations> | </if>
- <a href="${config.docRoot}/admin/contentEdit.do?id=${entry.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("edit")}</a> |
- <a href="${entry.publicurl}">${lang("preview")}</a> |
- <a href="${config.docRoot}?module=Comment&do=articlecomments&articleid=${entry.id}&returnurl=${utility.encodeURI(thisurl)}">${lang("contentlist.comments")}</a> (${entry.commentsSize})
- <else>
- <span class="text">
- <a href="${config.docRoot}?${request.selectarticleurl}&id=${entry.id}">${lang("contentlist.select")}</a>
- </if>
- </td>
- <td width="25%" <if grey=="1">class="listrow3"<else>class="listrow4"</if> valign="top">
- <span class="small">${entry.comment} </span>
- </td>
- <td valign="top" class="listcommand">
- <if showactions=="1">
- <if config["Mir.Localizer.Admin.AllowDeleteArticle"]=="1">
- <a href="${config.docRoot}?module=Content&do=delete&id=${entry.id}&okurl=${utility.encodeURI(thisurl)}&cancelurl=${utility.encodeURI(thisurl)}">[${lang("delete")}]</a>
- </if>
- </if>
- </td>
- </tr>
-</list>
- <tr>
- <td colspan="4" class="table-foot">
- ${count} ${lang("records")} / ${lang("show_from_to", from, to)}
- </td>
- </tr>
-</table>
-
-<if showactions=="1">
- <if config["Mir.Localizer.Admin.ListOperationsFlavor"]!="0">
- <p class="box">
- <input class="majorbutton" type="submit" name="save" value="${lang("save")}"> ( ${lang("commentlist.activate")})
- </p>
- </form>
- </if>
-</if>
-
-<call showPrevNextLinks(prevurl, nexturl, "right")>
-
-<else>
-<p align="center" class="box">${lang("no_matches_found")}</p>
-</if>
-
-<include "foot.tmpl">
-</body>
-</html>
<input type="hidden" name="entry" value="${entry}">
<input type="hidden" name="subdirectory" value="${subdirectory}">
<input type="hidden" name="do" value="update">
- <input type="submit" name="save" value="${lang("save")}">
- <input type="reset" value="${lang("reset")}">
+ <input type="submit" class="majorbutton" name="save" value="${lang("save")}">
+ <input type="reset" class="majorbutton" value="${lang("reset")}">
<br><br>
<textarea cols="120" rows="40" name="text" wrap=virtual>${utility.encodeHTML(text)}</textarea>
<br><br>
- <input type="submit" name="save" value="${lang("save")}">
+ <input type="submit" class="majorbutton" name="save" value="${lang("save")}">
<input type="reset" value="${lang("reset")}">
</form>
<br>
+++ /dev/null
-<hr>
-<table width="100%" cellspacing="0">
- <tbody>
- <tr>
- <td align="left" class="table-head">
- <a href="#top"><span class="table-head"> ${lang("foot.top")}</span></a>
- <if returnurl>
- <a href="${config.actionRoot}?${returnurl}"><span class="table-head"> | ${lang("back")} [ < ]</span></a>
- </if>
- </td>
- <td align="right" class="table-head">
- <a href="mailto:${config["Mir.Contact-email.address"]}"><span class="table-head">${config["Mir.Shortname"]}</span></a> - ${config["Mir.Version"]}
- </td>
- </tr>
-</tbody>
-</table>
-
-
-
-
-
-
-
</tr>
</table>
<hr>
+<if loggedinusers>
+ <table cellpadding="3" cellspacing="0" width="100%">
+ <tr >
+ <td class="bg-neutral small" align="left">
+ <b>${lang("system.loggedin")}
+ <list loggedinusers as u>
+ ${u.name} (${u.count})
+ </list>
+ </b>
+ </td>
+ <td class="bg-neutral small" align="right">
+ <b>${lang("system.status")}
+ ${systemstatus}
+ </b>
+ </td>
+ </tr>
+ </table>
+<hr>
+</if>
+++ /dev/null
-<a name="top"></a>
-
-<table class="table-head" width="100%" cellspacing="0" cellpadding="0">
- <tr>
- <td><img src="${config.docRoot}/img/logo_small.gif" border="0" align="left"></td>
- <td>
- ${config["Mir.Name"]} | ${config.now.format(config["Mir.DefaultDateTimeFormat"])}
- </td>
- <td class="table-head" align="right">
- <a href="${utility.encodeLink(config.docRoot+"/admin/changePassword.do?id="+session.user.id+"&returnurl=")}"><span class="table-head">${lang("head.changepassword")}</span></a> |
- <if request.returnurl>
- <a href="${utility.encodeLink(config.docRoot+request.returnurl)}"><span class="table-head">[ < ] ${lang("back")}</span></a> |
- </if>
- <a href="${utility.encodeLink(config.docRoot+"/admin/index.do")}"><span class="table-head">${lang("head.start")}</span></a> |
- <a href="${utility.encodeLink(config.docRoot+"/admin/logoff.do")}"><span class="table-head">${lang("head.logout")}
- <if session.user> <i>${session.user.login}</i> </if>
- </span></a>
- </td>
- </tr>
-</table>
-<hr>
<tr>
<td align="right" valign="top">
<a href="JavaScript:openWin('${config.actionRoot}?module=${module}&do=getMedia&id=${uploadedmedia.id}')">
- <img src="${config.actionRoot}?module=${module}&do=getIcon&id=${uploadedmedia.id}" border=0>
+ <img src="${config.actionRoot}?module=${module}&do=getThumbnail&id=${uploadedmedia.id}" border=0>
</a>
</td>
<td valign="bottom" class="small">
- ${lang("media.created")}: ${uploadedmedia.webdb_create}
- <if uploadedmedia.webdb_lastchange>/ ${lang("media.changed")} ${uploadedmedia.webdb_lastchange}</if><br>
- <if uploadedmedia.is_published=="1">${lang("media.published")}: ${uploadedmedia.publish_date} / ${uploadedmedia.publish_server}${uploadedmedia.publish_path}<br></if>
- ${lang("media.format")}: ${uploadedmedia.mimetype} / ${uploadedmedia.media_descr}<br>
- ${lang("media.size")}: ${uploadedmedia.human_readable_size}<br>
- ${lang("media.rights")}: <b>${uploadedmedia.rightsHashdata[to_rights]["name"]}</b><br>
+ ${lang("media.created")}: ${uploadedmedia.creationdate.format(config["Mir.DefaultDateTimeFormat"])}
+ ${lang("media.urls")}: ${uploadedmedia.publish_server}${uploadedmedia.publish_path}<br>
+ ${lang("media.format")}: ${uploadedmedia.info.mediaType}<br>
</td>
</tr>
</if>
+++ /dev/null
-<html>
- <head>
- <title>${config["Mir.Name"]} | ${lang("start.htmltitle")}</title>
- <link rel="stylesheet" type="text/css" href="${config.docRoot}/style/admin.css"
- </head>
-
-<body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
-
- <include "FUNCTIONS.template">
- <include "head.tmpl">
-
-<table border="0" width="100%">
- <tr>
- <td valign="top" width="40%">
- <!-- ###### left column ###### -->
- <p class="box-head"><b>${lang("start.administer.title")}</b></p>
- <p class="box">
- <list administeroperations as a>
- <a href="${config.docRoot}/admin/${a.url}">${lang("start.administer."+a.name)}</a><br>
- </list>
- </p>
-
- <p class="box-head"><b>${lang("start.articles.title")}</b></p>
- <p class="box">
- <list request.articletypes as a>
- <a href="${config.docRoot}/admin/contentList.do?articletype=${a.id}">> ${lang("start.allarticlesoftype", lang("articletypes."+a.name))}</a><br>
- </list>
- <br>
- <a href="${config.docRoot}?module=Content&do=list&where=${utility.encodeURI("is_published='f'")}&order=${utility.encodeURI("webdb_create desc")}" >> ${lang("start.content.not_published")}</a><br>
- <a href="${config.docRoot}?module=Content&do=list&where=${utility.encodeURI("id in (select content_id from content_x_media, media where media.id=media_id)")}&order=${utility.encodeURI("webdb_create desc")}">> ${lang("start.content.with_media")}</a><br>
- <a href="${config.docRoot}?module=Content&do=list&where=&order=${utility.encodeURI("webdb_lastchange desc")}">> ${lang("start.content.last_changes")}</a><br>
- <a href="${config.docRoot}?module=Content&do=list&where=${utility.encodeURI("not (comment is null or comment like '')")}&order=${utility.encodeURI("webdb_create desc")}">> ${lang("start.content.with_comments")}</a><br>
- <br>
- <a href="${config.docRoot}?module=Content&do=list&where=&order=${utility.encodeURI("webdb_create desc")}">> ${lang("start.content.all")}</a><br>
- </p>
- <p class="box-head"><b>${lang("start.comments.title")}</b></p>
- <p class="box">
- <list commentstatuses as a>
- <a href="${config.docRoot}?module=Comment&do=list&where=to_comment_status%3D${a.id}&order=webdb_create%20desc">> ${lang("start.allcommentswithstatus", lang("commentstatus."+a.name))}</a><br>
- </list>
- </p>
-
-
- <p class="box-head"><b>${lang("start.extra.title")}</b></p>
- <p class="box">
- <a href="${config.docRoot}?module=Hidden&do=list">> ${lang("start.content.hidden")}</a>
- <list fileeditentries as e>
- <br>
- <a href="${config.docRoot}?module=FileEdit&do=list&entry=${e}">> ${lang("start.fileedit."+e+".title")}</a>
- </list>
- </p>
-</td>
-
-<!-- ###### end left column ###### -->
-
-<td width="2%"> </td>
-<!-- ###### Spacer-column ###### -->
-
-<comment> Middle column </comment>
-
- <td valign="top" width="30%">
-
- <p class="box-head"><b>${lang("start.addandedit.title")}</b></p>
- <div class="box">
- <a href="${config.docRoot}/admin/contentAdd.do?returnurl=index.do">> ${lang("start.content.new")}</a>
- <br>
-
- <a href="${config.docRoot}?module=Breaking&do=list">> ${lang("start.breaking.title")}</a>
- <a href="${config.docRoot}?module=Breaking&do=add">[+]</a>
- <form>
- <input type="hidden" name="module" value="Content">
- <input type="hidden" name="do" value="edit">
- ${lang("start.content.open_by_id")}:
- <input type="text" name="id" value="" size="7">
- <input type="submit" value=" > ">
- </form>
- <form>
- <input type="hidden" name="module" value="Comment">
- <input type="hidden" name="do" value="edit">
- ${lang("start.comment.open_by_id")}:
- <input type="text" name="id" value="" size="7">
- <input type="submit" value=" > ">
- </form>
-
-
- </div>
-
- <p class="box-head"><b>${lang("start.media.title")}</b></p>
- <div class="box">
-
- <a href="${config.docRoot}?module=Images&do=list">> ${lang("start.images.title")}</a>
- <a href="${config.docRoot}?module=Images&do=add">[+]</a><br>
-
- <a href="${config.docRoot}?module=Audio&do=list">> ${lang("start.audio.title")}</a>
- <a href="${config.docRoot}?module=Audio&do=add">[+]</a><br>
-
-
- <a href="${config.docRoot}?module=Video&do=list">> ${lang("start.video.title")}</a>
- <a href="${config.docRoot}?module=Video&do=add">[+]</a><br>
-
-
- <a href="${config.docRoot}?module=OtherMedia&do=list">> ${lang("start.other_media.title")}</a>
- <a href="${config.docRoot}?module=OtherMedia&do=add" >[+]</a><br>
-
- <br>
- <a href="${config.docRoot}?module=Mediafolder&do=list">> ${lang("start.mediafolder.title")}</a>
- <a href="${config.docRoot}?module=Mediafolder&do=add">[+]</a><br>
- </div>
-
-
-
- <p class="box-head"><b>${lang("start.producers.title")}</b></p>
- <p class="box">
- <a href="${config.docRoot}?module=Producer&do=produceAllNew">> ${lang("start.producers.produceAllNew")}</a><br>
- <a href="${config.docRoot}?module=Producer&do=showProducerQueueStatus">> ${lang("start.producers.advanced")}</a>
- </p>
-
- <p class="box bg-neutral">
- <a href="${utility.encodeLink(config.docRoot+"/admin/superusermenu.shtml")}">${lang("start.superusermenu")}</a>
- </p>
-
- </td>
-
- <td width="2%"> </td>
-
-<comment> RIGHT COLUMN </comment>
-
- <td valign="top" width="26%" rowspan="2">
-
- <comment>internal messageboard</comment>
-
-
- <p class="box-head"><b>${lang("start.messageboard.title")}</b></p>
- <div class="box-bg">
- <span class="small">
- <a href="${config.docRoot}/admin/messageAdd.do?returnurl=index.do">[ + ${lang("add")}]</a>
- <a href="${config.docRoot}/admin/messageList.do?returnurl=index.do">[${lang("edit")}]</a>
- </span>
- <if request.messages>
- <list request.messages as m>
- <p class="x-small">
- <if m.title><b>${m.title}</b><br></if>
- ${m.description}<br>
- <span class="x-small">
- <if m.creator><i>by: ${m.creator}</i> / </if>${m.webdbCreate.format(config["Mir.DefaultDateTimeFormat"])}}<br>
- </span>
- </p>
- </list>
- <else>
- <p><i>${lang("start.messageboard.no_messages")}</i>
- </if></span>
- </div>
- </td>
-
- </tr>
-
- <comment> BOTTOM ROW FOR SEARCH </comment>
- <tr>
- <td colspan="3" valign="top">
- <p class="box-head"><b>${lang("start.search.title")}</b></p>
- <div class="box">
- <call ContentSearch ("")>
- </div>
-
-<comment>
- <!-- HELP -DEMO -->
- <p class="box">
- <b>HELP-Demo:</b><br>
- popup small-link: <call Help ("../help/content_datum.html", "1", "" )> popup big-link: <call Help ("../help/content_datum.html", "1", "1" )><br><br>
- newwin small-link: <call Help ("../help/content_datum.html", "", "" )> newwin big-link: <call Help ("../help/content_datum.html", "", "1" )>
- </p>
-</comment>
-
- </td>
- </tr>
-
-</table>
-
- <include "foot.template">
-
- </body>
-</html>
<div class="box">
- <form method="post" action="${config.docRoot}/admin/logon.do">
+ <form method="post" action="${config.actionRoot}">
<input type="hidden" name="module" value="login">
</tr>
<tr>
<td colspan="2" align="right">
- <input type="submit" value="${lang("login.submit")}">
+ <input type="submit" class="majorbutton" value="${lang("login.submit")}">
</td>
</tr>
</tbody>
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
- <head>
- <title>${config["Mir.Name"]} | ${lang("login.htmltitle")}</title>
- <link rel="stylesheet" type="text/css" href="${config.docRoot}/style/admin.css">
- <script language="JavaScript">
- function placeFocus() {
- document.forms[0].elements[1].focus();
- }
- </script>
- </head>
- <body onLoad="placeFocus()" marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
-
- <include "head_nonavi.template">
-
-<center>
- <p>
- ${lang("login.info",
- "<a href=\"mailto:" + config["Mir.Contact-email.address"] +
- "\">" +
- config["Mir.Contact-email.name"] +
- "</a>"
- )
- }
- </p>
-
- <hr>
-<div style="width:300px;">
-
- <div class="box-head"><b>${lang("login.title")}</b></div>
-
- <div class="box">
-
-
- <form method="post" action="${utility.encodeLink("logon.do")}">
-
- <input type="hidden" name="module" value="login">
-
- <table cellpadding="4">
- <tbody>
- <tr>
- <td align="right">${lang("login.name")}:</td>
- <td align="left"><input type="text" name="login" size="15"></td>
- </tr>
- <tr>
- <td align="right">${lang("login.password")}:</td>
- <td align="left"><input type="password" name="password" size="15"></td>
- </tr>
- <tr>
- <td align="right">${lang("login.language")}:</td>
- <td align="left">
- <select name="language">
- <list application.languages as l>
- <option value="${l.code}" <if l.code==application.defaultlanguage>selected</if> >${l.name}</option>
- </list>
- </select>
- </td>
- </tr>
- <tr>
- <td colspan="2" align="right">
- <input type="submit" value="${lang("login.submit")}">
- </td>
- </tr>
- </tbody>
- </table>
-
- </form>
- </div>
-</div>
-<br>
-</center>
-
- <include "foot.template">
-
- </body>
-</html>
-
<body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
<include "FUNCTIONS.template">
+ <include "LISTFUNCTIONS.template">
<include "head.template">
- <call showAddOrBack("1", module, "Admin", "superusermenu")>
+ <call showAddOrBack("1", module, "Admin", "start")>
<if entities>
<call showPrevNextLinks(prevurl, nexturl, "left")>
- <call EntityTable(entities, ["name", "place","comment"],
- [ lang("mediafolder.name"),
- lang("mediafolder.location"),
- lang("mediafolder.comment")], from, to, count, "1", "1", module)>
+ <call ListStart()>\r
+ <call ListHead([
+ lang("mediafolder.name"),
+ lang("mediafolder.location"),
+ lang("mediafolder.comment"), ])>
+
+ <list entities as e>
+ <call ExtendedListEntry([
+ utility.prettyEncodeHTML(e.name),
+ utility.prettyEncodeHTML(e.place),
+ utility.prettyEncodeHTML(e.comment)],
+ ["module="+module+"&id="+e.id+"&do=edit", "module="+module+"&id="+e.id+"&do=delete",
+ "module=Images&do=search&searchmediafolder="+e.id],
+ [lang("edit"), lang("delete"), lang("list")])
+ >
+ </list>\r
+ <call ListFoot(count, from, to)>\r
+ <call ListEnd()>\r
<call showPrevNextLinks(prevurl, nexturl, "left")>
<call showAddOrBack("1", module, "Admin", "start")>
<else>
--- /dev/null
+<html>
+ <head>
+ <title>${config["Mir.Name"]} | ${lang("mediatype.htmltitle")}</title>
+ <link rel="stylesheet" type="text/css" href="${config.docRoot}/style/admin.css">
+<head>
+<body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
+ <include "FUNCTIONS.template">
+ <include "head.template">
+
+ <if new=="1">
+ <assign method="insert">
+ <else>
+ <assign method="update">
+ </if>
+
+ <call EditStart(
+ ["module", "id", "do"],
+ [module, entity.id, method])>
+
+ <call EditReadonlyTextNormal(lang("mediatype.id"), entity.id)>
+ <call EditTextNormal(lang("mediatype.name"), 40, 255, "name", entity.name)>
+ <call EditTextNormal(lang("mediatype.mimetype"), 40, 255, "mime_type", entity.mime_type)>
+ <call EditTextNormal(lang("mediatype.classname"), 40, 255, "classname", entity.classname)>
+ <call EditTextNormal(lang("mediatype.tablename"), 40, 255, "tablename", entity.tablename)>
+
+ <if new=="1">
+ <call EditSubmitButtonNormal(lang("insert"), "save")>
+ <else>
+ <call EditSubmitButtonNormal(lang("save"), "save")>
+ </if>
+
+ <call EditEnd()>
+
+ <if returnurl>
+ <call showBack(returnurl)>
+ <else>
+ <call showBack("module="+module+"&do=list")>
+ </if>
+
+ <include "foot.template">
+</body>
+</html>
--- /dev/null
+<html>
+ <head>
+ <title>${config["Mir.Name"]} | ${lang("mediatypelist.htmltitle")}</title>
+ <link rel="stylesheet" type="text/css" href="${config.docRoot}/style/admin.css">
+ </head>
+ <body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
+
+ <include "FUNCTIONS.template">
+ <include "head.template">
+
+ <call showAddOrBack("1", module, "Admin", "superusermenu")>
+
+ <if entities>
+ <call showPrevNextLinks(prevurl, nexturl, "left")>
+ <call EntityTable(entities, ["id","name", "mime_type", "classname"], [lang("mediatype.id"), lang("mediatype.name"), lang("mediatype.mimetype"), lang("mediatype.classname")], from, to, count, "1", "1", module)>
+ <call showPrevNextLinks(prevurl, nexturl, "left")>
+ <call showAddOrBack("1", module, "Admin", "superusermenu")>
+ <else>
+ <P align="center">${lang("no_matches_found")}</p>
+ </if>
+
+ <include "foot.template">
+ </body>
+</html>
+
+
+++ /dev/null
-<html>
- <head>
- <title>${config["Mir.Name"]} | ${lang("message.htmltitle")}</title>
- <link rel="stylesheet" type="text/css" href="${config.docRoot}/style/admin.css">
- <head>
-
- <body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
- <include "FUNCTIONS.tmpl">
- <include "head.tmpl">
-
- <if request.new && request.new=="1">
- <assign action="messageSave.do">
- <assign new=request.new>
- <else>
- <assign action="messageSave.do">
- <assign new="0">
- </if>
-
-
- <call EditStart(action,["id", "offset", "new"], [request.id, request.offset, request.new])>
-
- <call EditReadonlyTextNormal(lang("message.id"), request.message.id)>
- <call EditReadonlyTextNormal(lang("message.date"), request.message.webdbCreate.format(config["Mir.DefaultDateTimeFormat"]))>
- <call EditTextNormal(lang("message.title"), 30, 30, "title", request.message.title)>
- <call EditTextNormal(lang("message.creator"), 30, 30, "creator", request.message.creator)>
-
- <call EditTextAreaNormal(lang("message.text"), "", "50", "5", "description", request.message.description)>
-
- <if request.new=="1">
- <call EditSubmitButtonNormal(lang("insert"), "save")>
- <else>
- <call EditSubmitButtonNormal(lang("save"), "save")>
- </if>
-
- <call EditEnd()>
-
- <if returnurl>
- <call showBack(returnurl)>
- <else>
- <call showBack("messageList.do")>
- </if>
-
- <include "foot.tmpl">
- </body>
-</html>
<tr>
<td align="right" valign="top">
<a href="${config.actionRoot}?module=${module}&do=getMedia&id=${uploadedmedia.id}">
- <img src="/img/${uploadedmedia.big_icon}" border=0></a>
+ <img src="${config.docRoot}/img/${uploadedmedia.info.bigIcon}" border=0></a>
</td>
<td valign="bottom" class="small">
- ${lang("media.created")}: ${uploadedmedia.webdb_create}
- <if uploadedmedia.webdb_lastchange>/ ${lang("media.changed")} ${uploadedmedia.webdb_lastchange}</if><br>
- <if uploadedmedia.is_published=="1">${lang("media.published")}: ${uploadedmedia.publish_date} / ${uploadedmedia.publish_server}${uploadedmedia.publish_path}<br></if>
- ${lang("media.format")}: ${uploadedmedia.mimetype} / ${uploadedmedia.media_descr}<br>
+ ${lang("media.created")}: ${uploadedmedia.creationdate.format(config["Mir.DefaultDateTimeFormat"])}
+ ${lang("media.urls")}: ${uploadedmedia.publish_server}${uploadedmedia.publish_path}<br>
+ ${lang("media.format")}: ${uploadedmedia.info.mediaType}<br>
${lang("media.size")}: ${uploadedmedia.human_readable_size}<br>
- ${lang("media.rights")}: <b>${uploadedmedia.rightsHashdata[to_rights]["name"]}</b><br>
</td>
</tr>
</if>
<list p.verbs as v>
<tr <if grey=="1">class="listrow2"<else>class="listrow2"</if>>
<td width="25"></td>
- <if v.name=="all">
- <td class="small text-alert">${v.name} [!]</td>
- <else>
- <td class="small">${v.name}</td>
- </if>
+ <td class="small">${v.name}</td>
<td class="small">${v.description}</td>
- <td class="small"><a href="${config.actionRoot}?module=Producer&do=enqueue&producer=${utility.encodeURI(p.name)}&verb=${utility.encodeURI(v.name)}">${lang("producer.verb.enqueue")}</a> </td>
+
+ <td class="small"><form style="margin: 0px; border: 0px; padding: 0px" method="post" action="${config.actionRoot}?module=Producer&do=enqueue&producer=${utility.encodeURI(p.name)}&verb=${utility.encodeURI(v.name)}"><input class="listbutton" type="submit" value="${lang("producer.verb.enqueue")}"></form></div>
+ </td>
</tr>
<if grey=="1"><assign grey="0"><else><assign grey="1"></if>
</list>
</tr>
</if>
<tr>
- <td colspan="5" class="table-foot" align="left">
- <br>
- <input class="minorbutton" type="submit" value="${lang("producer.jobqueue.canceljobs")}">
- </td>
+ <td colspan="5" class="table-foot" align="right">
+ <br><input class="minorbutton" name="cancelsome" type="submit" value="${lang("producer.jobqueue.canceljobs")}">
+ <br><input class="minorbutton" name="cancelall" type="submit" value="${lang("producer.jobqueue.cancelalljobs")}"></td>
</tr>
</table>
</form>
<table border="0" width="100%">
<tr>
- <td valign="top" width="40%">
+ <td valign="top" >
<!-- ###### left column ###### -->
<p class="box-head"><b>${lang("start.administer.title")}</b></p>
<p class="box">
</list>
<br>
<a href="${config.actionRoot}?module=Content&do=list&where=${utility.encodeURI("is_published='f'")}&order=${utility.encodeURI("webdb_create desc")}" >> ${lang("start.content.not_published")}</a><br>
- <a href="${config.actionRoot}?module=Content&do=list&where=${utility.encodeURI("id in (select content_id from content_x_media, media where media.id=media_id)")}&order=${utility.encodeURI("webdb_create desc")}">> ${lang("start.content.with_media")}</a><br>
<a href="${config.actionRoot}?module=Content&do=list&where=&order=${utility.encodeURI("webdb_lastchange desc")}">> ${lang("start.content.last_changes")}</a><br>
<a href="${config.actionRoot}?module=Content&do=list&where=${utility.encodeURI("not (comment is null or comment like '')")}&order=${utility.encodeURI("webdb_create desc")}">> ${lang("start.content.with_comments")}</a><br>
<br>
<comment> Middle column </comment>
- <td valign="top" width="30%">
+ <td valign="top" >
<p class="box-head"><b>${lang("start.addandedit.title")}</b></p>
<div class="box">
<input type="hidden" name="do" value="edit">
${lang("start.content.open_by_id")}:
<input type="text" name="id" value="" size="7">
- <input type="submit" value=" > ">
+ <input class="majorbutton" type="submit" value=" > ">
</form>
<form>
<input type="hidden" name="module" value="Comment">
<input type="hidden" name="do" value="edit">
${lang("start.comment.open_by_id")}:
<input type="text" name="id" value="" size="7">
- <input type="submit" value=" > ">
+ <input class="majorbutton" type="submit" value=" > ">
</form>
<div class="box">
<a href="${config.actionRoot}?module=Images&do=list">> ${lang("start.images.title")}</a>
- <a href="${config.actionRoot}?module=Images&do=add">[+]</a><br>
-
+ <a href="${config.actionRoot}?module=Images&do=add">[+]</a>
+ <form>
+ <input type="hidden" name="module" value="Images">
+ <input type="hidden" name="do" value="edit">
+ ${lang("start.images.open_by_id")}:
+ <input type="text" name="id" value="" size="7">
+ <input class="majorbutton" type="submit" value=" > ">
+ </form>
<a href="${config.actionRoot}?module=Audio&do=list">> ${lang("start.audio.title")}</a>
<a href="${config.actionRoot}?module=Audio&do=add">[+]</a><br>
<p class="box-head"><b>${lang("start.producers.title")}</b></p>
- <p class="box">
- <a href="${config.actionRoot}?module=Producer&do=produceAllNew">> ${lang("start.producers.produceAllNew")}</a><br>
+ <div class="box">
+ <list recipes as s>
+ <form style="margin: 0px; border: 0px; padding: 0px" method="post" action="${config.actionRoot}">
+ <input type="hidden" name="module" value="Producer">
+ <input type="hidden" name="do" value="producerecipe">
+ <input type="hidden" name="recipe" value="${utility.encodeHTML(s)}">
+ <input class="majorbutton" type="submit" value="${lang("start.producers.recipe."+s)}">
+ </form>
+ </list>
+
<a href="${config.actionRoot}?module=Producer&do=showProducerQueueStatus">> ${lang("start.producers.advanced")}</a>
- </p>
+ </div>
<p class="box bg-neutral">
<a href="${config.actionRoot}?module=Admin&do=superusermenu">${lang("start.superusermenu")}</a>
<comment> RIGHT COLUMN </comment>
- <td valign="top" width="26%" rowspan="2">
+ <td valign="top" rowspan="2">
<comment>internal messageboard</comment>
<td colspan="3" valign="top">
<p class="box-head"><b>${lang("start.search.title")}</b></p>
<div class="box">
- <call ContentSearch ("")>
+ <call ContentSearch("")>
</div>
<comment>
<p class="box">
> <a href="${config.actionRoot}?module=Topics&do=list">${lang("superusermenu.topics")}</a><br>
> <a href="${config.actionRoot}?module=ArticleType&do=list">${lang("superusermenu.articletypes")}</a><br>
+ > <a href="${config.actionRoot}?module=MediaType&do=list">${lang("superusermenu.mediatypes")}</a><br>
> <a href="${config.actionRoot}?module=CommentStatus&do=list">${lang("superusermenu.comment_statuses")}</a><br>
> <a href="${config.actionRoot}?module=Users&do=list">${lang("superusermenu.users")}</a><br>
> <a href="${config.actionRoot}?module=Language&do=list">${lang("superusermenu.languages")}</a><br>
> <a href="${config.actionRoot}?module=Abuse">${lang("superusermenu.abuse")}</a><br>
+ > <a href="${config.actionRoot}?module=Admin&do=reloadconfiguration">${lang("superusermenu.reload")}</a><br>
</p>
</td>
<td> </td>
+++ /dev/null
-<html>
-<head>
- <title>${config["Mir.Name"]} | ${lang("superusermenu.htmltitle")}</title>
- <link rel="stylesheet" type="text/css" href="${config.docRoot}/style/admin.css">
-</head>
-
-<body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
-
-<include "head.template">
-
-<table width="95%">
- <tbody>
- <tr>
- <td width="30%">
- <p class="box-head"><b>${lang("superusermenu.manage")}:</b></p>
- <p class="box">
- > <a href="${utility.encodeLink(config.docRoot+"/admin/topicList.do")}">${lang("superusermenu.topics")}</a><br>
- > <a href="${config.actionRoot}?module=ArticleType&do=list">${lang("superusermenu.articletypes")}</a><br>
- > <a href="${config.actionRoot}?module=CommentStatus&do=list">${lang("superusermenu.comment_statuses")}</a><br>
- > <a href="${config.actionRoot}?module=Users&do=list">${lang("superusermenu.users")}</a><br>
- > <a href="${config.actionRoot}?module=Language&do=list">${lang("superusermenu.languages")}</a><br>
- > <a href="${config.actionRoot}?module=Abuse">${lang("superusermenu.abuse")}</a><br>
- </p>
- </td>
- <td> </td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-<p><a class="link-box" href="${config.actionRoot}">[<<<] ${lang("head.start")}</a></p>
-
-<include "foot.template">
-
-</body>
-</html>
-
+++ /dev/null
-<html>
- <head>
- <title>${config["Mir.Name"]} | ${lang("topic.htmltitle")}</title>
- <link rel="stylesheet" type="text/css" href="${config.docRoot}/style/admin.css">
- <head>
-
- <body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
- <include "FUNCTIONS.tmpl">
- <include "head.tmpl">
-
- <if request.new && request.new=="1">
- <assign action="topicSave.do">
- <assign new=request.new>
- <else>
- <assign action="topicSave.do">
- <assign new="0">
- </if>
-
- <call EditStart(
- action,
- ["id", "new"],
- [request.topic.id, request.new])>
-
- <call EditReadonlyTextNormal(lang("topic.id"), request.topic.id)>
- <call EditPullDown(lang("topic.parenttopic"), "parentTopic", request.topics, "id", "title", request.topic.parentTopic.id, "","","")>
- <call EditTextNormal(lang("topic.title"), 40, 255, "title", request.topic.title)>
- <call EditTextAreaNormal(lang("topic.description"), "", 40, 3, "description", request.topic.description)>
- <call EditTextNormal(lang("topic.filename"), 20, 255, "filename", request.topic.filename)>
- <call EditTextNormal(lang("topic.main_url"), 40, 255, "mainUrl", request.topic.mainUrl)>
- <call EditTextNormal(lang("topic.archive_url"), 40, 255, "archivUrl", request.topic.archivUrl)>
-
-
-
- <if new=="1">
- <call EditSubmitButtonNormal(lang("insert"), "save")>
- <else>
- <call EditSubmitButtonNormal(lang("save"), "save")>
- </if>
-
- <call EditEnd()>
-
- <if returnurl>
- <call showBack(returnurl)>
- <else>
- <call showBack("topicList.do")>
- </if>
-
- <include "foot.tmpl">
- </body>
-</html>
+++ /dev/null
-<html>
- <head>
- <title>${config["Mir.Name"]} | ${lang("topiclist.htmltitle")}</title>
- <link rel="stylesheet" type="text/css" href="${config.docRoot}/style/admin.css">
- </head>
-
- <body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
-
- <include "FUNCTIONS.tmpl">
- <include "head.tmpl">
-
- <call showAddOrBack("1", "topicAdd.do", "Admin", "superusermenu")>
-
- <if request.topics>
- <assign baselisturl = "topicList.do?offset=">
- <call showPrevNextLinks(baselisturl+request.lastoffset, baselisturl+request.nextoffset, "left")>
- <call EntityTable(request.topics, [
- "title",
- "filename",
- "mainUrl",
- "archivUrl",
- "description"],
- [ lang("topic.title"),
- lang("topic.filename"),
- lang("topic.main_url"),
- lang("topic.archive_url"),
- lang("topic.description")],
- request.offset, request.nextoffset, "", "topicDelete.do", "topicEdit.do", "topicList.do")>
- <call showPrevNextLinks(baselisturl+request.lastoffset, baselisturl+request.nextoffset, "left")>
- <call showAddOrBack("1", module, "Admin", "superusermenu")>
- <else>
- <P align="center">${lang("no_matches_found")}</p>
- </if>
-
- <include "foot.tmpl">
- </body>
-</html>
-
-
<b>${lang("media.nr_of_media")} :</b><br>
</td>
<td class="listrow2">
- <input type="text" size="3" name="nrmedia" value="${nrmedia}"> <input type="submit" value="${lang("media.nr_of_media.submit")}">
+ <input type="text" size="3" name="nrmedia" value="${nrmedia}"> <input type="submit" class="majorbutton" value="${lang("media.nr_of_media.submit")}">
</td>
</tr>
</table>
<input type="hidden" name="id" value="${uploadedmedia.id}">
<table border="0">
-
+
+ <if new!="1">
+ <tr>
+ <td align="left" valign="top">
+ <call showButton(
+ "module="+module+"&do=showcomments&id="+uploadedmedia.id+"&returnurl="+utility.encodeURI(thisurl),
+ lang("media.comments"))>
+ <call showButton(
+ "module="+module+"&do=showarticles&id="+uploadedmedia.id+"&returnurl="+utility.encodeURI(thisurl),
+ lang("media.articles"))>
+ <br>
+ <br>
+ </td>
+ </tr>
+ </if>
+
+
<include edittemplate>
<tr><td colspan="2" class="x-small"> </td></tr>
<tr>
<td colspan="2" align="right" class="table-foot">
<if new=="1">
- <input type="submit" name="save" value="${lang("insert")}">
+ <input type="submit" class="majorbutton" name="save" value="${lang("insert")}">
<else>
${lang("media.is_published")} <input type="checkbox" name="is_published" value="1"<if uploadedmedia.is_published!="0" && uploadedmedia.is_published!=""> checked</if>>
- <input type="submit" name="save" value="${lang("save")}">
+ <input type="submit" class="majorbutton" name="save" value="${lang("save")}">
</if>
</td>
</tr>
<include "FUNCTIONS.template">
<include "head.template">
-<form action="${config.actionRoot}" method="post">
- <input type="hidden" name="module" value="Users">
- <input type="hidden" name="id" value="${user.id}">
- <if passwordonly=="1">
- <input type="hidden" name="do" value="updatepassword">
- <else>
- <if new=="1">
- <input type="hidden" name="do" value="insert">
- <else>
- <input type="hidden" name="do" value="update">
- </if>
- </if>
+ <if passwordonly=="1">
+ <assign method="updatepassword">
+ <else>
+ <if new=="1">
+ <assign method="insert">
+ <else>
+ <assign method="update">
+ </if>
+ </if>
+
+ <call EditStart(
+ ["module", "id", "do"],
+ ["Users", user.id, method])>
+
- <table border="0">
<if passwordonly=="1">
- <call ReadonlyTextTableRow(lang("user.login"), user.login)>
- <call PasswordTextInputTableRow (lang("user.oldpassword"), 40, 40, "oldpassword", "")>
+ <call EditReadonlyTextNormal(lang("user.login"), user.login)>
+ <call EditPasswordNormal(lang("user.oldpassword"), 40, 40, "oldpassword", "")>
<else>
- <call TextInputTableRow (lang("user.login"), 40, 40, "login", user.login)>
- <call PasswordTextInputTableRow (lang("user.ownpassword"), 40, 40, "oldpassword", "")>
+ <if new!="1">
+ <call EditReadonlyTextNormal(lang("user.creationdate"), user.creationdate.formatted[config["Mir.DefaultDateTimeFormat"]])>
+ <call EditReadonlyTextNormal(lang("user.lastlogindate"), user.lastlogindate.formatted[config["Mir.DefaultDateTimeFormat"]])>
+ </if>
+ <call EditTextNormal (lang("user.login"), 40, 16, "login", user.login)>
+ <call EditPasswordNormal (lang("user.ownpassword"), 40, 40, "oldpassword", "")>
</if>
- <call PasswordTextInputTableRow (lang("user.password"), 40, 40, "newpassword", "")>
- <call PasswordTextInputTableRow (lang("user.password2"), 40, 40, "newpassword2", "")>
+ <call EditPasswordNormal(lang("user.password"), 40, 40, "newpassword", "")>
+ <call EditPasswordNormal(lang("user.password2"), 40, 40, "newpassword2", "")>
+
<if passwordonly=="1">
- <call ReadonlyTextTableRow(lang("user.admin"), user.is_admin)>
+ <call EditReadonlyTextNormal(lang("user.admin"), user.is_admin)>
<else>
- <call CheckboxTableRow(lang("user.admin"), "is_admin", user.is_admin)>
+ <call EditCheckboxNormal(lang("user.admin"), "is_admin", user.is_admin)>
+ <call EditCheckboxNormal(lang("user.is_disabled"), "is_disabled", user.is_disabled)>
+ <call EditTextNormal (lang("user.email"), 40, 255, "email", user.email)>
+ <call EditTextAreaNormal(lang("user.comment"), "", 40, 10, "comment", user.comment)>
+ <call EditTextAreaNormal(lang("user.profile"), "", 40, 10, "profile", user.profile)>
</if>
- <tr>
- <td colspan="2" align="right" class="table-foot">
- <span class="witetext">
- <if new=="1">
- <input type="submit" name="save" value="${lang("insert")}">
- <else>
- <input type="submit" name="save" value="${lang("save")}">
- </if>
- </span>
- </td>
- </tr>
- </table>
-</form>
- <if passwordonly>
- <call showBack("")>
+
+ <if new=="1">
+ <call EditSubmitButtonNormal(lang("insert"), "save")>
+ <else>
+ <call EditSubmitButtonNormal(lang("save"), "save")>
+ </if>
+
+ <call EditEnd()>
+
+ <if returnurl>
+ <call showBack(returnurl)>
<else>
- <call showBack("module=Users&do=list")>
+ <if passwordonly>
+ <call showBack("")>
+ <else>
+ <call showBack("module=Users&do=list")>
+ </if>
</if>
<include "foot.template">
<html>
-<head>
-<title>${lang("usererror.htmltitle")}</title>
-</head>
-<body>
-<include "templates/admin/head_nonavi.template">
-<table width="100%" border="0" align="center">
- <tr bgcolor="#006600">
- <td>
- <div align="center"><h2><font color="Pink">${lang("usererror.title")}</font></h2>
- </div>
- </td>
- </tr>
- <tr>
- <td>
- <p>${lang("usererror.text")}
- </td>
- </tr>
- <tr>
- <td>
- <p>
- <p align="center"><font size="5" color="Red"><b> ${data.errorstring}</b></font>
- <p>
- <p>
- </td>
- </tr>
- <tr>
- <td>
- <p align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="-1">${lang("usererror.what_to_do")}
- </a></font>
- <p>
- </td>
- </tr>
-</table>
-<include "foot.template">
-</body>
+ <head>
+ <title>${config["Mir.Name"]} | ${lang("error.htmltitle")}</title>
+ <link rel="stylesheet" type="text/css" href="${config.docRoot}/style/admin.css">
+ </head>
+ <body>
+ <include "head.template">
+
+ <table width="70%" align="center"><tr><td>
+
+ <p class="box-head" align="center"><font size="+2"><b>${lang("usererror.title")}</b></font></p>
+ <p align="center" class="bg-neutral"><br><font color="red">${date.format(config["Mir.DefaultDateTimeFormat"])} -- ${errorstring}</font><br><br></p>
+ <p align="center">${lang("usererror.what_to_do")}</p>
+
+ </td></tr></table>
+
+ <include "foot.template">
+ </body>
</html>
<body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
<include "FUNCTIONS.template">
+ <include "LISTFUNCTIONS.template">
<include "head.template">
- <call showAddOrBack(mayAddUsers, "Users", "Admin", "superusermenu")>
-
- <if users>
- <call showPrevNextLinks(prevurl, nexturl, "left")>
- <call EntityTable(users, ["login","is_admin"], [lang("user.login"), lang("user.admin")], from, to, count, mayDeleteUsers, mayEditUsers, "Users")>
- <call showPrevNextLinks(prevurl, nexturl, "left")>
+ <if mayEditUsers=="1">
<call showAddOrBack(mayAddUsers, "Users", "Admin", "superusermenu")>
+
+ <if users>
+ <call showPrevNextLinks(prevurl, nexturl, "left")>
+
+
+
+
+ <call ListStart()>
+ <call ListHead([
+ lang("user.login"),
+ lang("user.admin"),
+ lang("user.is_disabled"),
+ lang("user.creationdate"),
+ lang("user.lastlogindate"),
+ lang("user.comment"),
+ lang("user.email")])>\r
+ <list users as u>
+ <call ListEntry([
+ u.login,
+ u.is_admin,
+ u.is_disabled,
+ u.creationdate.format(config["Mir.DefaultDateTimeFormat"], config["Mir.DefaultTimezone"]),
+ u.lastlogindate.format(config["Mir.DefaultDateTimeFormat"], config["Mir.DefaultTimezone"]),
+ utility.prettyEncodeHTML(u.comment),
+ u.email],
+ "module=Users&id="+u.id,
+ ["&do=delete&okurl="+utility.encodeURI(thisurl)+"&cancelurl="+utility.encodeURI(thisurl), "&do=edit"],
+ [lang("delete"), lang("edit")])>
+ </list>\r
+ <call ListEnd()>\r
+
+ <call showPrevNextLinks(prevurl, nexturl, "left")>
+ <call showAddOrBack(mayAddUsers, "Users", "Admin", "superusermenu")>
+ <else>
+ <P align="center">${lang("no_matches_found")}</p>
+ </if>
<else>
- <P align="center">${lang("no_matches_found")}</p>
+ <if users>
+ <call showPrevNextLinks(prevurl, nexturl, "left")>
+
+ <call EntityTable(users,
+ ["login"],
+ [lang("user.login")],
+ from, to, count, mayDeleteUsers, mayEditUsers, "Users")>
+
+ <call showPrevNextLinks(prevurl, nexturl, "left")>
+ <call showAddOrBack(mayAddUsers, "Users", "Admin", "superusermenu")>
+ <else>
+ <P align="center">${lang("no_matches_found")}</p>
+ </if>
</if>
<include "foot.template">
<tr>
<td align="right" valign="top">
<a href="${config.actionRoot}?module=${module}&do=getMedia&id=${uploadedmedia.id}">
- <img src="/img/${uploadedmedia.big_icon}" border=0></a>
+ <img src="${config.docRoot}/img/${uploadedmedia.info.bigIcon}" border=0></a>
</td>
<td valign="bottom" class="small">
- ${lang("media.created")}: ${uploadedmedia.webdb_create}
- <if uploadedmedia.webdb_lastchange>/ ${lang("media.changed")} ${uploadedmedia.webdb_lastchange}</if><br>
- <if uploadedmedia.is_published=="1">${lang("media.published")}: ${uploadedmedia.publish_date} / ${uploadedmedia.publish_server}${uploadedmedia.publish_path}<br></if>
- ${lang("media.format")}: ${uploadedmedia.mimetype} / ${uploadedmedia.media_descr}<br>
+ ${lang("media.created")}: ${uploadedmedia.creationdate.format(config["Mir.DefaultDateTimeFormat"])}
+ ${lang("media.urls")}: ${uploadedmedia.publish_server}${uploadedmedia.publish_path}<br>
+ ${lang("media.format")}: ${uploadedmedia.info.mediaType}<br>
${lang("media.size")}: ${uploadedmedia.human_readable_size}<br>
- ${lang("media.rights")}: <b>${uploadedmedia.rightsHashdata[to_rights]["name"]}</b><br>
</td>
</tr>
</if>