root/branches/release-35/tmpl/cms/edit_template.tmpl @ 1942

Revision 1942, 33.2 kB (checked in by bchoate, 20 months ago)

Restrict template publish options to index templates (not valid for modules, widgets, system templates, etc.). BugId:79338

  • Property svn:keywords set to Author Date Id Revision
Line 
1<mt:setvarblock name="page_title">
2    <mt:if name="template_group" eq="widget">
3        <mt:if name="id">
4    <__trans phrase="Edit Widget">
5        <mt:else>
6    <__trans phrase="Create Widget">
7        </mt:if>
8    <mt:else>
9        <mt:if name="id">
10    <__trans phrase="Edit Template">
11        <mt:else>
12    <__trans phrase="Create Template">
13        </mt:if>
14    </mt:if>
15</mt:setvarblock>
16<mt:setvarblock name="html_title"><mt:if name="id"><mt:if name="has_name"><mt:var name="name"><mt:else><mt:var name="template_name"></mt:if> - <__trans phrase="Edit Template"><mt:else><__trans phrase="Create Template"></mt:if></mt:setvarblock>
17<mt:var name="position_actions_bottom" value="1">
18<mt:setvarblock name="system_msg">
19    <mt:unless name="recovered_object">
20        <mt:if name="autosaved_object_exists">
21            <mtapp:statusmsg
22                id="autosaved-object-exists"
23                can_close="1"
24                class="info">
25                <__trans phrase="A saved version of this [_1] was auto-saved [_3]. <a href="[_2]">Recover auto-saved content</a>" params="<mt:var name="object_label">%%<mt:var name="script_url">?__mode=view&amp;_type=template&amp;&amp;_recover=1&amp;blog_id=<mt:var name="blog_id"><mt:if name="id">&amp;id=<mt:var name="id"></mt:if>%%<mt:date ts="$autosaved_object_ts" relative="1" offset_blog_id="<$mt:var name="blog_id"$>">">
26            </mtapp:statusmsg>
27        </mt:if>
28    </mt:unless>
29    <mt:if name="recovered_object">
30        <mtapp:statusmsg
31            id="recovered-object"
32            class="success">
33            <__trans phrase="You have successfully recovered your saved [_1]." params="<mt:var name="object_label">">
34        </mtapp:statusmsg>
35    </mt:if>
36    <mt:if name="recovered_failed">
37        <mtapp:statusmsg
38            id="recovered-failed"
39            class="error">
40            <__trans phrase="An error occurred while trying to recover your saved [_1]." params="<mt:var name="object_label">">
41        </mtapp:statusmsg>
42    </mt:if>
43    <mt:if name="saved">
44        <mt:if name="error">
45            <mtapp:statusmsg
46                id="generic-error"
47                class="error">
48                <__trans phrase="Your template changes have been saved.">
49                <mt:var name="error">
50            </mtapp:statusmsg>
51        <mt:else>
52            <mtapp:statusmsg
53                id="saved"
54                class="success">
55                <__trans phrase="Your template changes have been saved.">
56                <mt:unless name="build_dynamic">
57                <mt:unless name="build_type_0">
58                    <mt:if name="has_rebuild">
59                        <mt:if name="can_rebuild">
60                            <__trans phrase="<a href="[_1]" class="rebuild-link">Publish</a> this template." params="<mt:var name="script_url">?__mode=start_rebuild&amp;blog_id=<mt:var name="blog_id">&amp;next=0&amp;type=index-<mt:var name="id">&amp;tmpl_id=<mt:var name="id">&amp;single_template=1'"></a>
61                        </mt:if>
62                    </mt:if>
63                </mt:unless>
64                </mt:unless>
65            </mtapp:statusmsg>
66        </mt:if>
67    <mt:else>
68        <mt:if name="error">
69            <mtapp:statusmsg
70                id="generic-error"
71                class="error">
72                <mt:var name="error">
73            </mtapp:statusmsg>
74        </mt:if>
75    </mt:if>
76    <mt:if name="message">
77        <mtapp:statusmsg
78            id="message"
79            class="alert">
80            <mt:var name="message">
81        </mtapp:statusmsg>
82    </mt:if>
83    <mt:if name="saved_rebuild">
84        <mtapp:statusmsg
85            id="saved-rebuild"
86            class="success">
87            <__trans phrase="Your [_1] has been published." params="<mt:var name="name">">
88        </mtapp:statusmsg>
89    </mt:if>
90</mt:setvarblock>
91<mt:setvarblock name="related_content">
92    <mtapp:widget
93        id="useful-links"
94        label="<__trans phrase="Useful Links">">
95        <ul>
96        <mt:if name="template_group" eq="widget">
97            <li><a href="<mt:var name="script_url">?__mode=list_widget&amp;blog_id=<mt:var name="blog_id">" class="icon-left icon-related"><__trans phrase="Widgets"></a></li>
98        <mt:else>
99            <li><a href="<mt:var name="script_url">?__mode=list&amp;_type=template&amp;blog_id=<mt:var name="blog_id">#<$mt:var name="template_group"$>" class="icon-left icon-related"><__trans phrase="List [_1] templates" params="<$mt:var name="template_group_trans"$>"></a></li>
100            <li><a href="<mt:var name="script_url">?__mode=list&amp;_type=template&amp;blog_id=<mt:var name="blog_id">" class="icon-left icon-related"><__trans phrase="List all templates"></a></li>
101        </mt:if>
102        <mt:if name="published_url">
103            <li><a href="<mt:var name="published_url">" class="icon-left icon-related" target="<__trans phrase="_external_link_target">"><__trans phrase="View Published Template"></a></li>
104        </mt:if>
105        </ul>
106    </mtapp:widget>
107
108    <mt:if name="have_includes">
109        <mtapp:widget
110            id="template-includes"
111            label="<__trans phrase="Included Templates">">
112        <ul>
113        <mt:loop name="include_loop">
114            <li><mt:if name="include_link"><a href="<mt:var name="include_link">" class="icon-left icon-related"><mt:var name="include_module"></a><mt:else><mt:var name="include_module"> (<a href="<mt:var name="create_link">"><__trans phrase="create"></a>)</mt:if></li>
115        </mt:loop>
116        <mt:loop name="widget_loop">
117            <li><mt:if name="include_link"><a href="<mt:var name="include_link">" class="icon-left icon-related"><mt:var name="include_module"></a><mt:else><mt:var name="include_module"> (<a href="<mt:var name="create_link">"><__trans phrase="create"></a>)</mt:if></li>
118        </mt:loop>
119        <mt:loop name="widget_set_loop">
120            <li><mt:if name="include_link"><a href="<mt:var name="include_link">" class="icon-left icon-related"><mt:var name="include_module"></a><mt:else><mt:var name="include_module"> (<a href="<mt:var name="create_link">"><__trans phrase="create"></a>)</mt:if></li>
121        </mt:loop>
122        </ul>
123        </mtapp:widget>
124    </mt:if>
125    <mtapp:widget
126        id="tag-list"
127        class="hidden"
128        label="<__trans phrase="Template Tag Docs">"
129        label_link="$link_doc">
130        <div id="tag-list-inner">
131        </div>
132    </mtapp:widget>
133    <mtapp:widget
134        id="badtag-list"
135        class="hidden"
136        label="<__trans phrase="Unrecognized Tags">">
137        <div id="badtag-list-inner">
138        </div>
139    </mtapp:widget>
140</mt:setvarblock>
141<mt:setvartemplate name="action_buttons">
142    <button
143        onclick="return validate(this.form);"
144        type="submit"
145        accesskey="s"
146        tabindex="12"
147        title="<__trans phrase="Save (s)">"
148        class="primary-button"
149        ><__trans phrase="Save"></button>
150    <mt:if name="can_preview">
151    <button
152        mt:mode="preview_template"
153        name="preview_template"
154        type="submit"
155        accesskey="v"
156        title="Preview"
157        onclick="return validate(this.form);"
158        ><__trans phrase="Preview"></button>
159    </mt:if>
160    <mt:unless name="new_object">
161        <mt:unless name="build_dynamic">
162            <mt:if name="can_rebuild">
163                <mt:if name="type_index">
164    <button
165        type="submit"
166        accesskey="r"
167        tabindex="13"
168        title="<__trans phrase="Save and Publish this template (r)">"
169        onclick="return validate(this.form, 1);"
170        ><__trans phrase="Save &amp; Publish"></button>
171                </mt:if>
172            </mt:if>
173        </mt:unless>
174    </mt:unless>
175    <div id="autosave-notification-<$mt:var name="bar_position" default="top"$>" class="autosave-notification"></div>
176</mt:setvartemplate>
177<mt:setvarblock name="html_head" append="1">
178<script type="text/javascript" src="<mt:var name="static_uri">js/tc/client.js"></script>
179<script type="text/javascript">
180/* <![CDATA[ */
181var tag_inserts = {};
182var snippets = [];
183<mt:loop name="template_snippets">
184var content = "<mt:var name="content" escape="js">";
185<mt:if name="trigger">
186var output = content.replace(/\$(?!0)/g, '');
187snippets.push({ 'input' : '<mt:var name="trigger" escape="js">',
188    'output' : output });
189</mt:if>
190content = content.replace(/\$0/, '');
191tag_inserts['<mt:var name="id" escape="js">'] = content;
192</mt:loop>
193
194if ( !window.Editor )
195    Editor = { strings: {} };
196Editor.strings.unsavedChanges = '<__trans phrase="You have unsaved changes to this template that will be lost." escape="js">';
197
198var fieldStorage = {};
199var dirty = false;
200function setDirty () {
201    log.warn('deprecated function setDirty(), call app.setDirty instead');
202    app.setDirty();
203}
204function clearDirty () {
205    log.warn('deprecated function clearDirty(), call app.clearDirty instead');
206    app.clearDirty();
207}
208
209var tag_docs = <tmpl_var name="tag_docs" to_json="1">;
210
211function documentTags( useTextInput ) {
212    // scan text of editor for tags
213    var str;
214    if ( !useTextInput && ( window.app && window.app.cpeList.length > 0
215        && window.app.cpeList[0].editor ) ) {
216        str = window.app.cpeList[0].getCode();
217    } else {
218        var area = DOM.getElement('text_cpe') || DOM.getElement('text');
219        str = area.value;
220    }
221   
222    if ( !defined( str ) )
223        str = '';
224
225    // clear any ignore blocks
226    var re = new RegExp('(<m' + 't:?ignore([^>])*?>)[\\S\\s]*?</mt:?ignore>',
227        'gi');
228    str = str.replace(re, '$1');
229    // scan template string for MT tags and build
230    // a hash of unique tag names
231    var tags = {};
232    var matches = str.match(/<\$?[mM][tT]:?[^\s>]+/g);
233    if (matches) {
234        for (var i = 0; i < matches.length; i++ ) {
235            var orig_tag = matches[i];
236            if (orig_tag.match(/^<\$/)) {
237                if (!orig_tag.match(/\$$/))
238                    orig_tag += '$';
239            }
240            orig_tag = orig_tag.replace(/^</, '&lt;');
241            orig_tag += '&gt;';
242            var tag = matches[i].replace(/^<\$?[mM][tT]:?/, '');
243            tag = tag.replace(/\$$/, '');
244            tags[dirify(tag.toLowerCase())] = orig_tag;
245        }
246    }
247
248    // construct a set of bullets for all discovered tags
249    // separate into valid/invalid lists
250    var sorted_tags = [];
251    for ( var t in tags ) {
252        if ( !tags.hasOwnProperty( t ) )
253            continue;
254        sorted_tags.push(t);
255    }
256    sorted_tags.sort();
257    var list = '';
258    var bad_list = '';
259    for ( var i = 0; i < sorted_tags.length; i++ ) {
260        var t = sorted_tags[i];
261        var url = tagDocURL( t );
262        var tag_name = tags[t];
263        if (!url) {
264            bad_list = bad_list + "<li>" + tag_name + "</li>";
265            continue;
266        }
267        var link = "<a target=\"mt_docs\" href=\"" + url + "\">" + tag_name + "</a>";
268        list = list + "<li>" + link + "</li>";
269    }
270
271    // if we found tags to list, display the tag-list widget, otherwise
272    // hide it
273    if (list != '') {
274        list = '<ul>' + list + '</ul>';
275        DOM.getElement("tag-list-inner").innerHTML = list;
276        DOM.removeClassName("tag-list", "hidden");
277    } else {
278        DOM.addClassName("tag-list", "hidden");
279    }
280    // if we found invalid tags, display them in badtag-list, otherwise
281    // hide it
282    if (bad_list != '') {
283        bad_list = '<ul>' + bad_list + '</ul>';
284        DOM.getElement("badtag-list-inner").innerHTML = bad_list;
285        DOM.removeClassName("badtag-list", "hidden");
286    } else {
287        DOM.addClassName("badtag-list", "hidden");
288    }
289}
290
291function tagDocURL(name) {
292    var re = new RegExp('(?:^|,)' + name + '\\??(?:,|$)', 'i');
293    for ( var u in tag_docs ) {
294        if ( !tag_docs.hasOwnProperty(u) ) continue;
295
296        var tags = tag_docs[u];
297        var m;
298        if (m = tags.match(re)) {
299            return u.replace(/\%t/, name);
300        }
301    }
302    return;
303}
304
305function archiveFileSelect(sel) {
306    var fld = sel.name;
307    fld = fld.replace(/sel/, 'tmpl');
308    var edit = getByID(fld);
309    var map = sel.options[sel.selectedIndex].value;
310    if (map == '') {
311        DOM.addClassName(sel, "hidden");
312        DOM.removeClassName(edit, "hidden");
313        edit.focus();
314    } else {
315        edit.value = map;
316    }
317}
318
319function insertSnippet(el) {
320    if (el.selectedIndex == -1) return false;
321    var opt = el.options[el.selectedIndex].value;
322    if (!opt) return false;
323    el.selectedIndex = 0;
324    if (tag_inserts[opt]) {
325        app.insertCode( tag_inserts[opt] );
326    }
327}
328function setRebuild(f) {
329    f['rebuild'].value = 'Y';
330}
331
332function toggleAutoRebuild (t) {
333    o = getByID('rebuild_me');
334    if (o) {
335        if (t.checked) {
336            o.disabled = true;
337        } else {
338            o.disabled = false;
339        }
340    }
341}
342
343function validate (f, rebuild) {
344    if (f.name && !f.name.value) {
345        alert('<__trans phrase="You must set the Template Name." escape="js">');
346        return false;
347    }
348    else if (f.outfile && !f.outfile.value) {
349        alert('<__trans phrase="You must set the template Output File." escape="js">');
350        return false;
351    }
352    else {
353        app.clearDirty();
354        if (rebuild) setRebuild(f);
355    }
356    return true;
357}
358function saveArchiveMapChange(param) {
359    showMsg('<__trans phrase="Processing request..." escape="js">', 'map-message', 'success')
360
361    // TBD: we need to get the blog id from the selector control
362    // itself
363    var params = { uri: '<mt:var name="script_url">', method: 'POST', arguments: param, load: savedArchiveMapChange };
364    TC.Client.call(params);
365
366}
367function savedArchiveMapChange(c) {
368    TC.removeClassName(TC.elementOrId("create-map"), "hidden");
369    TC.addClassName(TC.elementOrId("loading-styles"), "hidden");
370    var res = c.responseText;
371    if (res == '')
372        message = '<__trans phrase="Error occurred while updating archive maps." escape="js">';
373    else
374        message = '<__trans phrase="Archive map has been successfully updated." escape="js">';
375    showMsg(message, 'map-message', 'success');
376    var map = getByID('template-maps');
377    if (map)
378        map.innerHTML = res;
379}
380function deleteMap(mapid) {
381    if (!confirm('<__trans phrase="Are you sure you want to remove this template map?" escape="js">'))
382        return;
383    var tr = getByID(mapid);
384    if (tr) {
385        var tbody = tr.parentNode;
386        if (tbody)
387            tbody.deleteRow(tr.rowIndex - 1); // thead has a row - subtract it
388    }
389    var frm = document.forms['archive_map_form'];
390    if (!frm) return false;
391    var param = '__mode=delete_map'
392        + '&blog_id=' + frm['blog_id'].value
393        + '&template_id=<mt:var name="id">'
394        + '&id=' + mapid
395        + '&magic_token=<mt:var name="magic_token">';
396    saveArchiveMapChange(param);
397}
398function setCreateMode () {
399    var el = getByID('map-message');
400    if (el) el.style.display = 'none';
401    getByID('create-inline-mapping').style.display = 'block';
402    return false;
403}
404
405function cancelCreateMode () {
406    getByID('create-inline-mapping').style.display = 'none';
407    return false;
408}
409function addMap() {
410    getByID('create-inline-mapping').style.display = 'none';
411    TC.addClassName(TC.elementOrId("create-map"), "hidden");
412    TC.removeClassName(TC.elementOrId("loading-styles"), "hidden");
413    var f = document.forms['template-listing-form'];
414    var frm = document.forms['archive_map_form'];
415    if (!frm) return false;
416    var param = '__mode=add_map'
417        + '&blog_id=' + frm['blog_id'].value
418        + '&template_id=<mt:var name="id">'
419        + '&new_archive_type=' + f['new_archive_type'].value
420        + '&magic_token=<mt:var name="magic_token">';
421    var client = TC.Client.call({
422        'load': savedArchiveMapChange,
423        'uri': '<mt:var name="script_url">',
424        'method': 'POST',
425        'arguments': param
426    });
427}
428
429function togglePreferred(checkbox, mapid) {
430    var frm = document.forms['template-listing-form'];
431    if (!frm) return false;
432    var checkboxes = frm[checkbox.name];
433    if (checkbox.length == undefined) {
434        for (var j = 0; j < frm[checkbox.id].length; ++j) {
435            if (frm[checkbox.id][j].type == 'hidden')
436                frm[checkbox.id][j].value = checkbox.checked ? '1' : '0';
437        }
438    } else {
439        for (var i = 0; i < checkboxes.length; ++i) {
440            if (checkboxes[i] != checkbox)
441                checkboxes[i].checked = false;
442            for (var j = 0; j < frm[checkboxes[i].id].length; ++j) {
443                if (frm[checkboxes[i].id][j].type == 'hidden') {
444                    frm[checkboxes[i].id][j].value = checkboxes[i].checked ? '1' : '0';
445                }
446            }
447        }
448    }
449}
450   
451    Template.templates.autoSave = '<mt:section encode_js="1">
452    [# if ( saving ) { #]
453        [#= trans("Auto-saving..." ) #]
454    [# } else { #]
455        [#= trans("Last auto-save at [_1]:[_2]:[_3]", hh, mm, ss ) #]
456    [# } #]
457    </mt:section>';
458
459function init() {
460    var txt = getByID("text");
461    if (txt) {
462        var w;
463        if (w = txt.contentWindow) {
464            if (w.Language) {
465                if (w.Language && !w.Language.snippets) {
466                    w.Language.snippets = [];
467                }
468                var fsnippets = w.Language.snippets;
469                for (var i = 0; i < snippets.length; i++) {
470                    fsnippets.push(snippets[i]);
471                }
472            }
473        }
474    }
475}
476
477TC.attachLoadEvent( init );
478/* ]]> */
479</script>
480</mt:setvarblock>
481<mt:setvarblock name="html_body" append="1">
482    <mt:if name="dirty">
483    <script type="text/javascript">
484        /* <![CDATA[ */
485            MT.App.dirty = true;
486        /* ]]> */
487    </script>
488    </mt:if>
489</mt:setvarblock>
490<mt:include name="include/header.tmpl">
491
492<form name="template-listing-form" id="template-listing-form" method="post" action="<mt:var name="script_url">" mt:once="1" mt:auto-save="1" mt:auto-save-delay="<$mt:var name="autosave_frequency"$>000">
493<input type="hidden" name="id" value="<mt:var name="id">" />
494<input type="hidden" name="blog_id" value="<mt:var name="blog_id" default="0">" />
495<input type="hidden" name="type" value="<mt:var name="type" escape="html">" />
496<input type="hidden" name="__mode" value="save" />
497<input type="hidden" name="_type" value="template" />
498<input type="hidden" name="rebuild" value="" />
499<input type="hidden" name="action_name" value="" />
500<input type="hidden" name="action_input" value="" />
501<input type="hidden" name="return_args" value="<mt:var name="return_args" escape="html">" />
502<input type="hidden" name="magic_token" value="<mt:var name="magic_token">" />
503
504<mt:include name="include/actions_bar.tmpl" hide_pager="1">
505
506<mtapp:setting
507    id="title"
508    label="<__trans phrase="Template Name">"
509    label_class = "no-header"
510    help_page="templates"
511    help_section="template_name">
512    <mt:if name="has_name">
513    <input name="name" id="title" tabindex="1" value="<mt:var name="name" escape="html">" maxlength="255" mt:watch-change="1" />
514    <mt:else>
515    <input type="hidden" name="name" value="<$mt:var name="template_name" escape="html"$>" />
516    <input type="text" id="title" name="name_display" value="<$mt:var name="template_name_label" escape="html">" disabled="disabled" />
517    </mt:if>
518</mtapp:setting>
519
520<mt:if name="type_custom">
521    <$mt:setvar name="template_name" value="<__trans phrase="Module Body">"$>
522<mt:else>
523    <$mt:setvar name="template_name" value="<__trans phrase="Template Body">"$>
524</mt:if>
525<mtapp:setting
526    id="template-body"
527    label="$template_name"
528    label_class="no-header"
529    help_page="templates"
530    help_section="template_name">
531    <div id="template-body-actions">
532        <span class="codepress-toolbar" style="float:right">
533            <a href="javascript: void 0;" title="<__trans phrase="Syntax Highlight On" escape="singlequotes">" mt:command="set-mode-codepress-on" class="command-toggle-codepress-on toolbar button"><b>Syntax Hightlight On</b><s></s></a>
534            <a href="javascript: void 0;" title="<__trans phrase="Syntax Highlight Off" escape="singlequotes">" mt:command="set-mode-codepress-off" class="command-toggle-codepress-off toolbar button"><b>Syntax Hightlight Off</b><s></s></a>
535        </span>
536        <mt:if name="template_snippets">
537        <select id="tag-insert" tabindex="2" name="tag-insert" onchange="insertSnippet(this)">
538            <option value=""><__trans phrase="Insert..."></option>
539            <mt:loop name="template_snippets">
540            <option value="<mt:var name="id">"><mt:var name="label" escape="html"><mt:if name="trigger"> (<mt:var name="trigger" escape="html">)</mt:if></option>
541            </mt:loop>
542        </select>
543        </mt:if>
544    </div>
545    <div id="textarea-enclosure" style="position: relative; padding-bottom: 10px; height: <mt:var name="disp_prefs_height_text" default="290">px" mt:min-height="66" mt:update-field-height="text_height">
546        <textarea tabindex="3" class="full-width monospace medium" spellcheck="false" name="text" id="text" cols="" rows="" mt:watch-change="1" style="height: <mt:var name="disp_prefs_height_text" default="290">px" mt:editor="codepress" mt:editor-options="lang:<mt:var name="template_lang"> autocomplete:off" /><mt:var name="text" escape="html"></textarea>
547        <input type="hidden" name="text_height" id="text_height" value="<mt:var name="disp_prefs_height_text" default="290">" />
548        <div class="resizer" mt:delegate="resizer" mt:target="textarea-enclosure" mt:lock="x">
549            <img src="<$mt:var name="static_uri"$>images/spacer.gif" width="100%" height="10"/>
550        </div>
551    </div>
552</mtapp:setting>
553
554<div id="template-options"<mt:unless name="id"> class="active"</mt:unless>>
555    <div id="template-options-header" class="pkg">
556        <h3><a href="javascript:void(0)" onclick="toggleActive('template-options');"><__trans phrase="Template Options"></a></h3>
557        <div class="template-options-summary">
558<mt:if name="has_outfile">
559            <__trans phrase="Output file: <strong>[_1]</strong>" params="<mt:var name="outfile" escape="html">">
560</mt:if>
561<mt:if name="enabled_archive_types">
562            <__trans phrase="Enabled Mappings: [_1]" params="<mt:var name="enabled_archive_types">">
563</mt:if>
564        </div>
565    </div>
566    <div id="template-options-content" class="pkg">
567<mt:if name="has_outfile">
568    <mtapp:setting
569        id="outfile"
570        label="<__trans phrase="Output File">"
571        help_page="templates"
572        help_section="output_file">
573        <div class="textarea-wrapper">
574            <input name="outfile" id="outfile" tabindex="5" value="<mt:var name="outfile" escape="html">" class="full-width" mt:watch-change="1" />
575        </div>
576    </mtapp:setting>
577</mt:if>
578
579<mt:if name="type" eq="index">
580    <mtapp:setting
581        label="<__trans phrase="Template Type">"
582        id="identifier"
583        help_page="templates"
584        help_section="template_type">
585        <select name="identifier" id="identifier" tabindex="4" class="full-width">
586            <option value="" <mt:unless name="identifier">selected="selected"</mt:unless>><__trans phrase="Custom Index Template"></option>
587        <mt:loop name="index_identifiers">
588            <option value="<mt:var name="key" escape="html">" <mt:if name="selected">selected="selected"</mt:if>><$mt:var name="label" escape="html"$> (<$mt:var name="key" escape="html"$>)</option>
589        </mt:loop>
590        </select>
591    </mtapp:setting>
592</mt:if>
593
594<mtapp:setting
595    label="<__trans phrase="Link to File">"
596    id="linked_file"
597    help_page="templates"
598    help_section="linked_templates">
599        <div class="textarea-wrapper">
600            <input name="linked_file" id="linked_file" tabindex="8" value="<mt:var name="linked_file" escape="html">" maxlength="255" class="full-width" mt:watch-change="1" />
601        </div>
602</mtapp:setting>
603
604<mt:if name="archive_types">
605    <mtapp:setting
606        id="archive_mapping"
607        label="<__trans phrase="Archive Mapping">"
608        content_class="field-content-text"
609        hint=""
610        show_hint="0">
611        <span class="hidden" id="loading-styles">
612            <img src="/mt-static/images/indicator.white.gif" height="16" width="16" alt="" />
613        </span>
614        <div id="create-map"><p><a href="javascript:void(0)" onclick="return setCreateMode()" class="icon-left icon-create"><__trans phrase="Create Archive Mapping"></a></p></div>
615        <div id="msg-block"></div>
616        <div class="create-inline" id="create-inline-mapping">
617            <label for="new_archive_type"><strong><__trans phrase="Type"></strong></label>
618            <select name="new_archive_type" id="new_archive_type" tabindex="9">
619    <mt:loop name="archive_types">
620                <option value="<mt:var name="archive_type" escape="html">"><mt:var name="archive_type_translated" escape="html"></option>
621    </mt:loop>
622            </select>
623            &nbsp;
624            <span class="buttons">
625                <a href="javascript:void(0)"
626                    onclick="addMap(); return false;"
627                    ><__trans phrase="Add"></a>
628                <a href="javascript:void(0)"
629                    onclick="cancelCreateMode(); return false"
630                    ><__trans phrase="Cancel"></a>
631            </span>
632        </div>
633        <div id="template-maps">
634            <mt:include name="include/archive_maps.tmpl">
635        </div>
636    </mtapp:setting>
637<mt:else>
638    <mt:if name="template_group" eq="index">
639        <mt:setvarblock name="build_dynamic_hint">
640            <__trans phrase="Learn more about <a href="[_1]">publishing options</a>" params="http://www.movabletype.org/documentation/">
641        </mt:setvarblock>
642        <mtapp:setting
643            id="build_dynamic"
644            label="<__trans phrase="Publish Options">"
645            hint="$build_dynamic_hint"
646            show_hint="1"
647            help_page="templates"
648            help_section="enable_dynamic_publishing">
649            <select name="build_type" id="build-type" class="full-width">
650                <option value="1"<mt:if name="build_type_1"> selected="selected"</mt:if>><__trans phrase="Statically"></option>
651                <option value="3"<mt:if name="build_type_3"> selected="selected"</mt:if>><__trans phrase="Dynamically"></option>
652                <mt:if name="publish_queue_available">
653                <option value="4"<mt:if name="build_type_4"> selected="selected"</mt:if>><__trans phrase="Background"></option>
654        <mt:ignore>
655            <!-- untested features -->
656                    <option value="5"<mt:if name="build_type_5"> selected="selected"</mt:if>><__trans phrase="On a schedule"></option>
657                    <mt:ignore>
658                        <!-- This code needs to be shown if the "On a schedule" has been selected -->
659                    <__trans phrase=": every "><input name="schedule_interval" id="schedule_interval" value="<mt:var name="schedule_interval" escape="html">" maxlength="10" class="quarter-width" mt:watch-change="1" />
660                    <select name="schedule_period" id="schedule_period">
661                        <option value="minutes"<mt:if name="schedule_period_minutes"> selected="selected"</mt:if>><__trans phrase="minutes"></option>
662                        <option value="hours"<mt:if name="schedule_period_hours"> selected="selected"</mt:if>><__trans phrase="hours"></option>
663                        <option value="days"<mt:if name="schedule_period_days"> selected="selected"</mt:if>><__trans phrase="days"></option>
664                    </select>
665                    </mt:ignore>
666        </mt:ignore>
667                </mt:if>
668                <option value="2"<mt:if name="build_type_2"> selected="selected"</mt:if><mt:if name="build_type_0"> selected="selected"</mt:if>><__trans phrase="Manually"></option>
669            </select>
670        </mtapp:setting>
671    </mt:if>
672</mt:if>
673<mt:if name="template_group" like="(module|widget)">
674
675    <mt:if name="include_system">
676        <mtapp:setting
677            id="server_side_include"
678            label="<__trans phrase="Server Side Include">"
679            content_class="field-content-text">
680            <input type="checkbox" id="server-side-include" name="include_with_ssi" value="1" onclick=""<mt:if name="include_with_ssi"> checked</mt:if> />
681            <label for="server-side-include"><__trans phrase="Process as <strong>[_1]</strong> include" params="<$mt:var name="ssi_type"$>"></label>
682        </mtapp:setting>
683    </mt:if>
684
685    <mt:if name="include_cache">
686        <mtapp:setting
687            id="caching"
688            label="<__trans phrase="Module Caching">"
689            content_class="field-content-text">
690            <mt:if name="caching_disabled">
691            <__trans phrase="Disabled (<a href="[_1]">change publishing settings</a>)" params="<mt:var name="script_url">?__mode=cfg_archives&amp;blog_id=<mt:var name="blog_id">">
692            <mt:else>
693            <p><input type="checkbox" id="enable-caching" name="cache_enabled" value="1"<mt:if name="cache_enabled"> checked="checked"</mt:if> /> <label for="enable-caching"><__trans phrase="Enable caching for this module"></label></p>
694            <ul id="cache-options">
695                <li><input type="radio" value="1" name="cache_expire_type" id="expire-time" onclick="DOM.addClassName('cache-events','hidden');toggleDisable('cache-time-value', 0);toggleDisable('cache-time-unit', 0);"<mt:if name="cache_expire_type" eq="1"> checked="checked"</mt:if>> <label for="expire-time"><__trans phrase="Expire after"></label>
696                    <input type="text" id="cache-time-value" name="cache_expire_interval" value="<$mt:var name="cache_expire_interval">" size="4" maxlength="3" <mt:unless name="cache_expire_type" eq="1"> disabled="disabled"</mt:unless> />
697                    <select id="cache-time-unit" name="cache_expire_period"<mt:unless name="cache_expire_type" eq="1"> disabled="disabled"</mt:unless>>
698                        <option value="minutes"<mt:if name="cache_expire_period" eq="minutes"> selected="selected"</mt:if>><__trans phrase="minutes"></option>
699                        <option value="hours"<mt:if name="cache_expire_period" eq="hours"> selected="selected"</mt:if>><__trans phrase="hours"></option>
700                        <option value="days"<mt:if name="cache_expire_period" eq="days"> selected="selected"</mt:if>><__trans phrase="days"></option>
701                    </select>
702                </li>
703                <li><input type="radio" value="2" name="cache_expire_type" id="expire-event" onclick="DOM.removeClassName('cache-events','hidden');toggleDisable('cache-time-value', 1);toggleDisable('cache-time-unit', 1);"<mt:if name="cache_expire_type" eq="2"> checked="checked"</mt:if>> <label for="expire-event"><__trans phrase="Expire upon creation or modification of:"></label>
704                    <ul id="cache-events" class="<mt:if name="cache_expire_type" eq="1">hidden</mt:if>">
705                        <li><input type="checkbox" value="entry" name="cache_expire_event" id="cache-event-entry" onclick=""<mt:if name="cache_expire_event_entry"> checked="checked"</mt:if>> <label for="cache-event-entry"><__trans phrase="Entry"></label></li>
706                        <li><input type="checkbox" value="comment" name="cache_expire_event" id="cache-event-comment" onclick=""<mt:if name="cache_expire_event_comment"> checked="checked"</mt:if>> <label for="cache-event-comment"><__trans phrase="Comment"></label></li>
707                        <li><input type="checkbox" value="tbping" name="cache_expire_event" id="cache-event-trackback" onclick=""<mt:if name="cache_expire_event_tbping"> checked="checked"</mt:if>> <label for="cache-event-trackback"><__trans phrase="TrackBack"></label></li>
708                        <li><input type="checkbox" value="page" name="cache_expire_event" id="cache-event-page" onclick=""<mt:if name="cache_expire_event_page"> checked="checked"</mt:if>> <label for="cache-event-page"><__trans phrase="Page"></label></li>
709                        <li><input type="checkbox" value="author" name="cache_expire_event" id="cache-event-author" onclick=""<mt:if name="cache_expire_event_author"> checked="checked"</mt:if>> <label for="cache-event-author"><__trans phrase="User"></label></li>
710                        <li><input type="checkbox" value="category" name="cache_expire_event" id="cache-event-category" onclick=""<mt:if name="cache_expire_event_category"> checked="checked"</mt:if>> <label for="cache-event-category"><__trans phrase="Category"></label></li>
711                        <li><input type="checkbox" value="folder" name="cache_expire_event" id="cache-event-folder" onclick=""<mt:if name="cache_expire_event_folder"> checked="checked"</mt:if>> <label for="cache-event-folder"><__trans phrase="Folder"></label></li>
712                        <li><input type="checkbox" value="asset" name="cache_expire_event" id="cache-event-asset" onclick=""<mt:if name="cache_expire_event_asset"> checked="checked"</mt:if>> <label for="cache-event-asset"><__trans phrase="Asset"></label></li>
713                    </ul>
714                </li>
715            </ul>
716            </mt:if>
717        </mtapp:setting>
718    </mt:if>
719</mt:if>
720    </div>
721</div>
722
723<mt:include name="include/actions_bar.tmpl" bar_position="bottom" hide_pager="1">
724</form>
725<form name="archive_map_form" method="post" action="<mt:var name="script_url">">
726    <input type="hidden" name="__mode" value="" />
727    <input type="hidden" name="_type" value="<mt:var name="object_type">" />
728    <input type="hidden" name="blog_id" value="<mt:var name="blog_id">" />
729    <input type="hidden" name="magic_token" value="<mt:var name="magic_token">" />
730</form>
731
732<script type="text/javascript">
733/* <![CDATA[ */
734App.singletonConstructor =
735MT.App = new Class( MT.App, {
736
737    initComponents: function() {
738       arguments.callee.applySuper( this, arguments );
739       documentTags( true );
740    },
741
742    autoSave: function() {
743        arguments.callee.applySuper( this, arguments );
744        documentTags();
745    }
746
747} );
748/* ]]> */
749</script>
750
751<mt:include name="include/footer.tmpl">
Note: See TracBrowser for help on using the browser.