root/branches/release-36/tmpl/cms/edit_template.tmpl @ 2054

Revision 2054, 33.8 kB (checked in by bchoate, 19 months ago)

Allow user to save and publish new templates too.

  • 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="build_dynamic">
161        <mt:if name="can_rebuild">
162            <mt:if name="type_index">
163    <button
164        type="submit"
165        accesskey="r"
166        tabindex="13"
167        title="<__trans phrase="Save and Publish this template (r)">"
168        onclick="return validate(this.form, 1);"
169        ><__trans phrase="Save &amp; Publish"></button>
170            </mt:if>
171        </mt:if>
172    </mt:unless>
173    <div id="autosave-notification-<$mt:var name="bar_position" default="top"$>" class="autosave-notification"></div>
174</mt:setvartemplate>
175<mt:setvarblock name="html_head" append="1">
176<script type="text/javascript" src="<mt:var name="static_uri">js/tc/client.js"></script>
177<script type="text/javascript">
178/* <![CDATA[ */
179var tag_inserts = {};
180var snippets = [];
181<mt:loop name="template_snippets">
182var content = "<mt:var name="content" escape="js">";
183<mt:if name="trigger">
184var output = content.replace(/\$(?!0)/g, '');
185snippets.push({ 'input' : '<mt:var name="trigger" escape="js">',
186    'output' : output });
187</mt:if>
188content = content.replace(/\$0/, '');
189tag_inserts['<mt:var name="id" escape="js">'] = content;
190</mt:loop>
191
192if ( !window.Editor )
193    Editor = { strings: {} };
194Editor.strings.unsavedChanges = '<__trans phrase="You have unsaved changes to this template that will be lost." escape="js">';
195
196var fieldStorage = {};
197var dirty = false;
198function setDirty () {
199    log.warn('deprecated function setDirty(), call app.setDirty instead');
200    app.setDirty();
201}
202function clearDirty () {
203    log.warn('deprecated function clearDirty(), call app.clearDirty instead');
204    app.clearDirty();
205}
206
207var tag_docs = <tmpl_var name="tag_docs" to_json="1">;
208
209function documentTags( useTextInput ) {
210    // scan text of editor for tags
211    var str;
212    if ( !useTextInput && ( window.app && window.app.cpeList.length > 0
213        && window.app.cpeList[0].editor ) ) {
214        str = window.app.cpeList[0].getCode();
215    } else {
216        var area = DOM.getElement('text_cpe') || DOM.getElement('text');
217        str = area.value;
218    }
219   
220    if ( !defined( str ) )
221        str = '';
222
223    // clear any ignore blocks
224    var re = new RegExp('(<m' + 't:?ignore([^>])*?>)[\\S\\s]*?</mt:?ignore>',
225        'gi');
226    str = str.replace(re, '$1');
227    // scan template string for MT tags and build
228    // a hash of unique tag names
229    var tags = {};
230    var matches = str.match(/<\$?[mM][tT]:?[^\s>]+/g);
231    if (matches) {
232        for (var i = 0; i < matches.length; i++ ) {
233            var orig_tag = matches[i];
234            if (orig_tag.match(/^<\$/)) {
235                if (!orig_tag.match(/\$$/))
236                    orig_tag += '$';
237            }
238            orig_tag = orig_tag.replace(/^</, '&lt;');
239            orig_tag += '&gt;';
240            var tag = matches[i].replace(/^<\$?[mM][tT]:?/, '');
241            tag = tag.replace(/\$$/, '');
242            tags[dirify(tag.toLowerCase())] = orig_tag;
243        }
244    }
245
246    // construct a set of bullets for all discovered tags
247    // separate into valid/invalid lists
248    var sorted_tags = [];
249    for ( var t in tags ) {
250        if ( !tags.hasOwnProperty( t ) )
251            continue;
252        sorted_tags.push(t);
253    }
254    sorted_tags.sort();
255    var list = '';
256    var bad_list = '';
257    for ( var i = 0; i < sorted_tags.length; i++ ) {
258        var t = sorted_tags[i];
259        var url = tagDocURL( t );
260        var tag_name = tags[t];
261        if (!url) {
262            bad_list = bad_list + "<li>" + tag_name + "</li>";
263            continue;
264        }
265        var link = "<a target=\"mt_docs\" href=\"" + url + "\">" + tag_name + "</a>";
266        list = list + "<li>" + link + "</li>";
267    }
268
269    // if we found tags to list, display the tag-list widget, otherwise
270    // hide it
271    if (list != '') {
272        list = '<ul>' + list + '</ul>';
273        DOM.getElement("tag-list-inner").innerHTML = list;
274        DOM.removeClassName("tag-list", "hidden");
275    } else {
276        DOM.addClassName("tag-list", "hidden");
277    }
278    // if we found invalid tags, display them in badtag-list, otherwise
279    // hide it
280    if (bad_list != '') {
281        bad_list = '<ul>' + bad_list + '</ul>';
282        DOM.getElement("badtag-list-inner").innerHTML = bad_list;
283        DOM.removeClassName("badtag-list", "hidden");
284    } else {
285        DOM.addClassName("badtag-list", "hidden");
286    }
287}
288
289function tagDocURL(name) {
290    var re = new RegExp('(?:^|,)' + name + '\\??(?:,|$)', 'i');
291    for ( var u in tag_docs ) {
292        if ( !tag_docs.hasOwnProperty(u) ) continue;
293
294        var tags = tag_docs[u];
295        var m;
296        if (m = tags.match(re)) {
297            return u.replace(/\%t/, name);
298        }
299    }
300    return;
301}
302
303function archiveFileSelect(sel) {
304    var fld = sel.name;
305    fld = fld.replace(/sel/, 'tmpl');
306    var edit = getByID(fld);
307    var map = sel.options[sel.selectedIndex].value;
308    if (map == '') {
309        DOM.addClassName(sel, "hidden");
310        DOM.removeClassName(edit, "hidden");
311        edit.focus();
312    } else {
313        edit.value = map;
314    }
315}
316
317function insertSnippet(el) {
318    if (el.selectedIndex == -1) return false;
319    var opt = el.options[el.selectedIndex].value;
320    if (!opt) return false;
321    el.selectedIndex = 0;
322    if (tag_inserts[opt]) {
323        app.insertCode( tag_inserts[opt] );
324    }
325}
326function setRebuild(f) {
327    f['rebuild'].value = 'Y';
328}
329
330function validate (f, rebuild) {
331    if (f.name && !f.name.value) {
332        alert('<__trans phrase="You must set the Template Name." escape="js">');
333        return false;
334    }
335    else if (f.outfile && !f.outfile.value) {
336        alert('<__trans phrase="You must set the template Output File." escape="js">');
337        return false;
338    }
339    else {
340        app.clearDirty();
341        if (rebuild) setRebuild(f);
342    }
343    return true;
344}
345function saveArchiveMapChange(param) {
346    showMsg('<__trans phrase="Processing request..." escape="js">', 'map-message', 'success')
347
348    // TBD: we need to get the blog id from the selector control
349    // itself
350    var params = { uri: '<mt:var name="script_url">', method: 'POST', arguments: param, load: savedArchiveMapChange };
351    TC.Client.call(params);
352
353}
354function savedArchiveMapChange(c) {
355    var res = c.responseText;
356    if (res == '')
357        message = '<__trans phrase="Error occurred while updating archive maps." escape="js">';
358    else
359        message = '<__trans phrase="Archive map has been successfully updated." escape="js">';
360    showMsg(message, 'map-message', 'success');
361    var map = getByID('template-maps');
362    if (map)
363        map.innerHTML = res;
364}
365function deleteMap(mapid) {
366    if (!confirm('<__trans phrase="Are you sure you want to remove this template map?" escape="js">'))
367        return;
368    var tr = getByID(mapid);
369    if (tr) {
370        var tbody = tr.parentNode;
371        if (tbody)
372            tbody.deleteRow(tr.rowIndex - 1); // thead has a row - subtract it
373    }
374    var frm = document.forms['archive_map_form'];
375    if (!frm) return false;
376    var param = '__mode=delete_map'
377        + '&blog_id=' + frm['blog_id'].value
378        + '&template_id=<mt:var name="id">'
379        + '&id=' + mapid
380        + '&magic_token=<mt:var name="magic_token">';
381    saveArchiveMapChange(param);
382}
383function setCreateMode () {
384    var el = getByID('map-message');
385    if (el) el.style.display = 'none';
386    getByID('create-inline-mapping').style.display = 'block';
387    return false;
388}
389
390function cancelCreateMode () {
391    getByID('create-inline-mapping').style.display = 'none';
392    return false;
393}
394function addMap() {
395    getByID('create-inline-mapping').style.display = 'none';
396    var f = document.forms['template-listing-form'];
397    var frm = document.forms['archive_map_form'];
398    if (!frm) return false;
399    var param = '__mode=add_map'
400        + '&blog_id=' + frm['blog_id'].value
401        + '&template_id=<mt:var name="id">'
402        + '&new_archive_type=' + f['new_archive_type'].value
403        + '&magic_token=<mt:var name="magic_token">';
404    saveArchiveMapChange(param);
405}
406
407function togglePreferred(checkbox, mapid) {
408    var frm = document.forms['template-listing-form'];
409    if (!frm) return false;
410    var checkboxes = frm[checkbox.name];
411    if (checkbox.length == undefined) {
412        for (var j = 0; j < frm[checkbox.id].length; ++j) {
413            if (frm[checkbox.id][j].type == 'hidden')
414                frm[checkbox.id][j].value = checkbox.checked ? '1' : '0';
415        }
416    } else {
417        for (var i = 0; i < checkboxes.length; ++i) {
418            if (checkboxes[i] != checkbox)
419                checkboxes[i].checked = false;
420            for (var j = 0; j < frm[checkboxes[i].id].length; ++j) {
421                if (frm[checkboxes[i].id][j].type == 'hidden') {
422                    frm[checkboxes[i].id][j].value = checkboxes[i].checked ? '1' : '0';
423                }
424            }
425        }
426    }
427}
428
429function toggleCache(id) {
430    if ("expire-time" == id) {
431        toggleDisable('cache-time-value', 0);
432        toggleDisable('cache-time-unit', 0);
433    } else {
434        toggleDisable('cache-time-value', 1);
435        toggleDisable('cache-time-unit', 1);
436    }
437    var es = DOM.getElement('cache-events').getElementsByTagName('input');
438    for (var i=0, len=es.length; i<len; i++)
439        toggleDisable( es[i].id, "expire-event" != id )
440    return false;
441}
442
443    Template.templates.autoSave = '<mt:section encode_js="1">
444    [# if ( saving ) { #]
445        [#= trans("Auto-saving..." ) #]
446    [# } else { #]
447        [#= trans("Last auto-save at [_1]:[_2]:[_3]", hh, mm, ss ) #]
448    [# } #]
449    </mt:section>';
450
451function init() {
452    var txt = getByID("text");
453    if (txt) {
454        var w;
455        if (w = txt.contentWindow) {
456            if (w.Language) {
457                if (w.Language && !w.Language.snippets) {
458                    w.Language.snippets = [];
459                }
460                var fsnippets = w.Language.snippets;
461                for (var i = 0; i < snippets.length; i++) {
462                    fsnippets.push(snippets[i]);
463                }
464            }
465        }
466    }
467}
468
469TC.attachLoadEvent( init );
470/* ]]> */
471</script>
472</mt:setvarblock>
473<mt:setvarblock name="html_body" append="1">
474    <mt:if name="dirty">
475    <script type="text/javascript">
476        /* <![CDATA[ */
477            MT.App.dirty = true;
478        /* ]]> */
479    </script>
480    </mt:if>
481</mt:setvarblock>
482<mt:include name="include/header.tmpl">
483
484<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">
485<input type="hidden" name="id" value="<mt:var name="id">" />
486<input type="hidden" name="blog_id" value="<mt:var name="blog_id" default="0">" />
487<input type="hidden" name="type" value="<mt:var name="type" escape="html">" />
488<input type="hidden" name="__mode" value="save" />
489<input type="hidden" name="_type" value="template" />
490<input type="hidden" name="rebuild" value="" />
491<input type="hidden" name="action_name" value="" />
492<input type="hidden" name="action_input" value="" />
493<input type="hidden" name="return_args" value="<mt:var name="return_args" escape="html">" />
494<input type="hidden" name="magic_token" value="<mt:var name="magic_token">" />
495
496<mt:include name="include/actions_bar.tmpl" hide_pager="1">
497
498<mtapp:setting
499    id="title"
500    label="<__trans phrase="Template Name">"
501    label_class = "no-header"
502    help_page="templates"
503    help_section="template_name">
504    <mt:if name="has_name">
505    <input name="name" id="title" tabindex="1" value="<mt:var name="name" escape="html">" maxlength="255" mt:watch-change="1" />
506    <mt:else>
507    <input type="hidden" name="name" value="<$mt:var name="template_name" escape="html"$>" />
508    <input type="text" id="title" name="name_display" value="<$mt:var name="template_name_label" escape="html">" disabled="disabled" />
509    </mt:if>
510</mtapp:setting>
511
512<mt:if name="type_custom">
513    <$mt:setvar name="template_name" value="<__trans phrase="Module Body">"$>
514<mt:else>
515    <$mt:setvar name="template_name" value="<__trans phrase="Template Body">"$>
516</mt:if>
517<mtapp:setting
518    id="template-body"
519    label="$template_name"
520    label_class="no-header"
521    help_page="templates"
522    help_section="template_name">
523    <div id="template-body-actions">
524        <span class="codepress-toolbar" style="float:right">
525            <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>
526            <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>
527        </span>
528        <mt:if name="template_snippets">
529        <select id="tag-insert" tabindex="2" name="tag-insert" onchange="insertSnippet(this)">
530            <option value=""><__trans phrase="Insert..."></option>
531            <mt:loop name="template_snippets">
532            <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>
533            </mt:loop>
534        </select>
535        </mt:if>
536    </div>
537    <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">
538        <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>
539        <input type="hidden" name="text_height" id="text_height" value="<mt:var name="disp_prefs_height_text" default="290">" />
540        <div class="resizer" mt:delegate="resizer" mt:target="textarea-enclosure" mt:lock="x">
541            <img src="<$mt:var name="static_uri"$>images/spacer.gif" width="100%" height="10"/>
542        </div>
543    </div>
544</mtapp:setting>
545
546<div id="template-options"<mt:unless name="id"> class="active"</mt:unless>>
547    <div id="template-options-header" class="pkg">
548        <h3><a href="javascript:void(0);" onclick="return toggleActive('template-options');"><__trans phrase="Template Options"></a></h3>
549        <div class="template-options-summary">
550<mt:if name="has_outfile">
551            <__trans phrase="Output file: <strong>[_1]</strong>" params="<mt:var name="outfile" escape="html">">
552</mt:if>
553<mt:if name="enabled_archive_types">
554            <__trans phrase="Enabled Mappings: [_1]" params="<mt:var name="enabled_archive_types">">
555</mt:if>
556        </div>
557    </div>
558    <div id="template-options-content" class="pkg">
559<mt:if name="has_outfile">
560    <mtapp:setting
561        id="outfile"
562        label="<__trans phrase="Output File">"
563        help_page="templates"
564        help_section="output_file">
565        <div class="textarea-wrapper">
566            <input name="outfile" id="outfile" tabindex="5" value="<mt:var name="outfile" escape="html">" class="full-width" mt:watch-change="1" />
567        </div>
568    </mtapp:setting>
569</mt:if>
570
571<mt:if name="type" eq="index">
572    <mtapp:setting
573        label="<__trans phrase="Template Type">"
574        id="identifier"
575        help_page="templates"
576        help_section="template_type">
577        <select name="identifier" id="identifier" tabindex="4" class="full-width">
578            <option value="" <mt:unless name="identifier">selected="selected"</mt:unless>><__trans phrase="Custom Index Template"></option>
579        <mt:loop name="index_identifiers">
580            <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>
581        </mt:loop>
582        </select>
583    </mtapp:setting>
584</mt:if>
585
586<mtapp:setting
587    label="<__trans phrase="Link to File">"
588    id="linked_file"
589    help_page="templates"
590    help_section="linked_templates">
591        <div class="textarea-wrapper">
592            <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" />
593        </div>
594</mtapp:setting>
595
596<mt:if name="archive_types">
597    <mtapp:setting
598        id="archive_mapping"
599        label="<__trans phrase="Archive Mapping">"
600        content_class="field-content-text"
601        hint=""
602        show_hint="0">
603        <p><a href="javascript:void(0)" onclick="return setCreateMode()" class="icon-left icon-create"><__trans phrase="Create Archive Mapping"></a></p>
604        <div id="msg-block"></div>
605        <div class="create-inline" id="create-inline-mapping">
606            <label for="new_archive_type"><strong><__trans phrase="Type"></strong></label>
607            <select name="new_archive_type" id="new_archive_type" tabindex="9">
608    <mt:loop name="archive_types">
609                <option value="<mt:var name="archive_type" escape="html">"><mt:var name="archive_type_translated" escape="html"></option>
610    </mt:loop>
611            </select>
612            &nbsp;
613            <span class="buttons">
614                <a href="javascript:void(0)"
615                    onclick="addMap(); return false;"
616                    ><__trans phrase="Add"></a>
617                <a href="javascript:void(0)"
618                    onclick="cancelCreateMode(); return false"
619                    ><__trans phrase="Cancel"></a>
620            </span>
621        </div>
622        <div id="template-maps">
623            <mt:include name="include/archive_maps.tmpl">
624        </div>
625    </mtapp:setting>
626<mt:else>
627    <mt:if name="template_group" eq="index">
628        <mt:setvarblock name="build_dynamic_hint">
629            <__trans phrase="Learn more about <a href="http://www.movabletype.org/documentation/administrator/publishing/publishing-profiles-and-strategies.html">publishing profiles</a>">
630        </mt:setvarblock>
631        <mtapp:setting
632            id="build_dynamic"
633            label="<__trans phrase="Publish Options">"
634            hint="$build_dynamic_hint"
635            show_hint="1"
636            help_page="templates"
637            help_section="enable_dynamic_publishing">
638            <select name="build_type" id="build-type" class="full-width">
639                <option value="1"<mt:if name="build_type_1"> selected="selected"</mt:if>><__trans phrase="Statically"></option>
640                <option value="3"<mt:if name="build_type_3"> selected="selected"</mt:if>><__trans phrase="Dynamically"></option>
641                <mt:if name="publish_queue_available">
642                <option value="4"<mt:if name="build_type_4"> selected="selected"</mt:if>><__trans phrase="Background"></option>
643        <mt:ignore>
644            <!-- untested features -->
645                    <option value="5"<mt:if name="build_type_5"> selected="selected"</mt:if>><__trans phrase="On a schedule"></option>
646                        <!-- This code needs to be shown if the "On a schedule" has been selected -->
647                    <__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" />
648                    <select name="schedule_period" id="schedule_period">
649                        <option value="minutes"<mt:if name="schedule_period_minutes"> selected="selected"</mt:if>><__trans phrase="minutes"></option>
650                        <option value="hours"<mt:if name="schedule_period_hours"> selected="selected"</mt:if>><__trans phrase="hours"></option>
651                        <option value="days"<mt:if name="schedule_period_days"> selected="selected"</mt:if>><__trans phrase="days"></option>
652                    </select>
653        </mt:ignore>
654                </mt:if>
655                <option value="2"<mt:if name="build_type_2"> selected="selected"</mt:if>><__trans phrase="Manually"></option>
656                <option value="0"<mt:if name="build_type_0"> selected="selected"</mt:if>><__trans phrase="Disabled"></option>
657            </select>
658        </mtapp:setting>
659    </mt:if>
660</mt:if>
661<mt:if name="template_group" like="(module|widget)">
662
663    <mt:if name="include_system">
664        <mtapp:setting
665            id="server_side_include"
666            label="<__trans phrase="Server Side Include">"
667            content_class="field-content-text">
668            <input type="checkbox" id="server-side-include" name="include_with_ssi" value="1" onclick="toggleHidden('include_cache_path-field')"<mt:if name="include_with_ssi"> checked</mt:if> />
669            <label for="server-side-include"><__trans phrase="Process as <strong>[_1]</strong> include" params="<$mt:var name="ssi_type"$>"></label>
670        </mtapp:setting>
671        <mt:ignore>
672            <mtapp:setting
673                id="include_cache_path"
674                label="<__trans phrase="Include cache path">"
675                shown="<mt:if name="include_with_ssi">0<mt:else>1</mt:if>">
676                <div class="textarea-wrapper">
677                    <input type="text" id="include-cache-path" name="cache_path" value="<mt:var name="cache_path">" maxlength="255" class="full-width" mt:watch-change="1" />
678                </div>
679            </mtapp:setting>
680        </mt:ignore>
681    </mt:if>
682
683    <mt:if name="include_cache">
684        <mtapp:setting
685            id="caching"
686            label="<__trans phrase="Module Caching">"
687            content_class="field-content-text">
688            <mt:if name="caching_disabled">
689            <__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">">
690            <mt:else>
691            <ul id="cache-options">
692                <li><input type="radio" value="0" name="cache_expire_type" id="no-cache" onclick="toggleCache('cache-none');"<mt:if name="cache_expire_type" eq="0"> checked="checked"</mt:if>> <label for="no-cache"><__trans phrase="No caching"></label></li>
693                <li><input type="radio" value="1" name="cache_expire_type" id="expire-time" onclick="toggleCache('expire-time');"<mt:if name="cache_expire_type" eq="1"> checked="checked"</mt:if>> <label for="expire-time"><__trans phrase="Expire after"></label>
694                    <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> />
695                    <select id="cache-time-unit" name="cache_expire_period"<mt:unless name="cache_expire_type" eq="1"> disabled="disabled"</mt:unless>>
696                        <option value="minutes"<mt:if name="cache_expire_period" eq="minutes"> selected="selected"</mt:if>><__trans phrase="minutes"></option>
697                        <option value="hours"<mt:if name="cache_expire_period" eq="hours"> selected="selected"</mt:if>><__trans phrase="hours"></option>
698                        <option value="days"<mt:if name="cache_expire_period" eq="days"> selected="selected"</mt:if>><__trans phrase="days"></option>
699                    </select>
700                </li>
701                <li><input type="radio" value="2" name="cache_expire_type" id="expire-event" onclick="toggleCache('expire-event');"<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>
702                    <ul id="cache-events">
703                        <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><mt:unless name="cache_expire_type" eq="2"> disabled="disabled"</mt:unless>> <label for="cache-event-entry"><__trans phrase="Entry"></label></li>
704                        <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><mt:unless name="cache_expire_type" eq="2"> disabled="disabled"</mt:unless>> <label for="cache-event-comment"><__trans phrase="Comment"></label></li>
705                        <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><mt:unless name="cache_expire_type" eq="2"> disabled="disabled"</mt:unless>> <label for="cache-event-trackback"><__trans phrase="TrackBack"></label></li>
706                        <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><mt:unless name="cache_expire_type" eq="2"> disabled="disabled"</mt:unless>> <label for="cache-event-page"><__trans phrase="Page"></label></li>
707                        <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><mt:unless name="cache_expire_type" eq="2"> disabled="disabled"</mt:unless>> <label for="cache-event-author"><__trans phrase="User"></label></li>
708                        <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><mt:unless name="cache_expire_type" eq="2"> disabled="disabled"</mt:unless>> <label for="cache-event-category"><__trans phrase="Category"></label></li>
709                        <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><mt:unless name="cache_expire_type" eq="2"> disabled="disabled"</mt:unless>> <label for="cache-event-folder"><__trans phrase="Folder"></label></li>
710                        <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><mt:unless name="cache_expire_type" eq="2"> disabled="disabled"</mt:unless>> <label for="cache-event-asset"><__trans phrase="Asset"></label></li>
711                    </ul>
712                </li>
713            </ul>
714            </mt:if>
715        </mtapp:setting>
716    </mt:if>
717</mt:if>
718    </div>
719</div>
720
721<mt:include name="include/actions_bar.tmpl" bar_position="bottom" hide_pager="1">
722</form>
723<form name="archive_map_form" method="post" action="<mt:var name="script_url">">
724    <input type="hidden" name="__mode" value="" />
725    <input type="hidden" name="_type" value="<mt:var name="object_type">" />
726    <input type="hidden" name="blog_id" value="<mt:var name="blog_id">" />
727    <input type="hidden" name="magic_token" value="<mt:var name="magic_token">" />
728</form>
729
730<script type="text/javascript">
731/* <![CDATA[ */
732App.singletonConstructor =
733MT.App = new Class( MT.App, {
734
735    initComponents: function() {
736       arguments.callee.applySuper( this, arguments );
737       documentTags( true );
738    },
739
740    autoSave: function() {
741        arguments.callee.applySuper( this, arguments );
742        documentTags();
743    }
744
745} );
746/* ]]> */
747</script>
748
749<mt:include name="include/footer.tmpl">
Note: See TracBrowser for help on using the browser.