rebuilding head
[mir.git] / templates / admin / FUNCTIONS.template
index 2b1eeed..6c08aa3 100755 (executable)
@@ -8,6 +8,15 @@
 <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}&amp;do=delete&amp;id=${entry.id}&amp;okurl=${utility.encodeURI(thisurl)}&amp;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> &nbsp;
-      <a class="link-box" href="${config.actionRoot}?module=${module_jumpback}&do=${do_jumpback}">[&lt;] ${lang("back")} </a> &nbsp;
-      <a class="link-box" href="${config.actionRoot}">[&lt;&lt;&lt;] ${lang("head.start")}</a>
+      <if anAllowAdd == "1">
+        <a class="link-box" href="${config.actionRoot}?module=${anAddModule}&do=add">[+] ${lang("add")}</a> &nbsp;
+      </if>
+      <a class="link-box" href="${config.actionRoot}?module=${aBackModule}&do=${aBackMethod}">[&lt;] ${lang("back")} </a> &nbsp;
+<comment>      <a class="link-box" href="${config.actionRoot}">[&lt;&lt;&lt;] ${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> &nbsp;
       </if>
-      <a class="link-box" href="${config.actionRoot}?module=${aBackModule}&do=${aBackMethod}">[&lt;] ${lang("back")} </a> &nbsp;
-<comment>      <a class="link-box" href="${config.actionRoot}">[&lt;&lt;&lt;] ${lang("head.start")}</a></comment>
+      <a class="link-box" href="${config.actionRoot}?${aBackUrl}">[&lt;] ${lang("back")} </a> &nbsp;
   </p>
 </function>
 
   <p><a class="link-box" href="${config.actionRoot}?${aBackUrl}">[&lt;] ${lang("back")} </a> &nbsp;</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>>&nbsp;&nbsp;
+      ${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"> &nbsp;</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"> &nbsp;</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&amp;do=list&amp;${objectKey}=${anObject.id}&amp;returnurl=${utility.encodeURI(aReturnUrl)}">[+] ${lang("content.addimage")}</a> |
+          <a href="${config.actionRoot}?module=Images&amp;do=add&amp;${objectKey}=${anObject.id}&amp;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>&nbsp;
-      </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&amp;do=getMedia&amp;id=${m["id"]}&amp;returnurl=${utility.encodeURI(aReturnUrl)}"><img src="${config.actionRoot}?module=Images&amp;do=getIcon&amp;id=${m["id"]}" alt="edit" border="0"></a>&nbsp;
       </td>
+      <if aCanEdit=="1">
+        <td align="left" valign="top">
+          <a href="${config.actionRoot}?module=${objectModule}&do=dettach&amp;${objectKey}=${anObject.id}&amp;mid=${m["id"]}">[-] ${lang("deattach")}</a> |
+          <a href="${config.actionRoot}?module=Images&amp;do=edit&amp;id=${m.id}&amp;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&amp;${objectKey}=${anObject.id}&amp;returnurl=${utility.encodeURI(aReturnUrl)}">[+] ${lang("content.addaudio")}</a> |
+          <a href="${config.actionRoot}?module=Audio&do=add&amp;${objectKey}=${anObject.id}&amp;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>&nbsp;
-      </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&amp;do=getMedia&amp;id=${m["id"]}&amp;returnurl=${utility.encodeURI(aReturnUrl)}"><img src="${config.docRoot}/img/${m["big_icon"]}" alt="edit" border="0"></a>&nbsp;
       </td>
+      <if aCanEdit=="1">
+        <td align="left" valign="top">
+          <a href="${config.actionRoot}?module=${objectModule}&amp;do=dettach&${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("deattach")}</a> |
+          <a href="${config.actionRoot}?module=Audio&amp;do=edit&amp;id=${m.id}&amp;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&amp;do=list&${objectKey}=${anObject.id}&amp;returnurl=${utility.encodeURI(aReturnUrl)}">[+] ${lang("content.addvideo")}</a> |
+          <a href="${config.actionRoot}?module=Video&amp;do=add&${objectKey}=${anObject.id}&amp;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>&nbsp;        
-      </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&amp;do=getMedia&amp;id=${m["id"]}&amp;returnurl=${utility.encodeURI(aReturnUrl)}"><img src="${config.docRoot}/img/${m["big_icon"]}" alt="edit" border="0"></a>&nbsp;        
       </td>
+      <if aCanEdit=="1">
+        <td align="left" valign="top">
+          <a href="${config.actionRoot}?module=${objectModule}&amp;do=dettach&amp;${objectKey}=${anObject.id}&amp;mid=${m["id"]}">[-] ${lang("deattach")}</a> |
+          <a href="${config.actionRoot}?module=Video&amp;do=edit&amp;id=${m.id}&amp;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&amp;${objectKey}=${anObject.id}&amp;returnurl=${utility.encodeURI(aReturnUrl)}">[+] ${lang("content.addother")}</a> |
+          <a href="${config.actionRoot}?module=OtherMedia&do=add&amp;${objectKey}=${anObject.id}&amp;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>&nbsp;  
-      </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&amp;do=getMedia&amp;id=${m["id"]}&amp;returnurl=${utility.encodeURI(aReturnUrl)}"><img src="${config.docRoot}/img/${m["big_icon"]}" alt="edit" border="0"></a>&nbsp;  
       </td>
+      <if aCanEdit=="1">
+        <td align="left" valign="top">
+          <a href="${config.actionRoot}?module=${objectModule}&amp;do=dettach&amp;${objectKey}=${anObject.id}&mid=${m["id"]}">[-] ${lang("deattach")}</a> |
+          <a href="${config.actionRoot}?module=OtherMedia&amp;do=edit&amp;id=${m.id}&amp;returnurl=${utility.encodeURI(aReturnUrl)}">${lang("edit")}</a>
+        </td>
+      </if>
       </tr>
     </list>
   </table>