source: ZMS/trunk/import/zms.metaobj.xml @ 1868

Revision 1868, 216.8 KB checked in by zmsdev, 4 weeks ago (diff)

Ticket #57 (desy): ZMSTable without configured WYSIWYG-editor

Line 
1<?xml version="1.0" encoding="utf-8"?>
2
3<list>
4  <item type="dictionary">
5    <dictionary>
6      <item key="key"><![CDATA[ZMS]]></item>
7      <item key="value" type="dictionary">
8        <dictionary>
9          <item key="__obj_attrs__" type="list">
10            <list>
11              <item type="dictionary">
12                <dictionary>
13                  <item key="custom">
14                    <data content_type="image/gif" filename="zms.gif" type="file">47494638396110001000b300008b5826dca7277484b0eec93ad4cbb9f7dc55d4b274ececdcfc02fc666d99e6bc3d8499c4e6f7fc7079a2f3cf47dfb12c21f90401000008002c000000001000100003046010c98908a19812a56ed64e5138deb78962672a28aa6a4ae8c4f25b3d4eae1c07ed3c17c263e0183c0e0cc6615804120203450099544207818b2130ad560f5cc384b0a80200d54449524e9ed39936e39d4cc4cde87a5cc06f341280761f831311003b</data>
15                  </item>
16                  <item key="id"><![CDATA[icon]]></item>
17                  <item key="mandatory" type="int">0</item>
18                  <item key="multilang" type="int">0</item>
19                  <item key="name"><![CDATA[Icon]]></item>
20                  <item key="repetitive" type="int">0</item>
21                  <item key="type"><![CDATA[resource]]></item>
22                </dictionary>
23              </item>
24              <item type="dictionary">
25                <dictionary>
26                  <item key="custom">
27                    <data content_type="image/gif" filename="zms_disabled.gif" type="file">47494638396110001000b30000fc02fc848684c4c6c4acaaaceceaec646264b4b6b4d4d6d47c7a7c9496946c6e6cb4b2b4f4f2f4cccaccbcbabc00000021f90401000000002c000000001000100003045f10c8095aa39836e76ed6c271589fb48962f79d68ea4d5b333a821cc34bdd1804d1d58b4b6350130c080c068128305a8886a332b96c0e2e8b8134c95d0e16b004b750e02a5e1271928c6428326a02d90c1f97936f4c22c04720148079258311003b</data>
28                  </item>
29                  <item key="id"><![CDATA[icon_disabled]]></item>
30                  <item key="mandatory" type="int">0</item>
31                  <item key="multilang" type="int">0</item>
32                  <item key="name"><![CDATA[Icon (Disabled)]]></item>
33                  <item key="repetitive" type="int">0</item>
34                  <item key="type"><![CDATA[resource]]></item>
35                </dictionary>
36              </item>
37              <item type="dictionary">
38                <dictionary>
39                  <item key="id"><![CDATA[titlealt]]></item>
40                  <item key="mandatory" type="int">1</item>
41                  <item key="multilang" type="int">1</item>
42                  <item key="name"><![CDATA[DC.Title.Alt]]></item>
43                  <item key="repetitive" type="int">0</item>
44                  <item key="type"><![CDATA[titlealt]]></item>
45                </dictionary>
46              </item>
47              <item type="dictionary">
48                <dictionary>
49                  <item key="id"><![CDATA[title]]></item>
50                  <item key="mandatory" type="int">1</item>
51                  <item key="multilang" type="int">1</item>
52                  <item key="name"><![CDATA[DC.Title]]></item>
53                  <item key="repetitive" type="int">0</item>
54                  <item key="type"><![CDATA[title]]></item>
55                </dictionary>
56              </item>
57              <item type="dictionary">
58                <dictionary>
59                  <item key="id"><![CDATA[titleimage]]></item>
60                  <item key="mandatory" type="int">0</item>
61                  <item key="multilang" type="int">1</item>
62                  <item key="name"><![CDATA[Titleimage]]></item>
63                  <item key="repetitive" type="int">0</item>
64                  <item key="type"><![CDATA[image]]></item>
65                </dictionary>
66              </item>
67              <item type="dictionary">
68                <dictionary>
69                  <item key="id"><![CDATA[levelnfc]]></item>
70                  <item key="keys" type="list">
71                    <list>
72                      <item><![CDATA[0]]></item>
73                      <item><![CDATA[1]]></item>
74                      <item><![CDATA[2]]></item>
75                    </list>
76                  </item>
77                  <item key="mandatory" type="int">0</item>
78                  <item key="multilang" type="int">0</item>
79                  <item key="name"><![CDATA[Level]]></item>
80                  <item key="repetitive" type="int">0</item>
81                  <item key="type"><![CDATA[select]]></item>
82                </dictionary>
83              </item>
84              <item type="dictionary">
85                <dictionary>
86                  <item key="id"><![CDATA[attr_cacheable]]></item>
87                  <item key="keys" type="list">
88                    <list>
89                      <item><![CDATA[0]]></item>
90                      <item><![CDATA[1]]></item>
91                      <item><![CDATA[2]]></item>
92                    </list>
93                  </item>
94                  <item key="mandatory" type="int">0</item>
95                  <item key="multilang" type="int">0</item>
96                  <item key="name"><![CDATA[Cacheable]]></item>
97                  <item key="repetitive" type="int">0</item>
98                  <item key="type"><![CDATA[select]]></item>
99                </dictionary>
100              </item>
101              <item type="dictionary">
102                <dictionary>
103                  <item key="id"><![CDATA[TAB_METADATA]]></item>
104                  <item key="mandatory" type="int">0</item>
105                  <item key="multilang" type="int">0</item>
106                  <item key="name"><![CDATA[TAB_METADATA]]></item>
107                  <item key="repetitive" type="int">0</item>
108                  <item key="type"><![CDATA[delimiter]]></item>
109                </dictionary>
110              </item>
111              <item type="dictionary">
112                <dictionary>
113                  <item key="id"><![CDATA[attr_dc_description]]></item>
114                  <item key="mandatory" type="int">0</item>
115                  <item key="multilang" type="int">1</item>
116                  <item key="name"><![CDATA[DC.Description]]></item>
117                  <item key="repetitive" type="int">0</item>
118                  <item key="type"><![CDATA[attr_dc_description]]></item>
119                </dictionary>
120              </item>
121              <item type="dictionary">
122                <dictionary>
123                  <item key="id"><![CDATA[attr_dc_subject]]></item>
124                  <item key="mandatory" type="int">0</item>
125                  <item key="multilang" type="int">1</item>
126                  <item key="name"><![CDATA[DC.Subject]]></item>
127                  <item key="repetitive" type="int">0</item>
128                  <item key="type"><![CDATA[attr_dc_subject]]></item>
129                </dictionary>
130              </item>
131              <item type="dictionary">
132                <dictionary>
133                  <item key="id"><![CDATA[attr_dc_type]]></item>
134                  <item key="mandatory" type="int">0</item>
135                  <item key="multilang" type="int">1</item>
136                  <item key="name"><![CDATA[DC.Type]]></item>
137                  <item key="repetitive" type="int">0</item>
138                  <item key="type"><![CDATA[attr_dc_type]]></item>
139                </dictionary>
140              </item>
141              <item type="dictionary">
142                <dictionary>
143                  <item key="id"><![CDATA[attr_dc_creator]]></item>
144                  <item key="mandatory" type="int">0</item>
145                  <item key="multilang" type="int">1</item>
146                  <item key="name"><![CDATA[DC.Creator]]></item>
147                  <item key="repetitive" type="int">0</item>
148                  <item key="type"><![CDATA[attr_dc_creator]]></item>
149                </dictionary>
150              </item>
151              <item type="dictionary">
152                <dictionary>
153                  <item key="id"><![CDATA[e]]></item>
154                  <item key="keys" type="list">
155                    <list>
156                      <item><![CDATA[ZMSTeaserContainer]]></item>
157                      <item><![CDATA[type(ZMSDocument)]]></item>
158                      <item><![CDATA[type(ZMSObject)]]></item>
159                      <item><![CDATA[type(ZMSRecordSet)]]></item>
160                      <item><![CDATA[type(ZMSReference)]]></item>
161                      <item><![CDATA[type(ZMSModule)]]></item>
162                    </list>
163                  </item>
164                  <item key="mandatory" type="int">0</item>
165                  <item key="multilang" type="int">0</item>
166                  <item key="name"><![CDATA[Objects]]></item>
167                  <item key="repetitive" type="int">1</item>
168                  <item key="type"><![CDATA[*]]></item>
169                </dictionary>
170              </item>
171              <item type="dictionary">
172                <dictionary>
173                  <item key="custom"><![CDATA[<!-- ZMS.standard_html -->
174
175<tal:block tal:define="global
176                zmscontext options/zmscontext"
177                tal:content="structure python:zmscontext.bodyContentZMSLib_page(zmscontext,request)">
178        The page-content
179</tal:block>
180
181<!-- /ZMS.standard_html -->]]>
182                  </item>
183                  <item key="id"><![CDATA[standard_html]]></item>
184                  <item key="mandatory" type="int">0</item>
185                  <item key="multilang" type="int">0</item>
186                  <item key="name"><![CDATA[Template: ZMS]]></item>
187                  <item key="repetitive" type="int">0</item>
188                  <item key="type"><![CDATA[zpt]]></item>
189                  <item key="zpt"><![CDATA[<ZopePageTemplate at ZMS.standard_html>]]></item>
190                </dictionary>
191              </item>
192            </list>
193          </item>
194          <item key="access" type="dictionary">
195            <dictionary>
196              <item key="delete" type="list">
197                <list>
198                  <item><![CDATA[ZMSAdministrator]]></item>
199                  <item><![CDATA[ZMSAuthor]]></item>
200                  <item><![CDATA[ZMSEditor]]></item>
201                </list>
202              </item>
203              <item key="delete_custom"></item>
204              <item key="insert" type="list">
205                <list>
206                  <item><![CDATA[ZMSAdministrator]]></item>
207                  <item><![CDATA[ZMSAuthor]]></item>
208                  <item><![CDATA[ZMSEditor]]></item>
209                </list>
210              </item>
211              <item key="insert_custom"><![CDATA[{$}]]></item>
212            </dictionary>
213          </item>
214          <item key="enabled" type="int">0</item>
215          <item key="id"><![CDATA[ZMS]]></item>
216          <item key="name"><![CDATA[ZMS]]></item>
217          <item key="package"><![CDATA[com.zms.foundation]]></item>
218          <item key="revision"><![CDATA[1.3.0]]></item>
219          <item key="type"><![CDATA[ZMSDocument]]></item>
220        </dictionary>
221      </item>
222    </dictionary>
223  </item>
224  <item type="dictionary">
225    <dictionary>
226      <item key="key"><![CDATA[ZMSDocument]]></item>
227      <item key="value" type="dictionary">
228        <dictionary>
229          <item key="__obj_attrs__" type="list">
230            <list>
231              <item type="dictionary">
232                <dictionary>
233                  <item key="custom">
234                    <data content_type="image/gif" filename="zmsdocument_16x16.gif" type="file">47494638396110001000b30000fc02fc8787aeb7c7e4d6ebfcb5d8faa0a6c4c6e1fbf7fbfcb8dffc547ab484baec8f98b9afb9d17496d4acd0fc7573a521f90401000000002c00000000100010000304691008c158592bbc02ba6747281e8db0781d3886cda024a8bab606f378c53a904d7f77391d6128f80116bac36060301891a2e5d2c03406a24aa981605566a74daee7faa51a100871e7aa1da0d36a40403a4513100ee343d97c0f1d791e0f744c6f697a0f898a8b891d11003b</data>
235                  </item>
236                  <item key="id"><![CDATA[icon]]></item>
237                  <item key="mandatory" type="int">0</item>
238                  <item key="multilang" type="int">0</item>
239                  <item key="name"><![CDATA[Icon]]></item>
240                  <item key="repetitive" type="int">0</item>
241                  <item key="type"><![CDATA[resource]]></item>
242                </dictionary>
243              </item>
244              <item type="dictionary">
245                <dictionary>
246                  <item key="custom">
247                    <data content_type="image/gif" filename="zmsdocument_disabled_16x16.gif" type="file">47494638396110001000b30000fc02fc8c8a8cc4c6c4e4e6e4a4a6a4d4d2d47476749c9a9cbcbabcfcfafc949294acaeacdcdadccccacc7c7a7cd4d6d421f90401000000002c000000001000100003046e1008b110512a3802ba47492826817078dd220ea2322c060a8ea1fb207147d02c86399e1daf4014003b0a5e623060308e80c388c964347380c06a496514a05a16b5e92c60b5dc66f3f1f87ac2d501bb6d7e8fd7ed4703ea583a1f0c740d461e0e7781736e1d0e0e068c8e8d8f4711003b</data>
248                  </item>
249                  <item key="id"><![CDATA[icon_disabled]]></item>
250                  <item key="mandatory" type="int">0</item>
251                  <item key="multilang" type="int">0</item>
252                  <item key="name"><![CDATA[Icon (Disabled)]]></item>
253                  <item key="repetitive" type="int">0</item>
254                  <item key="type"><![CDATA[resource]]></item>
255                </dictionary>
256              </item>
257              <item type="dictionary">
258                <dictionary>
259                  <item key="id"><![CDATA[titlealt]]></item>
260                  <item key="mandatory" type="int">1</item>
261                  <item key="multilang" type="int">1</item>
262                  <item key="name"><![CDATA[DC.Title.Alt]]></item>
263                  <item key="repetitive" type="int">0</item>
264                  <item key="type"><![CDATA[titlealt]]></item>
265                </dictionary>
266              </item>
267              <item type="dictionary">
268                <dictionary>
269                  <item key="id"><![CDATA[title]]></item>
270                  <item key="mandatory" type="int">1</item>
271                  <item key="multilang" type="int">1</item>
272                  <item key="name"><![CDATA[DC.Title]]></item>
273                  <item key="repetitive" type="int">0</item>
274                  <item key="type"><![CDATA[title]]></item>
275                </dictionary>
276              </item>
277              <item type="dictionary">
278                <dictionary>
279                  <item key="id"><![CDATA[titleimage]]></item>
280                  <item key="mandatory" type="int">0</item>
281                  <item key="multilang" type="int">1</item>
282                  <item key="name"><![CDATA[Titleimage]]></item>
283                  <item key="repetitive" type="int">0</item>
284                  <item key="type"><![CDATA[image]]></item>
285                </dictionary>
286              </item>
287              <item type="dictionary">
288                <dictionary>
289                  <item key="id"><![CDATA[levelnfc]]></item>
290                  <item key="keys" type="list">
291                    <list>
292                      <item><![CDATA[0]]></item>
293                      <item><![CDATA[1]]></item>
294                      <item><![CDATA[2]]></item>
295                    </list>
296                  </item>
297                  <item key="mandatory" type="int">0</item>
298                  <item key="multilang" type="int">0</item>
299                  <item key="name"><![CDATA[Level]]></item>
300                  <item key="repetitive" type="int">0</item>
301                  <item key="type"><![CDATA[select]]></item>
302                </dictionary>
303              </item>
304              <item type="dictionary">
305                <dictionary>
306                  <item key="id"><![CDATA[attr_cacheable]]></item>
307                  <item key="keys" type="list">
308                    <list>
309                      <item><![CDATA[0]]></item>
310                      <item><![CDATA[1]]></item>
311                      <item><![CDATA[2]]></item>
312                    </list>
313                  </item>
314                  <item key="mandatory" type="int">0</item>
315                  <item key="multilang" type="int">0</item>
316                  <item key="name"><![CDATA[Cacheable]]></item>
317                  <item key="repetitive" type="int">0</item>
318                  <item key="type"><![CDATA[select]]></item>
319                </dictionary>
320              </item>
321              <item type="dictionary">
322                <dictionary>
323                  <item key="id"><![CDATA[TAB_METADATA]]></item>
324                  <item key="mandatory" type="int">0</item>
325                  <item key="multilang" type="int">0</item>
326                  <item key="name"><![CDATA[TAB_METADATA]]></item>
327                  <item key="repetitive" type="int">0</item>
328                  <item key="type"><![CDATA[delimiter]]></item>
329                </dictionary>
330              </item>
331              <item type="dictionary">
332                <dictionary>
333                  <item key="id"><![CDATA[attr_dc_description]]></item>
334                  <item key="mandatory" type="int">0</item>
335                  <item key="multilang" type="int">1</item>
336                  <item key="name"><![CDATA[DC.Description]]></item>
337                  <item key="repetitive" type="int">0</item>
338                  <item key="type"><![CDATA[attr_dc_description]]></item>
339                </dictionary>
340              </item>
341              <item type="dictionary">
342                <dictionary>
343                  <item key="id"><![CDATA[attr_dc_subject]]></item>
344                  <item key="mandatory" type="int">0</item>
345                  <item key="multilang" type="int">1</item>
346                  <item key="name"><![CDATA[DC.Subject]]></item>
347                  <item key="repetitive" type="int">0</item>
348                  <item key="type"><![CDATA[attr_dc_subject]]></item>
349                </dictionary>
350              </item>
351              <item type="dictionary">
352                <dictionary>
353                  <item key="id"><![CDATA[attr_dc_type]]></item>
354                  <item key="mandatory" type="int">0</item>
355                  <item key="multilang" type="int">1</item>
356                  <item key="name"><![CDATA[DC.Type]]></item>
357                  <item key="repetitive" type="int">0</item>
358                  <item key="type"><![CDATA[attr_dc_type]]></item>
359                </dictionary>
360              </item>
361              <item type="dictionary">
362                <dictionary>
363                  <item key="id"><![CDATA[attr_dc_creator]]></item>
364                  <item key="mandatory" type="int">0</item>
365                  <item key="multilang" type="int">1</item>
366                  <item key="name"><![CDATA[DC.Creator]]></item>
367                  <item key="repetitive" type="int">0</item>
368                  <item key="type"><![CDATA[attr_dc_creator]]></item>
369                </dictionary>
370              </item>
371              <item type="dictionary">
372                <dictionary>
373                  <item key="id"><![CDATA[e]]></item>
374                  <item key="keys" type="list">
375                    <list>
376                      <item><![CDATA[ZMSTeaserContainer]]></item>
377                      <item><![CDATA[type(ZMSObject)]]></item>
378                      <item><![CDATA[type(ZMSRecordSet)]]></item>
379                      <item><![CDATA[type(ZMSModule)]]></item>
380                    </list>
381                  </item>
382                  <item key="mandatory" type="int">0</item>
383                  <item key="multilang" type="int">0</item>
384                  <item key="name"><![CDATA[Objects]]></item>
385                  <item key="repetitive" type="int">1</item>
386                  <item key="type"><![CDATA[*]]></item>
387                </dictionary>
388              </item>
389              <item type="dictionary">
390                <dictionary>
391                  <item key="custom"><![CDATA[<!-- ZMSDocument.standard_html -->
392
393<tal:block tal:define="global
394                zmscontext options/zmscontext"
395                tal:content="structure python:zmscontext.bodyContentZMSLib_page(zmscontext,request)">
396        The page-content
397</tal:block>
398
399<!-- /ZMSDocument.standard_html -->]]>
400                  </item>
401                  <item key="id"><![CDATA[standard_html]]></item>
402                  <item key="mandatory" type="int">0</item>
403                  <item key="multilang" type="int">0</item>
404                  <item key="name"><![CDATA[Template: ZMSDocument]]></item>
405                  <item key="repetitive" type="int">0</item>
406                  <item key="type"><![CDATA[zpt]]></item>
407                  <item key="zpt"><![CDATA[<ZopePageTemplate at ZMSDocument.standard_html>]]></item>
408                </dictionary>
409              </item>
410            </list>
411          </item>
412          <item key="access" type="dictionary">
413            <dictionary>
414              <item key="delete" type="list">
415                <list>
416                  <item><![CDATA[ZMSAdministrator]]></item>
417                  <item><![CDATA[ZMSAuthor]]></item>
418                  <item><![CDATA[ZMSEditor]]></item>
419                </list>
420              </item>
421              <item key="delete_custom"></item>
422              <item key="insert" type="list">
423                <list>
424                  <item><![CDATA[ZMSAdministrator]]></item>
425                  <item><![CDATA[ZMSAuthor]]></item>
426                  <item><![CDATA[ZMSEditor]]></item>
427                </list>
428              </item>
429              <item key="insert_custom"><![CDATA[{$}]]></item>
430            </dictionary>
431          </item>
432          <item key="enabled" type="int">1</item>
433          <item key="id"><![CDATA[ZMSDocument]]></item>
434          <item key="name"><![CDATA[ZMSDocument]]></item>
435          <item key="package"><![CDATA[com.zms.foundation]]></item>
436          <item key="revision"><![CDATA[1.3.0]]></item>
437          <item key="type"><![CDATA[ZMSDocument]]></item>
438        </dictionary>
439      </item>
440    </dictionary>
441  </item>
442  <item type="dictionary">
443    <dictionary>
444      <item key="key"><![CDATA[ZMSFile]]></item>
445      <item key="value" type="dictionary">
446        <dictionary>
447          <item key="__obj_attrs__" type="list">
448            <list>
449              <item type="dictionary">
450                <dictionary>
451                  <item key="custom">
452                    <data content_type="image/gif" filename="zmsfile_16x16.gif" type="file">47494638396110001000b300000402847784b4b5d5fc86a8dad2e8fa626897f9fcfc54a6ec727aa6fc02fcb4b2fc8498c8c8e0f88cb0e094bdefe7eff521f90401000009002c000000001000100003046f30b9d186bd23a4bd9df9e0f330c8c049606a30c1b170cd07cc341920b09cce8aa26d03dd87200028489ca0016010110846e4662173321851dcb4097810ae4585409b0888008caf203ce6981fb4b8b8e076f6ee3d017d836078af0c6b827b097d8081826b84088c8d8e8c8427929311003b</data>
453                  </item>
454                  <item key="id"><![CDATA[icon]]></item>
455                  <item key="mandatory" type="int">0</item>
456                  <item key="multilang" type="int">0</item>
457                  <item key="name"><![CDATA[Icon]]></item>
458                  <item key="repetitive" type="int">0</item>
459                  <item key="type"><![CDATA[resource]]></item>
460                </dictionary>
461              </item>
462              <item type="dictionary">
463                <dictionary>
464                  <item key="custom">
465                    <data content_type="image/gif" filename="zmsfile_disabled_16x16.gif" type="file">47494638396110001000b30000fc02fc848284cccecceceaec646664a4a6a4dcdedc7472749c9a9cfcfafcb4b6b48c8e8cd4d6d47c7a7c6c6a6ce4e2e421f90401000000002c000000001000100003047210a8420baa2580bd55fae0303041c149609a180d8270c5875d4660c37248298ab6c509444850503c1a1c6122267a3c8aaca4acf930148fd24161e0641015820367212a181ede2f43bc216b31bb3027c07df0ee3c8163eeaca20580807b1b0d068606698102041c0d8e8f908e832794950011003b</data>
466                  </item>
467                  <item key="id"><![CDATA[icon_disabled]]></item>
468                  <item key="mandatory" type="int">0</item>
469                  <item key="multilang" type="int">0</item>
470                  <item key="name"><![CDATA[Icon (Disabled)]]></item>
471                  <item key="repetitive" type="int">0</item>
472                  <item key="type"><![CDATA[resource]]></item>
473                </dictionary>
474              </item>
475              <item type="dictionary">
476                <dictionary>
477                  <item key="id"><![CDATA[titlealt]]></item>
478                  <item key="mandatory" type="int">1</item>
479                  <item key="multilang" type="int">1</item>
480                  <item key="name"><![CDATA[DC.Title.Alt]]></item>
481                  <item key="repetitive" type="int">0</item>
482                  <item key="type"><![CDATA[titlealt]]></item>
483                </dictionary>
484              </item>
485              <item type="dictionary">
486                <dictionary>
487                  <item key="id"><![CDATA[title]]></item>
488                  <item key="mandatory" type="int">1</item>
489                  <item key="multilang" type="int">1</item>
490                  <item key="name"><![CDATA[DC.Title]]></item>
491                  <item key="repetitive" type="int">0</item>
492                  <item key="type"><![CDATA[title]]></item>
493                </dictionary>
494              </item>
495              <item type="dictionary">
496                <dictionary>
497                  <item key="id"><![CDATA[file]]></item>
498                  <item key="mandatory" type="int">1</item>
499                  <item key="multilang" type="int">1</item>
500                  <item key="name"><![CDATA[File]]></item>
501                  <item key="repetitive" type="int">0</item>
502                  <item key="type"><![CDATA[file]]></item>
503                </dictionary>
504              </item>
505              <item type="dictionary">
506                <dictionary>
507                  <item key="id"><![CDATA[align]]></item>
508                  <item key="keys" type="list">
509                    <list>
510                      <item><![CDATA[LEFT]]></item>
511                      <item><![CDATA[LEFT_FLOAT]]></item>
512                      <item><![CDATA[RIGHT]]></item>
513                      <item><![CDATA[RIGHT_FLOAT]]></item>
514                      <item><![CDATA[NONE]]></item>
515                    </list>
516                  </item>
517                  <item key="mandatory" type="int">1</item>
518                  <item key="multilang" type="int">0</item>
519                  <item key="name"><![CDATA[Align]]></item>
520                  <item key="repetitive" type="int">0</item>
521                  <item key="type"><![CDATA[select]]></item>
522                </dictionary>
523              </item>
524              <item type="dictionary">
525                <dictionary>
526                  <item key="id"><![CDATA[interface0]]></item>
527                  <item key="mandatory" type="int">0</item>
528                  <item key="multilang" type="int">0</item>
529                  <item key="name"><![CDATA[<script type="text/javascript">
530
531function elFileChange(el) {
532        var filename = $(el).val();
533        var i = Math.max(filename.lastIndexOf('/'),filename.lastIndexOf('\\'));
534        if ( i > 0) {
535                filename = filename.substring(i+1);
536        }
537        var title = $("#title_"+getZMILang());
538        if ( title.val().length == 0) {
539                title.val(filename);
540        }
541        var titlealt = $("#titlealt_"+getZMILang());
542        if ( titlealt.val().length == 0) {
543                titlealt.val(filename);
544        }
545}
546
547$(function() {
548        $("#file_"+getZMILang()).change( function() { elFileChange(this); } );
549});
550
551</script>]]>
552                  </item>
553                  <item key="repetitive" type="int">0</item>
554                  <item key="type"><![CDATA[interface]]></item>
555                </dictionary>
556              </item>
557              <item type="dictionary">
558                <dictionary>
559                  <item key="id"><![CDATA[TAB_METADATA]]></item>
560                  <item key="mandatory" type="int">0</item>
561                  <item key="multilang" type="int">0</item>
562                  <item key="name"><![CDATA[TAB_METADATA]]></item>
563                  <item key="repetitive" type="int">0</item>
564                  <item key="type"><![CDATA[delimiter]]></item>
565                </dictionary>
566              </item>
567              <item type="dictionary">
568                <dictionary>
569                  <item key="id"><![CDATA[attr_dc_description]]></item>
570                  <item key="mandatory" type="int">0</item>
571                  <item key="multilang" type="int">1</item>
572                  <item key="name"><![CDATA[DC.Description]]></item>
573                  <item key="repetitive" type="int">0</item>
574                  <item key="type"><![CDATA[text]]></item>
575                </dictionary>
576              </item>
577              <item type="dictionary">
578                <dictionary>
579                  <item key="custom"><![CDATA[## Script (Python) "ZMSFile.attr_img_src"
580##bind container=container
581##bind context=context
582##bind namespace=
583##bind script=script
584##bind subpath=traverse_subpath
585##parameters=zmscontext
586##title=py: Alias: Teaser.Image
587##
588# --// BO attr_img_src //--
589
590file = zmscontext.attr('file')
591return file.getMimeTypeIconSrc()
592
593# --// EO attr_img_src //--
594]]>
595                  </item>
596                  <item key="id"><![CDATA[attr_img_src]]></item>
597                  <item key="mandatory" type="int">0</item>
598                  <item key="multilang" type="int">0</item>
599                  <item key="name"><![CDATA[Alias: Teaser.Image]]></item>
600                  <item key="py"><![CDATA[<PythonScript at ZMSFile.attr_img_src>]]></item>
601                  <item key="repetitive" type="int">0</item>
602                  <item key="type"><![CDATA[py]]></item>
603                </dictionary>
604              </item>
605              <item type="dictionary">
606                <dictionary>
607                  <item key="custom"><![CDATA[## Script (Python) "ZMSFile.attr_url"
608##bind container=container
609##bind context=context
610##bind namespace=
611##bind script=script
612##bind subpath=traverse_subpath
613##parameters=zmscontext
614##title=py: Alias: Teaser.Url
615##
616# --// BO attr_url //--
617
618file = zmscontext.attr('file')
619return file.getHref(zmscontext.REQUEST)
620
621# --// EO attr_url //--
622]]>
623                  </item>
624                  <item key="id"><![CDATA[attr_url]]></item>
625                  <item key="mandatory" type="int">0</item>
626                  <item key="multilang" type="int">0</item>
627                  <item key="name"><![CDATA[Alias: Teaser.Url]]></item>
628                  <item key="py"><![CDATA[<PythonScript at ZMSFile.attr_url>]]></item>
629                  <item key="repetitive" type="int">0</item>
630                  <item key="type"><![CDATA[py]]></item>
631                </dictionary>
632              </item>
633              <item type="dictionary">
634                <dictionary>
635                  <item key="custom"><![CDATA[## Script (Python) "ZMSFile.attr_abstract"
636##bind container=container
637##bind context=context
638##bind namespace=
639##bind script=script
640##bind subpath=traverse_subpath
641##parameters=zmscontext
642##title=py: Alias: Teaser.Abstract
643##
644# --// BO attr_abstract //--
645#
646return zmscontext.attr('attr_dc_description')
647
648# --// EO attr_abstract //--
649]]>
650                  </item>
651                  <item key="id"><![CDATA[attr_abstract]]></item>
652                  <item key="mandatory" type="int">0</item>
653                  <item key="multilang" type="int">0</item>
654                  <item key="name"><![CDATA[Alias: Teaser.Abstract]]></item>
655                  <item key="py"><![CDATA[<PythonScript at ZMSFile.attr_abstract>]]></item>
656                  <item key="repetitive" type="int">0</item>
657                  <item key="type"><![CDATA[py]]></item>
658                </dictionary>
659              </item>
660              <item type="dictionary">
661                <dictionary>
662                  <item key="custom"><![CDATA[## Script (Python) "ZMSFile.getHref2IndexHtml"
663##bind container=container
664##bind context=context
665##bind namespace=
666##bind script=script
667##bind subpath=traverse_subpath
668##parameters=zmscontext
669##title=py: Function: index_html
670##
671# --// BO getHref2IndexHtml //--
672
673file = zmscontext.attr('file')
674if file:
675    return file.getHref(zmscontext.REQUEST)
676return ''
677
678# --// EO getHref2IndexHtml //--
679]]>
680                  </item>
681                  <item key="id"><![CDATA[getHref2IndexHtml]]></item>
682                  <item key="mandatory" type="int">0</item>
683                  <item key="multilang" type="int">0</item>
684                  <item key="name"><![CDATA[Function: index_html]]></item>
685                  <item key="py"><![CDATA[<PythonScript at ZMSFile.getHref2IndexHtml>]]></item>
686                  <item key="repetitive" type="int">0</item>
687                  <item key="type"><![CDATA[py]]></item>
688                </dictionary>
689              </item>
690              <item type="dictionary">
691                <dictionary>
692                  <item key="custom"><![CDATA[<!-- ZMSFile.standard_html -->
693
694<tal:block tal:define="Std modules/Products.PythonScripts/standard; newline_to_br nocall:Std/newline_to_br; global
695                zmscontext options/zmscontext;
696                subclass      python:[zmscontext.meta_id];
697                title         python:zmscontext.attr('title');
698                titlealt      python:zmscontext.attr('titlealt');
699                file          python:zmscontext.attr('file');
700                align         python:zmscontext.attr('align');
701                displaytype   python:zmscontext.attr('displaytype');
702                abstract      python:zmscontext.attr('attr_abstract')">
703        <tal:block tal:condition="python:align not in ['','NONE'] or request.get('URL','').find('/manage')>0">
704                <tal:block tal:condition="python:align in [ '', 'NONE']">
705                        <tal:block tal:define="global subclass python:subclass+['none']"></tal:block>
706                </tal:block>
707                <tal:block tal:condition="python:align in [ 'LEFT', 'CENTER', 'RIGHT']">
708                        <tal:block tal:define="global subclass python:subclass+[align.lower()]"></tal:block>
709                </tal:block>
710                <tal:block tal:condition="python:align in [ 'LEFT_FLOAT'] and displaytype in [ 'top', 'bottom']">
711                        <tal:block tal:define="global subclass python:subclass+['floatleft']"></tal:block>
712                </tal:block>
713                <tal:block tal:condition="python:align in [ 'RIGHT_FLOAT'] and displaytype in [ 'top', 'bottom']">
714                        <tal:block tal:define="global subclass python:subclass+['floatright']"></tal:block>
715                </tal:block>
716                <div tal:attributes="id python:zmscontext.id; class python:' '.join(subclass)">
717                        <span tal:omit-tag="" tal:condition="python:file">
718                                <div class="title">
719                                        <img tal:attributes="src python:file.getMimeTypeIconSrc(); title python:'%s (%s)'%(file.getContentType(),file.getDataSizeStr())" border="0" alt="Icon" align="absmiddle"/>
720                                        <a tal:attributes="href python:file.getHref(request)" tal:content="structure python:titlealt" target="_blank">The titlealt</a>
721                                        (<span tal:content="python:file.getDataSizeStr()">The data-size string</span>)
722                                </div>
723                                <div tal:condition="python:title" tal:content="structure title" class="text">The title</div>
724                                <div tal:condition="python:abstract" tal:content="structure python:newline_to_br(abstract)" class="description">The abstract</div>
725                        </span>
726                        <span tal:omit-tag="" tal:condition="python:not (file)" tal:content="python:zmscontext.getZMILangStr('ATTR_NONE')">
727                                None
728                        </span>
729                </div>
730        </tal:block>
731</tal:block>
732
733<!-- /ZMSFile.standard_html -->]]>
734                  </item>
735                  <item key="id"><![CDATA[standard_html]]></item>
736                  <item key="mandatory" type="int">0</item>
737                  <item key="multilang" type="int">0</item>
738                  <item key="name"><![CDATA[Template: ZMSFile]]></item>
739                  <item key="repetitive" type="int">0</item>
740                  <item key="type"><![CDATA[zpt]]></item>
741                  <item key="zpt"><![CDATA[<ZopePageTemplate at ZMSFile.standard_html>]]></item>
742                </dictionary>
743              </item>
744            </list>
745          </item>
746          <item key="access" type="dictionary">
747            <dictionary>
748              <item key="delete" type="list">
749                <list>
750                  <item><![CDATA[ZMSAdministrator]]></item>
751                  <item><![CDATA[ZMSAuthor]]></item>
752                  <item><![CDATA[ZMSEditor]]></item>
753                </list>
754              </item>
755              <item key="delete_custom"></item>
756              <item key="insert" type="list">
757                <list>
758                  <item><![CDATA[ZMSAdministrator]]></item>
759                  <item><![CDATA[ZMSAuthor]]></item>
760                  <item><![CDATA[ZMSEditor]]></item>
761                </list>
762              </item>
763              <item key="insert_custom"><![CDATA[{$}]]></item>
764            </dictionary>
765          </item>
766          <item key="enabled" type="int">1</item>
767          <item key="id"><![CDATA[ZMSFile]]></item>
768          <item key="name"><![CDATA[ZMSFile]]></item>
769          <item key="package"><![CDATA[com.zms.foundation]]></item>
770          <item key="revision"><![CDATA[1.3.0]]></item>
771          <item key="type"><![CDATA[ZMSObject]]></item>
772        </dictionary>
773      </item>
774    </dictionary>
775  </item>
776  <item type="dictionary">
777    <dictionary>
778      <item key="key"><![CDATA[ZMSFolder]]></item>
779      <item key="value" type="dictionary">
780        <dictionary>
781          <item key="__obj_attrs__" type="list">
782            <list>
783              <item type="dictionary">
784                <dictionary>
785                  <item key="custom">
786                    <data content_type="image/gif" filename="zmsfolder.gif" type="file">47494638396110001000b30000745e3cb4821cfcfba5efcc65fce973fcfee3d6aa3afcf58afcfec0fc02fc9088608c7e54cc9e34fcda61fcfef7e3b94321f90401000009002c000000001000100003045f30c9496b5a2feb65e57320283c4af7208820a484e66269aaaa61980d78aeeb1952fcc020f061101c8ec8e471f410109ed0e8f3403c48af8483c1406878bf602f61db1d7ccd5e3481c120ecde8371bbd1add3ef5d0620c0effbfd001d820911003b</data>
787                  </item>
788                  <item key="id"><![CDATA[icon]]></item>
789                  <item key="mandatory" type="int">0</item>
790                  <item key="multilang" type="int">0</item>
791                  <item key="name"><![CDATA[Icon]]></item>
792                  <item key="repetitive" type="int">0</item>
793                  <item key="type"><![CDATA[resource]]></item>
794                </dictionary>
795              </item>
796              <item type="dictionary">
797                <dictionary>
798                  <item key="custom">
799                    <data content_type="image/gif" filename="zmsfolder_disabled.gif" type="file">47494638396110001000b30000fc02fc848684cccacceceaecf4f6f4a4a2a4646264e4e2e4fcfefc7c7e7cbcbabcd4d6d4f4f2f4acaaacfcfafc00000021f90401000000002c000000001000100003046110c8492b482aeb64a5420811124dd02904c130eaa1bd98aaaecc008a6026ecc2b2fb3d5e26354a198f8a466dc06c3a078ccce040ad5aa983e4f4ca3d340a8785784c167b1be19e58ed3317c0bcb8dc0b5e84eff67cb86008f8ff8080061d840011003b</data>
800                  </item>
801                  <item key="id"><![CDATA[icon_disabled]]></item>
802                  <item key="mandatory" type="int">0</item>
803                  <item key="multilang" type="int">0</item>
804                  <item key="name"><![CDATA[Icon (Disabled)]]></item>
805                  <item key="repetitive" type="int">0</item>
806                  <item key="type"><![CDATA[resource]]></item>
807                </dictionary>
808              </item>
809              <item type="dictionary">
810                <dictionary>
811                  <item key="id"><![CDATA[titlealt]]></item>
812                  <item key="mandatory" type="int">1</item>
813                  <item key="multilang" type="int">1</item>
814                  <item key="name"><![CDATA[DC.Title.Alt]]></item>
815                  <item key="repetitive" type="int">0</item>
816                  <item key="type"><![CDATA[titlealt]]></item>
817                </dictionary>
818              </item>
819              <item type="dictionary">
820                <dictionary>
821                  <item key="id"><![CDATA[title]]></item>
822                  <item key="mandatory" type="int">1</item>
823                  <item key="multilang" type="int">1</item>
824                  <item key="name"><![CDATA[DC.Title]]></item>
825                  <item key="repetitive" type="int">0</item>
826                  <item key="type"><![CDATA[title]]></item>
827                </dictionary>
828              </item>
829              <item type="dictionary">
830                <dictionary>
831                  <item key="id"><![CDATA[titleimage]]></item>
832                  <item key="mandatory" type="int">0</item>
833                  <item key="multilang" type="int">1</item>
834                  <item key="name"><![CDATA[Titleimage]]></item>
835                  <item key="repetitive" type="int">0</item>
836                  <item key="type"><![CDATA[image]]></item>
837                </dictionary>
838              </item>
839              <item type="dictionary">
840                <dictionary>
841                  <item key="id"><![CDATA[levelnfc]]></item>
842                  <item key="keys" type="list">
843                    <list>
844                      <item><![CDATA[0]]></item>
845                      <item><![CDATA[1]]></item>
846                      <item><![CDATA[2]]></item>
847                    </list>
848                  </item>
849                  <item key="mandatory" type="int">0</item>
850                  <item key="multilang" type="int">0</item>
851                  <item key="name"><![CDATA[Level]]></item>
852                  <item key="repetitive" type="int">0</item>
853                  <item key="type"><![CDATA[select]]></item>
854                </dictionary>
855              </item>
856              <item type="dictionary">
857                <dictionary>
858                  <item key="id"><![CDATA[attr_cacheable]]></item>
859                  <item key="keys" type="list">
860                    <list>
861                      <item><![CDATA[0]]></item>
862                      <item><![CDATA[1]]></item>
863                      <item><![CDATA[2]]></item>
864                    </list>
865                  </item>
866                  <item key="mandatory" type="int">0</item>
867                  <item key="multilang" type="int">0</item>
868                  <item key="name"><![CDATA[Cacheable]]></item>
869                  <item key="repetitive" type="int">0</item>
870                  <item key="type"><![CDATA[select]]></item>
871                </dictionary>
872              </item>
873              <item type="dictionary">
874                <dictionary>
875                  <item key="id"><![CDATA[TAB_METADATA]]></item>
876                  <item key="mandatory" type="int">0</item>
877                  <item key="multilang" type="int">0</item>
878                  <item key="name"><![CDATA[TAB_METADATA]]></item>
879                  <item key="repetitive" type="int">0</item>
880                  <item key="type"><![CDATA[delimiter]]></item>
881                </dictionary>
882              </item>
883              <item type="dictionary">
884                <dictionary>
885                  <item key="id"><![CDATA[attr_dc_description]]></item>
886                  <item key="mandatory" type="int">0</item>
887                  <item key="multilang" type="int">1</item>
888                  <item key="name"><![CDATA[DC.Description]]></item>
889                  <item key="repetitive" type="int">0</item>
890                  <item key="type"><![CDATA[attr_dc_description]]></item>
891                </dictionary>
892              </item>
893              <item type="dictionary">
894                <dictionary>
895                  <item key="id"><![CDATA[attr_dc_subject]]></item>
896                  <item key="mandatory" type="int">0</item>
897                  <item key="multilang" type="int">1</item>
898                  <item key="name"><![CDATA[DC.Subject]]></item>
899                  <item key="repetitive" type="int">0</item>
900                  <item key="type"><![CDATA[attr_dc_subject]]></item>
901                </dictionary>
902              </item>
903              <item type="dictionary">
904                <dictionary>
905                  <item key="id"><![CDATA[attr_dc_type]]></item>
906                  <item key="mandatory" type="int">0</item>
907                  <item key="multilang" type="int">1</item>
908                  <item key="name"><![CDATA[DC.Type]]></item>
909                  <item key="repetitive" type="int">0</item>
910                  <item key="type"><![CDATA[attr_dc_type]]></item>
911                </dictionary>
912              </item>
913              <item type="dictionary">
914                <dictionary>
915                  <item key="id"><![CDATA[attr_dc_creator]]></item>
916                  <item key="mandatory" type="int">0</item>
917                  <item key="multilang" type="int">1</item>
918                  <item key="name"><![CDATA[DC.Creator]]></item>
919                  <item key="repetitive" type="int">0</item>
920                  <item key="type"><![CDATA[attr_dc_creator]]></item>
921                </dictionary>
922              </item>
923              <item type="dictionary">
924                <dictionary>
925                  <item key="id"><![CDATA[e]]></item>
926                  <item key="keys" type="list">
927                    <list>
928                      <item><![CDATA[ZMSTeaserContainer]]></item>
929                      <item><![CDATA[type(ZMSDocument)]]></item>
930                      <item><![CDATA[type(ZMSObject)]]></item>
931                      <item><![CDATA[type(ZMSRecordSet)]]></item>
932                      <item><![CDATA[type(ZMSModule)]]></item>
933                    </list>
934                  </item>
935                  <item key="mandatory" type="int">0</item>
936                  <item key="multilang" type="int">0</item>
937                  <item key="name"><![CDATA[Objects]]></item>
938                  <item key="repetitive" type="int">1</item>
939                  <item key="type"><![CDATA[*]]></item>
940                </dictionary>
941              </item>
942              <item type="dictionary">
943                <dictionary>
944                  <item key="custom"><![CDATA[<!-- ZMSFolder.standard_html -->
945
946<tal:block tal:define="global
947                zmscontext options/zmscontext"
948                tal:content="structure python:zmscontext.bodyContentZMSLib_page(zmscontext,request)">
949        The page-content
950</tal:block>
951
952<!-- /ZMSFolder.standard_html -->]]>
953                  </item>
954                  <item key="id"><![CDATA[standard_html]]></item>
955                  <item key="mandatory" type="int">0</item>
956                  <item key="multilang" type="int">0</item>
957                  <item key="name"><![CDATA[Template: ZMSFolder]]></item>
958                  <item key="repetitive" type="int">0</item>
959                  <item key="type"><![CDATA[zpt]]></item>
960                  <item key="zpt"><![CDATA[<ZopePageTemplate at ZMSFolder.standard_html>]]></item>
961                </dictionary>
962              </item>
963            </list>
964          </item>
965          <item key="access" type="dictionary">
966            <dictionary>
967              <item key="delete" type="list">
968                <list>
969                  <item><![CDATA[ZMSAdministrator]]></item>
970                  <item><![CDATA[ZMSAuthor]]></item>
971                  <item><![CDATA[ZMSEditor]]></item>
972                </list>
973              </item>
974              <item key="delete_custom"></item>
975              <item key="insert" type="list">
976                <list>
977                  <item><![CDATA[ZMSAdministrator]]></item>
978                  <item><![CDATA[ZMSAuthor]]></item>
979                  <item><![CDATA[ZMSEditor]]></item>
980                </list>
981              </item>
982              <item key="insert_custom"><![CDATA[{$}]]></item>
983            </dictionary>
984          </item>
985          <item key="enabled" type="int">1</item>
986          <item key="id"><![CDATA[ZMSFolder]]></item>
987          <item key="name"><![CDATA[ZMSFolder]]></item>
988          <item key="package"><![CDATA[com.zms.foundation]]></item>
989          <item key="revision"><![CDATA[1.3.0]]></item>
990          <item key="type"><![CDATA[ZMSDocument]]></item>
991        </dictionary>
992      </item>
993    </dictionary>
994  </item>
995  <item type="dictionary">
996    <dictionary>
997      <item key="key"><![CDATA[ZMSGraphic]]></item>
998      <item key="value" type="dictionary">
999        <dictionary>
1000          <item key="__obj_attrs__" type="list">
1001            <list>
1002              <item type="dictionary">
1003                <dictionary>
1004                  <item key="custom">
1005                    <data content_type="image/gif" filename="zmsgraphic.gif" type="file">47494638396110001000b30000fa3605eacc1f7987b7bcc284d7d2d1edf5fa3ca7ecfc02fcb6d8fa574f9cc47a7ca4e45c6cfa346876a80598fb8baddf21f90401000007002c0000000010001000030464f0a0476b1527e757baef84f068d2f7218d316ea6870842a37105602b4837616c6d270e072227ebfd8241e2acf36b201f288d00f44026a399a98bc1701886c583b6b3089887587181b0369b07604da390aba38709399d7e47871b80818280792486871911003b</data>
1006                  </item>
1007                  <item key="id"><![CDATA[icon]]></item>
1008                  <item key="mandatory" type="int">0</item>
1009                  <item key="multilang" type="int">0</item>
1010                  <item key="name"><![CDATA[Icon]]></item>
1011                  <item key="repetitive" type="int">0</item>
1012                  <item key="type"><![CDATA[resource]]></item>
1013                </dictionary>
1014              </item>
1015              <item type="dictionary">
1016                <dictionary>
1017                  <item key="custom">
1018                    <data content_type="image/gif" filename="zmsgraphic_disabled.gif" type="file">47494638396110001000b30000fc02fc848284c4c2c4545254eceaec6c6a6ca4a6a4d4d2d47476749c9a9cbcbabc646664fcfafcccceccdcdedc7c7a7c21f90401000000002c00000000100010000304791028436b0d2067c5ba278413189ae49d8cf3248966a09e1860d9cb147872808e4203b64561b1402004a18726d1c10d8ac6836ad9113e8d08c5419961321a0de3c328082f79048142814880119a000874502b040773461e7208fe6a6005710e3c0e7960821a0f0e8d8779900d0b8b0f9596970f93259b9c1911003b</data>
1019                  </item>
1020                  <item key="id"><![CDATA[icon_disabled]]></item>
1021                  <item key="mandatory" type="int">0</item>
1022                  <item key="multilang" type="int">0</item>
1023                  <item key="name"><![CDATA[Icon (Disabled)]]></item>
1024                  <item key="repetitive" type="int">0</item>
1025                  <item key="type"><![CDATA[resource]]></item>
1026                </dictionary>
1027              </item>
1028              <item type="dictionary">
1029                <dictionary>
1030                  <item key="default"><![CDATA[2]]></item>
1031                  <item key="id"><![CDATA[displaytype]]></item>
1032                  <item key="mandatory" type="int">1</item>
1033                  <item key="multilang" type="int">0</item>
1034                  <item key="name"><![CDATA[Display-Type]]></item>
1035                  <item key="repetitive" type="int">0</item>
1036                  <item key="type"><![CDATA[int]]></item>
1037                </dictionary>
1038              </item>
1039              <item type="dictionary">
1040                <dictionary>
1041                  <item key="id"><![CDATA[img]]></item>
1042                  <item key="mandatory" type="int">1</item>
1043                  <item key="multilang" type="int">1</item>
1044                  <item key="name"><![CDATA[Image]]></item>
1045                  <item key="repetitive" type="int">0</item>
1046                  <item key="type"><![CDATA[image]]></item>
1047                </dictionary>
1048              </item>
1049              <item type="dictionary">
1050                <dictionary>
1051                  <item key="id"><![CDATA[imghires]]></item>
1052                  <item key="mandatory" type="int">0</item>
1053                  <item key="multilang" type="int">1</item>
1054                  <item key="name"><![CDATA[Image (Hires)]]></item>
1055                  <item key="repetitive" type="int">0</item>
1056                  <item key="type"><![CDATA[image]]></item>
1057                </dictionary>
1058              </item>
1059              <item type="dictionary">
1060                <dictionary>
1061                  <item key="id"><![CDATA[imgsuperres]]></item>
1062                  <item key="mandatory" type="int">0</item>
1063                  <item key="multilang" type="int">1</item>
1064                  <item key="name"><![CDATA[Image (Superres)]]></item>
1065                  <item key="repetitive" type="int">0</item>
1066                  <item key="type"><![CDATA[image]]></item>
1067                </dictionary>
1068              </item>
1069              <item type="dictionary">
1070                <dictionary>
1071                  <item key="default"><![CDATA[alt=""]]></item>
1072                  <item key="id"><![CDATA[img_attrs_spec]]></item>
1073                  <item key="mandatory" type="int">0</item>
1074                  <item key="multilang" type="int">0</item>
1075                  <item key="name"><![CDATA[Image (Special-Attributes)]]></item>
1076                  <item key="repetitive" type="int">0</item>
1077                  <item key="type"><![CDATA[string]]></item>
1078                </dictionary>
1079              </item>
1080              <item type="dictionary">
1081                <dictionary>
1082                  <item key="id"><![CDATA[attr_url]]></item>
1083                  <item key="mandatory" type="int">0</item>
1084                  <item key="multilang" type="int">1</item>
1085                  <item key="name"><![CDATA[Image (URL)]]></item>
1086                  <item key="repetitive" type="int">0</item>
1087                  <item key="type"><![CDATA[url]]></item>
1088                </dictionary>
1089              </item>
1090              <item type="dictionary">
1091                <dictionary>
1092                  <item key="id"><![CDATA[align]]></item>
1093                  <item key="keys" type="list">
1094                    <list>
1095                      <item><![CDATA[LEFT]]></item>
1096                      <item><![CDATA[LEFT_FLOAT]]></item>
1097                      <item><![CDATA[RIGHT]]></item>
1098                      <item><![CDATA[RIGHT_FLOAT]]></item>
1099                      <item><![CDATA[CENTER]]></item>
1100                    </list>
1101                  </item>
1102                  <item key="mandatory" type="int">1</item>
1103                  <item key="multilang" type="int">0</item>
1104                  <item key="name"><![CDATA[Align]]></item>
1105                  <item key="repetitive" type="int">0</item>
1106                  <item key="type"><![CDATA[select]]></item>
1107                </dictionary>
1108              </item>
1109              <item type="dictionary">
1110                <dictionary>
1111                  <item key="id"><![CDATA[text]]></item>
1112                  <item key="mandatory" type="int">0</item>
1113                  <item key="multilang" type="int">1</item>
1114                  <item key="name"><![CDATA[Text]]></item>
1115                  <item key="repetitive" type="int">0</item>
1116                  <item key="type"><![CDATA[richtext]]></item>
1117                </dictionary>
1118              </item>
1119              <item type="dictionary">
1120                <dictionary>
1121                  <item key="default"><![CDATA[<dtml-return "getTextFormatDefault()">]]></item>
1122                  <item key="id"><![CDATA[format]]></item>
1123                  <item key="mandatory" type="int">1</item>
1124                  <item key="multilang" type="int">0</item>
1125                  <item key="name"><![CDATA[Format]]></item>
1126                  <item key="repetitive" type="int">0</item>
1127                  <item key="type"><![CDATA[string]]></item>
1128                </dictionary>
1129              </item>
1130              <item type="dictionary">
1131                <dictionary>
1132                  <item key="id"><![CDATA[textalign]]></item>
1133                  <item key="keys" type="list">
1134                    <list>
1135                      <item><![CDATA[LEFT]]></item>
1136                      <item><![CDATA[RIGHT]]></item>
1137                      <item><![CDATA[CENTER]]></item>
1138                    </list>
1139                  </item>
1140                  <item key="mandatory" type="int">1</item>
1141                  <item key="multilang" type="int">0</item>
1142                  <item key="name"><![CDATA[Text-Align]]></item>
1143                  <item key="repetitive" type="int">0</item>
1144                  <item key="type"><![CDATA[select]]></item>
1145                </dictionary>
1146              </item>
1147              <item type="dictionary">
1148                <dictionary>
1149                  <item key="custom"><![CDATA[<!-- ZMSGraphic.standard_html -->
1150
1151<tal:block tal:define="global
1152                zmscontext options/zmscontext;
1153                subclass      python:[zmscontext.meta_id];
1154                text          python:unicode(zmscontext.getText(request),'utf-8');
1155                format        python:unicode(zmscontext.attr('format'),'utf-8');
1156                textclass     python:'text';
1157                displaytype   python:zmscontext.dctDisplaytype.get(str(zmscontext.attr('displaytype')),'left');
1158                align         python:zmscontext.attr('align');
1159                textalign     python:zmscontext.attr('textalign');
1160                imgclass      python:'img';
1161                imgurl        python:zmscontext.getLinkUrl(zmscontext.attr('attr_url'),request);
1162                isimghires    python:zmscontext.attr('imghires');
1163                imgthumb      python:request['URL'].find('/manage')>0;
1164                imgspecial    python:zmscontext.attr('img_attrs_spec')">
1165        <tal:block tal:condition="python:imgurl and isimghires">
1166                <tal:block
1167                        tal:define="global text python:text+'\n<span class=\042imgurl\042>'+zmscontext.getLangStr('HREF_MORE',request['lang'])%(' href=\042%s\042'%imgurl)+'</span>';
1168                                    global imgurl python:''">
1169                </tal:block>
1170        </tal:block>
1171        <tal:block
1172                tal:define="global renderedtext python:zmscontext.renderText(format,'text',text,request);
1173                            global bodyContent python:zmscontext.renderDisplaytype(displaytype,'img','imghires',imgurl,imgthumb,imgspecial,imgclass,renderedtext,textalign,textclass,request)">
1174        </tal:block>
1175        <tal:block tal:condition="python:align in [ 'LEFT', 'CENTER', 'RIGHT']">
1176                <tal:block tal:define="global subclass python:subclass+[align.lower()]"></tal:block>
1177        </tal:block>
1178        <tal:block tal:condition="python:align in [ 'LEFT_FLOAT'] and displaytype in [ 'top', 'bottom']">
1179                <tal:block tal:define="global subclass python:subclass+['floatleft']"></tal:block>
1180        </tal:block>
1181        <tal:block tal:condition="python:align in [ 'RIGHT_FLOAT'] and displaytype in [ 'top', 'bottom']">
1182                <tal:block tal:define="global subclass python:subclass+['floatright']"></tal:block>
1183        </tal:block>
1184        <div tal:attributes="id python:zmscontext.id; class python:' '.join(subclass)" tal:content="structure bodyContent">
1185                The graphic
1186        </div>
1187</tal:block>
1188
1189<!-- /ZMSGraphic.standard_html -->]]>
1190                  </item>
1191                  <item key="id"><![CDATA[standard_html]]></item>
1192                  <item key="mandatory" type="int">0</item>
1193                  <item key="multilang" type="int">0</item>
1194                  <item key="name"><![CDATA[Template: ZMSGraphic]]></item>
1195                  <item key="repetitive" type="int">0</item>
1196                  <item key="type"><![CDATA[zpt]]></item>
1197                  <item key="zpt"><![CDATA[<ZopePageTemplate at ZMSGraphic.standard_html>]]></item>
1198                </dictionary>
1199              </item>
1200            </list>
1201          </item>
1202          <item key="access" type="dictionary">
1203            <dictionary>
1204              <item key="delete" type="list">
1205                <list>
1206                  <item><![CDATA[ZMSAdministrator]]></item>
1207                  <item><![CDATA[ZMSAuthor]]></item>
1208                  <item><![CDATA[ZMSEditor]]></item>
1209                </list>
1210              </item>
1211              <item key="delete_custom"></item>
1212              <item key="insert" type="list">
1213                <list>
1214                  <item><![CDATA[ZMSAdministrator]]></item>
1215                  <item><![CDATA[ZMSAuthor]]></item>
1216                  <item><![CDATA[ZMSEditor]]></item>
1217                </list>
1218              </item>
1219              <item key="insert_custom"><![CDATA[{$}]]></item>
1220            </dictionary>
1221          </item>
1222          <item key="enabled" type="int">1</item>
1223          <item key="id"><![CDATA[ZMSGraphic]]></item>
1224          <item key="name"><![CDATA[ZMSGraphic]]></item>
1225          <item key="package"><![CDATA[com.zms.foundation]]></item>
1226          <item key="revision"><![CDATA[1.3.0]]></item>
1227          <item key="type"><![CDATA[ZMSObject]]></item>
1228        </dictionary>
1229      </item>
1230    </dictionary>
1231  </item>
1232  <item type="dictionary">
1233    <dictionary>
1234      <item key="key"><![CDATA[ZMSLib]]></item>
1235      <item key="value" type="dictionary">
1236        <dictionary>
1237          <item key="__obj_attrs__" type="list">
1238            <list>
1239              <item type="dictionary">
1240                <dictionary>
1241                  <item key="custom"><![CDATA[<!-- bodyContentZMSLib_page -->
1242
1243        <tal:block tal:define="global
1244                childNodes    python:here.getObjChildren('e',request,here.PAGEELEMENTS)">
1245                <tal:block tal:condition="childNodes">
1246                        <tal:block tal:content="structure here/bodyContent_PagePre">The page-pre-content</tal:block>
1247                        <tal:block tal:repeat="childNode childNodes">
1248                                <tal:block tal:content="structure python:unicode(childNode.getBodyContent(request),'utf-8')">
1249                                        The page-element body-content
1250                                </tal:block>
1251                        </tal:block>
1252                        <tal:block tal:content="structure here/bodyContent_PagePost">The page-post-content</tal:block>
1253                </tal:block>
1254        </tal:block>
1255
1256<!-- /bodyContentZMSLib_page -->]]>
1257                  </item>
1258                  <item key="id"><![CDATA[bodyContentZMSLib_page]]></item>
1259                  <item key="mandatory" type="int">0</item>
1260                  <item key="multilang" type="int">0</item>
1261                  <item key="name"><![CDATA[Template: Page]]></item>
1262                  <item key="repetitive" type="int">0</item>
1263                  <item key="type"><![CDATA[Page Template]]></item>
1264                </dictionary>
1265              </item>
1266              <item type="dictionary">
1267                <dictionary>
1268                  <item key="custom"><![CDATA[## Script (Python) "ZMSLib.uploadMedia"
1269##bind container=container
1270##bind context=context
1271##bind namespace=
1272##bind script=script
1273##bind subpath=traverse_subpath
1274##parameters=zmscontext=None
1275##title=py: Upload: Media
1276##
1277# --// BO uploadMedia //--
1278
1279result = {}
1280temp_folder = context.temp_folder
1281request = context.REQUEST
1282base_url = request.get('SERVER_URL')
1283session_id = request.get('session_id')
1284form_id = request.get('form_id')
1285file = request.get('file')
1286
1287def resize_image(context, orig, maxdims):
1288  pilutil = context.pilutil()
1289  width = orig.getWidth()
1290  height = orig.getHeight()
1291  while width > maxdims or height > maxdims:
1292    if width > maxdims:
1293      height = int(height * maxdims / width)
1294      width = maxdims
1295    elif height > maxdims:
1296      width = int(width * maxdims / height)
1297      height = maxdims
1298  size = (width,height)
1299  blob = pilutil.resize( orig, size)
1300  return blob
1301
1302def create_blob(container, blob):
1303  filename = blob.getFilename()
1304  data = blob.getData()
1305  id = session_id + '_' + form_id + '_' + filename
1306  if id in container.objectIds():
1307    container.manage_delObjects(ids=[id])
1308  if blob.getContentType().startswith('image'):
1309    container.manage_addImage( id=id, title=filename, file=data)
1310  else:
1311    container.manage_addFile( id=id, title=filename, file=data)
1312  ob = getattr(container,id)
1313  d = {}
1314  d['content_type'] = blob.getContentType()
1315  d['filename'] = blob.getFilename()
1316  d['absolute_url'] = ob.absolute_url()[len(base_url):]
1317  return d
1318
1319if file and file.filename:
1320  blobs = {}
1321  blob = context.FileFromData(file,file.filename)
1322  content_type = blob.getContentType()
1323  if content_type.startswith('image'):
1324    image = context.ImageFromData(file,file.filename)
1325    maxdims = int(context.getConfProperty('InstalledProducts.pil.thumbnail.max',100))
1326    if image.getWidth() > maxdims:
1327      result['imghires'] = create_blob(temp_folder,image)
1328      result['image'] = create_blob(temp_folder,resize_image(context, image, maxdims))
1329    else:
1330      result['image'] = create_blob(temp_folder,image)
1331  else:
1332    result['file'] = create_blob(temp_folder,blob)
1333
1334result['message'] = context.getZMILangStr( 'MSG_UPLOADED')
1335return context.str_json(result)
1336
1337# --// EO uploadMedia //--
1338]]>
1339                  </item>
1340                  <item key="id"><![CDATA[uploadMedia]]></item>
1341                  <item key="mandatory" type="int">0</item>
1342                  <item key="multilang" type="int">0</item>
1343                  <item key="name"><![CDATA[Upload: Media]]></item>
1344                  <item key="py"><![CDATA[<PythonScript at ZMSLib.uploadMedia>]]></item>
1345                  <item key="repetitive" type="int">0</item>
1346                  <item key="type"><![CDATA[py]]></item>
1347                </dictionary>
1348              </item>
1349            </list>
1350          </item>
1351          <item key="access" type="dictionary">
1352            <dictionary>
1353              <item key="delete" type="list">
1354                <list>
1355                </list>
1356              </item>
1357              <item key="delete_custom"></item>
1358              <item key="insert" type="list">
1359                <list>
1360                </list>
1361              </item>
1362              <item key="insert_custom"></item>
1363            </dictionary>
1364          </item>
1365          <item key="enabled" type="int">0</item>
1366          <item key="id"><![CDATA[ZMSLib]]></item>
1367          <item key="name"><![CDATA[ZMSLib]]></item>
1368          <item key="package"><![CDATA[com.zms.foundation]]></item>
1369          <item key="revision"><![CDATA[1.1.0]]></item>
1370          <item key="type"><![CDATA[ZMSLibrary]]></item>
1371        </dictionary>
1372      </item>
1373    </dictionary>
1374  </item>
1375  <item type="dictionary">
1376    <dictionary>
1377      <item key="key"><![CDATA[ZMSLinkContainer]]></item>
1378      <item key="value" type="dictionary">
1379        <dictionary>
1380          <item key="__obj_attrs__" type="list">
1381            <list>
1382              <item type="dictionary">
1383                <dictionary>
1384                  <item key="custom">
1385                    <data content_type="image/gif" filename="zmslinkcontainer_16x16.gif" type="file">47494638396110001000b300000402048c8e8cc4cac404028434464cacbedce4eaecacaeb4647294fc02fc2c2a34545e64c4d6ec7496b4fcfefc0000ff21f90401000009002c000000001000100003046e30c974820d67ea24d462a00028c2d62d467328400b30da61804cd3b8e314183c53200a022e2039380cc7c6c2b6702d8a0e87e0801b2d104f4e1437c061a10081d401188bb2897015279a94018157e016270324ea754bd44e8bc5657f2d646e2e37557d787f6466771b38692e1211003b</data>
1386                  </item>
1387                  <item key="id"><![CDATA[icon]]></item>
1388                  <item key="mandatory" type="int">0</item>
1389                  <item key="multilang" type="int">0</item>
1390                  <item key="name"><![CDATA[Icon]]></item>
1391                  <item key="repetitive" type="int">0</item>
1392                  <item key="type"><![CDATA[resource]]></item>
1393                </dictionary>
1394              </item>
1395              <item type="dictionary">
1396                <dictionary>
1397                  <item key="custom">
1398                    <data content_type="image/gif" filename="zmslinkcontainer_disabled_16x16.gif" type="file">47494638396110001000b30000fc02fc8c8a8cc4c2c4acaeaceceaec5c5a5c9c9a9cd4d2d47c7a7cbcbabcccceccf4f6f4646664949294a4a2a4dcdadc21f90401000000002c0000000010001000030474104820861d626af05078a05220cff6300d910848e132e59410c77358ae8bc8447f28064620574848048b9eaae1180c5d068982b05008880c94230a502c1658e2560a3e2ccc85f3b9c005140ec4387c922e0cde0343c1512f48de714470736e66686a707574397c727e748660888f1a446e391211003b</data>
1399                  </item>
1400                  <item key="id"><![CDATA[icon_disabled]]></item>
1401                  <item key="mandatory" type="int">0</item>
1402                  <item key="multilang" type="int">0</item>
1403                  <item key="name"><![CDATA[Icon (Disabled)]]></item>
1404                  <item key="repetitive" type="int">0</item>
1405                  <item key="type"><![CDATA[resource]]></item>
1406                </dictionary>
1407              </item>
1408              <item type="dictionary">
1409                <dictionary>
1410                  <item key="id"><![CDATA[interface0]]></item>
1411                  <item key="mandatory" type="int">0</item>
1412                  <item key="multilang" type="int">0</item>
1413                  <item key="name"><![CDATA[<dtml-comment>
1414################################################################################
1415##### Align: EDIT
1416################################################################################
1417</dtml-comment>
1418<dtml-if "getParentNode().meta_id in ['ZMS','ZMSFolder','ZMSDocument']">
1419<table cellspacing="0" cellpadding="1" border="0" width="100%">
1420<colgroup>
1421 <col width="20%" />
1422 <col width="80%" />
1423</colgroup>
1424<tr valign="middle">
1425 <td><div class="form-label"><dtml-var "getZMILangStr('ALIGN')"></div></td>
1426 <td><dtml-var "getObjInput('align',REQUEST)"></td>
1427</tr>
1428</table>
1429</dtml-if>
1430
1431<table cellspacing="1" cellpadding="2" border="0" class="zmiNeutralColorStrong0">
1432<tr class="zmiNeutralColorMedium0">
1433 <td colspan="5"><dtml-var "f_headline(_,_,headline=getZMILangStr('BTN_ADD'))"></td>
1434</tr>
1435<tr valign="top" class="zmiNeutralColorStrong0">
1436 <td> &nbsp; </td>
1437 <td>
1438  <span class="form-label"><dtml-var "getZMILangStr('ATTR_URL')"><dtml-var FORM_LABEL_MANDATORY></span>
1439  <span class="form-small">(<dtml-var "getZMILangStr('OR').lower()"> PMID)</span>
1440 </td>
1441 <td>
1442  <span class="form-label"><dtml-var "getZMILangStr('ATTR_TITLE')"><dtml-var FORM_LABEL_MANDATORY></span>
1443  <span class="form-small">(<dtml-var "getZMILangStr('OR').lower()"> &quot;Medline&quot;)</span>
1444 </td>
1445 <td colspan="2">
1446  <span class="form-label"><dtml-var "getZMILangStr('ATTR_DESCRIPTION')"></span>
1447 </td>
1448</tr>
1449
1450<dtml-comment>
1451################################################################################
1452##### Link-Elements: INSERT
1453################################################################################
1454</dtml-comment>
1455<dtml-call "REQUEST.set( 'ZMS_INSERT', 'ZMSLinkElement')">
1456<tr valign="top" class="zmiNeutralColorMedium0">
1457 <td align="right"><img src="<dtml-var MISC_ZMS>btn_add.gif" border="0" class="button"/></td>
1458 <td class="form-small"><dtml-var "getUrlInput(fmName='form0',elName='_url',elTextName='_title',size=15,value='',enabled=1,REQUEST=REQUEST,css='form-small')">&nbsp;</td>
1459 <td class="form-small"><dtml-var "getTextInput(fmName='form0',elName='_title',size=15,value='',enabled=1,REQUEST=REQUEST,css='form-small')"></td>
1460 <td class="form-small"><dtml-var "getTextArea(fmName='form0',elName='_description',cols=20,rows=3,value='',enabled=1,REQUEST=REQUEST,css='form-small')"></td>
1461 <td width="100">
1462   <input class="ui-button ui-state-default ui-corner-all" name="btn" type="submit" value="<dtml-var "getZMILangStr('BTN_INSERT')" html_quote>" accesskey="<dtml-var "getZMILangStr('BTN_INSERT')[0]" html_quote>" title="ALT+Shift+<dtml-var "getZMILangStr('BTN_INSERT')[0]" html_quote>" onclick="processMultiselectsOnFormSubmit(); self.btnClicked=this.value;">
1463   &nbsp;&nbsp;
1464 </td>
1465</tr>
1466
1467<dtml-comment>
1468################################################################################
1469##### Link-Elements: EDIT
1470################################################################################
1471</dtml-comment>
1472<dtml-call "REQUEST.set( 'ZMS_INSERT', None)">
1473<dtml-let childNodes="getObjChildren('e',REQUEST)">
1474<dtml-in childNodes>
1475<dtml-let seqindex=sequence-index ob=sequence-item>
1476<tr valign="top" class="zmiNeutralColorLight0">
1477 <td align="center" class="zmiNeutralColorMedium0"
1478  ><nobr
1479   ><select class="form-small" onchange="location.href='<dtml-var id>/manage_moveObjToPos?lang=<dtml-var lang>&pos:int='+(this.selectedIndex+1)"
1480    ><dtml-in "_.range(len(childNodes))"
1481     ><option <dtml-if "_['sequence-index']==seqindex">selected="selected"</dtml-if>><dtml-var "_['sequence-index']+1"></option
1482    ></dtml-in
1483   ></select
1484    ><a href="javascript:confirmDeleteBtnOnClick('manage_deleteObjs?ids:list=<dtml-var id>&preview=preview');" class="button"
1485     ><img src="<dtml-var MISC_ZMS>btn_trashcan1.gif" title="<dtml-var "getZMILangStr('BTN_DELETE')">" border="0"></a
1486  ></nobr
1487 </td>
1488 <td class="form-small"><dtml-var "getUrlInput(fmName='form0',elName='url%s'%id,elTextName='title%s'%id,size=15,value=getObjAttrValue(getObjAttr('attr_ref'),REQUEST),enabled=1,REQUEST=REQUEST,css='form-small')">&nbsp;</td>
1489 <td class="form-small"><dtml-var "getTextInput(fmName='form0',elName='title%s'%id,size=15,value=getObjAttrValue(getObjAttr('title'),REQUEST),enabled=1,REQUEST=REQUEST,css='form-small')"></td>
1490 <td class="form-small"><dtml-var "getTextArea(fmName='form0',elName='description%s'%id,cols=20,rows=3,value=getObjAttrValue(getObjAttr('attr_dc_description'),REQUEST),enabled=1,REQUEST=REQUEST,css='form-small')"></td>
1491 <td width="100" class="zmiNeutralColorMedium0"><dtml-var "manage_main_change(_,_,ob=ob,REQUEST=REQUEST)"></td>
1492</tr>
1493</dtml-let>
1494</dtml-in>
1495</dtml-let>
1496
1497</table>
1498
1499<dtml-call "REQUEST.set('ZMS_HIDE_ELEMENTS',REQUEST.get('ZMS_HIDE_ELEMENTS',[])+['align','e'])">]]>
1500                  </item>
1501                  <item key="repetitive" type="int">0</item>
1502                  <item key="type"><![CDATA[interface]]></item>
1503                </dictionary>
1504              </item>
1505              <item type="dictionary">
1506                <dictionary>
1507                  <item key="id"><![CDATA[align]]></item>
1508                  <item key="keys" type="list">
1509                    <list>
1510                      <item><![CDATA[LEFT]]></item>
1511                      <item><![CDATA[LEFT_FLOAT]]></item>
1512                      <item><![CDATA[RIGHT]]></item>
1513                      <item><![CDATA[RIGHT_FLOAT]]></item>
1514                      <item><![CDATA[NONE]]></item>
1515                    </list>
1516                  </item>
1517                  <item key="mandatory" type="int">1</item>
1518                  <item key="multilang" type="int">0</item>
1519                  <item key="name"><![CDATA[Align]]></item>
1520                  <item key="repetitive" type="int">0</item>
1521                  <item key="type"><![CDATA[select]]></item>
1522                </dictionary>
1523              </item>
1524              <item type="dictionary">
1525                <dictionary>
1526                  <item key="id"><![CDATA[e]]></item>
1527                  <item key="mandatory" type="int">0</item>
1528                  <item key="multilang" type="int">0</item>
1529                  <item key="name"><![CDATA[Link-Elements]]></item>
1530                  <item key="repetitive" type="int">1</item>
1531                  <item key="type"><![CDATA[ZMSLinkElement]]></item>
1532                </dictionary>
1533              </item>
1534              <item type="dictionary">
1535                <dictionary>
1536                  <item key="custom"><![CDATA[## Script (Python) "ZMSLinkContainer.onChangeObjEvt"
1537##bind container=container
1538##bind context=context
1539##bind namespace=
1540##bind script=script
1541##bind subpath=traverse_subpath
1542##parameters=zmscontext
1543##title=py: Event: onChangeObj
1544##
1545# --// BO onChangeObjEvt //--
1546
1547request = zmscontext.REQUEST
1548align = zmscontext.attr('align')
1549if align:
1550    for childNode in zmscontext.getChildNodes(request,['ZMSLinkElement']):
1551        childNode.attr('align',align)
1552
1553# --// EO onChangeObjEvt //--
1554]]>
1555                  </item>
1556                  <item key="id"><![CDATA[onChangeObjEvt]]></item>
1557                  <item key="mandatory" type="int">0</item>
1558                  <item key="multilang" type="int">0</item>
1559                  <item key="name"><![CDATA[Event: onChangeObj]]></item>
1560                  <item key="py"><![CDATA[<PythonScript at ZMSLinkContainer.onChangeObjEvt>]]></item>
1561                  <item key="repetitive" type="int">0</item>
1562                  <item key="type"><![CDATA[py]]></item>
1563                </dictionary>
1564              </item>
1565              <item type="dictionary">
1566                <dictionary>
1567                  <item key="custom"><![CDATA[<!-- ZMSLinkContainer.standard_html -->
1568
1569<tal:block tal:define="global
1570                zmscontext options/zmscontext;
1571                subclass      python:[];
1572                align         python:zmscontext.attr('align')">
1573  <tal:block tal:condition="python:align in [ 'LEFT', 'CENTER', 'RIGHT']">
1574    <tal:block tal:define="global subclass python:subclass+[align.lower()]"></tal:block>
1575  </tal:block>
1576  <tal:block tal:condition="python:align in [ 'LEFT_FLOAT']">
1577    <tal:block tal:define="global subclass python:subclass+['floatleft']"></tal:block>
1578  </tal:block>
1579  <tal:block tal:condition="python:align in [ 'RIGHT_FLOAT']">
1580    <tal:block tal:define="global subclass python:subclass+['floatright']"></tal:block>
1581  </tal:block>
1582  <div tal:condition="python:len(subclass)>0"
1583       tal:attributes="id python:zmscontext.id; class python:' '.join(subclass)"
1584       tal:content="structure python:unicode(zmscontext.renderShort(request),'utf-8')">
1585    The content
1586  </div>
1587</tal:block>
1588
1589<!-- /ZMSLinkContainer.standard_html -->]]>
1590                  </item>
1591                  <item key="id"><![CDATA[standard_html]]></item>
1592                  <item key="mandatory" type="int">0</item>
1593                  <item key="multilang" type="int">0</item>
1594                  <item key="name"><![CDATA[Template: ZMSLinkContainer]]></item>
1595                  <item key="repetitive" type="int">0</item>
1596                  <item key="type"><![CDATA[zpt]]></item>
1597                  <item key="zpt"><![CDATA[<ZopePageTemplate at ZMSLinkContainer.standard_html>]]></item>
1598                </dictionary>
1599              </item>
1600            </list>
1601          </item>
1602          <item key="access" type="dictionary">
1603            <dictionary>
1604              <item key="delete" type="list">
1605                <list>
1606                  <item><![CDATA[ZMSAdministrator]]></item>
1607                  <item><![CDATA[ZMSAuthor]]></item>
1608                  <item><![CDATA[ZMSEditor]]></item>
1609                </list>
1610              </item>
1611              <item key="delete_custom"></item>
1612              <item key="insert" type="list">
1613                <list>
1614                  <item><![CDATA[ZMSAdministrator]]></item>
1615                  <item><![CDATA[ZMSAuthor]]></item>
1616                  <item><![CDATA[ZMSEditor]]></item>
1617                </list>
1618              </item>
1619              <item key="insert_custom"><![CDATA[{$}]]></item>
1620            </dictionary>
1621          </item>
1622          <item key="enabled" type="int">1</item>
1623          <item key="id"><![CDATA[ZMSLinkContainer]]></item>
1624          <item key="name"><![CDATA[ZMSLinkContainer]]></item>
1625          <item key="package"><![CDATA[com.zms.foundation]]></item>
1626          <item key="revision"><![CDATA[1.3.0]]></item>
1627          <item key="type"><![CDATA[ZMSObject]]></item>
1628        </dictionary>
1629      </item>
1630    </dictionary>
1631  </item>
1632  <item type="dictionary">
1633    <dictionary>
1634      <item key="key"><![CDATA[ZMSLinkElement]]></item>
1635      <item key="value" type="dictionary">
1636        <dictionary>
1637          <item key="__obj_attrs__" type="list">
1638            <list>
1639              <item type="dictionary">
1640                <dictionary>
1641                  <item key="custom">
1642                    <data content_type="image/gif" filename="zmslinkelement_16x16.gif" type="file">47494638396110001000b30000050305878d93c4c9c5e5eaeb0402849299fa344448acaeb3f7fcf9686e8cfc02fc565f62b2bfdf292a30c6d5eb6876b421f9040100000a002c0000000010001000030477504975820d676a25da72e00134ced62d43c018400b08da310ce013b8e314cc3493342c574072400c8c87c5e310042c2402044220c235128927458aa8ba1e05c690739c0916ae4278ac603818021c013739380aaf2902a08fd75f38817e127c0037620a86851380812e838451517c92001b892e982d1211003b</data>
1643                  </item>
1644                  <item key="id"><![CDATA[icon]]></item>
1645                  <item key="mandatory" type="int">0</item>
1646                  <item key="multilang" type="int">0</item>
1647                  <item key="name"><![CDATA[Icon]]></item>
1648                  <item key="repetitive" type="int">0</item>
1649                  <item key="type"><![CDATA[resource]]></item>
1650                </dictionary>
1651              </item>
1652              <item type="dictionary">
1653                <dictionary>
1654                  <item key="custom">
1655                    <data content_type="image/gif" filename="zmslinkelement_disabled_16x16.gif" type="file">47494638396110001000b30000fc02fc8c8a8cc4c2c4acaeaceceaec5c5a5c9c9a9cd4d2d47c7a7cbcbabcccceccf4f6f4646664949294a4a2a4dcdadc21f90401000000002c000000001000100003047a104820861d626af05038cfa314c8b33d4c43240252bc8c3909447858ef8b4c495d2b064620574848040b422dd1700c862f8344915408888c94430aa02e160206d191b84d95ca472327280f260782629413e7668feb61b12ff0f905330507448584137e050383030681898884853987917f7e7b951a44009c0011003b</data>
1656                  </item>
1657                  <item key="id"><![CDATA[icon_disabled]]></item>
1658                  <item key="mandatory" type="int">0</item>
1659                  <item key="multilang" type="int">0</item>
1660                  <item key="name"><![CDATA[Icon (Disabled)]]></item>
1661                  <item key="repetitive" type="int">0</item>
1662                  <item key="type"><![CDATA[resource]]></item>
1663                </dictionary>
1664              </item>
1665              <item type="dictionary">
1666                <dictionary>
1667                  <item key="id"><![CDATA[titlealt]]></item>
1668                  <item key="mandatory" type="int">0</item>
1669                  <item key="multilang" type="int">1</item>
1670                  <item key="name"><![CDATA[DC.Title.Alt]]></item>
1671                  <item key="repetitive" type="int">0</item>
1672                  <item key="type"><![CDATA[string]]></item>
1673                </dictionary>
1674              </item>
1675              <item type="dictionary">
1676                <dictionary>
1677                  <item key="id"><![CDATA[title]]></item>
1678                  <item key="mandatory" type="int">0</item>
1679                  <item key="multilang" type="int">1</item>
1680                  <item key="name"><![CDATA[DC.Title]]></item>
1681                  <item key="repetitive" type="int">0</item>
1682                  <item key="type"><![CDATA[string]]></item>
1683                </dictionary>
1684              </item>
1685              <item type="dictionary">
1686                <dictionary>
1687                  <item key="id"><![CDATA[inferface0]]></item>
1688                  <item key="mandatory" type="int">0</item>
1689                  <item key="multilang" type="int">0</item>
1690                  <item key="name"><![CDATA[<dtml-call "REQUEST.set('beforeSubmitBtnClick','if ( zmiOnSubmitEventHandler(this)) { ')">
1691<dtml-call "REQUEST.set('afterSubmitBtnClick',' } ')">
1692<script type="text/javascript">
1693<!--//
1694
1695var btn = null;
1696var remoteHref = null;
1697var remoteHrefValid = false;
1698var remoteHrefResponseWaiting = false;
1699var remoteHrefResponseTimeout = 5000;
1700
1701function zmiOnSubmitEventHandler(el) {
1702  btn = el;
1703  if ($("#attr_type").val() == "remote") {
1704    var href = $("#attr_ref").val();
1705    if ( !remoteHrefValid || remoteHref != href) {
1706      remoteHref = href;
1707      remoteHrefValid = false;
1708      remoteHrefResponseWaiting = true;
1709      self.btnClicked = 'break';
1710      // Set wait-cursor.
1711      $(document.body).css( "cursor", "wait");
1712      // JQuery.AJAX.get
1713      $.get( remoteHref+"/getBodyContent", remoteResponse);
1714      // Set time-out.
1715      setTimeout("remoteResponseTimedout()",remoteHrefResponseTimeout);
1716    }
1717    return remoteHrefValid;
1718  }
1719  return true;
1720}
1721
1722function remoteResponse(data) {
1723  if (remoteHrefResponseWaiting) {
1724    remoteHrefResponseWaiting = false;
1725    // Reset wait-cursor.
1726    $(document.body).css( "cursor", "auto");
1727    //
1728    $("#attr_ref").removeClass("form-error");
1729    remoteHrefValid = true;
1730    btn.click();
1731  }
1732}
1733
1734function remoteResponseTimedout() {
1735  if (remoteHrefResponseWaiting) {
1736    remoteHrefResponseWaiting = false;
1737    // Reset wait-cursor.
1738    $(document.body).css( "cursor", "auto");
1739    //
1740    $("#attr_ref").addClass("form-error");
1741    remoteHrefValid = false;
1742    if (confirm( "Time-Out <dtml-var "getZMILangStr('ATTR_URL')">: " + remoteHref)) {
1743      remoteHrefValid = true;
1744      btn.click();
1745    }
1746  }
1747}
1748
1749//-->
1750</script>
1751
1752<table cellspacing="0" cellpadding="1" border="0" width="100%">
1753<colgroup>
1754 <col width="20%" />
1755 <col width="80%" />
1756</colgroup>
1757<dtml-comment>
1758################################################################################
1759##### Ref & Type: EDIT
1760################################################################################
1761</dtml-comment>
1762<tr valign="middle">
1763 <td><div class="form-label"><dtml-var "getZMILangStr('ATTR_URL')"> <dtml-var FORM_LABEL_MANDATORY></div></td>
1764 <td>
1765  <div style="float:left"><dtml-var "getObjInput('attr_ref',REQUEST)"></div>
1766  <div style="float:left">&nbsp;</div>
1767  <div style="float:left"><dtml-var "getObjInput('attr_type',REQUEST)"></div>
1768 </td>
1769</tr>
1770<dtml-comment>
1771################################################################################
1772##### Embedded Object: PREVIEW
1773################################################################################
1774</dtml-comment>
1775<dtml-unless ZMS_INSERT>
1776<tr valign="middle">
1777 <td>&nbsp;</td>
1778 <td <dtml-if "isPage()">class="zmiNeutralColorLight0"<dtml-else>class="zmiNeutralColorWhite"</dtml-if> style="border: 1px dashed black;">
1779  <dtml-var "renderShort(REQUEST)">
1780 </td>
1781</tr>
1782</dtml-unless>
1783
1784</table>
1785
1786<dtml-call "REQUEST.set('ZMS_HIDE_ELEMENTS',REQUEST.get('ZMS_HIDE_ELEMENTS',[])+['attr_ref','attr_type'])">]]>
1787                  </item>
1788                  <item key="repetitive" type="int">0</item>
1789                  <item key="type"><![CDATA[interface]]></item>
1790                </dictionary>
1791              </item>
1792              <item type="dictionary">
1793                <dictionary>
1794                  <item key="id"><![CDATA[attr_ref]]></item>
1795                  <item key="mandatory" type="int">1</item>
1796                  <item key="multilang" type="int">0</item>
1797                  <item key="name"><![CDATA[Reference]]></item>
1798                  <item key="repetitive" type="int">0</item>
1799                  <item key="type"><![CDATA[url]]></item>
1800                </dictionary>
1801              </item>
1802              <item type="dictionary">
1803                <dictionary>
1804                  <item key="id"><![CDATA[attr_type]]></item>
1805                  <item key="keys" type="list">
1806                    <list>
1807                      <item><![CDATA[replace]]></item>
1808                      <item><![CDATA[new]]></item>
1809                      <item><![CDATA[embed]]></item>
1810                      <item><![CDATA[recursive]]></item>
1811                      <item><![CDATA[remote]]></item>
1812                    </list>
1813                  </item>
1814                  <item key="mandatory" type="int">1</item>
1815                  <item key="multilang" type="int">0</item>
1816                  <item key="name"><![CDATA[Type]]></item>
1817                  <item key="repetitive" type="int">0</item>
1818                  <item key="type"><![CDATA[select]]></item>
1819                </dictionary>
1820              </item>
1821              <item type="dictionary">
1822                <dictionary>
1823                  <item key="id"><![CDATA[align]]></item>
1824                  <item key="keys" type="list">
1825                    <list>
1826                      <item><![CDATA[LEFT]]></item>
1827                      <item><![CDATA[LEFT_FLOAT]]></item>
1828                      <item><![CDATA[RIGHT]]></item>
1829                      <item><![CDATA[RIGHT_FLOAT]]></item>
1830                      <item><![CDATA[NONE]]></item>
1831                    </list>
1832                  </item>
1833                  <item key="mandatory" type="int">1</item>
1834                  <item key="multilang" type="int">0</item>
1835                  <item key="name"><![CDATA[Align]]></item>
1836                  <item key="repetitive" type="int">0</item>
1837                  <item key="type"><![CDATA[select]]></item>
1838                </dictionary>
1839              </item>
1840              <item type="dictionary">
1841                <dictionary>
1842                  <item key="id"><![CDATA[TAB_METADATA]]></item>
1843                  <item key="mandatory" type="int">0</item>
1844                  <item key="multilang" type="int">0</item>
1845                  <item key="name"><![CDATA[TAB_METADATA]]></item>
1846                  <item key="repetitive" type="int">0</item>
1847                  <item key="type"><![CDATA[delimiter]]></item>
1848                </dictionary>
1849              </item>
1850              <item type="dictionary">
1851                <dictionary>
1852                  <item key="id"><![CDATA[attr_dc_description]]></item>
1853                  <item key="mandatory" type="int">0</item>
1854                  <item key="multilang" type="int">1</item>
1855                  <item key="name"><![CDATA[DC.Description]]></item>
1856                  <item key="repetitive" type="int">0</item>
1857                  <item key="type"><![CDATA[attr_dc_description]]></item>
1858                </dictionary>
1859              </item>
1860              <item type="dictionary">
1861                <dictionary>
1862                  <item key="custom"><![CDATA[## Script (Python) "ZMSLinkElement.attr_img_src"
1863##bind container=container
1864##bind context=context
1865##bind namespace=
1866##bind script=script
1867##bind subpath=traverse_subpath
1868##parameters=zmscontext
1869##title=py: Alias: Teaser.Image
1870##
1871# --// BO attr_img_src //--
1872
1873title = zmscontext.attr('title')
1874ref = zmscontext.attr('attr_ref')
1875if ref.startswith('{$') and ref.endswith('}'):
1876    ref_obj = zmscontext.getLinkObj(ref)
1877    if ref_obj:
1878        return zmscontext.MISC_ZMS+'internal_link.gif'
1879    else:
1880        return zmscontext.MISC_ZMS+'internal_link_broken.gif'
1881elif ref.startswith('mailto:'):
1882    return zmscontext.MISC_ZMS+'mail_link.gif'
1883elif title.lower()=='medline':
1884    return zmscontext.MISC_ZMS+'pubmed_small.gif'
1885else:
1886    return zmscontext.MISC_ZMS+'external_link.gif'
1887
1888# --// EO attr_img_src //--
1889]]>
1890                  </item>
1891                  <item key="id"><![CDATA[attr_img_src]]></item>
1892                  <item key="mandatory" type="int">0</item>
1893                  <item key="multilang" type="int">0</item>
1894                  <item key="name"><![CDATA[Alias: Teaser.Image]]></item>
1895                  <item key="py"><![CDATA[<PythonScript at ZMSLinkElement.attr_img_src>]]></item>
1896                  <item key="repetitive" type="int">0</item>
1897                  <item key="type"><![CDATA[py]]></item>
1898                </dictionary>
1899              </item>
1900              <item type="dictionary">
1901                <dictionary>
1902                  <item key="custom"><![CDATA[## Script (Python) "ZMSLinkElement.attr_url"
1903##bind container=container
1904##bind context=context
1905##bind namespace=
1906##bind script=script
1907##bind subpath=traverse_subpath
1908##parameters=zmscontext
1909##title=py: Alias: Teaser.Url
1910##
1911# --// BO attr_url //--
1912
1913title = zmscontext.attr('title')
1914ref = zmscontext.attr('attr_ref')
1915if title.lower()=='medline':
1916  return 'http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=%i&dopt=Abstract'%int(ref)
1917else:
1918  return ref
1919
1920# --// EO attr_url //--
1921]]>
1922                  </item>
1923                  <item key="id"><![CDATA[attr_url]]></item>
1924                  <item key="mandatory" type="int">0</item>
1925                  <item key="multilang" type="int">0</item>
1926                  <item key="name"><![CDATA[Alias: Teaser.Url]]></item>
1927                  <item key="py"><![CDATA[<PythonScript at ZMSLinkElement.attr_url>]]></item>
1928                  <item key="repetitive" type="int">0</item>
1929                  <item key="type"><![CDATA[py]]></item>
1930                </dictionary>
1931              </item>
1932              <item type="dictionary">
1933                <dictionary>
1934                  <item key="custom"><![CDATA[## Script (Python) "ZMSLinkElement.attr_abstract"
1935##bind container=container
1936##bind context=context
1937##bind namespace=
1938##bind script=script
1939##bind subpath=traverse_subpath
1940##parameters=zmscontext
1941##title=py: Alias: Teaser.Abstract
1942##
1943# --// BO attr_abstract //--
1944
1945return zmscontext.attr('attr_dc_description')
1946
1947# --// EO attr_abstract //--
1948]]>
1949                  </item>
1950                  <item key="id"><![CDATA[attr_abstract]]></item>
1951                  <item key="mandatory" type="int">0</item>
1952                  <item key="multilang" type="int">0</item>
1953                  <item key="name"><![CDATA[Alias: Teaser.Abstract]]></item>
1954                  <item key="py"><![CDATA[<PythonScript at ZMSLinkElement.attr_abstract>]]></item>
1955                  <item key="repetitive" type="int">0</item>
1956                  <item key="type"><![CDATA[py]]></item>
1957                </dictionary>
1958              </item>
1959              <item type="dictionary">
1960                <dictionary>
1961                  <item key="custom"><![CDATA[<!-- ZMSLinkElement.standard_html -->
1962
1963<tal:block tal:define="global
1964                zmscontext options/zmscontext;
1965                subclass      python:[zmscontext.meta_id];
1966                title         python:unicode(zmscontext.attr('title'),'utf-8');
1967                titlealt      python:unicode(zmscontext.attr('titlealt'),'utf-8');
1968                ref           python:zmscontext.attr('attr_url');
1969                align         python:zmscontext.attr('align');
1970                abstract      python:unicode(zmscontext.attr('attr_abstract').replace('\n','<br/>'),'utf-8')">
1971  <tal:block tal:condition="python:align in [ 'LEFT', 'CENTER', 'RIGHT']">
1972    <tal:block tal:define="global subclass python:subclass+[align.lower()]"></tal:block>
1973  </tal:block>
1974  <tal:block tal:condition="python:align in [ 'LEFT_FLOAT']">
1975    <tal:block tal:define="global subclass python:subclass+['floatleft']"></tal:block>
1976  </tal:block>
1977  <tal:block tal:condition="python:align in [ 'RIGHT_FLOAT']">
1978    <tal:block tal:define="global subclass python:subclass+['floatright']"></tal:block>
1979  </tal:block>
1980  <div tal:condition="python:zmscontext.getParentNode().meta_id=='ZMSLinkContainer' or align not in ['','NONE'] or request.get('URL','').find('/manage')>0"
1981       tal:attributes="id python:zmscontext.id; class python:' '.join(subclass)">
1982    <div class="title" tal:condition="python:title.lower()!='medline' and title">
1983      <img tal:attributes="src python:zmscontext.attr('attr_img_src')" border="0" alt="url" align="absmiddle" />
1984      <a tal:condition="python:zmscontext.attr('attr_type')=='new'" tal:attributes="href python:zmscontext.getLinkUrl(ref,request)" tal:content="structure titlealt" target="_blank">The titlealt</a>
1985      <a tal:condition="python:zmscontext.attr('attr_type')!='new'" tal:attributes="href python:zmscontext.getLinkUrl(ref,request)" tal:content="structure titlealt">The titlealt</a>
1986    </div>
1987    <div tal:condition="python:title and title!=titlealt" class="text" tal:content="structure title">
1988      The title
1989    </div>
1990    <div tal:condition="python:abstract" class="description" tal:content="structure abstract">
1991      The abstract
1992    </div>
1993    <a tal:condition="python:title.lower()=='medline'"
1994      tal:attributes="href python:zmscontext.getLinkUrl(ref,request)"
1995      target="_blank"><img  tal:attributes="src python:zmscontext.attr('attr_img_src')" border="0" alt="Medline" align="absmiddle" /></a>
1996  </div>
1997</tal:block>
1998
1999<!-- /ZMSLinkElement.standard_html -->]]>
2000                  </item>
2001                  <item key="id"><![CDATA[standard_html]]></item>
2002                  <item key="mandatory" type="int">0</item>
2003                  <item key="multilang" type="int">0</item>
2004                  <item key="name"><![CDATA[Template: ZMSLinkElement]]></item>
2005                  <item key="repetitive" type="int">0</item>
2006                  <item key="type"><![CDATA[zpt]]></item>
2007                  <item key="zpt"><![CDATA[<ZopePageTemplate at ZMSLinkElement.standard_html>]]></item>
2008                </dictionary>
2009              </item>
2010            </list>
2011          </item>
2012          <item key="access" type="dictionary">
2013            <dictionary>
2014              <item key="delete" type="list">
2015                <list>
2016                  <item><![CDATA[ZMSAdministrator]]></item>
2017                  <item><![CDATA[ZMSAuthor]]></item>
2018                  <item><![CDATA[ZMSEditor]]></item>
2019                </list>
2020              </item>
2021              <item key="delete_custom"></item>
2022              <item key="insert" type="list">
2023                <list>
2024                  <item><![CDATA[ZMSAdministrator]]></item>
2025                  <item><![CDATA[ZMSAuthor]]></item>
2026                  <item><![CDATA[ZMSEditor]]></item>
2027                </list>
2028              </item>
2029              <item key="insert_custom"><![CDATA[{$}]]></item>
2030            </dictionary>
2031          </item>
2032          <item key="enabled" type="int">1</item>
2033          <item key="id"><![CDATA[ZMSLinkElement]]></item>
2034          <item key="name"><![CDATA[ZMSLinkElement]]></item>
2035          <item key="package"><![CDATA[com.zms.foundation]]></item>
2036          <item key="revision"><![CDATA[1.3.0]]></item>
2037          <item key="type"><![CDATA[ZMSObject]]></item>
2038        </dictionary>
2039      </item>
2040    </dictionary>
2041  </item>
2042  <item type="dictionary">
2043    <dictionary>
2044      <item key="key"><![CDATA[ZMSNote]]></item>
2045      <item key="value" type="dictionary">
2046        <dictionary>
2047          <item key="__obj_attrs__" type="list">
2048            <list>
2049              <item type="dictionary">
2050                <dictionary>
2051                  <item key="custom">
2052                    <data content_type="image/gif" filename="zmsnote.gif" type="file">47494638396110001000b30000a78842fcda0cc4a868fcf274c8a228fcec41c4b982fcf499b89638fcde249cba64dcb21cfcf28cfcee5cfcf6acfcea2d21f9040100000a002c000000001000100003045950c949abbdd4e8cdbb324e288ea2f11da883ae2a6a1a0713cb34439bc2c00c7adfef82cfa0312c128f035c63c96c360a89a0a0f0a416ac8d05010050081ee07038414074bd8f04589d7e04cc13817c4e172030f8bc7e2f8900003b</data>
2053                  </item>
2054                  <item key="id"><![CDATA[icon]]></item>
2055                  <item key="mandatory" type="int">0</item>
2056                  <item key="multilang" type="int">0</item>
2057                  <item key="name"><![CDATA[Icon]]></item>
2058                  <item key="repetitive" type="int">0</item>
2059                  <item key="type"><![CDATA[resource]]></item>
2060                </dictionary>
2061              </item>
2062              <item type="dictionary">
2063                <dictionary>
2064                  <item key="custom">
2065                    <data content_type="image/gif" filename="zmsnote_bg.gif" type="file">4749463839610d000d00b30000fcce64fcf6bcfcda8cfcd274fffffffcce6cfcfecc000077788268ed00211200e80000009002fe0000ff0000ff0000ff21f90400000000002c000000000d000d0003042cb09049eb04c26a1086ae8011641f118ade778aa4b5a29b21cba33bcf1d78e3ed7bd7a6dd2f5300188f486304003b</data>
2066                  </item>
2067                  <item key="id"><![CDATA[zmsnote_bg.gif]]></item>
2068                  <item key="mandatory" type="int">0</item>
2069                  <item key="multilang" type="int">0</item>
2070                  <item key="name"><![CDATA[Resource: Background]]></item>
2071                  <item key="repetitive" type="int">0</item>
2072                  <item key="type"><![CDATA[resource]]></item>
2073                </dictionary>
2074              </item>
2075              <item type="dictionary">
2076                <dictionary>
2077                  <item key="id"><![CDATA[text]]></item>
2078                  <item key="mandatory" type="int">0</item>
2079                  <item key="multilang" type="int">1</item>
2080                  <item key="name"><![CDATA[Text]]></item>
2081                  <item key="repetitive" type="int">0</item>
2082                  <item key="type"><![CDATA[text]]></item>
2083                </dictionary>
2084              </item>
2085              <item type="dictionary">
2086                <dictionary>
2087                  <item key="id"><![CDATA[catalogText]]></item>
2088                  <item key="mandatory" type="int">0</item>
2089                  <item key="multilang" type="int">1</item>
2090                  <item key="name"><![CDATA[Hook: Catalog-Text]]></item>
2091                  <item key="repetitive" type="int">0</item>
2092                  <item key="type"><![CDATA[constant]]></item>
2093                </dictionary>
2094              </item>
2095              <item type="dictionary">
2096                <dictionary>
2097                  <item key="custom"><![CDATA[<dtml-comment>--// BO renderShort //--</dtml-comment>
2098
2099<dtml-unless "REQUEST.get('ZMSNOTE_JS')">
2100
2101<style>
2102div.note {
2103        border-left: 1px solid #FCCD64;
2104        border-bottom: 1px solid #FCCD64;
2105        margin: 8px;
2106        padding: 4px;
2107        background: #FCFECC url(<dtml-var "getMetaobjAttr(meta_id,'zmsnote_bg.gif')['custom'].absolute_url()">) top right no-repeat;
2108}
2109</style>
2110
2111<script language="JavaScript">
2112var firedZMSNoteDiv = false;
2113var repeatZMSNoteDiv = false;
2114
2115function onKeyUpZMSNoteDiv(el) {
2116    if (!firedZMSNoteDiv) {
2117      firedZMSNoteDiv = true;
2118      setTimeout('onChangeZMSNoteDiv(\''+el.id+'\')',500);
2119    }
2120    else  {
2121      repeatZMSNoteDiv = true;
2122    }
2123}
2124
2125function onChangeZMSNoteDiv(id) {
2126    if (repeatZMSNoteDiv) {
2127      repeatZMSNoteDiv = false;
2128      setTimeout('onChangeZMSNoteDiv(\''+id+'\')',500);
2129    }
2130    else {
2131      firedZMSNoteDiv = false;
2132      repeatZMSNoteDiv = false;
2133      var el = $('div#'+id);
2134      var v = el.text();
2135      el.addClass('zmiTeaserColor');
2136      $.post(id+'/manage_changeProperties',{'lang':'<dtml-var lang>','text_<dtml-var lang>':v},function(data){
2137        el.removeClass('zmiTeaserColor');
2138      },'html');
2139    }
2140}
2141
2142</script>
2143<dtml-call "REQUEST.set('ZMSNOTE_JS',True)">
2144</dtml-unless>
2145
2146<div class="note">
2147        <div id="<dtml-var id>" contentEditable="true" onkeyup="onKeyUpZMSNoteDiv(this)"><dtml-var "getText(REQUEST)" newline_to_br></div>
2148</div>
2149
2150<dtml-comment>--// EO renderShort //--</dtml-comment>]]>
2151                  </item>
2152                  <item key="id"><![CDATA[renderShort]]></item>
2153                  <item key="mandatory" type="int">0</item>
2154                  <item key="multilang" type="int">0</item>
2155                  <item key="name"><![CDATA[ZMI: Render short]]></item>
2156                  <item key="repetitive" type="int">0</item>
2157                  <item key="type"><![CDATA[method]]></item>
2158                </dictionary>
2159              </item>
2160              <item type="dictionary">
2161                <dictionary>
2162                  <item key="custom"><![CDATA[## Script (Python) "ZMSNote.onChangeObjEvt"
2163##bind container=container
2164##bind context=context
2165##bind namespace=
2166##bind script=script
2167##bind subpath=traverse_subpath
2168##parameters=zmscontext
2169##title=py: Event: onChangeObj
2170##
2171# --// BO onChangeObjEvt //--
2172
2173request = zmscontext.REQUEST
2174zmscontext.commitObj(request)
2175
2176# --// EO onChangeObjEvt //--
2177]]>
2178                  </item>
2179                  <item key="id"><![CDATA[onChangeObjEvt]]></item>
2180                  <item key="mandatory" type="int">0</item>
2181                  <item key="multilang" type="int">1</item>
2182                  <item key="name"><![CDATA[Event: onChangeObj]]></item>
2183                  <item key="py"><![CDATA[<PythonScript at ZMSNote.onChangeObjEvt>]]></item>
2184                  <item key="repetitive" type="int">0</item>
2185                  <item key="type"><![CDATA[py]]></item>
2186                </dictionary>
2187              </item>
2188            </list>
2189          </item>
2190          <item key="access" type="dictionary">
2191            <dictionary>
2192              <item key="delete" type="list">
2193                <list>
2194                  <item><![CDATA[ZMSAdministrator]]></item>
2195                  <item><![CDATA[ZMSAuthor]]></item>
2196                  <item><![CDATA[ZMSEditor]]></item>
2197                </list>
2198              </item>
2199              <item key="delete_custom"></item>
2200              <item key="edit" type="list">
2201                <list>
2202                  <item><![CDATA[ZMSAdministrator]]></item>
2203                  <item><![CDATA[ZMSAuthor]]></item>
2204                  <item><![CDATA[ZMSEditor]]></item>
2205                </list>
2206              </item>
2207              <item key="edit_custom"></item>
2208              <item key="insert" type="list">
2209                <list>
2210                  <item><![CDATA[ZMSAdministrator]]></item>
2211                  <item><![CDATA[ZMSAuthor]]></item>
2212                  <item><![CDATA[ZMSEditor]]></item>
2213                </list>
2214              </item>
2215              <item key="insert_custom"><![CDATA[{$}]]></item>
2216            </dictionary>
2217          </item>
2218          <item key="enabled" type="int">1</item>
2219          <item key="id"><![CDATA[ZMSNote]]></item>
2220          <item key="name"><![CDATA[ZMSNote]]></item>
2221          <item key="package"><![CDATA[com.zms.foundation]]></item>
2222          <item key="revision"><![CDATA[1.2.0]]></item>
2223          <item key="type"><![CDATA[ZMSObject]]></item>
2224        </dictionary>
2225      </item>
2226    </dictionary>
2227  </item>
2228  <item type="dictionary">
2229    <dictionary>
2230      <item key="key"><![CDATA[ZMSRichtext]]></item>
2231      <item key="value" type="dictionary">
2232        <dictionary>
2233          <item key="__obj_attrs__" type="list">
2234            <list>
2235              <item type="dictionary">
2236                <dictionary>
2237                  <item key="custom">
2238                    <data content_type="image/png" filename="ZMSRichtext.icon.png" type="file">89504e470d0a1a0a0000000d4948445200000010000000100802000000909168360000000674524e5300ff000000ff89c02f900000016549444154789c8d5031480261187d9e7687e40962e016855260340441e6526b4b5343ad2ecd0e91935be112ad15d2163454e0d624e59282162834a4a78410456777d795745af737fca1e79f466ff9ffefe3bdefbdefb31190a373a3aede63009e8b859dedb54ee9a04f74c5cff014dd0050d31ca94a39717c175b9da07d0e40c3a601e0c24e2eec4c574c3149c424f18882471400b49baf05d3bbb597eb71a0188e3471f1f34f57cca5c9a1cbac04c05fcdead6484d4505bc00d623f300f60faf528b64c6d77e54db0ba13165daafd43faf3367ac8394ccc78bcb00e2b301774072f1bbb47ff3b039eab597f26e56301e9c0224ba6e5926f54654367800fa874937e90abe5485162e3ef1fbac99ea86b5ec3a28baf1d68a95653222b4acb30128eff61e812ecbf4ea7d1d52a5587f07004c6eeb6cf5456305b2c13fdde698f10260f842ac43e702bee05cdfdc5670f4a9698e0ef50f7637d2c9c1e92006031b01f92795e21bdaeb9fe594c8f4f00000000049454e44ae426082</data>
2239                  </item>
2240                  <item key="id"><![CDATA[icon]]></item>
2241                  <item key="mandatory" type="int">0</item>
2242                  <item key="multilang" type="int">0</item>
2243                  <item key="name"><![CDATA[Icon]]></item>
2244                  <item key="repetitive" type="int">0</item>
2245                  <item key="type"><![CDATA[resource]]></item>
2246                </dictionary>
2247              </item>
2248              <item type="dictionary">
2249                <dictionary>
2250                  <item key="custom">
2251                    <data content_type="image/png" filename="ZMSRichtext.icon_disabled.png" type="file">89504e470d0a1a0a0000000d4948445200000010000000100802000000909168360000000674524e5300ff000000ff89c02f900000014049444154789c8d51b18ac240107d1e69044911824dfaa085bdbda53f10d0eb2df301e9bc7f38db70fa112784143612ec2c428295dd6e31c64559ac72c5ca26e6f4b857ecee0cefcd9b996d9528d7df6bce395e20cbb2f9c75c8786ba3ccf6bf084100088e8783c2ebf96d3f7a9cabf01b8dd6e007cdff77d3f4dd320088220304dd3344d00524a21c4e2735109343a9dce6ab552ef344d0dc3d86eb7008aa220a2aaa5f3f9ac82d16804208aa2c964e2380e110d87c3c160c018db6c360f330098cd66a7d309c0783ceef7fbdd6e57e5f7fbbd6ddbbbddae29e8f57a7a5cc6d8e1709052aa19f479175c2e1715e8aa752449520f2b072104e79c31d66eb71b55afd7eb838088d4d69f3ac471fcdc0140a3ef7a6db58f07819432cff3df0e9665351d743dd7759ff65dc7fda7894853ff60572d8561f88ad140ab44f94faac20fb4e6ab0a5e01d83e0000000049454e44ae426082</data>
2252                  </item>
2253                  <item key="id"><![CDATA[icon_disabled]]></item>
2254                  <item key="mandatory" type="int">0</item>
2255                  <item key="multilang" type="int">0</item>
2256                  <item key="name"><![CDATA[Icon (Disabled)]]></item>
2257                  <item key="repetitive" type="int">0</item>
2258                  <item key="type"><![CDATA[resource]]></item>
2259                </dictionary>
2260              </item>
2261              <item type="dictionary">
2262                <dictionary>
2263                  <item key="id"><![CDATA[interface0]]></item>
2264                  <item key="mandatory" type="int">0</item>
2265                  <item key="multilang" type="int">0</item>
2266                  <item key="name"><![CDATA[<dtml-let session_id="SESSION.getId()"
2267>
2268
2269<style>
2270span.active {
2271        background-color:#FFF;
2272        font-weight:bold;
2273}
2274span.mouseover {
2275        border:1px solid #999;
2276        background-color:#DFF1FF;
2277}
2278</style>
2279
2280<dtml-comment>
2281////////////////////////////////////////////////////////////////////////////////
2282/// CKEDITOR Plugin
2283////////////////////////////////////////////////////////////////////////////////
2284</dtml-comment>
2285
2286<dtml-call "REQUEST.set('CKEDITOR_config_toolbar',[
2287                ['Format'],
2288                ['Bold','Italic','Underline','NumberedList','BulletedList'],
2289                ['Undo','Redo'],
2290                ['mediabutton'],
2291                ['Find','linkbutton','Link','Unlink'],
2292                ['Anchor','Table'],
2293                ['Source','ShowBlocks','Maximize','About']
2294        ])">
2295
2296<script>
2297
2298$(function() {
2299        if($("form#form0 input[name=session_id]").length==0) {
2300                $("form#form0").append('<input type="hidden" name="session_id" value="<dtml-var session_id>"/>');
2301        }
2302        $(".zmiRichtextEditorHeadline").hide();
2303});
2304
2305</script>
2306
2307</dtml-let>]]>
2308                  </item>
2309                  <item key="repetitive" type="int">0</item>
2310                  <item key="type"><![CDATA[interface]]></item>
2311                </dictionary>
2312              </item>
2313              <item type="dictionary">
2314                <dictionary>
2315                  <item key="id"><![CDATA[text]]></item>
2316                  <item key="mandatory" type="int">0</item>
2317                  <item key="multilang" type="int">1</item>
2318                  <item key="name"><![CDATA[Text]]></item>
2319                  <item key="repetitive" type="int">0</item>
2320                  <item key="type"><![CDATA[richtext]]></item>
2321                </dictionary>
2322              </item>
2323              <item type="dictionary">
2324                <dictionary>
2325                  <item key="custom"><![CDATA[## Script (Python) "ZMSRichtext.onChangeObjEvt"
2326##bind container=container
2327##bind context=context
2328##bind namespace=
2329##bind script=script
2330##bind subpath=traverse_subpath
2331##parameters=zmscontext=None
2332##title=py: Event: onChange-Object
2333##
2334# --// BO onChangeObjEvt //--
2335
2336temp_folder = context.temp_folder
2337request = context.REQUEST
2338
2339# Find images/files.
2340text = zmscontext.attr('text')
2341l = []
2342lt = []
2343for sp in ['src="', 'href="' ]:
2344  for s in text.split(sp):
2345    ref = s[:s.find('"')]
2346    if ref.find('/'+zmscontext.id+'/') >= 0:
2347      idmedia = ref.split('/')[-1]
2348      l.append(idmedia)
2349    elif ref.find('/'+temp_folder.id+'/') >= 0:
2350      lt.append(ref)
2351
2352# Remove unused images/files.
2353ob_ids = zmscontext.objectIds(['File','Image'])
2354for ref in l:
2355  id = ref.split('/')[-1]
2356  if id in ob_ids:
2357    ob_ids.remove(id)
2358if len(ob_ids) > 0:
2359  zmscontext.manage_delObjects(ids=ob_ids)
2360
2361# Add new images/files from temp_folder.
2362for ref in lt:
2363  id = ref.split('/')[-1]
2364  ob = getattr(temp_folder,id,None)
2365  if ob is not None:
2366    new_id = ob.title_or_id()
2367    new_title = ''
2368    new_data = ob.data
2369    if ob.meta_type == 'Image':
2370      zmscontext.manage_addImage( id=new_id, title=new_title, file=new_data)
2371    else:
2372      zmscontext.manage_addFile( id=new_id, title=new_title, file=new_data)
2373    temp_folder.manage_delObjects(ids=[id])
2374    text = text.replace('"'+ref+'"','"./'+zmscontext.id+'/'+new_id+'"')
2375zmscontext.attr('text',text)
2376
2377# --// EO onChangeObjEvt //--
2378]]>
2379                  </item>
2380                  <item key="id"><![CDATA[onChangeObjEvt]]></item>
2381                  <item key="mandatory" type="int">0</item>
2382                  <item key="multilang" type="int">0</item>
2383                  <item key="name"><![CDATA[Event: onChange-Object]]></item>
2384                  <item key="py"><![CDATA[<PythonScript at ZMSRichtext.onChangeObjEvt>]]></item>
2385                  <item key="repetitive" type="int">0</item>
2386                  <item key="type"><![CDATA[py]]></item>
2387                </dictionary>
2388              </item>
2389              <item type="dictionary">
2390                <dictionary>
2391                  <item key="custom"><![CDATA[<!-- ZMSRichtext.standard_html -->
2392
2393<tal:block tal:define="global
2394                zmscontext options/zmscontext;
2395                text          python:unicode(zmscontext.getText(request),'utf-8');
2396                format        python:unicode(zmscontext.attr('format'),'utf-8');
2397                renderedText  python:zmscontext.renderText(format,'text',text,request,zmscontext.id)"
2398                tal:content="structure renderedText">
2399        The text
2400</tal:block>
2401
2402<!-- /ZMSRichtext.standard_html -->]]>
2403                  </item>
2404                  <item key="id"><![CDATA[standard_html]]></item>
2405                  <item key="mandatory" type="int">0</item>
2406                  <item key="multilang" type="int">0</item>
2407                  <item key="name"><![CDATA[Template: ZMSRichtext]]></item>
2408                  <item key="repetitive" type="int">0</item>
2409                  <item key="type"><![CDATA[zpt]]></item>
2410                  <item key="zpt"><![CDATA[<ZopePageTemplate at ZMSRichtext.standard_html>]]></item>
2411                </dictionary>
2412              </item>
2413            </list>
2414          </item>
2415          <item key="access" type="dictionary">
2416            <dictionary>
2417              <item key="delete" type="list">
2418                <list>
2419                  <item><![CDATA[ZMSAdministrator]]></item>
2420                  <item><![CDATA[ZMSAuthor]]></item>
2421                  <item><![CDATA[ZMSEditor]]></item>
2422                </list>
2423              </item>
2424              <item key="delete_custom"></item>
2425              <item key="insert" type="list">
2426                <list>
2427                  <item><![CDATA[ZMSAdministrator]]></item>
2428                  <item><![CDATA[ZMSAuthor]]></item>
2429                  <item><![CDATA[ZMSEditor]]></item>
2430                </list>
2431              </item>
2432              <item key="insert_custom"><![CDATA[{$}]]></item>
2433            </dictionary>
2434          </item>
2435          <item key="enabled" type="int">1</item>
2436          <item key="id"><![CDATA[ZMSRichtext]]></item>
2437          <item key="name"><![CDATA[ZMSRichtext]]></item>
2438          <item key="package"><![CDATA[com.zms.foundation]]></item>
2439          <item key="revision"><![CDATA[1.4.1]]></item>
2440          <item key="type"><![CDATA[ZMSObject]]></item>
2441        </dictionary>
2442      </item>
2443    </dictionary>
2444  </item>
2445  <item type="dictionary">
2446    <dictionary>
2447      <item key="key"><![CDATA[ZMSSqlDb]]></item>
2448      <item key="value" type="dictionary">
2449        <dictionary>
2450          <item key="__obj_attrs__" type="list">
2451            <list>
2452              <item type="dictionary">
2453                <dictionary>
2454                  <item key="custom">
2455                    <data content_type="image/gif" filename="zmssqldb.gif" type="file">47494638396112001000b30000337270754b39707170007e9c558b7e009ab501a9e9b4572efe152eff00ffa19367bed216dfbe65fed965a7a7a7e5e5e521f90401000009002c000000001200100000045930c949abbd983ae1ba93ce500c44d53d4f071a2c603aa89a38ace1ce1e9ce6452b290c8682b339200e0780f2e66834180210627af8689c5029d53ae1288620e42140b40acee7496ec18e66d4ec85fb3d8bcfdfe8347dcf8f00003b</data>
2456                  </item>
2457                  <item key="id"><![CDATA[icon]]></item>
2458                  <item key="mandatory" type="int">0</item>
2459                  <item key="multilang" type="int">0</item>
2460                  <item key="name"><![CDATA[Icon]]></item>
2461                  <item key="repetitive" type="int">0</item>
2462                  <item key="type"><![CDATA[resource]]></item>
2463                </dictionary>
2464              </item>
2465              <item type="dictionary">
2466                <dictionary>
2467                  <item key="custom"><![CDATA[<dtml-comment>--// BO renderShort //--</dtml-comment>
2468
2469<dtml-try>
2470        <dtml-in "getEntities()" mapping>
2471                <dtml-if "type=='table'">
2472                        <div class="form-small"><a href="<dtml-var absolute_url>/manage_main?qentity=<dtml-var id>" class="zmi"><dtml-var label></div>
2473                </dtml-if>
2474        </dtml-in>
2475<dtml-except>
2476        <pre>DATABASE CONNECTION ERROR <a href="&dtml-id;/manage_properties">...</a></pre>
2477</dtml-try>
2478
2479<dtml-comment>--// EO renderShort //--</dtml-comment>]]>
2480                  </item>
2481                  <item key="id"><![CDATA[renderShort]]></item>
2482                  <item key="mandatory" type="int">0</item>
2483                  <item key="multilang" type="int">0</item>
2484                  <item key="name"><![CDATA[ZMI: Render short]]></item>
2485                  <item key="repetitive" type="int">0</item>
2486                  <item key="type"><![CDATA[method]]></item>
2487                </dictionary>
2488              </item>
2489            </list>
2490          </item>
2491          <item key="access" type="dictionary">
2492            <dictionary>
2493              <item key="delete" type="list">
2494                <list>
2495                  <item><![CDATA[ZMSAdministrator]]></item>
2496                  <item><![CDATA[ZMSAuthor]]></item>
2497                  <item><![CDATA[ZMSEditor]]></item>
2498                </list>
2499              </item>
2500              <item key="delete_custom"></item>
2501              <item key="edit" type="list">
2502                <list>
2503                  <item><![CDATA[ZMSAdministrator]]></item>
2504                  <item><![CDATA[ZMSAuthor]]></item>
2505                  <item><![CDATA[ZMSEditor]]></item>
2506                </list>
2507              </item>
2508              <item key="edit_custom"></item>
2509              <item key="insert" type="list">
2510                <list>
2511                  <item><![CDATA[ZMSAdministrator]]></item>
2512                  <item><![CDATA[ZMSAuthor]]></item>
2513                  <item><![CDATA[ZMSEditor]]></item>
2514                </list>
2515              </item>
2516              <item key="insert_custom"><![CDATA[{$}]]></item>
2517            </dictionary>
2518          </item>
2519          <item key="enabled" type="int">0</item>
2520          <item key="id"><![CDATA[ZMSSqlDb]]></item>
2521          <item key="name"><![CDATA[ZMSSqlDb]]></item>
2522          <item key="package"><![CDATA[com.zms.foundation]]></item>
2523          <item key="revision"><![CDATA[1.1.0]]></item>
2524          <item key="type"><![CDATA[ZMSObject]]></item>
2525        </dictionary>
2526      </item>
2527    </dictionary>
2528  </item>
2529  <item type="dictionary">
2530    <dictionary>
2531      <item key="key"><![CDATA[ZMSSysFolder]]></item>
2532      <item key="value" type="dictionary">
2533        <dictionary>
2534          <item key="__obj_attrs__" type="list">
2535            <list>
2536              <item type="dictionary">
2537                <dictionary>
2538                  <item key="custom">
2539                    <data content_type="image/gif" filename="zmssysfolder.gif" type="file">47494638396110001000b30000aa9d88d1b375fdfcc8f5e0a1fdf1a9fdfeede6cb87fdf8b7fdfed8ff00ffbbb69eb9b097e0c483fde89efdfefaedd48c21f90401000009002c000000001000100003045f30c9496b5a2feb65e57320283c4af7208820a484e66269aaaa61980d78aeeb1952fcc020f061101c8ec8e471f410109ed0e8f3403c48af8483c1406878bf602f61db1d7ccd5e3481c120ecde8371bbd1add3ef5d0620c0effbfd001d820911003b</data>
2540                  </item>
2541                  <item key="id"><![CDATA[icon]]></item>
2542                  <item key="mandatory" type="int">0</item>
2543                  <item key="multilang" type="int">0</item>
2544                  <item key="name"><![CDATA[Icon]]></item>
2545                  <item key="repetitive" type="int">0</item>
2546                  <item key="type"><![CDATA[resource]]></item>
2547                </dictionary>
2548              </item>
2549              <item type="dictionary">
2550                <dictionary>
2551                  <item key="custom">
2552                    <data content_type="image/gif" filename="zmssysfolder_disabled.gif" type="file">47494638396110001000b30000ff00ffbdbebde4e2e4f4f3f4f9faf9cecdceacabacf0eff0fdfefdb9bab9dbdadbe8e9e8f9f8f9d3d2d3fdfcfd78787821f90401000000002c000000001000100003046110c8492b482aeb64a5420811124dd02904c130eaa1bd98aaaecc008a6026ecc2b2fb3d5e26354a198f8a466dc06c3a078ccce040ad5aa983e4f4ca3d340a8785784c167b1be19e58ed3317c0bcb8dc0b5e84eff67cb86008f8ff8080061d840011003b</data>
2553                  </item>
2554                  <item key="id"><![CDATA[icon_disabled]]></item>
2555                  <item key="mandatory" type="int">0</item>
2556                  <item key="multilang" type="int">0</item>
2557                  <item key="name"><![CDATA[Icon (Disabled)]]></item>
2558                  <item key="repetitive" type="int">0</item>
2559                  <item key="type"><![CDATA[resource]]></item>
2560                </dictionary>
2561              </item>
2562              <item type="dictionary">
2563                <dictionary>
2564                  <item key="id"><![CDATA[titlealt]]></item>
2565                  <item key="mandatory" type="int">1</item>
2566                  <item key="multilang" type="int">1</item>
2567                  <item key="name"><![CDATA[DC.Title.Alt]]></item>
2568                  <item key="repetitive" type="int">0</item>
2569                  <item key="type"><![CDATA[titlealt]]></item>
2570                </dictionary>
2571              </item>
2572              <item type="dictionary">
2573                <dictionary>
2574                  <item key="id"><![CDATA[title]]></item>
2575                  <item key="mandatory" type="int">1</item>
2576                  <item key="multilang" type="int">1</item>
2577                  <item key="name"><![CDATA[DC.Title]]></item>
2578                  <item key="repetitive" type="int">0</item>
2579                  <item key="type"><![CDATA[title]]></item>
2580                </dictionary>
2581              </item>
2582              <item type="dictionary">
2583                <dictionary>
2584                  <item key="custom"><![CDATA[0]]></item>
2585                  <item key="id"><![CDATA[attr_cacheable]]></item>
2586                  <item key="mandatory" type="int">0</item>
2587                  <item key="multilang" type="int">0</item>
2588                  <item key="name"><![CDATA[Cacheable]]></item>
2589                  <item key="repetitive" type="int">0</item>
2590                  <item key="type"><![CDATA[constant]]></item>
2591                </dictionary>
2592              </item>
2593              <item type="dictionary">
2594                <dictionary>
2595                  <item key="id"><![CDATA[TAB_METADATA]]></item>
2596                  <item key="mandatory" type="int">0</item>
2597                  <item key="multilang" type="int">0</item>
2598                  <item key="name"><![CDATA[TAB_METADATA]]></item>
2599                  <item key="repetitive" type="int">0</item>
2600                  <item key="type"><![CDATA[delimiter]]></item>
2601                </dictionary>
2602              </item>
2603              <item type="dictionary">
2604                <dictionary>
2605                  <item key="id"><![CDATA[attr_dc_description]]></item>
2606                  <item key="mandatory" type="int">0</item>
2607                  <item key="multilang" type="int">1</item>
2608                  <item key="name"><![CDATA[DC.Description]]></item>
2609                  <item key="repetitive" type="int">0</item>
2610                  <item key="type"><![CDATA[attr_dc_description]]></item>
2611                </dictionary>
2612              </item>
2613              <item type="dictionary">
2614                <dictionary>
2615                  <item key="id"><![CDATA[interface]]></item>
2616                  <item key="mandatory" type="int">0</item>
2617                  <item key="multilang" type="int">0</item>
2618                  <item key="name"><![CDATA[<dtml-var f_submitBtn>
2619</form>
2620<dtml-call "REQUEST.set('omit_submitBtn',True)">
2621
2622<dtml-unless ZMS_INSERT>
2623
2624<dtml-unless skey><dtml-call expr="REQUEST.set('skey', 'id')"></dtml-unless>
2625<dtml-unless rkey><dtml-call expr="REQUEST.set('rkey', '')"></dtml-unless>
2626
2627<dtml-comment> ### Action_List ################################# </dtml-comment>
2628<form action="&dtml-URL1;/" method="get">
2629<input type="hidden" name="lang" value="<dtml-var lang>">
2630<div align="right" class="form-small" width="100%">
2631  <dtml-if filtered_meta_types>
2632    <select class="form-small" name=":action"
2633         onChange="location.href='&dtml-URL1;/'+this.options[this.selectedIndex].value">
2634      <option value="manage_workspace">----- <dtml-var "getZMILangStr('ACTION_INSERT')%display_type(REQUEST)"> -----</option>
2635      <dtml-in filtered_meta_types mapping sort=name>
2636        <dtml-unless "name.find('ZMS')==0">
2637          <option value="&dtml.url_quote-action;"><dtml-var name></option>
2638        </dtml-unless>
2639      </dtml-in>
2640    </select>
2641  </dtml-if>
2642</div>
2643</form>
2644
2645<dtml-comment> ### Object_List ################################# </dtml-comment>
2646<table cellspacing="0" cellpadding="2" border="0" width="100%" class="zmiNeutralColorStrong0">
2647<form name="form1" action="&dtml-URL1;/" name="objectItems" method="post">
2648<tr>
2649<td valign="top">
2650<dtml-if objectItems>
2651<table width="100%" cellspacing="0" cellpadding="2" border="0">
2652<tr class="list-header">
2653  <td width="5%" valign="middle"
2654    ><a href="javascript:var btn=$('#slctBtn');var slct=btn.attr('src').indexOf('btn_slctall.gif')>0;if(slct){btn.attr('src','<dtml-var MISC_ZMS>btn_slctnone.gif');} else {btn.attr('src','<dtml-var MISC_ZMS>btn_slctall.gif');};selectCheckboxes($(btn.parents('form')[0]),slct);" class="button"
2655     ><img id="slctBtn" src="<dtml-var MISC_ZMS>btn_slctall.gif" border="0"
2656    ></a
2657  ></td>
2658  <td width="5%" align="right"><div
2659   class="list-item"><a href="./manage_main?skey=meta_type<dtml-if
2660   "rkey == ''">&rkey=meta_type</dtml-if>"
2661   onMouseOver="window.status='Sort objects by type'; return true"
2662   onMouseOut="window.status=''; return true"><dtml-if
2663   "skey == 'meta_type' or rkey == 'meta_type'"
2664   ><strong><dtml-var "getZMILangStr('ATTR_TYPE')"></strong><dtml-else><dtml-var "getZMILangStr('ATTR_TYPE')"></dtml-if></a></div>
2665  </td>
2666  <td width="50%"><div class="list-item"><a
2667   href="./manage_main?skey=id<dtml-if
2668   "rkey == ''">&rkey=id</dtml-if>"
2669   onMouseOver="window.status='Sort objects by name'; return true"
2670   onMouseOut="window.status=''; return true"><dtml-if
2671   "skey == 'id' or rkey == 'id'"
2672   ><strong><dtml-var "getZMILangStr('ATTR_NAME')"></strong><dtml-else><dtml-var "getZMILangStr('ATTR_NAME')"></dtml-if></a></div>
2673  </td>
2674  <td width="15%"><div class="list-item"><a
2675   href="./manage_main?skey=get_size<dtml-if
2676   "rkey == ''">&rkey=get_size</dtml-if>"
2677   onMouseOver="window.status='Sort objects by size'; return true"
2678   onMouseOut="window.status=''; return true"><dtml-if
2679   "skey == 'get_size' or rkey == 'get_size'"
2680   ><strong><dtml-var "getZMILangStr('ATTR_SIZE')"></strong><dtml-else><dtml-var "getZMILangStr('ATTR_SIZE')"></dtml-if></a></div>
2681  </td>
2682  <td width="29%"><div class="list-item"><a
2683   href="./manage_main?skey=bobobase_modification_time<dtml-if
2684   "rkey == ''">&rkey=bobobase_modification_time</dtml-if
2685   >"
2686   onMouseOver="window.status='Sort objects by modification time'; return true"
2687   onMouseOut="window.status=''; return true"><dtml-if
2688   "skey == 'bobobase_modification_time' or rkey == 'bobobase_modification_time'"
2689   ><strong><dtml-var "getZMILangStr('ATTR_LAST_MODIFIED')"></strong><dtml-else><dtml-var "getZMILangStr('ATTR_LAST_MODIFIED')"></dtml-if></a></div>
2690  </td>
2691</tr>
2692<dtml-in objectItems sort_expr="skey" reverse_expr="rkey">
2693<dtml-unless "meta_type=='ZMSAttributeContainer'">
2694<dtml-if sequence-odd>
2695<tr class="zmiNeutralColorLight0">
2696<dtml-else>
2697<tr class="zmiNeutralColorMedium0">
2698</dtml-if>
2699  <td align="center" valign="top"
2700    ><input type="checkbox" name="ids:list" value="&dtml-sequence-key;" /></td>
2701  <td valign="top">
2702  <dtml-if icon>
2703  <a href="&dtml.url_quote-sequence-key;/manage_workspace">
2704  <img src="&dtml-BASEPATH1;/&dtml-icon;" title="&dtml-meta_type;"
2705   title="&dtml-meta_type;" border="0" /></a>
2706  <dtml-else>
2707  &nbsp;
2708  </dtml-if>
2709  </td>
2710  <td valign="top">
2711  <div class="list-item">
2712  <a href="&dtml.url_quote-sequence-key;/manage_workspace">
2713  &dtml-sequence-key; <dtml-if title>(&dtml-title;)</dtml-if>
2714  </a>
2715  <dtml-if locked_in_version>
2716    <dtml-if modified_in_version>
2717      <img src="&dtml-BASEPATH1;/p_/locked"
2718       title="This item has been modified in this version" />
2719    <dtml-else>
2720      <img src="&dtml-BASEPATH1;/p_/lockedo"
2721       title="This item has been modified in another version" />
2722       (<em>&dtml-locked_in_version;</em>)
2723    </dtml-if>
2724  </dtml-if>
2725  </div>
2726  </td>
2727
2728  <dtml-with sequence-key>
2729  <td>
2730  <div class="list-item">
2731  <dtml-try>
2732  <dtml-if get_size>
2733  <dtml-let ob_size=get_size>
2734  <dtml-if "ob_size < 1024">
2735  1 Kb
2736  <dtml-elif "ob_size > 1048576">
2737  <dtml-var "ob_size / 1048576.0" fmt="%0.02f"> Mb
2738  <dtml-else>
2739  <dtml-var "int(ob_size / 1024)"> Kb
2740  </dtml-if>
2741  </dtml-let>
2742  <dtml-else>
2743  &nbsp;
2744  </dtml-if>
2745  <dtml-except>
2746  &nbsp;
2747  </dtml-try>
2748  </div>
2749  </td>
2750
2751  <td>
2752   <div class="list-item"><dtml-var "getLangFmtDate(bobobase_modification_time())"></div>
2753  </td>
2754  </dtml-with>
2755</tr>
2756</dtml-unless>
2757</dtml-in>
2758</table>
2759
2760<table cellspacing="0" cellpadding="1" border="0" width="100%">
2761<tr>
2762  <td valign="top" width="16"></td>
2763  <td valign="top" nowrap="nowrap">
2764  <div class="form-element">
2765  <dtml-unless dontAllowCopyAndPaste>
2766  <input class="ui-button ui-state-default ui-corner-all" type="submit" name="manage_renameForm:method"
2767   value="<dtml-var "getZMILangStr('BTN_RENAME')" html_quote>" />
2768  <input class="ui-button ui-state-default ui-corner-all" type="submit" name="manage_cutObjects:method"
2769   value="<dtml-var "getZMILangStr('BTN_CUT')" html_quote>" />
2770  <input class="ui-button ui-state-default ui-corner-all" type="submit" name="manage_copyObjects:method"
2771   value="<dtml-var "getZMILangStr('BTN_COPY')" html_quote>" />
2772  <dtml-if cb_dataValid>
2773  <input class="ui-button ui-state-default ui-corner-all" type="submit" name="manage_pasteObjects:method"
2774   value="<dtml-var "getZMILangStr('BTN_PASTE')" html_quote>" />
2775  </dtml-if>
2776  </dtml-unless>
2777  <dtml-if "_.SecurityCheckPermission('Delete objects',this())">
2778  <input class="ui-button ui-state-default ui-corner-all" type="submit" name="manage_delObjects:method"
2779   value="<dtml-var "getZMILangStr('BTN_DELETE')" html_quote>" />
2780  </dtml-if>
2781  <dtml-if "_.SecurityCheckPermission('Import/Export objects', this())">
2782  <input class="ui-button ui-state-default ui-corner-all" type="submit"
2783   name="manage_importExportForm:method"
2784   value="Import/Export" />
2785  </dtml-if>
2786  </div>
2787  </td>
2788</tr>
2789</table>
2790
2791<dtml-else>
2792<table cellspacing="0" cellpadding="2" border="0">
2793<tr>
2794<td>
2795<div class="std-text">
2796<dtml-var "getZMILangStr('MSG_EMPTYCONTAINER')"> <dtml-var "display_type(REQUEST)"> <em><dtml-var "getTitlealt(REQUEST)">
2797<br /><br />
2798</div>
2799<dtml-unless dontAllowCopyAndPaste>
2800<dtml-if cb_dataValid>
2801<div class="form-element">
2802<input class="ui-button ui-state-default ui-corner-all" type="submit" name="manage_pasteObjects:method"
2803 value="Paste" />
2804</div>
2805</dtml-if>
2806</dtml-unless>
2807<dtml-if "_.SecurityCheckPermission('Import/Export objects', this())">
2808<input class="ui-button ui-state-default ui-corner-all" type="submit"
2809  name="manage_importExportForm:method" value="Import/Export" />
2810</dtml-if>
2811</td>
2812</tr>
2813</table>
2814</dtml-if>
2815</td>
2816</tr>
2817</table>
2818
2819</dtml-unless>]]>
2820                  </item>
2821                  <item key="repetitive" type="int">0</item>
2822                  <item key="type"><![CDATA[interface]]></item>
2823                </dictionary>
2824              </item>
2825            </list>
2826          </item>
2827          <item key="access" type="dictionary">
2828            <dictionary>
2829              <item key="delete" type="list">
2830                <list>
2831                  <item><![CDATA[ZMSAdministrator]]></item>
2832                  <item><![CDATA[ZMSAuthor]]></item>
2833                  <item><![CDATA[ZMSEditor]]></item>
2834                </list>
2835              </item>
2836              <item key="delete_custom"></item>
2837              <item key="edit" type="list">
2838                <list>
2839                  <item><![CDATA[ZMSAdministrator]]></item>
2840                  <item><![CDATA[ZMSAuthor]]></item>
2841                  <item><![CDATA[ZMSEditor]]></item>
2842                </list>
2843              </item>
2844              <item key="edit_custom"></item>
2845              <item key="insert" type="list">
2846                <list>
2847                  <item><![CDATA[ZMSAdministrator]]></item>
2848                  <item><![CDATA[ZMSAuthor]]></item>
2849                  <item><![CDATA[ZMSEditor]]></item>
2850                </list>
2851              </item>
2852              <item key="insert_custom"><![CDATA[{$}]]></item>
2853            </dictionary>
2854          </item>
2855          <item key="enabled" type="int">0</item>
2856          <item key="id"><![CDATA[ZMSSysFolder]]></item>
2857          <item key="name"><![CDATA[ZMSSysFolder]]></item>
2858          <item key="package"><![CDATA[com.zms.foundation]]></item>
2859          <item key="revision"><![CDATA[1.0.0]]></item>
2860          <item key="type"><![CDATA[ZMSDocument]]></item>
2861        </dictionary>
2862      </item>
2863    </dictionary>
2864  </item>
2865  <item type="dictionary">
2866    <dictionary>
2867      <item key="key"><![CDATA[ZMSTable]]></item>
2868      <item key="value" type="dictionary">
2869        <dictionary>
2870          <item key="__obj_attrs__" type="list">
2871            <list>
2872              <item type="dictionary">
2873                <dictionary>
2874                  <item key="custom">
2875                    <data content_type="image/gif" filename="zmstable.gif" type="file">47494638396112001000f700000000845e6190606493636796656a9a676d9e6970a26b74a56d77a86f7aac7578a3767ca6727cae7880ab7a83b07d89b67f8ebcff00ff8080808195c3849bca87a1d287a9dc8aa8d98caedf92bcef94bff2b0d7ffc2e1ffc6e3ffcee6ffd1e8ffe4edf5e8eff7f3f9fffeffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021f90401000011002c00000000120010000008920023081c48b020410d16122a5cb89081c00c00224a9c38d161040c14334ab47881040909233c4a00415282070f122c56101952c4c8921f502610484182cd9b387122103841a4881020467af820a1030709070442100934e850941c36483020f041ceab370b0874f0f3254a0f46256c904a406003a042891a953a56c200810bb06215205081ddbb78f30630c8b7af5fbe0101003b</data>
2876                  </item>
2877                  <item key="id"><![CDATA[icon]]></item>
2878                  <item key="mandatory" type="int">0</item>
2879                  <item key="multilang" type="int">0</item>
2880                  <item key="name"><![CDATA[Icon]]></item>
2881                  <item key="repetitive" type="int">0</item>
2882                  <item key="type"><![CDATA[resource]]></item>
2883                </dictionary>
2884              </item>
2885              <item type="dictionary">
2886                <dictionary>
2887                  <item key="custom">
2888                    <data content_type="image/gif" filename="zmstable_disabled.gif" type="file">47494638396112001000f700005c5c5c6565656767676a6a6a6d6d6d7070707373737676767979797b7b7b7c7c7c7e7e7eff00ff8080808282828585858a8a8a8e8e8e9494949999999e9e9ea4a4a4a9a9a9b5b5b5b7b7b7cfcfcfdbdbdbdddddde1e1e1e3e3e3ebebebedededf7f7f7fefefeffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021f9040100000c002c00000000120010000008920019081c48b020410c15122a5cb87081c00b00224a9c38d121030b14334ab45841848806213c36f040b201070e0d2c52101912c4c8921d502a1038a181cd9b38712210284124880f1e4672e8d060838606070446100934e850941a323430201042ceab370b087cf0f3254a0e461b64904a40a003a042891a953ab6c100810bb06215203081ddbb78f30630c8b7af5fbe0101003b</data>
2889                  </item>
2890                  <item key="id"><![CDATA[icon_disabled]]></item>
2891                  <item key="mandatory" type="int">0</item>
2892                  <item key="multilang" type="int">0</item>
2893                  <item key="name"><![CDATA[Icon (Disabled)]]></item>
2894                  <item key="repetitive" type="int">0</item>
2895                  <item key="type"><![CDATA[resource]]></item>
2896                </dictionary>
2897              </item>
2898              <item type="dictionary">
2899                <dictionary>
2900                  <item key="id"><![CDATA[caption]]></item>
2901                  <item key="mandatory" type="int">0</item>
2902                  <item key="multilang" type="int">1</item>
2903                  <item key="name"><![CDATA[Caption]]></item>
2904                  <item key="repetitive" type="int">0</item>
2905                  <item key="type"><![CDATA[string]]></item>
2906                </dictionary>
2907              </item>
2908              <item type="dictionary">
2909                <dictionary>
2910                  <item key="id"><![CDATA[align]]></item>
2911                  <item key="keys" type="list">
2912                    <list>
2913                      <item><![CDATA[TOP]]></item>
2914                      <item><![CDATA[BOTTOM]]></item>
2915                      <item><![CDATA[LEFT]]></item>
2916                      <item><![CDATA[RIGHT]]></item>
2917                    </list>
2918                  </item>
2919                  <item key="mandatory" type="int">1</item>
2920                  <item key="multilang" type="int">0</item>
2921                  <item key="name"><![CDATA[Align]]></item>
2922                  <item key="repetitive" type="int">0</item>
2923                  <item key="type"><![CDATA[select]]></item>
2924                </dictionary>
2925              </item>
2926              <item type="dictionary">
2927                <dictionary>
2928                  <item key="id"><![CDATA[interface0]]></item>
2929                  <item key="mandatory" type="int">0</item>
2930                  <item key="multilang" type="int">0</item>
2931                  <item key="name"><![CDATA[<dtml-comment>
2932################################################################################
2933##### Table(Type,Cols,Rows): INSERT
2934################################################################################
2935</dtml-comment>
2936<dtml-if ZMS_INSERT>
2937<input type="hidden" name="redirect_self:int" value="1"/>
2938
2939<script language="JavaScript">
2940
2941function onZMSTableFormSubmit() {
2942        var xml = '';
2943        var type = parseInt($("input[name=\x22type:int\x22]:checked").val());
2944        xml += '<list>\n';
2945        for ( var y = 0; y < parseInt($('#rows').val()); y++) {
2946                xml += "<item type=\"list\"><list>\n";
2947                if ( y==0 && type == 2) {
2948                        xml += '<item type="dictionary"><dictionary>\n';
2949                        xml += '<item key="colspan" type="int">'+parseInt($('#cols').val())+'</item>\n';
2950                        xml += '<item key="content"></item>\n';
2951                        xml += '<item key="format"><dtml-var "getTextFormatDefault()"></item>\n';
2952                        xml += '<item key="tag">th</item>\n';
2953                        xml += '</dictionary></item>\n';
2954                }
2955                else {
2956      for ( var x = 0; x < parseInt($('#cols').val()); x++) {
2957        xml += '<item type=\"dictionary\"><dictionary>\n';
2958        if ( y==0 && x == 0 && type == 4) {
2959          xml += '<item key="colspan" type="int">1</item>\n';
2960        }
2961        else {
2962          var tag = "td";
2963          if ( (type == 1 && y == 0) ||
2964               (type == 3 && x == 0) ||
2965               (type == 4 && (x == 0 || y == 0))) {
2966            tag = "th";
2967          }
2968          xml += '<item key="colspan" type="int">1</item>\n';
2969          xml += '<item key="content"></item>\n';
2970          xml += '<item key="format"><dtml-var "getTextFormatDefault()"></item>\n';
2971          xml += '<item key="tag">'+tag+'</item>\n';
2972        }
2973        xml += '</dictionary></item>\n';
2974      }
2975    }
2976    xml += "</list></item>\n";
2977  }
2978  xml += '</list>\n';
2979  $("#table_table").val( xml);
2980  return onFormSubmit('<dtml-var fmName>');
2981}
2982
2983$("form[name=<dtml-var fmName>]").submit( onZMSTableFormSubmit);
2984$()
2985
2986</script>
2987
2988<dtml-let
2989  table_th="'<th style=\042border: solid 1px #999999;\042><img src='+QUOT+spacer_gif+QUOT+' width=30 height=4 border=0/></th>'"
2990  table_td="'<td style=\042border: solid 1px #999999;\042><img src='+QUOT+spacer_gif+QUOT+' width=30 height=4 border=0/></td>'"
2991>
2992<img src="<dtml-var spacer_gif>" alt="" border="0" height="2"/>
2993<table cellspacing="0" cellpadding="1" border="0" width="100%">
2994<colgroup>
2995 <col width="20%" />
2996 <col width="80%" />
2997</colgroup>
2998<tr valign="top">
2999 <td><div class="form-label"><dtml-var "getZMILangStr('ATTR_COLS')"> &times; <dtml-var "getZMILangStr('ATTR_ROWS')"><dtml-var FORM_LABEL_MANDATORY></div></td>
3000 <td><div class="form-label"><dtml-var "getTextInput(fmName=fmName,elName='cols',value='3',size=2)"> &times; <dtml-var "getTextInput(fmName=fmName,elName='rows',value='3',size=2)"></div></td>
3001</tr>
3002<tr valign="top">
3003 <td rowspan="5"><div class="form-label"><dtml-var "getZMILangStr('ATTR_TYPE')"></div></td>
3004 <td>
3005  <table cellspacing="2" cellpadding="0" border="0">
3006  <tr>
3007   <td></td>
3008   <td align="center" class="form-small">3 <dtml-var "getZMILangStr('ATTR_COLS')"></td>
3009  </tr>
3010  <tr>
3011   <td></td>
3012   <td class="zmiNeutralColorStrong0"><img src="<dtml-var spacer_gif>" width="1" height="1" border="0" /></td>
3013  </tr>
3014  <tr>
3015   <td valign="middle" rowspan="3"><input class="form-radio" type="radio" name="type:int" value="1" checked="checked"></td>
3016   <td>
3017    <div class="ZMSTable">
3018    <table class="ZMSTable">
3019    <tr><dtml-var table_th><dtml-var table_th><dtml-var table_th></tr>
3020    <tr><dtml-var table_td><dtml-var table_td><dtml-var table_td></tr>
3021    <tr><dtml-var table_td><dtml-var table_td><dtml-var table_td></tr>
3022    </table>
3023    </div>
3024   </td>
3025   <td class="zmiNeutralColorStrong0"><img src="<dtml-var spacer_gif>" width="1" height="4" border="0"></td>
3026   <td valign="middle" class="form-small">3 <dtml-var "getZMILangStr('ATTR_ROWS')"></td>
3027  </tr>
3028  </table>
3029 </td>
3030</tr>
3031<tr>
3032 <td>
3033  <table cellspacing="2" cellpadding="0" border="0">
3034  <tr>
3035   <td valign="middle"><input class="form-radio" type="radio" name="type:int" value="2"></td>
3036   <td>
3037    <div class="ZMSTable">
3038    <table class="ZMSTable">
3039    <tr><th colspan="3" style="border: solid 1px #999999;"><img src="<dtml-var spacer_gif>" width="30" height="4" border="0"></th></tr>
3040    <tr><dtml-var table_td><dtml-var table_td><dtml-var table_td></tr>
3041    <tr><dtml-var table_td><dtml-var table_td><dtml-var table_td></tr>
3042    </table>
3043    </div>
3044   </td>
3045  </tr>
3046  </table>
3047 </td>
3048</tr>
3049<tr>
3050 <td>
3051  <table cellspacing="2" cellpadding="0" border="0">
3052  <tr>
3053   <td valign="middle"><input class="form-radio" type="radio" name="type:int" value="3"></td>
3054   <td>
3055    <div class="ZMSTable">
3056    <table class="ZMSTable">
3057    <tr><dtml-var table_th><dtml-var table_td><dtml-var table_td></tr>
3058    <tr><dtml-var table_th><dtml-var table_td><dtml-var table_td></tr>
3059    <tr><dtml-var table_th><dtml-var table_td><dtml-var table_td></tr>
3060    </table>
3061    </div>
3062   </td>
3063  </tr>
3064  </table>
3065 </td>
3066</tr>
3067<tr>
3068 <td>
3069  <table cellspacing="2" cellpadding="0" border="0">
3070  <tr>
3071   <td valign="middle"><input class="form-radio" type="radio" name="type:int" value="4"></td>
3072   <td>
3073    <div class="ZMSTable">
3074    <table class="ZMSTable">
3075    <tr><td><img src="<dtml-var spacer_gif>" width="30" height="4" border="0"></td><dtml-var table_th><dtml-var table_th></tr>
3076    <tr><dtml-var table_th><dtml-var table_td><dtml-var table_td></tr>
3077    <tr><dtml-var table_th><dtml-var table_td><dtml-var table_td></tr>
3078    </table>
3079    </div>
3080   </td>
3081  </tr>
3082  </table>
3083 </td>
3084</tr>
3085<tr>
3086 <td>
3087  <table cellspacing="2" cellpadding="0" border="0">
3088  <tr>
3089   <td></td>
3090   <td align="center" class="form-small"><dtml-var "getZMILangStr('ATTR_CUSTOM')"></td>
3091  </tr>
3092  <tr>
3093   <td></td>
3094   <td class="zmiNeutralColorStrong0"><img src="<dtml-var spacer_gif>" width="1" height="1" border="0" /></td>
3095  </tr>
3096  <tr>
3097   <td valign="middle"><input class="form-radio" type="radio" name="type:int" value="5"></td>
3098   <td>
3099    <div class="ZMSTable">
3100    <table class="ZMSTable">
3101    <tr>
3102     <dtml-var table_th>
3103     <dtml-var table_th>
3104     <dtml-var table_th>
3105    </tr>
3106    <tr>
3107     <dtml-var table_td>
3108     <dtml-var table_td>
3109     <dtml-var table_td>
3110    </tr>
3111    <tr>
3112     <dtml-var table_td>
3113     <dtml-var table_td>
3114     <dtml-var table_td>
3115    </tr>
3116    </table>
3117    </div>
3118   </td></tr>
3119  </table>
3120 </td>
3121</tr>
3122</table>
3123</dtml-let>
3124
3125<dtml-comment>
3126################################################################################
3127##### Table(Type,Cols,Rows): EDIT
3128################################################################################
3129</dtml-comment>
3130<dtml-else>
3131
3132<dtml-comment>
3133--------------------------------------------------------------------------------
3134--- Table-Cell Editor
3135--------------------------------------------------------------------------------
3136</dtml-comment>
3137<dtml-let custom="[]"
3138><dtml-call "custom.append('<td class=\042form-text\042>'+getZMILangStr('ATTR_FORMAT')+'</td>')"
3139><dtml-call "custom.append('<td>'+f_selectInput(_,_,fmName=fmName,elName='tag',value='',type='select',lang_str=getZMILangStr('ATTR_FORMAT'),required=1,options=['th','td'],enabled=True,css='form-element',REQUEST=REQUEST)+'</td>')"
3140><dtml-call "custom.append('<td class=\042form-text\042>'+getZMILangStr('ATTR_PARAGRAPH')+'</td>')"
3141><dtml-call "custom.append('<td>'+f_selectTextformat(_,_)+'</td>')"
3142><div style="display:none;"
3143><div id="div_table_cell_editor" class="zmiNeutralColorMedium0" style="width:699px;"
3144><dtml-var "f_selectRichtext(_,_,ob=this(),fmName=fmName,elName='content_editor',cols=25,rows=10,value='',key='cell',enabled=True,lang=lang,lang_str=getZMILangStr('ACTION_EDIT_CELL'),custom_str=''.join(custom),REQUEST=REQUEST,css='form-small',wrap='virtual')"
3145><input class="ui-button ui-state-default ui-corner-all" type="submit" value="<dtml-var "getZMILangStr('BTN_CHANGE')">" onclick="return table_cell_change();"
3146><input class="ui-button ui-state-default ui-corner-all" type="submit" value="<dtml-var "getZMILangStr('BTN_CANCEL')">" onclick="return table_cell_cancel();"
3147></div
3148></div
3149></dtml-let>
3150
3151<dtml-comment>
3152--------------------------------------------------------------------------------
3153--- Table-Cell Grid
3154--------------------------------------------------------------------------------
3155</dtml-comment>
3156<dtml-let table_table="attr('table')" table_type="attr('type')" table_colgroup_cols="attr('cols')" table_cols="len(table_table[-1])" table_rows="len(table_table)" table_widths="attr('widths')">
3157
3158<script language="JavaScript">
3159
3160var table_cell_uid = <dtml-var "table_cols*table_rows">;
3161var table_cell_id = '';
3162var table_cell_bgcolor = null;
3163var table_cell_offs = 2;
3164
3165function onZMSTableFormSubmit() {
3166        var xml = '';
3167        xml += '<list>\n';
3168        var el_tbody = $($("#table_cell_editor").children()[0]);
3169        var el_trs = el_tbody.children().filter(":gt(1)").filter(":not(:last)");
3170        for ( var i=0; i < el_trs.length; i++) {
3171                xml += "<item type=\"list\"><list>\n";
3172                var el_tds = $(el_trs[i]).children().filter(":gt(1)").filter(":not(:last)");
3173                for ( var j=0; j < el_tds.length; j++) {
3174                        xml += "<item type=\"dictionary\"><dictionary>\n";
3175                        var colspan = $(el_tds[j]).prop("colspan");
3176                        if (typeof colspan=="undefined") {
3177                                colspan = 1;
3178                        }
3179                        xml += '<item key="colspan" type="int">'+colspan+'</item>\n';
3180                        var el_inputs = $("textarea,input",el_tds[j]);
3181                        for ( var k=0; k < el_inputs.length; k++) {
3182                                var key = el_inputs[k].id.substr(0,el_inputs[k].id.indexOf("_"));
3183                                xml += '<item key="'+key+'"><![CDATA'+'['+$(el_inputs[k]).val()+']'+']></item>\n';
3184                        }
3185                        xml += '</dictionary></item>\n';
3186                }
3187                xml += '</list></item>\n';
3188        }
3189        xml += '</list>\n';
3190        $("#table_table").val( xml);
3191        xml = '';
3192        xml += '<list>\n';
3193        var el_trs = el_tbody.children().filter(":eq(1)");
3194        for ( var i=0; i < el_trs.length; i++) {
3195                var el_inputs = $("input:text",el_trs[i]);
3196                for ( var j = 0; j < el_inputs.length; j++) {
3197                        xml += '<item type="string">'+$(el_inputs[j]).val()+'</item>\n';
3198                }
3199        }
3200        xml += '</list>\n';
3201        $("#table_colgroup_cols").val( xml);
3202        return onFormSubmit('<dtml-var fmName>');
3203}
3204
3205function table_cell_edit(el_td) {
3206        var el = $('textarea',el_td);
3207        var el_name = el.attr('name');
3208        table_cell_id = el_name.substr(el_name.indexOf('_')+1);
3209        // Set cell background.
3210        if (table_cell_bgcolor==null) {
3211                table_cell_bgcolor = el_td.css( "backgroundColor");
3212        }
3213        el_td.css( "backgroundColor", "red");
3214        // Apply values.
3215        $('#zmiRichtextEditor<dtml-var elName>').hide();
3216        $('#zmiStandardEditor<dtml-var elName>').show();
3217        $('#content_editor').val($('#content_'+ table_cell_id).val());
3218        $('#tag').val($('#tag_'+ table_cell_id).val());
3219        $('#format').val($('#format_'+ table_cell_id).val());
3220        <dtml-if "REQUEST.get('richedit_fmt')">
3221        zmiRichtextSyncDataToView('<dtml-var elName>');
3222        <dtml-let elName="'content_editor'">
3223        if ( $('#format').val()=='<dtml-var "REQUEST.get('richedit_fmt').getId()">') {
3224                $('#zmiRichtextEditor<dtml-var elName>').show();
3225                $('#zmiStandardEditor<dtml-var elName>').hide();
3226                zmiStandardOnSubmitEventHandler();
3227        }
3228        </dtml-let>
3229        </dtml-if>
3230        // Open cell editor.
3231        $('#div_table_cell_editor').dialog({
3232                        title:'<dtml-var "getZMILangStr('ATTR_COL')">: <dtml-var "getZMILangStr('BTN_EDIT')">',
3233                        width:'auto',
3234                        height:'auto',
3235                        modal:true,
3236                        close: function(event, ui) {
3237                                        table_cell_cancel(event);
3238                                }
3239        });
3240}
3241
3242function table_cell_change() {
3243        <dtml-if "REQUEST.get('richedit_fmt')">
3244        if ( $('#format').val()=='<dtml-var "REQUEST.get('richedit_fmt').getId()">') {
3245                zmiRichtextOnSubmitEventHandler();
3246                $('#input_'+ table_cell_id).hide();
3247                $('#preview_'+ table_cell_id).show();
3248        }
3249        else {
3250                $('#input_'+ table_cell_id).show();
3251                $('#preview_'+ table_cell_id).hide();
3252        }
3253        </dtml-if>
3254        $('#format_'+ table_cell_id).val($('#format').val());
3255        $('#tag_'+ table_cell_id).val($('#tag').val());
3256        $('#content_'+ table_cell_id).val($('#content_editor').val());
3257        $('#preview_'+ table_cell_id).html($('#content_editor').val());
3258        return table_cell_cancel();
3259}
3260
3261function table_cell_cancel(event) {
3262        // Reset cell background.
3263        var el_td = $('#content_'+ table_cell_id).parents(".table_cell_editable");
3264        el_td.css( "backgroundColor", table_cell_bgcolor);
3265        table_cell_bgcolor = null;
3266        // Close cell editor.
3267        if (!event) {
3268                $('#div_table_cell_editor').dialog('close');
3269        }
3270        return false;
3271}
3272
3273function table_cell_init() {
3274        $("form[name=<dtml-var fmName>] input[type=hidden]+textarea").change( function () { $(this).parents(".table_cell_editable").css( 'backgroundColor', '#FFFFE8');});
3275        $("form[name=<dtml-var fmName>] .table_cell_editable").dblclick( function () { table_cell_edit($(this));});
3276}
3277
3278function actionBtnClick(el, fct) {
3279        var x = 0;
3280        var el_td = $($(el).parents("td")[1]);
3281        while ( el_td.prev().length > 0) {
3282                x++;
3283                el_td = $(el_td.prev()[0]);
3284        }
3285        var y = 0;
3286        var el_tr = $(el_td.parent("tr"));
3287        while ( el_tr.prev().length > 0) {
3288                y++;
3289                el_tr = $(el_tr.prev()[0]);
3290        }
3291        var el_tbody = $($(el).parents("tbody")[1]);
3292        if (fct.indexOf('_col') > 0) {
3293                el_tbody.children().filter(":eq(1)").children().filter(":gt(1)").filter(":not(:last)").html("&nbsp;");
3294        }
3295        //////////////////////////////////////////////////////////////////////////////
3296        /// DELETE
3297        //////////////////////////////////////////////////////////////////////////////
3298        if (fct.indexOf('delete') == 0) {
3299                if (confirm("<dtml-var "getZMILangStr('MSG_CONFIRM_DELOBJ')">")) {
3300                        if (fct.indexOf('delete_col') == 0) {
3301                                var el_trs = el_tbody.children();
3302                                for ( var i = 0; i < el_trs.length; i++) {
3303                                        if ( i == table_cell_offs && <dtml-var table_type> == 2) {
3304                                                var el_td = $($(el_trs[i]).children().filter(":eq("+table_cell_offs+")")[0]);
3305                                                el_td.prop("colspan",parseInt(el_td.prop("colspan"))-1);
3306                                        }
3307                                        else {
3308                                                var el_td = $($(el_trs[i]).children().filter(":eq("+x+")")[0]);
3309                                                el_td.remove();
3310                                        }
3311                                }
3312                                $('#cols').val( parseInt($('#cols').val())-1);
3313                        }
3314                        else if (fct.indexOf('delete_row') == 0) {
3315                                var el_tr = $(el_tbody.children().filter(":eq("+y+")")[0]);
3316                                el_tr.remove();
3317                                $('#rows').val( parseInt($('#rows').val())-1);
3318                        }
3319                }
3320        }
3321        //////////////////////////////////////////////////////////////////////////////
3322        /// INSERT
3323        //////////////////////////////////////////////////////////////////////////////
3324        else if (fct.indexOf('insert_col') == 0) {
3325                var el_trs = el_tbody.children();
3326                for ( var i = 0; i < el_trs.length; i++) {
3327                        if ( i == table_cell_offs && <dtml-var table_type> == 2) {
3328                                var el_td = $($(el_trs[i]).children().filter(":eq("+table_cell_offs+")")[0]);
3329                                el_td.attr("colspan",parseInt(el_td.attr("colspan"))+1);
3330                        }
3331                        else {
3332                                var el_tds = $(el_trs[i]).children();
3333                                var el_td = $(el_tds.filter(":eq("+x+")")[0]);
3334                                var new_td = insertCell(el_tds[el_tds.length-2]);
3335                                new_td.insertBefore( el_td);
3336                        }
3337                }
3338                $('#cols').val( parseInt($('#cols').val())+1);
3339                table_cell_init();
3340        }
3341        else if (fct.indexOf('insert_row') == 0) {
3342                var el_trs = el_tbody.children();
3343                var el_tr = $(el_trs.filter(":eq("+y+")")[0]);
3344                var new_tr = insertCell(el_trs[el_trs.length-2]);
3345                new_tr.insertBefore( el_tr);
3346                $('#rows').val( parseInt($('#rows').val())-1);
3347                table_cell_init();
3348        }
3349        //////////////////////////////////////////////////////////////////////////////
3350        /// MOVE
3351        //////////////////////////////////////////////////////////////////////////////
3352        else if (fct.indexOf('move_col') == 0) {
3353                var source_x = x;
3354                var target_x = x;
3355                if (fct == 'move_col_left') {
3356                        target_x = target_x - 1;
3357                }
3358                else {
3359                        target_x = target_x + 1;
3360                }
3361                var el_trs = el_tbody.children().filter(":gt(1)").filter(":not(:last)");
3362                for ( var i = 0; i < el_trs.length; i++) {
3363                        var source_td = $($(el_trs[i]).children().filter(":eq("+source_x+")")[0]);
3364                        var target_td = $($(el_trs[i]).children().filter(":eq("+target_x+")")[0]);
3365                        moveCell(source_td, target_td);
3366                }
3367        }
3368        else if (fct.indexOf('move_row') == 0) {
3369                var source_y = y;
3370                var target_y = y;
3371                if (fct == 'move_row_up') {
3372                        target_y = target_y - 1;
3373                }
3374                else {
3375                        target_y = target_y + 1;
3376                }
3377                var source_tr = $(el_tbody.children().filter(":eq("+source_y+")")[0]);
3378                var target_tr = $(el_tbody.children().filter(":eq("+target_y+")")[0]);
3379                moveCell(source_tr, target_tr);
3380        }
3381        else {
3382                var par = Math.max(x,y)-table_cell_offs;
3383                var fm = document.forms['<dtml-var fmName>'];
3384                fm.elements['function'].value = fct;
3385                fm.elements['param'].value = par;
3386                fm.submit();
3387        }
3388}
3389
3390function insertCell(source) {
3391        var clone = $(source).clone();
3392        $("table.ZMSTable td",clone).each(function() {
3393                        // Remove table with inline-links (if exists).
3394                        $("table",this).remove();
3395                        $("textarea,input",this).each(function() {
3396                                        var key = this.id.substr(0,this.id.indexOf("_"));
3397                                        $(this).attr( "id", key+"_" + table_cell_uid);
3398                                        $(this).attr( "name", key+"_" + table_cell_uid);
3399                                        if ( key.indexOf("format") == 0) {
3400                                                $(this).val( "<dtml-var "getTextFormatDefault()">");
3401                                        }
3402                                        else if ( key.indexOf("content") == 0) {
3403                                                $(this).val( "").css( 'border', '2px solid #00FF00');
3404                                        }
3405                                });
3406                        $("div[id^=preview]",this).each(function() {
3407                                        $(this).attr("id","preview_"+table_cell_uid).html( "&nbsp;").css( 'border', '2px solid #00FF00')
3408                                                .keyup(onKeyUpZMSTableDivContenteditable).blur(onKeyUpZMSTableDivContenteditable);
3409                                });
3410                        table_cell_uid++;
3411                });
3412        return clone;
3413}
3414
3415function moveCell(source, target) {
3416        var source_inp = $("textarea,input",source);
3417        var target_inp = $("textarea,input",target);
3418        for ( var j = 0; j < source_inp.length; j++) {
3419                var v = $(source_inp[j]).val();
3420                $(source_inp[j]).val( $(target_inp[j]).val());
3421                $(target_inp[j]).val( v);
3422        }
3423        var source_preview = $("div[id^=preview]",source);
3424        var target_preview = $("div[id^=preview]",target);
3425        for ( var j = 0; j < source_preview.length; j++) {
3426                var v = $(source_preview[j]).html();
3427                $(source_preview[j]).html( $(target_preview[j]).html());
3428                $(target_preview[j]).html( v);
3429        }
3430}
3431
3432function onKeyUpZMSTableDivContenteditable(div) {
3433        var $textarea = $("textarea",$(div).prev());
3434        $textarea.val($(div).html());
3435}
3436
3437$(function(){
3438        $("form[name=<dtml-var fmName>]").submit( onZMSTableFormSubmit);
3439        table_cell_init();
3440});
3441
3442</script>
3443
3444<img src="<dtml-var spacer_gif>" alt="" border="0" height="2"/>
3445<table id="table_cell_editor" cellspacing="0" cellpadding="0" border="0">
3446<tr valign="middle" class="zmiNeutralColorStrong0">
3447 <td>&nbsp;</td>
3448 <td><img src="<dtml-var spacer_gif>" width="8" height="1" border="0"></td>
3449 <dtml-in "range(table_cols)">
3450  <td
3451   ><table cellspacing="0" cellpadding="0" border="0"
3452   ><tr
3453    ><td><a href="#" class="vbutton"><img src="<dtml-var MISC_ZMS>btn_arr_left.gif" title="<dtml-var "getZMILangStr('ACTION_MOVELEFT')">" border="0" onclick="actionBtnClick(this,'move_col_left')" class="vbutton"/></a></td
3454    ><td><a href="#" class="vbutton"><img src="<dtml-var MISC_ZMS>btn_arr_right.gif" title="<dtml-var "getZMILangStr('ACTION_MOVERIGHT')">" border="0" onclick="actionBtnClick(this,'move_col_right')" class="vbutton"/></a></td
3455    ><dtml-if "not _['sequence-start'] or table_type==1"><td><div class="zmi-icon ui-state-default ui-helper-clearfix ui-corner-all" title="<dtml-var "getZMILangStr('ACTION_INSERT_COL')">"><span onclick="actionBtnClick(this,'insert_col')" class="ui-icon ui-icon-plus"></span></div></td></dtml-if
3456    ><dtml-if "not _['sequence-start'] or table_type==1"><td><div class="zmi-icon ui-state-default ui-helper-clearfix ui-corner-all" title="<dtml-var "getZMILangStr('ACTION_DELETE_COL')">"><span onclick="actionBtnClick(this,'delete_col')" class="ui-icon ui-icon-trash"></span></div></td></dtml-if
3457   ></tr
3458   ></table
3459  ></td>
3460 </dtml-in>
3461 <td
3462  ><table cellspacing="0" cellpadding="0" border="0"
3463  ><tr
3464   ><td><div class="zmi-icon ui-state-default ui-helper-clearfix ui-corner-all" title="<dtml-var "getZMILangStr('ACTION_INSERT_COL')">"><span onclick="actionBtnClick(this,'insert_col')" class="ui-icon ui-icon-plus"></span></div></td
3465  ></tr
3466  ></table
3467 ></td>
3468</tr>
3469
3470<tr>
3471 <td class="zmiNeutralColorStrong0" align="right"><div class="form-label">Colgroup</div></td>
3472 <td style="border-right: solid 1px #CCCCCC;"><dtml-var "getCheckbox(fmName=fmName,elName='colgroup',value=attr('colgroup'),enabled=True,REQUEST=REQUEST)"></td>
3473 <dtml-in "range(table_cols)">
3474  <dtml-let col_index=sequence-index>
3475   <td class="form-small" align="center" style="border-right: solid 1px #CCCCCC; border-bottom: solid 1px <dtml-if "table_type==4 and _['sequence-start']">#CCCCCC;<dtml-else>black;</dtml-if>">
3476    <dtml-if "attr('colgroup')">
3477     <input class="form-small" type="text" name="col<dtml-var col_index>" size="3" value="<dtml-if "col_index<len(table_colgroup_cols)"><dtml-var "table_colgroup_cols[col_index]"></dtml-if>" style="text-align:right;"/>
3478     (&Oslash;=<dtml-var "table_widths[col_index]">)%
3479    <dtml-else>
3480     &nbsp;
3481    </dtml-if>
3482   </td>
3483  </dtml-let>
3484</dtml-in>
3485 <td>&nbsp;</td>
3486</tr>
3487
3488<dtml-in "range(table_rows)"
3489 ><dtml-let row_index=sequence-index
3490 ><tr valign="middle">
3491  <td class="zmiNeutralColorStrong0">
3492   <table cellspacing="0" cellpadding="0" border="0"
3493   ><tr valign="middle"
3494    ><td><a href="#" class="hbutton"><img src="<dtml-var MISC_ZMS>btn_arr_up.gif" title="<dtml-var "getZMILangStr('ACTION_MOVEUP')">" border="0" onclick="actionBtnClick(this,'move_row_up')" class="hbutton"/></a></td
3495    ><dtml-if "not _['sequence-start'] or table_type==3"><td rowspan="2"><div class="zmi-icon ui-state-default ui-helper-clearfix ui-corner-all" title="<dtml-var "getZMILangStr('ACTION_INSERT_ROW')">"><span onclick="actionBtnClick(this,'insert_row')" class="ui-icon ui-icon-plus"></span></div></td></dtml-if
3496    ><dtml-if "not _['sequence-start'] or table_type==3"><td rowspan="2"><div class="zmi-icon ui-state-default ui-helper-clearfix ui-corner-all" title="<dtml-var "getZMILangStr('ACTION_DELETE_ROW')">"><span onclick="actionBtnClick(this,'delete_row')" class="ui-icon ui-icon-trash"></span></div></td></dtml-if
3497   ></tr
3498   ><tr valign="middle"
3499    ><td><a href="#" class="hbutton"><img src="<dtml-var MISC_ZMS>btn_arr_down.gif" title="<dtml-var "getZMILangStr('ACTION_MOVEDOWN')">" border="0" onclick="actionBtnClick(this,'move_row_down')" class="hbutton"/></a></td
3500   ></tr
3501   ></table
3502  ></td
3503  ><td style="border-top: solid 1px #CCCCCC; border-right: solid 1px <dtml-if "table_type==4 and _['sequence-start']">#CCCCCC;<dtml-else>black;</dtml-if>;">&nbsp;</td
3504  ><dtml-in "table_table[row_index]" mapping
3505   ><dtml-let col_index=sequence-index
3506              pattern="'%3Cdtml-var%20\042 getlinkurl\\((.*?),request\\)\042=\042\042>\042&gt\073'"
3507              replacement="'<dtml-var \042getLinkUrl(\\1,REQUEST)\042>\042>'"
3508              cell=sequence-item
3509              cell_content="re_sub(pattern,replacement,cell.get('content',''))"
3510              cell_format="['html',cell.get('format')][int(cell_content.find('dtml-')<0)]"
3511              richedit_preview="getConfProperty('ZMSTable.richedit_preview',1)==1 and REQUEST.get('richedit_fmt') is not None and cell_format==REQUEST.get('richedit_fmt').getId()"
3512    ><dtml-if "table_type==4 and row_index==0 and col_index==0"
3513     ><td style="border-right: solid 1px black;border-bottom: solid 1px black;">&nbsp;</td
3514    ><dtml-else
3515     ><td style="border-top: solid 1px #CCCCCC;border-right: solid 1px white;border-bottom: solid 1px white;border-left: solid 1px #CCCCCC;" colspan="<dtml-var colspan>">
3516      <div class="ZMSTable">
3517       <table style="width:100%" class="ZMSTable">
3518       <tr>
3519       <<dtml-var tag> title="onDblClick: <dtml-var "getZMILangStr('ACTION_EDIT_CELL')">" class="table_cell_editable">
3520        <div id="input_<dtml-var col_index>_<dtml-var row_index>" <dtml-if richedit_preview>style="display:none;"</dtml-if>>
3521         <input type="hidden" id="tag_<dtml-var col_index>_<dtml-var row_index>" value="<dtml-var tag>">
3522         <input type="hidden" id="format_<dtml-var col_index>_<dtml-var row_index>" value="<dtml-var cell_format>">
3523         <dtml-var "getTextArea(fmName,'content_%i_%i'%(col_index,row_index),10,1,value=cell_content,enabled=True,REQUEST=REQUEST,css='form-element',extra=' style=\042border:none;background-color:transparent;width:100%;'+QUOT)">
3524        </div>
3525        <div id="preview_<dtml-var col_index>_<dtml-var row_index>" <dtml-unless richedit_preview>style="display:none;"</dtml-unless> contenteditable="true" onkeyup="onKeyUpZMSTableDivContenteditable(this)" onblur="onKeyUpZMSTableDivContenteditable(this)">
3526         <dtml-if content><dtml-var cell_content><dtml-else>&nbsp;</dtml-if>
3527        </div>
3528       </<dtml-var tag>>
3529       </tr>
3530       </table>
3531      </div>
3532     </td
3533    ></dtml-if
3534   ></dtml-let
3535  ></dtml-in
3536  ><td style="border-left: solid 1px black; border-top: solid 1px #CCCCCC; border-right: solid 1px #CCCCCC;">&nbsp;</td
3537 ></tr
3538 ></dtml-let
3539></dtml-in>
3540
3541<tr valign="middle">
3542 <td class="zmiNeutralColorStrong0">
3543   <table cellspacing="0" cellpadding="0" border="0">
3544   <tr valign="middle">
3545    <td><img src="<dtml-var spacer_gif>" alt="" border="0" width="20"/></td>
3546    <td><div class="zmi-icon ui-state-default ui-helper-clearfix ui-corner-all" title="<dtml-var "getZMILangStr('ACTION_INSERT_ROW')">"><span onclick="actionBtnClick(this,'insert_row')" class="ui-icon ui-icon-plus"></span></div></td>
3547   </tr>
3548   </table>
3549 </td>
3550 <td style="border-top: solid 1px #CCCCCC;">&nbsp;</td>
3551 <dtml-in "range(table_cols)">
3552  <td style="border-left: solid 1px #CCCCCC; border-top: solid 1px black; border-bottom: solid 1px #CCCCCC;">&nbsp;</td>
3553 </dtml-in>
3554 <td style="border-left: solid 1px #CCCCCC; border-top: solid 1px #CCCCCC;">&nbsp;</td>
3555</tr>
3556
3557</table>
3558
3559<input type="hidden" id="cols" value="<dtml-var table_cols>"/>
3560<input type="hidden" id="rows" value="<dtml-var table_rows>"/>
3561
3562</dtml-let>
3563
3564</dtml-if>
3565
3566<input type="hidden" id="table_table" name="table_<dtml-var lang>" value="<list></list>"/>
3567<input type="hidden" id="table_colgroup_cols" name="cols_<dtml-var lang>" value="<list></list>"/>
3568<dtml-call "REQUEST.set('ZMS_HIDE_ELEMENTS',REQUEST.get('ZMS_HIDE_ELEMENTS',[])+['type','table','colgroup','cols'])">]]>
3569                  </item>
3570                  <item key="repetitive" type="int">0</item>
3571                  <item key="type"><![CDATA[interface]]></item>
3572                </dictionary>
3573              </item>
3574              <item type="dictionary">
3575                <dictionary>
3576                  <item key="default"><![CDATA[1]]></item>
3577                  <item key="id"><![CDATA[type]]></item>
3578                  <item key="mandatory" type="int">1</item>
3579                  <item key="multilang" type="int">0</item>
3580                  <item key="name"><![CDATA[Type]]></item>
3581                  <item key="repetitive" type="int">0</item>
3582                  <item key="type"><![CDATA[int]]></item>
3583                </dictionary>
3584              </item>
3585              <item type="dictionary">
3586                <dictionary>
3587                  <item key="id"><![CDATA[table]]></item>
3588                  <item key="mandatory" type="int">1</item>
3589                  <item key="multilang" type="int">1</item>
3590                  <item key="name"><![CDATA[Table]]></item>
3591                  <item key="repetitive" type="int">0</item>
3592                  <item key="type"><![CDATA[list]]></item>
3593                </dictionary>
3594              </item>
3595              <item type="dictionary">
3596                <dictionary>
3597                  <item key="default"><![CDATA[1]]></item>
3598                  <item key="id"><![CDATA[colgroup]]></item>
3599                  <item key="mandatory" type="int">0</item>
3600                  <item key="multilang" type="int">0</item>
3601                  <item key="name"><![CDATA[Colgroup]]></item>
3602                  <item key="repetitive" type="int">0</item>
3603                  <item key="type"><![CDATA[boolean]]></item>
3604                </dictionary>
3605              </item>
3606              <item type="dictionary">
3607                <dictionary>
3608                  <item key="id"><![CDATA[cols]]></item>
3609                  <item key="mandatory" type="int">1</item>
3610                  <item key="multilang" type="int">1</item>
3611                  <item key="name"><![CDATA[Cols]]></item>
3612                  <item key="repetitive" type="int">0</item>
3613                  <item key="type"><![CDATA[list]]></item>
3614                </dictionary>
3615              </item>
3616              <item type="dictionary">
3617                <dictionary>
3618                  <item key="custom"><![CDATA[## Script (Python) "ZMSTable.titlealt"
3619##bind container=container
3620##bind context=context
3621##bind namespace=
3622##bind script=script
3623##bind subpath=traverse_subpath
3624##parameters=zmscontext
3625##title=py: DC.Title.Alt
3626##
3627# --// BO titlealt //--
3628
3629titlealt = zmscontext.attr('caption')
3630if titlealt:
3631    return titlealt
3632return zmscontext.display_type(zmscontext.REQUEST)
3633
3634# --// EO titlealt //--
3635]]>
3636                  </item>
3637                  <item key="id"><![CDATA[titlealt]]></item>
3638                  <item key="mandatory" type="int">0</item>
3639                  <item key="multilang" type="int">0</item>
3640                  <item key="name"><![CDATA[DC.Title.Alt]]></item>
3641                  <item key="py"><![CDATA[<PythonScript at ZMSTable.titlealt>]]></item>
3642                  <item key="repetitive" type="int">0</item>
3643                  <item key="type"><![CDATA[py]]></item>
3644                </dictionary>
3645              </item>
3646              <item type="dictionary">
3647                <dictionary>
3648                  <item key="custom"><![CDATA[## Script (Python) "ZMSTable.widths"
3649##bind container=container
3650##bind context=context
3651##bind namespace=
3652##bind script=script
3653##bind subpath=traverse_subpath
3654##parameters=zmscontext
3655##title=py: Col-Widths [list]
3656##
3657# --// BO widths //--
3658
3659REQUEST = zmscontext.REQUEST
3660table = zmscontext.attr('table')
3661ncols = max(map(lambda x: len(x), table))
3662weights = map(lambda x: 1, range( ncols))
3663for row in table:
3664    i = 0
3665    for cell in row:
3666        weight = len(zmscontext.re_sub('<(.*?)>', '',zmscontext.dt_html(cell.get('content',''),REQUEST)))
3667        weights[i] = weights[i] + weight
3668        i += 1
3669return map(lambda x: int((x*100.0)/sum(weights)), weights)
3670
3671# --// EO widths //--
3672]]>
3673                  </item>
3674                  <item key="id"><![CDATA[widths]]></item>
3675                  <item key="mandatory" type="int">0</item>
3676                  <item key="multilang" type="int">0</item>
3677                  <item key="name"><![CDATA[Col-Widths [list]]]></item>
3678                  <item key="py"><![CDATA[<PythonScript at ZMSTable.widths>]]></item>
3679                  <item key="repetitive" type="int">0</item>
3680                  <item key="type"><![CDATA[py]]></item>
3681                </dictionary>
3682              </item>
3683              <item type="dictionary">
3684                <dictionary>
3685                  <item key="custom"><![CDATA[## Script (Python) "ZMSTable.format"
3686##bind container=container
3687##bind context=context
3688##bind namespace=
3689##bind script=script
3690##bind subpath=traverse_subpath
3691##parameters=zmscontext
3692##title=py: contentEditable.Cell: Get format (@key)
3693##
3694# --// BO format //--
3695
3696REQUEST = zmscontext.REQUEST
3697key = REQUEST.get('key')
3698if key:
3699    table = zmscontext.attr('table')
3700    col = int(key[key.find('_')+1:key.rfind('_')])
3701    row = int(key[key.rfind('_')+1:])
3702    return table[row][col]['format']
3703return ''
3704
3705# --// EO format //--
3706]]>
3707                  </item>
3708                  <item key="id"><![CDATA[format]]></item>
3709                  <item key="mandatory" type="int">0</item>
3710                  <item key="multilang" type="int">0</item>
3711                  <item key="name"><![CDATA[contentEditable.Cell: Get format (@key)]]></item>
3712                  <item key="py"><![CDATA[<PythonScript at ZMSTable.format>]]></item>
3713                  <item key="repetitive" type="int">0</item>
3714                  <item key="type"><![CDATA[py]]></item>
3715                </dictionary>
3716              </item>
3717              <item type="dictionary">
3718                <dictionary>
3719                  <item key="custom"><![CDATA[## Script (Python) "ZMSTable.setObjProperty"
3720##bind container=container
3721##bind context=context
3722##bind namespace=
3723##bind script=script
3724##bind subpath=traverse_subpath
3725##parameters=zmscontext
3726##title=py: contentEditable.Cell: Set property (@pKey,@pValue)
3727##
3728# --// BO setObjProperty //--
3729
3730REQUEST = zmscontext.REQUEST
3731key = REQUEST.get('pKey')
3732value = REQUEST.get('pValue')
3733if key.startswith('table_'):
3734    table = zmscontext.attr('table')
3735    col = int(key[key.find('_')+1:key.rfind('_')])
3736    row = int(key[key.rfind('_')+1:])
3737    table[row][col]['content'] = value
3738    lang = REQUEST.get('lang')
3739    zmscontext.setObjProperty('table',table_table,lang)
3740
3741# --// EO setObjProperty //--
3742]]>
3743                  </item>
3744                  <item key="id"><![CDATA[setObjProperty]]></item>
3745                  <item key="mandatory" type="int">0</item>
3746                  <item key="multilang" type="int">0</item>
3747                  <item key="name"><![CDATA[contentEditable.Cell: Set property (@pKey,@pValue)]]></item>
3748                  <item key="py"><![CDATA[<PythonScript at ZMSTable.setObjProperty>]]></item>
3749                  <item key="repetitive" type="int">0</item>
3750                  <item key="type"><![CDATA[py]]></item>
3751                </dictionary>
3752              </item>
3753              <item type="dictionary">
3754                <dictionary>
3755                  <item key="custom"><![CDATA[<!-- ZMSTable.standard_html -->
3756
3757<tal:block tal:define="global
3758                zmscontext options/zmscontext;
3759                table         python:zmscontext.attr('table');
3760                cols          python:zmscontext.attr('cols');
3761                summary       python:unicode(zmscontext.attr('attr_dc_description'),'utf-8');
3762                caption       python:unicode(zmscontext.attr('caption'),'utf-8');
3763                align         python:zmscontext.attr('align').lower()">
3764    <table tal:attributes="id python:zmscontext.id; class python:zmscontext.meta_id; summary python:summary">
3765        <caption tal:attributes="align align" tal:content="structure caption">The caption</caption>
3766        <colgroup tal:condition="python:zmscontext.attr('colgroup')">
3767            <tal:block tal:repeat="col python:zmscontext.attr('widths')">
3768                <tal:block tal:define="col_index repeat/col/index">
3769                    <col tal:condition="python:col_index<len(cols) and cols[col_index]" tal:attributes="width python:str(cols[col_index])+'%'"/>
3770                    <col tal:condition="python:not (col_index<len(cols) and cols[col_index])" tal:attributes="width repeat/col"/>
3771                </tal:block>
3772            </tal:block>
3773        </colgroup>
3774        <tal:block tal:repeat="row table">
3775            <tal:block tal:condition="repeat/row/odd"><tal:block tal:define="global tr_class python:'odd'"></tal:block></tal:block>
3776            <tal:block tal:condition="repeat/row/even"><tal:block tal:define="global tr_class python:'even'"></tal:block></tal:block>
3777            <tr tal:attributes="class tr_class">
3778                <tal:block tal:repeat="column row">
3779                    <tal:block tal:define="
3780                            row_index     repeat/row/index;
3781                            col_index     repeat/column/index;
3782                            tag           python:column.get('tag','');
3783                            format        python:column.get('format','');
3784                            pattern       python:'%3Cdtml-var%20\042 getlinkurl\\((.*?),request\\)\042=\042\042>\042&gt\073';
3785                            replacement   python:'<dtml-var \042getLinkUrl(\\1,REQUEST)\042>\042>';
3786                            content       python:zmscontext.re_sub(pattern,replacement,column.get('content',''));
3787                            col_text      python:zmscontext.dt_html(zmscontext.renderText(format,'table_%i_%i'%(col_index,row_index),content,request),request)">
3788                        <td tal:condition="python:str(tag).lower()=='td'" tal:attributes="colspan python:column.get('colspan',1)">
3789                            <tal:block tal:condition="python:col_text" tal:content="structure col_text">The cell</tal:block>
3790                            <tal:block tal:condition="python:not (col_text)">&nbsp;</tal:block>
3791                        </td>
3792                        <th tal:condition="python:str(tag).lower()=='th'" tal:attributes="colspan python:column.get('colspan',1)">
3793                            <tal:block tal:condition="python:col_text" tal:content="structure col_text">The cell</tal:block>
3794                            <tal:block tal:condition="python:not (col_text)">&nbsp;</tal:block>
3795                        </th>
3796                        <td tal:condition="python:str(tag).lower() not in ['td','th']" style="background:transparent;"></td>
3797                    </tal:block>
3798                </tal:block>
3799            </tr>
3800        </tal:block>
3801    </table>
3802</tal:block>
3803
3804<!-- /ZMSTable.standard_html -->]]>
3805                  </item>
3806                  <item key="id"><![CDATA[standard_html]]></item>
3807                  <item key="mandatory" type="int">0</item>
3808                  <item key="multilang" type="int">0</item>
3809                  <item key="name"><![CDATA[Template: ZMSTable]]></item>
3810                  <item key="repetitive" type="int">0</item>
3811                  <item key="type"><![CDATA[zpt]]></item>
3812                  <item key="zpt"><![CDATA[<ZopePageTemplate at ZMSTable.standard_html>]]></item>
3813                </dictionary>
3814              </item>
3815            </list>
3816          </item>
3817          <item key="access" type="dictionary">
3818            <dictionary>
3819              <item key="delete" type="list">
3820                <list>
3821                  <item><![CDATA[ZMSAdministrator]]></item>
3822                  <item><![CDATA[ZMSAuthor]]></item>
3823                  <item><![CDATA[ZMSEditor]]></item>
3824                </list>
3825              </item>
3826              <item key="delete_custom"></item>
3827              <item key="insert" type="list">
3828                <list>
3829                  <item><![CDATA[ZMSAdministrator]]></item>
3830                  <item><![CDATA[ZMSAuthor]]></item>
3831                  <item><![CDATA[ZMSEditor]]></item>
3832                </list>
3833              </item>
3834              <item key="insert_custom"><![CDATA[{$}]]></item>
3835            </dictionary>
3836          </item>
3837          <item key="enabled" type="int">1</item>
3838          <item key="id"><![CDATA[ZMSTable]]></item>
3839          <item key="name"><![CDATA[ZMSTable]]></item>
3840          <item key="package"><![CDATA[com.zms.foundation]]></item>
3841          <item key="revision"><![CDATA[1.6.17]]></item>
3842          <item key="type"><![CDATA[ZMSObject]]></item>
3843        </dictionary>
3844      </item>
3845    </dictionary>
3846  </item>
3847  <item type="dictionary">
3848    <dictionary>
3849      <item key="key"><![CDATA[ZMSTeaserContainer]]></item>
3850      <item key="value" type="dictionary">
3851        <dictionary>
3852          <item key="__obj_attrs__" type="list">
3853            <list>
3854              <item type="dictionary">
3855                <dictionary>
3856                  <item key="custom">
3857                    <data content_type="image/gif" filename="zmsteasercontainer_16x16.gif" type="file">47494638396110001000b30000040284c48e0c848284fcee84fcfebcfc02fcfcd25cfcfe9c4c4e4c6c6e6cfcf274fcfeecfce26cfcfe84fcfed4fcfaac21f90401000005002c0000000010001000030470b084496b2858aecdfbba58e08c23408e5348ac00d102cf1a7cd273dc407edf62200483460eb018361a01422011381e8dcec061091c2800d701c0aa685219608636cce8229960433aac062e259680c13001bf256b867c694f64e2134c010802190502098989540985868f217790907711003b</data>
3858                  </item>
3859                  <item key="id"><![CDATA[icon]]></item>
3860                  <item key="mandatory" type="int">0</item>
3861                  <item key="multilang" type="int">0</item>
3862                  <item key="name"><![CDATA[Icon]]></item>
3863                  <item key="repetitive" type="int">0</item>
3864                  <item key="type"><![CDATA[resource]]></item>
3865                </dictionary>
3866              </item>
3867              <item type="dictionary">
3868                <dictionary>
3869                  <item key="custom">
3870                    <data content_type="image/gif" filename="zmsteasercontainer_disabled_16x16.gif" type="file">47494638396110001000b300004c4e4c848284d4d6d4eceaece4e2e4f4f6f4fc02fcdcdedcf4f2f46c6e6c8c8e8cdcdadcfcfafceceeece4e6e40000ff21f90401000006002c000000001000100003046bd0a849ab3258b2cd3bbb98e225de14220c92a86cf17d1252206ab2a688a8040ad2d824204d97500c068801f098ec298a474742493d3a8b87c582b0486cb584ab62cb2d8317c6a7c4a210082684700213d0dadb4fae3ac47e4e000119060140367e0981828a7c738b8e7b11003b</data>
3871                  </item>
3872                  <item key="id"><![CDATA[icon_disabled]]></item>
3873                  <item key="mandatory" type="int">0</item>
3874                  <item key="multilang" type="int">0</item>
3875                  <item key="name"><![CDATA[Icon (Disabled)]]></item>
3876                  <item key="repetitive" type="int">0</item>
3877                  <item key="type"><![CDATA[resource]]></item>
3878                </dictionary>
3879              </item>
3880              <item type="dictionary">
3881                <dictionary>
3882                  <item key="id"><![CDATA[interface]]></item>
3883                  <item key="mandatory" type="int">0</item>
3884                  <item key="multilang" type="int">0</item>
3885                  <item key="name"><![CDATA[<dtml-let
3886  teaserCntnr="this()"
3887  bgcolor_border="teaserCntnr.getObjProperty('attr_bgcolor_border',REQUEST)"
3888  bgcolor_title="teaserCntnr.getObjProperty('attr_bgcolor_title',REQUEST)"
3889  bgcolor_text="teaserCntnr.getObjProperty('attr_bgcolor_text',REQUEST)"
3890  element="[]">
3891
3892<dtml-call "element.append('<div class=\'ZMSTeaserElement\' style=\'width:30px;\'>')">
3893<dtml-call "element.append('<div align=\'center\' class=\'title\'')">
3894<dtml-if bgcolor_title><dtml-call "element.append(' style=\'background-color:%s\''%get_colormap().get(bgcolor_title,'transparent'))"></dtml-if>
3895<dtml-call "element.append('><img src=\'%s\' title=\'%s\' border=\'0\' width=\'24\' height=\'4\'></div>'%(spacer_gif,getZMILangStr('ATTR_TITLE')))">
3896<dtml-call "element.append('<div align=\'center\' class=\'text\'')">
3897<dtml-if bgcolor_text><dtml-call "element.append(' style=\'background-color:%s\''%get_colormap().get(bgcolor_text,'transparent'))"></dtml-if>
3898<dtml-call "element.append('><img src=\'%s\' title=\'%s\' border=\'0\' width=\'24\' height=\'4\'></div>'%(spacer_gif,getZMILangStr('ATTR_TEXT')))">
3899<dtml-call "element.append('</div>')">
3900<dtml-let element_icon="''.join(element)">
3901
3902<dtml-var "f_headline(_,_,headline=getZMILangStr('ATTR_BORDERSTYLE'))">
3903
3904<table cellspacing="2" cellpadding="1" border="0">
3905<tr valign="top">
3906
3907<dtml-comment> ##### Border-Style 1=SOLID ##### </dtml-comment>
3908   <td>
3909    <div class="form-element">
3910     <input class="form-radio" type="radio" name="attr_borderstyle:int" value="1"<dtml-if "getObjProperty('attr_borderstyle',REQUEST)==1"> checked="checked"</dtml-if>/>
3911     <dtml-var "getZMILangStr('OPT_AB_SOLID')">&nbsp;
3912    </div>
3913   </td>
3914   <td>
3915    <div id="Teaser" style="width:30px;">
3916     <div class="ZMSTeaserContainer" style="width:30px;margin-bottom:4px;<dtml-if bgcolor_border>background-color: <dtml-var "get_colormap().get(bgcolor_border,'black')">;</dtml-if>">
3917      <dtml-var element_icon>
3918      <dtml-var element_icon>
3919      <dtml-var element_icon>
3920     </div>
3921    </div>
3922   </td>
3923
3924<dtml-comment> ##### Border-Style 2=SINGLE ##### </dtml-comment>
3925   <td>
3926    <div class="form-element">
3927     <input class="form-radio" type="radio" name="attr_borderstyle:int" value="2"<dtml-if "getObjProperty('attr_borderstyle',REQUEST)==2"> checked="checked"</dtml-if>/>
3928     <dtml-var "getZMILangStr('OPT_AB_SINGLE')">&nbsp;
3929    </div>
3930   </td>
3931   <td>
3932    <div id="Teaser" style="width:30px;">
3933     <div class="ZMSTeaserContainer" style="width:30px;margin-bottom:4px;<dtml-if bgcolor_border>background-color: <dtml-var "get_colormap().get(bgcolor_border,'black')">;</dtml-if>">
3934      <dtml-var element_icon>
3935     </div>
3936     <div class="ZMSTeaserContainer" style="width:30px;margin-bottom:4px;<dtml-if bgcolor_border>background-color: <dtml-var "get_colormap().get(bgcolor_border,'black')">;</dtml-if>">
3937      <dtml-var element_icon>
3938     </div>
3939     <div class="ZMSTeaserContainer" style="width:30px;margin-bottom:4px;<dtml-if bgcolor_border>background-color: <dtml-var "get_colormap().get(bgcolor_border,'black')">;</dtml-if>">
3940      <dtml-var element_icon>
3941     </div>
3942    </div>
3943   </td>
3944
3945<dtml-comment> ##### Border-Style 3=NONE ##### </dtml-comment>
3946   <td>
3947    <div class="form-element">
3948     <input class="form-radio" type="radio" name="attr_borderstyle:int" value="3"<dtml-if "getObjProperty('attr_borderstyle',REQUEST)==3"> checked="checked"</dtml-if>/>
3949     <dtml-var "getZMILangStr('OPT_AB_NONE')">&nbsp;
3950    </div>
3951   </td>
3952   <td>
3953    <div id="Teaser" style="width:30px;">
3954     <dtml-var element_icon>
3955     <dtml-var element_icon>
3956     <dtml-var element_icon>
3957    </div>
3958   </td>
3959
3960</tr>
3961</table>
3962
3963<dtml-call "REQUEST.set('ZMS_HIDE_ELEMENTS',REQUEST.get('ZMS_HIDE_ELEMENTS',[])+['attr_borderstyle'])">
3964
3965<dtml-var "f_headline(_,_,headline=getZMILangStr('ATTR_BGCOLORS'))">
3966
3967</dtml-let>
3968</dtml-let>]]>
3969                  </item>
3970                  <item key="repetitive" type="int">0</item>
3971                  <item key="type"><![CDATA[interface]]></item>
3972                </dictionary>
3973              </item>
3974              <item type="dictionary">
3975                <dictionary>
3976                  <item key="default"><![CDATA[1]]></item>
3977                  <item key="id"><![CDATA[attr_borderstyle]]></item>
3978                  <item key="mandatory" type="int">1</item>
3979                  <item key="multilang" type="int">0</item>
3980                  <item key="name"><![CDATA[Border-Style]]></item>
3981                  <item key="repetitive" type="int">0</item>
3982                  <item key="type"><![CDATA[int]]></item>
3983                </dictionary>
3984              </item>
3985              <item type="dictionary">
3986                <dictionary>
3987                  <item key="default"><![CDATA[primColorStrong0]]></item>
3988                  <item key="id"><![CDATA[attr_bgcolor_border]]></item>
3989                  <item key="mandatory" type="int">0</item>
3990                  <item key="multilang" type="int">0</item>
3991                  <item key="name"><![CDATA[Background-Color (Border)]]></item>
3992                  <item key="repetitive" type="int">0</item>
3993                  <item key="type"><![CDATA[color]]></item>
3994                </dictionary>
3995              </item>
3996              <item type="dictionary">
3997                <dictionary>
3998                  <item key="default"><![CDATA[primColorLight0]]></item>
3999                  <item key="id"><![CDATA[attr_bgcolor_title]]></item>
4000                  <item key="mandatory" type="int">0</item>
4001                  <item key="multilang" type="int">0</item>
4002                  <item key="name"><![CDATA[Background-Color (Title)]]></item>
4003                  <item key="repetitive" type="int">0</item>
4004                  <item key="type"><![CDATA[color]]></item>
4005                </dictionary>
4006              </item>
4007              <item type="dictionary">
4008                <dictionary>
4009                  <item key="default"><![CDATA[neutralColorWhite]]></item>
4010                  <item key="id"><![CDATA[attr_bgcolor_text]]></item>
4011                  <item key="mandatory" type="int">0</item>
4012                  <item key="multilang" type="int">0</item>
4013                  <item key="name"><![CDATA[Background-Color (Text)]]></item>
4014                  <item key="repetitive" type="int">0</item>
4015                  <item key="type"><![CDATA[color]]></item>
4016                </dictionary>
4017              </item>
4018              <item type="dictionary">
4019                <dictionary>
4020                  <item key="id"><![CDATA[e]]></item>
4021                  <item key="keys" type="list">
4022                    <list>
4023                      <item><![CDATA[ZMSNote]]></item>
4024                      <item><![CDATA[ZMSFile]]></item>
4025                      <item><![CDATA[ZMSLinkElement]]></item>
4026                      <item><![CDATA[type(ZMSTeaserElement)]]></item>
4027                    </list>
4028                  </item>
4029                  <item key="mandatory" type="int">0</item>
4030                  <item key="multilang" type="int">0</item>
4031                  <item key="name"><![CDATA[Teaser-Elements]]></item>
4032                  <item key="repetitive" type="int">1</item>
4033                  <item key="type"><![CDATA[*]]></item>
4034                </dictionary>
4035              </item>
4036              <item type="dictionary">
4037                <dictionary>
4038                  <item key="custom"><![CDATA[## Script (Python) "getTeaserElements"
4039##bind container=container
4040##bind context=context
4041##bind namespace=
4042##bind script=script
4043##bind subpath=traverse_subpath
4044##parameters=
4045##title=Function: Teaser-Elements
4046##
4047# --// BO getTeaserElements //--
4048
4049request = container.REQUEST
4050teaserElmnts = []
4051obs = context.breadcrumbs_obj_path(portalMaster=False)
4052obs.reverse()
4053this = context.getSelf()
4054for ob in obs:
4055  abort_penetrance = ob != this and ob.meta_type == 'ZMSLinkElement'
4056  if abort_penetrance:
4057    break
4058  temp = []
4059  subobs = ob.filteredChildNodes( request, ['ZMSCustom','ZMSTeaserContainer'])
4060  for subob in subobs:
4061    if subob.meta_id == 'ZMSTeaserContainer':
4062      temp.extend( subob.filteredChildNodes( request))
4063    elif subob.getType() == 'ZMSTeaserElement':
4064      temp.append( subob)
4065  for teaserElmnt in temp:
4066    penetrance = teaserElmnt.getObjProperty('attr_penetrance',request)
4067    if ( penetrance in [0,'this',''] and context == ob) or \
4068       ( penetrance in [1,'sub_nav'] and context.meta_id in ['ZMS','ZMSFolder']) or \
4069       ( penetrance in [2,'sub_all']):
4070      teaserElmnts.insert( 0, teaserElmnt)
4071  abort_penetrance = ob.getObjProperty('attr_zmsteasercontainer_abort_penetrance',request) not in ['',0]
4072  if abort_penetrance:
4073    break
4074teaserElmnts.reverse()
4075return teaserElmnts
4076
4077# --// EO getTeaserElements //--
4078]]>
4079                  </item>
4080                  <item key="id"><![CDATA[getTeaserElements]]></item>
4081                  <item key="mandatory" type="int">0</item>
4082                  <item key="multilang" type="int">0</item>
4083                  <item key="name"><![CDATA[Function: Teaser-Elements]]></item>
4084                  <item key="repetitive" type="int">0</item>
4085                  <item key="type"><![CDATA[Script (Python)]]></item>
4086                </dictionary>
4087              </item>
4088              <item type="dictionary">
4089                <dictionary>
4090                  <item key="custom"><![CDATA[## Script (Python) "pageelement_Teaser"
4091##bind container=container
4092##bind context=context
4093##bind namespace=
4094##bind script=script
4095##bind subpath=traverse_subpath
4096##parameters=here=None,request=None
4097##title=Template: Teaser
4098##
4099# --// BO pageelement_Teaser //--
4100
4101request = container.REQUEST
4102RESPONSE =  request.RESPONSE
4103
4104last_borderstyle = None
4105last_bgcolor_border = None
4106teaserElmnts = context.getTeaserElements()
4107if teaserElmnts:
4108  print '<div id="teaser">'
4109  for teaserElmnt in teaserElmnts:
4110    teaserCntnr = teaserElmnt.getParentNode()
4111    borderstyle = teaserCntnr.attr('attr_borderstyle')
4112    bgcolor_border = teaserCntnr.attr('attr_bgcolor_border')
4113    request.set('bgcolor_title',teaserCntnr.attr('attr_bgcolor_title'))
4114    request.set('bgcolor_text',teaserCntnr.attr('attr_bgcolor_text'))
4115    if last_borderstyle != borderstyle or \
4116       last_bgcolor_border != bgcolor_border or \
4117       borderstyle == 2:
4118      if last_borderstyle is not None and \
4119         last_bgcolor_border is not None:
4120        if last_borderstyle != 3:
4121          print '</div>'
4122      if borderstyle != 3:
4123        print '<div class="%s"'%teaserCntnr.meta_id
4124        if bgcolor_border:
4125          print ' style="background-color:%s;"'%teaserElmnt.get_colormap().get(bgcolor_border,'transparent')
4126        print '>'
4127    if teaserElmnt.meta_id in ['ZMSLinkElement','ZMSFile','ZMSTeaserElement']:
4128      name = 'pageelement_TeaserElement'
4129    else:
4130      name = 'bodyContentZMSCustom_%s'%teaserElmnt.meta_id
4131    method = getattr(teaserElmnt,name)
4132    method_result = method(teaserElmnt,request)
4133    try:
4134      method_result = unicode(method_result,'utf-8')
4135    except:
4136      pass
4137    print method_result
4138    last_borderstyle = borderstyle
4139    last_bgcolor_border = bgcolor_border
4140  if last_borderstyle is not None and \
4141     last_bgcolor_border is not None:
4142    if last_borderstyle != 3:
4143      print '</div>'
4144  print '</div>'
4145
4146return unicode(printed).encode('utf-8')
4147
4148# --// EO pageelement_Teaser //--
4149]]>
4150                  </item>
4151                  <item key="id"><![CDATA[pageelement_Teaser]]></item>
4152                  <item key="mandatory" type="int">0</item>
4153                  <item key="multilang" type="int">0</item>
4154                  <item key="name"><![CDATA[Template: Teaser]]></item>
4155                  <item key="repetitive" type="int">0</item>
4156                  <item key="type"><![CDATA[Script (Python)]]></item>
4157                </dictionary>
4158              </item>
4159              <item type="dictionary">
4160                <dictionary>
4161                  <item key="custom"><![CDATA[<!-- ZMSTeaserContainer.renderShort -->
4162
4163<tal:block tal:define="global
4164                zmscontext options/zmscontext">
4165        <div class="form-small" tal:repeat="teaserElmnt python:zmscontext.getChildNodes(request)">
4166                <a tal:attributes="href python:'%s/manage_main?lang=%s'%(teaserElmnt.absolute_url(),request['lang'])">
4167                        <img tal:attributes="src python:'%sinternal_link.gif'%zmscontext.MISC_ZMS; title python:zmscontext.getZMILangStr('CAPTION_EDIT')%teaserElmnt.display_type(request)" width="16" height="16" border="0" align="absmiddle"/>
4168                </a>
4169                <tal:block tal:define="global
4170                                url      python:zmscontext.getLinkUrl(teaserElmnt.attr('attr_url'));
4171                                img_src  python:teaserElmnt.attr('attr_img_src')+'?';
4172                                title    python:teaserElmnt.attr('title');
4173                                abstract python:zmscontext.search_quote(teaserElmnt.attr('attr_abstract'))">
4174                        <tal:block tal:condition="python:title">
4175                                <a tal:condition="python:url" tal:attributes="href url" target="_blank" class="zmi" tal:content="title"><b>The title</b></a>
4176                                <tal:block tal:condition="python:not url" tal:content="title">The title</tal:block>
4177                        </tal:block>
4178                        <tal:block tal:condition="python:not title">
4179                                <tal:block tal:condition="python:img_src">
4180                                        <div><i>&laquo;<span tal:omit-tag="" tal:content="python:img_src[img_src.rfind('/')+1:img_src.find('?')]"></span>&raquo;</i></div>
4181                                </tal:block>
4182                        </tal:block>
4183                        <div tal:content="structure abstract">The abstract</div>
4184                </tal:block>
4185        </div>
4186</tal:block>
4187
4188
4189<!-- /ZMSTeaserContainer.renderShort -->]]>
4190                  </item>
4191                  <item key="id"><![CDATA[renderShort]]></item>
4192                  <item key="mandatory" type="int">0</item>
4193                  <item key="multilang" type="int">0</item>
4194                  <item key="name"><![CDATA[ZMI: Render short]]></item>
4195                  <item key="repetitive" type="int">0</item>
4196                  <item key="type"><![CDATA[zpt]]></item>
4197                  <item key="zpt"><![CDATA[<ZopePageTemplate at ZMSTeaserContainer.renderShort>]]></item>
4198                </dictionary>
4199              </item>
4200            </list>
4201          </item>
4202          <item key="access" type="dictionary">
4203            <dictionary>
4204              <item key="delete" type="list">
4205                <list>
4206                  <item><![CDATA[ZMSAdministrator]]></item>
4207                  <item><![CDATA[ZMSAuthor]]></item>
4208                  <item><![CDATA[ZMSEditor]]></item>
4209                </list>
4210              </item>
4211              <item key="delete_custom"></item>
4212              <item key="insert" type="list">
4213                <list>
4214                  <item><![CDATA[ZMSAdministrator]]></item>
4215                  <item><![CDATA[ZMSAuthor]]></item>
4216                  <item><![CDATA[ZMSEditor]]></item>
4217                </list>
4218              </item>
4219              <item key="insert_custom"><![CDATA[{$}]]></item>
4220            </dictionary>
4221          </item>
4222          <item key="enabled" type="int">1</item>
4223          <item key="id"><![CDATA[ZMSTeaserContainer]]></item>
4224          <item key="name"><![CDATA[ZMSTeaserContainer]]></item>
4225          <item key="package"><![CDATA[com.zms.foundation]]></item>
4226          <item key="revision"><![CDATA[1.2.3]]></item>
4227          <item key="type"><![CDATA[ZMSObject]]></item>
4228        </dictionary>
4229      </item>
4230    </dictionary>
4231  </item>
4232  <item type="dictionary">
4233    <dictionary>
4234      <item key="key"><![CDATA[ZMSTeaserElement]]></item>
4235      <item key="value" type="dictionary">
4236        <dictionary>
4237          <item key="__obj_attrs__" type="list">
4238            <list>
4239              <item type="dictionary">
4240                <dictionary>
4241                  <item key="custom">
4242                    <data content_type="image/gif" filename="zmsteaserelement_16x16.gif" type="file">47494638396110001000b30000040284c48e0cfcf88cfcfed5fcca54fcf173fcfaacfcfeedfce270fc02fcfcfe84fcee84fcfebdfcd664fcfe9cfcfefc21f90401000009002c000000001000100003045330c949eb0c38eb40c3f960787052309c27809e64123030c0c832dc0686a303bca23b378182073810158a2072d85bde168502404a8dde10588434abbd36b05f44b8d1726d020d72d95222acd9a537dc35af2722003b</data>
4243                  </item>
4244                  <item key="id"><![CDATA[icon]]></item>
4245                  <item key="mandatory" type="int">0</item>
4246                  <item key="multilang" type="int">0</item>
4247                  <item key="name"><![CDATA[Icon]]></item>
4248                  <item key="repetitive" type="int">0</item>
4249                  <item key="type"><![CDATA[resource]]></item>
4250                </dictionary>
4251              </item>
4252              <item type="dictionary">
4253                <dictionary>
4254                  <item key="custom">
4255                    <data content_type="image/gif" filename="zmsteaserelement_disabled_16x16.gif" type="file">47494638396110001000b30000fc02fc8c8e8ccccecce4e6e4f4f2f4dcdadceceeecfcfafce4e2e4d4d6d4eceaecf4f6f4dcdedc0000ff0000ff0000ff21f90401000000002c000000001000100003045110c849eb0c38eb40c3f960787092179a200904c44178f0d2aa6cfb62eeb2d0c60d6384d745a130183284e2713850049c5084f3522820aa81ab1541b37ab5576e6713282430164b40a04a8fdde9363c1d01003b</data>
4256                  </item>
4257                  <item key="id"><![CDATA[icon_disabled]]></item>
4258                  <item key="mandatory" type="int">0</item>
4259                  <item key="multilang" type="int">0</item>
4260                  <item key="name"><![CDATA[Icon (Disabled)]]></item>
4261                  <item key="repetitive" type="int">0</item>
4262                  <item key="type"><![CDATA[resource]]></item>
4263                </dictionary>
4264              </item>
4265              <item type="dictionary">
4266                <dictionary>
4267                  <item key="id"><![CDATA[attr_penetrance]]></item>
4268                  <item key="keys" type="list">
4269                    <list>
4270                      <item><![CDATA[this]]></item>
4271                      <item><![CDATA[sub_nav]]></item>
4272                      <item><![CDATA[sub_all]]></item>
4273                    </list>
4274                  </item>
4275                  <item key="mandatory" type="int">1</item>
4276                  <item key="multilang" type="int">0</item>
4277                  <item key="name"><![CDATA[Penetrance]]></item>
4278                  <item key="repetitive" type="int">0</item>
4279                  <item key="type"><![CDATA[select]]></item>
4280                </dictionary>
4281              </item>
4282              <item type="dictionary">
4283                <dictionary>
4284                  <item key="default"><![CDATA[2]]></item>
4285                  <item key="id"><![CDATA[displaytype]]></item>
4286                  <item key="mandatory" type="int">1</item>
4287                  <item key="multilang" type="int">0</item>
4288                  <item key="name"><![CDATA[Display-Type]]></item>
4289                  <item key="repetitive" type="int">0</item>
4290                  <item key="type"><![CDATA[int]]></item>
4291                </dictionary>
4292              </item>
4293              <item type="dictionary">
4294                <dictionary>
4295                  <item key="id"><![CDATA[attr_url]]></item>
4296                  <item key="mandatory" type="int">0</item>
4297                  <item key="multilang" type="int">1</item>
4298                  <item key="name"><![CDATA[Url]]></item>
4299                  <item key="repetitive" type="int">0</item>
4300                  <item key="type"><![CDATA[url]]></item>
4301                </dictionary>
4302              </item>
4303              <item type="dictionary">
4304                <dictionary>
4305                  <item key="id"><![CDATA[attr_img]]></item>
4306                  <item key="mandatory" type="int">0</item>
4307                  <item key="multilang" type="int">1</item>
4308                  <item key="name"><![CDATA[Image]]></item>
4309                  <item key="repetitive" type="int">0</item>
4310                  <item key="type"><![CDATA[image]]></item>
4311                </dictionary>
4312              </item>
4313              <item type="dictionary">
4314                <dictionary>
4315                  <item key="id"><![CDATA[title]]></item>
4316                  <item key="mandatory" type="int">0</item>
4317                  <item key="multilang" type="int">1</item>
4318                  <item key="name"><![CDATA[Title]]></item>
4319                  <item key="repetitive" type="int">0</item>
4320                  <item key="type"><![CDATA[string]]></item>
4321                </dictionary>
4322              </item>
4323              <item type="dictionary">
4324                <dictionary>
4325                  <item key="id"><![CDATA[text]]></item>
4326                  <item key="mandatory" type="int">0</item>
4327                  <item key="multilang" type="int">1</item>
4328                  <item key="name"><![CDATA[Text]]></item>
4329                  <item key="repetitive" type="int">0</item>
4330                  <item key="type"><![CDATA[richtext]]></item>
4331                </dictionary>
4332              </item>
4333              <item type="dictionary">
4334                <dictionary>
4335                  <item key="custom"><![CDATA[## Script (Python) "ZMSTeaserElement.attr_img_src"
4336##bind container=container
4337##bind context=context
4338##bind namespace=
4339##bind script=script
4340##bind subpath=traverse_subpath
4341##parameters=zmscontext
4342##title=py: Alias: Image
4343##
4344# --// BO attr_img_src //--
4345
4346img = zmscontext.attr('attr_img')
4347if img:
4348    return img.getHref(zmscontext.REQUEST)
4349return ''
4350
4351# --// EO attr_img_src //--
4352]]>
4353                  </item>
4354                  <item key="id"><![CDATA[attr_img_src]]></item>
4355                  <item key="mandatory" type="int">0</item>
4356                  <item key="multilang" type="int">0</item>
4357                  <item key="name"><![CDATA[Alias: Image]]></item>
4358                  <item key="py"><![CDATA[<PythonScript at ZMSTeaserElement.attr_img_src>]]></item>
4359                  <item key="repetitive" type="int">0</item>
4360                  <item key="type"><![CDATA[py]]></item>
4361                </dictionary>
4362              </item>
4363              <item type="dictionary">
4364                <dictionary>
4365                  <item key="custom"><![CDATA[## Script (Python) "ZMSTeaserElement.attr_abstract"
4366##bind container=container
4367##bind context=context
4368##bind namespace=
4369##bind script=script
4370##bind subpath=traverse_subpath
4371##parameters=zmscontext
4372##title=py: Alias: Abstract
4373##
4374# --// BO attr_abstract //--
4375
4376return zmscontext.attr('text')
4377
4378# --// EO attr_abstract //--
4379]]>
4380                  </item>
4381                  <item key="id"><![CDATA[attr_abstract]]></item>
4382                  <item key="mandatory" type="int">0</item>
4383                  <item key="multilang" type="int">0</item>
4384                  <item key="name"><![CDATA[Alias: Abstract]]></item>
4385                  <item key="py"><![CDATA[<PythonScript at ZMSTeaserElement.attr_abstract>]]></item>
4386                  <item key="repetitive" type="int">0</item>
4387                  <item key="type"><![CDATA[py]]></item>
4388                </dictionary>
4389              </item>
4390              <item type="dictionary">
4391                <dictionary>
4392                  <item key="custom"><![CDATA[<!-- pageelement_TeaserElement -->
4393
4394        <span tal:omit-tag="" tal:define="global
4395                bgcolor_title python:request.get('bgcolor_title');
4396                bgcolor_text  python:request.get('bgcolor_text');
4397                url           python:here.getLinkUrl(here.attr('attr_url'),request);
4398                img_src_attr  python:here.attr('attr_img_src');
4399                img_src       python:img_src_attr+'?';
4400                img_filename  python:img_src[img_src.rfind('/')+1:img_src.find('?')];
4401                title_url     python:here.attr('title');
4402                title_txt     python:title_url;
4403                abstract      python:here.attr('attr_abstract')">
4404               
4405                <span tal:omit-tag="" tal:define="global styles python:[]">
4406                        <span tal:omit-tag="" tal:condition="bgcolor_title" tal:define="global styles python:styles+['background-color:'+here.get_colormap().get(bgcolor_title,'transparent')]">
4407                        </span>
4408                </span>
4409                <div class="ZMSTeaserElement" tal:attributes="style python:''.join(styles)">
4410                       
4411                        <span tal:omit-tag="" tal:condition="python:len(title_url) > 4 and title_url.startswith('__') and title_url.endswith('__')">
4412                                <span tal:omit-tag="" tal:define="global title_url python:title_url[2:-2]; title_txt python:''"></span>
4413                        </span>
4414                       
4415                        <span tal:omit-tag="" tal:condition="python:title_txt or img_filename" tal:define="global
4416                                        displaytype python:here.dctDisplaytype.get(str(here.attr('displaytype')),'left');
4417                                        img         python:'<img class=\042title\042 src=\042'+img_src_attr+'\042 alt=\042'+title_txt+'\042 border=\0420\042/>'">
4418                                       
4419                                <span tal:omit-tag="" tal:condition="python:displaytype=='top'">
4420                                        <div class="graphic" tal:condition="python:img_filename">
4421                                                <a tal:condition="python:url" tal:attributes="href url; title title_url" tal:content="structure img">The image</a>
4422                                                <span tal:condition="python:not url" tal:omit-tag="" tal:content="structure img">The image</span>
4423                                        </div>
4424                                        <div class="title" tal:condition="python:title_txt">
4425                                                <a tal:condition="python:url" tal:attributes="href url; title title_url" tal:content="structure title_txt">The title</a>
4426                                                <span tal:condition="python:not url" tal:omit-tag="" tal:content="structure title_txt">The title</span>
4427                                        </div>
4428                                </span>
4429                               
4430                                <span tal:omit-tag="" tal:condition="python:displaytype=='right'">
4431                                        <div class="graphic" tal:condition="python:img_filename">
4432                                                <a tal:condition="python:url" tal:attributes="href url; title title_url" tal:content="structure img">The image</a>
4433                                                <span tal:condition="python:not url" tal:omit-tag="" tal:content="structure img">The image</span>
4434                                        </div>
4435                                        <div class="title" tal:condition="python:title_txt">
4436                                                <a tal:condition="python:url" tal:attributes="href url; title title_url" tal:content="structure title_txt">The title</a>
4437                                                <span tal:condition="python:not url" tal:omit-tag="" tal:content="structure title_txt">The title</span>
4438                                        </div>
4439                                        <div class="clearfloating" style="clear:both">&nbsp;</div>
4440                                </span>
4441                               
4442                                <span tal:omit-tag="" tal:condition="python:displaytype=='bottom'">
4443                                        <div class="title" tal:condition="python:title_txt">
4444                                                <a tal:condition="python:url" tal:attributes="href url; title title_url" tal:content="structure title_txt">The title</a>
4445                                                <span tal:condition="python:not url" tal:omit-tag="" tal:content="structure title_txt">The title</span>
4446                                        </div>
4447                                        <div class="graphic" tal:condition="python:img_filename">
4448                                                <a tal:condition="python:url" tal:attributes="href url; title title_url" tal:content="structure img">The image</a>
4449                                                <span tal:condition="python:not url" tal:omit-tag="" tal:content="structure img">The image</span>
4450                                        </div>
4451                                </span>
4452                               
4453                                <span tal:omit-tag="" tal:condition="python:displaytype=='left'">
4454                                        <div class="graphic" tal:condition="python:img_filename">
4455                                                <a tal:condition="python:url" tal:attributes="href url; title title_url" tal:content="structure img">The image</a>
4456                                                <span tal:condition="python:not url" tal:omit-tag="" tal:content="structure img">The image</span>
4457                                        </div>
4458                                        <div class="title" tal:condition="python:title_txt">
4459                                                <a tal:condition="python:url" tal:attributes="href url; title title_url" tal:content="structure title_txt">The title</a>
4460                                                <span tal:condition="python:not url" tal:omit-tag="" tal:content="structure title_txt">The title</span>
4461                                        </div>
4462                                        <div class="clearfloating" style="clear:both">&nbsp;</div>
4463                                </span>
4464                               
4465                                <span tal:omit-tag="" tal:define="global styles python:[]">
4466                                        <span tal:omit-tag="" tal:condition="bgcolor_text" tal:define="global styles python:styles+['background-color:'+here.get_colormap().get(bgcolor_text,'transparent')]">
4467                                        </span>
4468                                </span>
4469                                <div tal:condition="python:len(abstract)+len(url)>0" class="text" tal:attributes="style python:''.join(styles)">
4470                                        <span tal:omit-tag="" tal:content="structure abstract">The abstract</span>
4471                                        <span tal:omit-tag="" tal:condition="python:len(abstract)>0 and len(url)>0" tal:content="structure python:here.getLangStr('HREF_MORE',request['lang'])%(' href=\042%s\042 title=\042%s\042'%(url,title_url))">The url</span>
4472                                </div>
4473                               
4474                        </span>
4475                       
4476                </div>
4477        </span>
4478
4479<!-- /pageelement_TeaserElement -->]]>
4480                  </item>
4481                  <item key="id"><![CDATA[pageelement_TeaserElement]]></item>
4482                  <item key="mandatory" type="int">0</item>
4483                  <item key="multilang" type="int">0</item>
4484                  <item key="name"><![CDATA[Template: Teaser-Element]]></item>
4485                  <item key="repetitive" type="int">0</item>
4486                  <item key="type"><![CDATA[Page Template]]></item>
4487                </dictionary>
4488              </item>
4489              <item type="dictionary">
4490                <dictionary>
4491                  <item key="custom"><![CDATA[<!-- ZMSTeaserElement.standard_html -->
4492
4493<tal:block tal:define="global
4494                zmscontext options/zmscontext;
4495                teaserCntnr     python:zmscontext.getParentNode();
4496                subclass        python:[teaserCntnr.meta_id];
4497                style           python:[];
4498                bgcolor_border  python:teaserCntnr.attr('attr_bgcolor_border');
4499                bgcolor_title   python:teaserCntnr.attr('attr_bgcolor_title');
4500                bgcolor_text    python:teaserCntnr.attr('attr_bgcolor_text')">
4501        <div tal:condition="python:request.get('URL','').find('/manage')>0" id="teaser">
4502                <tal:block tal:condition="python:bgcolor_border">
4503                        <tal:block tal:define="global style python:style+['border: 1px solid '+zmscontext.get_colormap().get(bgcolor_border,'black')]"></tal:block>
4504                </tal:block>
4505                <div tal:attributes="class python:' '.join(subclass); style python:' '.join(style)" tal:content="structure python:zmscontext.pageelement_TeaserElement(zmscontext,request)">
4506                        The teaser-element
4507                </div>
4508        </div>
4509        <div tal:condition="python:not (request.get('URL','').find('/manage')>0)" tal:attributes="class python:' '.join(subclass); style python:' '.join(style)" tal:content="structure python:zmscontext.pageelement_TeaserElement(zmscontext,request)">
4510                The teaser-element
4511        </div>
4512</tal:block>
4513
4514<!-- /ZMSTeaserElement.standard_html -->]]>
4515                  </item>
4516                  <item key="id"><![CDATA[standard_html]]></item>
4517                  <item key="mandatory" type="int">0</item>
4518                  <item key="multilang" type="int">0</item>
4519                  <item key="name"><![CDATA[Template: ZMSTeaserElement]]></item>
4520                  <item key="repetitive" type="int">0</item>
4521                  <item key="type"><![CDATA[zpt]]></item>
4522                  <item key="zpt"><![CDATA[<ZopePageTemplate at ZMSTeaserElement.standard_html>]]></item>
4523                </dictionary>
4524              </item>
4525            </list>
4526          </item>
4527          <item key="access" type="dictionary">
4528            <dictionary>
4529              <item key="delete" type="list">
4530                <list>
4531                  <item><![CDATA[ZMSAdministrator]]></item>
4532                  <item><![CDATA[ZMSAuthor]]></item>
4533                  <item><![CDATA[ZMSEditor]]></item>
4534                </list>
4535              </item>
4536              <item key="delete_custom"></item>
4537              <item key="insert" type="list">
4538                <list>
4539                  <item><![CDATA[ZMSAdministrator]]></item>
4540                  <item><![CDATA[ZMSAuthor]]></item>
4541                  <item><![CDATA[ZMSEditor]]></item>
4542                </list>
4543              </item>
4544              <item key="insert_custom"><![CDATA[{$}]]></item>
4545            </dictionary>
4546          </item>
4547          <item key="enabled" type="int">1</item>
4548          <item key="id"><![CDATA[ZMSTeaserElement]]></item>
4549          <item key="name"><![CDATA[ZMSTeaserElement]]></item>
4550          <item key="package"><![CDATA[com.zms.foundation]]></item>
4551          <item key="revision"><![CDATA[1.3.0]]></item>
4552          <item key="type"><![CDATA[ZMSTeaserElement]]></item>
4553        </dictionary>
4554      </item>
4555    </dictionary>
4556  </item>
4557  <item type="dictionary">
4558    <dictionary>
4559      <item key="key"><![CDATA[ZMSTextarea]]></item>
4560      <item key="value" type="dictionary">
4561        <dictionary>
4562          <item key="__obj_attrs__" type="list">
4563            <list>
4564              <item type="dictionary">
4565                <dictionary>
4566                  <item key="custom">
4567                    <data content_type="image/gif" filename="zmstextarea_16x16.gif" type="file">47494638396110001000b300000402847784b4b5d5fc87a8d9d3e8fb62689754a6ecf8fcfc727aa6fc02fc91b9e9bcbec48498c8c6e0f9a4b8f8e7eff521f90401000009002c000000001000100003046a30b9416b45296777ba7f4f130c5aa278e8d12006a39dc722cf031204da901e602338988cee00281a0104024e887a109c84c64ac3e81c8dd260a2fa383c93529f3600ba16058231081a460b0a1a32614647c33308b6d46dd720a4513e7c6f7e088687880877258c8d0911003b</data>
4568                  </item>
4569                  <item key="id"><![CDATA[icon]]></item>
4570                  <item key="mandatory" type="int">0</item>
4571                  <item key="multilang" type="int">0</item>
4572                  <item key="name"><![CDATA[Icon]]></item>
4573                  <item key="repetitive" type="int">0</item>
4574                  <item key="type"><![CDATA[resource]]></item>
4575                </dictionary>
4576              </item>
4577              <item type="dictionary">
4578                <dictionary>
4579                  <item key="custom">
4580                    <data content_type="image/gif" filename="zmstextarea_disabled_16x16.gif" type="file">47494638396110001000f700006666666b6b6b7373737b7b7bff00ff8181818c8c8c9d9d9da5a5a5bbbbbbcececed7d7d7dddddde3e3e3ebebebfafafa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021f90401000004002c00000000100010000708900009244040b060c1020412264cf0a0a143070e161440a050a0c38b0f181438704021828609428a3c50a0a4478c0f203650900061c28f0f38cae4d8a0c10085072e4274509301839b0973c69cc9d12750020652eeecc9608102010a0d4024ca51c1d3a84b1bf8746a156ac2023c458ab51a4061819a5a9b5a5d5b36e1009f5bd7ae05a07080ddbb78edd2adc8b76fc280003b</data>
4581                  </item>
4582                  <item key="id"><![CDATA[icon_disabled]]></item>
4583                  <item key="mandatory" type="int">0</item>
4584                  <item key="multilang" type="int">0</item>
4585                  <item key="name"><![CDATA[Icon (Disabled)]]></item>
4586                  <item key="repetitive" type="int">0</item>
4587                  <item key="type"><![CDATA[resource]]></item>
4588                </dictionary>
4589              </item>
4590              <item type="dictionary">
4591                <dictionary>
4592                  <item key="default"><![CDATA[<dtml-return "getTextFormatDefault()">]]></item>
4593                  <item key="id"><![CDATA[format]]></item>
4594                  <item key="mandatory" type="int">1</item>
4595                  <item key="multilang" type="int">0</item>
4596                  <item key="name"><![CDATA[Format]]></item>
4597                  <item key="repetitive" type="int">0</item>
4598                  <item key="type"><![CDATA[string]]></item>
4599                </dictionary>
4600              </item>
4601              <item type="dictionary">
4602                <dictionary>
4603                  <item key="id"><![CDATA[text]]></item>
4604                  <item key="mandatory" type="int">0</item>
4605                  <item key="multilang" type="int">1</item>
4606                  <item key="name"><![CDATA[Text]]></item>
4607                  <item key="repetitive" type="int">0</item>
4608                  <item key="type"><![CDATA[richtext]]></item>
4609                </dictionary>
4610              </item>
4611              <item type="dictionary">
4612                <dictionary>
4613                  <item key="id"><![CDATA[interface0]]></item>
4614                  <item key="mandatory" type="int">0</item>
4615                  <item key="multilang" type="int">0</item>
4616                  <item key="name"><![CDATA[<script type="text/javascript">
4617
4618function onZMSTextareaFormSubmit() {
4619        var b = true;
4620        if (self.btnClicked != getZMILangStr('BTN_CANCEL') &&
4621                        self.btnClicked != getZMILangStr('BTN_BACK')) {
4622                var txt = '<xml>'+$('#text_'+getZMILang()).val().replace('&','')+'</xml>';
4623                if ( txt.indexOf( '<'+'dtml-') < 0) {
4624                        try {
4625                                var xmlString = txt.replace(/\&(\w*)\;/g,'');
4626                                if (window.DOMParser) {
4627                                        var parser=new DOMParser();
4628                                        var doc=parser.parseFromString(xmlString,"text/xml");
4629                                        if ( doc.childNodes[0].nodeName == 'parsererror') {
4630                                                b = confirm(getZMILangStr('CAPTION_WARNING')+'\n'+doc.childNodes[0].childNodes[0].nodeValue+'\n'+getZMILangStr('MSG_CHANGE_ANYWAY')+'\n');
4631                                        }
4632                                } else if (window.ActiveXObject) {
4633                                        var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
4634                                        xmlDoc.async="false";
4635                                        xmlDoc.loadXML(xmlString);
4636                                        if ( xmlDoc.childNodes.length == 0) {
4637                                                b = confirm(getZMILangStr('CAPTION_WARNING')+'\n'+'Invalid (X)HTML!\n'+getZMILangStr('MSG_CHANGE_ANYWAY')+'\n');
4638                                        }
4639                                }
4640                        }
4641                        catch(e) {
4642                                alert(e.message);
4643                        }
4644                }
4645        }
4646        if (!b) {
4647                return b;
4648        }
4649        return onFormSubmit('<dtml-var fmName>');
4650}
4651
4652$(function() {
4653        $("form[name=<dtml-var fmName>]").submit( onZMSTextareaFormSubmit);
4654});
4655
4656</script>]]>
4657                  </item>
4658                  <item key="repetitive" type="int">0</item>
4659                  <item key="type"><![CDATA[interface]]></item>
4660                </dictionary>
4661              </item>
4662              <item type="dictionary">
4663                <dictionary>
4664                  <item key="custom"><![CDATA[<!-- ZMSTextarea.standard_html -->
4665
4666<tal:block tal:define="global
4667                zmscontext options/zmscontext;
4668                text          python:unicode(zmscontext.getText(request),'utf-8');
4669                format        python:unicode(zmscontext.attr('format'),'utf-8');
4670                renderedText  python:zmscontext.renderText(format,'text',text,request,zmscontext.id)"
4671                tal:content="structure renderedText">
4672        The text
4673</tal:block>
4674
4675<!-- /ZMSTextarea.standard_html -->]]>
4676                  </item>
4677                  <item key="id"><![CDATA[standard_html]]></item>
4678                  <item key="mandatory" type="int">0</item>
4679                  <item key="multilang" type="int">0</item>
4680                  <item key="name"><![CDATA[Template: ZMSTextarwa]]></item>
4681                  <item key="repetitive" type="int">0</item>
4682                  <item key="type"><![CDATA[zpt]]></item>
4683                  <item key="zpt"><![CDATA[<ZopePageTemplate at ZMSTextarea.standard_html>]]></item>
4684                </dictionary>
4685              </item>
4686            </list>
4687          </item>
4688          <item key="access" type="dictionary">
4689            <dictionary>
4690              <item key="delete" type="list">
4691                <list>
4692                  <item><![CDATA[ZMSAdministrator]]></item>
4693                  <item><![CDATA[ZMSAuthor]]></item>
4694                  <item><![CDATA[ZMSEditor]]></item>
4695                </list>
4696              </item>
4697              <item key="delete_custom"></item>
4698              <item key="insert" type="list">
4699                <list>
4700                  <item><![CDATA[ZMSAdministrator]]></item>
4701                  <item><![CDATA[ZMSAuthor]]></item>
4702                  <item><![CDATA[ZMSEditor]]></item>
4703                </list>
4704              </item>
4705              <item key="insert_custom"><![CDATA[{$}]]></item>
4706            </dictionary>
4707          </item>
4708          <item key="enabled" type="int">1</item>
4709          <item key="id"><![CDATA[ZMSTextarea]]></item>
4710          <item key="name"><![CDATA[ZMSTextarea]]></item>
4711          <item key="package"><![CDATA[com.zms.foundation]]></item>
4712          <item key="revision"><![CDATA[1.3.0]]></item>
4713          <item key="type"><![CDATA[ZMSObject]]></item>
4714        </dictionary>
4715      </item>
4716    </dictionary>
4717  </item>
4718  <item type="dictionary">
4719    <dictionary>
4720      <item key="key"><![CDATA[com.zms.foundation]]></item>
4721      <item key="value" type="dictionary">
4722        <dictionary>
4723          <item key="__obj_attrs__" type="list">
4724            <list>
4725            </list>
4726          </item>
4727          <item key="access" type="dictionary">
4728            <dictionary>
4729              <item key="delete" type="list">
4730                <list>
4731                </list>
4732              </item>
4733              <item key="delete_custom"></item>
4734              <item key="insert" type="list">
4735                <list>
4736                </list>
4737              </item>
4738              <item key="insert_custom"></item>
4739            </dictionary>
4740          </item>
4741          <item key="enabled" type="int">0</item>
4742          <item key="id"><![CDATA[com.zms.foundation]]></item>
4743          <item key="name"><![CDATA[com.zms.foundation]]></item>
4744          <item key="package"></item>
4745          <item key="revision"><![CDATA[1.3.0]]></item>
4746          <item key="type"><![CDATA[ZMSPackage]]></item>
4747        </dictionary>
4748      </item>
4749    </dictionary>
4750  </item>
4751</list>
Note: See TracBrowser for help on using the repository browser.