new admin templates! with many thanks to init...
[mir.git] / templates / admin / FUNCTIONS.template
1 <comment>creates a full table incl. edit/delete entry.id</comment>
2 <function ListTable(contentlist, data_keys, column_head_texts, column_head_CSS, listrow1CSS, listrow2CSS, footer_css, module_name)>
3
4 <table cellspacing="2" border="0">
5         
6         <tr>
7                 <list column_head_texts as indexVariable>
8                         <td class="${column_head_CSS}">
9                                 <b>${indexVariable}</b> 
10                         </td>
11                 </list>
12                         <td class="${column_head_CSS}">
13                                 &nbsp;
14                         </td>   
15         </tr>
16
17         
18 <list contentlist as entry>
19         <if grey=="1">
20                 <assign grey="0">
21                 <tr class="${listrow1CSS}">
22         <else>
23                 <assign grey="1"> 
24                 <tr class="${listrow2CSS}">
25         </if>
26                 
27         <list data_keys as indexVariable>               
28                         <td>
29                                 ${entry[indexVariable]}
30                         </td>
31         </list>
32                 <td>
33                         <a class="listcommand" href="${config.actionRoot}?module=${module_name}&do=delete&id=${entry.id}">${lang("delete")}</a>
34                         | <a class="listcommand" href="${config.actionRoot}?module=${module_name}&do=edit&id=${entry.id}">${lang("edit")}</a>
35                 </td>
36         </tr>
37 </list>
38         
39         
40         <tr>            
41                 <td colspan="${column_nr}" class="table_foot">
42                         ${data.count} ${lang("records")} / ${lang("show_from_to", data.from, data.to)}
43                 </td>
44         </tr>
45
46 </table>
47 </function>
48
49 <comment>creates browse links, only called if necessary</comment>
50 <function PrevNextPage(module_name)>
51         <p>
52       <if (data.prev || data.next)>
53         <form method="post" action="${config.actionRoot}">
54           <input type="hidden" name="module" value="${module_name}">
55           <input type="hidden" name="where" value="${data.where}">
56           <if data.prev>
57             <input type="hidden" name="do" value="list">
58             <input type="hidden" name="prevoffset" value="${data.prev}">
59             <input type="submit" name="prev" value="${lang("list.previous")}">
60           </if>
61           <if data.next>
62             <input type="hidden" name="do" value="list">
63             <input type="hidden" name="nextoffset" value="${data.next}">
64             <input type="submit" name="next" value="${lang("list.next")}">
65           </if>
66         </form>
67       </if>
68         </p>
69 </function>
70
71 <comment>extra navigation</comment>
72 <function AddOrBack(module_name, module_jumpback, do_jumpback)>
73     <p>
74       <a class="link_box" href="${config.actionRoot}?module=${module_name}&do=add">[+] ${lang("add")}</a> &nbsp;
75       <a class="link_box" href="${config.actionRoot}?module=${module_jumpback}&do=${do_jumpback}">[&lt;] ${lang("back")} </a> &nbsp;
76       <a class="link_box" href="${config.actionRoot}">[&lt;&lt;&lt;] ${lang("head.start")}</a>
77         </p>
78 </function>
79
80
81
82 <comment>4 functions to create Table rows with input-fields</comment>
83 <function TextInputTableRow (label, size, maxlength, fieldname, fieldcontent)>
84         <tr>
85                 <td align="right" class="table_left">
86                         <b>${label}:</b>
87                 </td>
88                 
89                 <td class="listrow2">
90                         <input type="text" size="${size}" maxlength="${maxlength}" name="${fieldname}" value="${fieldcontent}">
91                 </td>
92         </tr>
93 </function>
94
95 <function TextInputTableRowLight (label, size, maxlength, fieldname, fieldcontent)>
96         <tr>
97                 <td align="right" class="table_left_light">
98                         <b>${label}:</b>
99                 </td>
100                 
101                 <td class="listrow1">
102                         <input type="text" size="${size}" maxlength="${maxlength}" name="${fieldname}" value="${fieldcontent}">
103                 </td>
104         </tr>
105 </function>
106
107
108
109 <function TextAreaTableRow (label, cols, rows, fieldname, fieldcontent )>
110         <tr>
111                 <td align="right" valign="top" class="table_left">
112                         <b>${label}:</b>
113                 </td>
114                 
115                 <td class="listrow2">
116                         <textarea cols="${cols}" rows="${rows}" name="${fieldname}">${fieldcontent}</textarea>
117                 </td>
118         </tr>
119 </function>
120
121 <function TextAreaTableRowLight (label, cols, rows, fieldname, fieldcontent )>
122         <tr>
123                 <td align="right" valign="top" class="table_left_light">
124                         <b>${label}:</b>
125                 </td>
126                 
127                 <td class="listrow1">
128                         <textarea cols="${cols}" rows="${rows}" name="${fieldname}">${fieldcontent}</textarea>
129                 </td>
130         </tr>
131 </function>
132
133 <comment>complete search-form for contenentries, not sure if it works from everywhere</comment>
134 <function ContentSearch (layout)>
135
136       <form method="POST" action="${config.actionRoot}">
137         <input type="hidden" name="module" value="Content">
138         <input type="hidden" name="do" value="search">
139         <input type="hidden" name="selectarticleurl" value="${utility.encodeHTML(selectarticleurl)}">
140          
141         <table border="0" cellpadding="2" cellspacing="3">
142           <tr <if !layout>class="bg_neutral"</if>>
143             <td <if layout>class="table_head"<else>class="small bg_neutral"</if> valign="bottom"> ${lang("contentsearch.value")}</td>
144             <td <if layout>class="table_head"<else>class="small bg_neutral"</if> valign="bottom"> ${lang("contentsearch.field")}</td>
145             <td <if layout>class="table_head"<else>class="small bg_neutral"</if> valign="bottom"> ${lang("contentsearch.publishedstate")}</td>
146             <td <if layout>class="table_head"<else>class="small bg_neutral"</if> valign="bottom"> ${lang("contentsearch.articletype")}</td>
147             <td <if layout>class="table_head"<else>class="small bg_neutral"</if> valign="bottom"> ${lang("contentsearch.order")}</td>
148                         <td <if layout>class="table_head"<else>class="small bg_neutral"</if> valign="bottom"> &nbsp;</td>
149           </tr>
150           <tr>
151             <td <if layout>class="listrow2"</if>><input type="text" size="10" maxlength="20" name="searchvalue" value="${searchvalue}"></td>
152             <td <if layout>class="listrow2"</if>>
153                       <select name="searchfield">
154                   <option value="title"<if searchfield=="title"> selected</if>>${lang("contentsearch.field.title")}</option>
155                   <option value="creator"<if searchfield=="creator"> selected</if>>${lang("contentsearch.field.creator")}</option>
156                   <option value="contents"<if searchfield=="content"> selected</if>>${lang("contentsearch.field.contents")}</option>
157                 </select>
158             </td>
159             <td <if layout>class="listrow2"</if>>
160                 <select name="searchispublished">
161                   <option value="">--</option>
162                   <option value="0" <if searchispublished=="0"> selected</if>>${lang("contentsearch.publishedstate.hidden")}</option>
163                   <option value="1" <if searchispublished=="1"> selected</if>>${lang("contentsearch.publishedstate.published")}</option>
164                 </select>
165             </td>
166             <td <if layout>class="listrow2"</if>>
167                 <select name="searcharticletype">
168                   <option value="">--</option>
169                   <list articletypes as at>
170                     <option value="${at.id}" <if searcharticletype==at.id> selected</if>>${lang("articletypes."+at.name)}</option>
171                   </list>
172                 </select>
173             </td>
174             <td <if layout>class="listrow2"</if>>
175                 <select name="searchorder">
176                   <option value="datedesc" <if searchorder=="datedesc"> selected</if>>${lang("contentsearch.order.datedesc")}</option>
177                   <option value="dateasc" <if searchorder=="dateasc"> selected</if>>${lang("contentsearch.order.dateasc")}</option>
178                   <option value="title" <if searchorder=="title"> selected</if>>${lang("contentsearch.order.title")}</option>
179                   <option value="creator" <if searchorder=="creator"> selected</if>>${lang("contentsearch.order.creator")}</option>
180                 </select>
181             </td>
182             <td <if layout>class="listrow2"</if>>
183                 <input class="majorbutton" type="submit" name="search" value="${lang("contentsearch.searchbutton")}">
184             </td>
185           </tr>
186         </table>
187       </form>
188
189 </function>
190
191 <comment>browse function, only called if necessary</comment>
192 <function PrevNext (align)>
193         <if prevurl || nexturl>      
194                 <p align="${align}">
195                 <if prevurl>
196                         <a class="link_box" href="${config.actionRoot}?${prevurl}"> [ &lt; ] ${lang("list.previous")}</a>&nbsp;&nbsp; 
197                 </if>
198                 <if nexturl>
199                         <a  class="link_box" href="${config.actionRoot}?${nexturl}">   ${lang("list.next")} [ &gt; ]</a>
200                 </if>
201                 </p>
202         </if>
203 </function>
204
205 <comment>multifunctional help - popup or not - big or small designs</comment>
206 <function Help (HelpUrl, popup, big )>
207         <if popup>
208                 
209                 <Script Language="JavaScript">
210                         <!-- 
211                         function openwindowlink() {
212                         newwin = window.open("${HelpUrl}","windowname","height=320,width=320,top=200,left=300, scrollbars,resizable")
213                         }
214                         // end hiding -->
215                 </Script>
216                 
217                 <a href="JavaScript: openwindowlink()">
218                         <if big><span class="link_help"><else><span class="link_help_small"></if>
219                                 <if big> [ ? ] ${lang("help")}<else>[?]</if>
220                         </span>
221                 </a>            
222         
223         <else>
224                 
225                 <if big>
226                         <a href="${HelpUrl}" target="_blank"><span class="link_help"> [ ? ] ${lang("help")}</span></a>
227                 <else>
228                         <a href="${HelpUrl}" target="_blank"><span class="link_help_small">[?]</span></a>               
229                 </if>
230         </if>
231 </function>