Dotclear

source: inc/admin/default-templates/js_helpers.html.twig @ 1056:b67f949a98f8

Revision 1056:b67f949a98f8, 13.0 KB checked in by JcDenis, 13 years ago (diff)
  • Twig know loaded in dcCore
  • Admin context now loaded in admin prepend and avavailable under $_ctx
  • Copy admin theme features in default-templates
  • New URL argument to serve theme file as ?tf=my_theme_file
Line 
1{# JS Helpers #}
2
3{% macro common() %}
4     <!-- jsCommon -->
5     <script type="text/javascript" src="{{theme_url}}js/jquery/jquery.js"></script>
6     <script type="text/javascript" src="{{theme_url}}js/jquery/jquery.biscuit.js"></script>
7     <script type="text/javascript" src="{{theme_url}}js/jquery/jquery.bgFade.js"></script>
8     <script type="text/javascript" src="{{theme_url}}js/jquery/jquery.constantfooter.js"></script>
9     <script type="text/javascript" src="{{theme_url}}js/common.js"></script>
10     <script type="text/javascript" src="{{theme_url}}js/prelude.js"></script>
11     <script type="text/javascript">
12     //<![CDATA[
13          dotclear.nonce = '{{Nonce}}';
14          dotclear.img_plus_src = '{{theme_url}}images/plus.png';
15          dotclear.img_plus_alt = '{{__('uncover')}}';
16          dotclear.img_minus_src = '{{theme_url}}images/minus.png';
17          dotclear.img_minus_alt = '{{__('hide')}}';
18          dotclear.img_menu_on = '{{theme_url}}images/menu_on.png';
19          dotclear.img_menu_off = '{{theme_url}}images/menu_off.png';
20          dotclear.msg.help = '{{__('help')}}';
21          dotclear.msg.no_selection = '{{__('no selection')}}';
22          dotclear.msg.select_all = '{{__('select all')}}';
23          dotclear.msg.invert_sel = '{{__('invert selection')}}';
24          dotclear.msg.website = '{{__('Web site:')}}';
25          dotclear.msg.email = '{{__('Email:')}}';
26          dotclear.msg.ip_address = '{{__('IP address:')}}';
27          dotclear.msg.error = '{{__('Error:')}}';
28          dotclear.msg.entry_created = '{{__('Entry has been successfully created.')}}';
29          dotclear.msg.edit_entry = '{{__('Edit entry')}}';
30          dotclear.msg.view_entry = '{{__('view entry')}}';
31          dotclear.msg.confirm_delete_posts = '{{__("Are you sure you want to delete selected entries (%s)?")}}';
32          dotclear.msg.confirm_delete_post = '{{__("Are you sure you want to delete this entry?")}}';
33          dotclear.msg.confirm_delete_comments = '{{__('Are you sure you want to delete selected comments (%s)?')}}';
34          dotclear.msg.confirm_delete_comment = '{{__('Are you sure you want to delete this comment?')}}';
35          dotclear.msg.cannot_delete_users = '{{__('Users with posts cannot be deleted.')}}';
36          dotclear.msg.confirm_delete_user = '{{__('Are you sure you want to delete selected users (%s)?')}}';
37          dotclear.msg.confirm_delete_category = '{{__('Are you sure you want to delete category "%s"?')}}';
38          dotclear.msg.confirm_reorder_categories = '{{__('Are you sure you want to reorder all categories?')}}';
39          dotclear.msg.confirm_delete_media = '{{__('Are you sure you want to remove media "%s"?')}}';
40          dotclear.msg.confirm_extract_current = '{{__('Are you sure you want to extract archive in current directory?')}}';
41          dotclear.msg.confirm_remove_attachment = '{{__('Are you sure you want to remove attachment "%s"?')}}';
42          dotclear.msg.confirm_delete_lang = '{{__('Are you sure you want to delete "%s" language?')}}';
43          dotclear.msg.confirm_delete_plugin = '{{__('Are you sure you want to delete "%s" plugin?')}}';
44          dotclear.msg.use_this_theme = '{{__('Use this theme')}}';
45          dotclear.msg.remove_this_theme = '{{__('Remove this theme')}}';
46          dotclear.msg.confirm_delete_theme = '{{__('Are you sure you want to delete "%s" theme?')}}';
47          dotclear.msg.zip_file_content = '{{__('Zip file content')}}';
48          dotclear.msg.xhtml_validator = '{{__('XHTML markup validator')}}';
49          dotclear.msg.xhtml_valid = '{{__('XHTML content is valid.')}}';
50          dotclear.msg.xhtml_not_valid = '{{__('There are XHTML markup errors.')}}';
51          dotclear.msg.confirm_change_post_format = '{{__('You have unsaved changes. Switch post format will loose these changes. Proceed anyway?')}}';
52          dotclear.msg.load_enhanced_uploader = '{{__('Loading enhanced uploader =>please wait.')}}';
53     //]]>
54     </script>
55{% endmacro %}
56
57{% macro load_IE7() %}
58     <!--[if lt IE 8]>
59     <script type="text/javascript" src="{{theme_url}}js/ie7/IE8.js"></script>
60     <link rel="stylesheet" type="text/css" href="{{theme_url}}style/iesucks.css" />
61     <![endif]-->
62{% endmacro %}
63
64{% macro confirm_close(values) %}
65     {% if values is not iterable %}{% set values = [values] %} {% endif %}
66     <!-- jsConfirmClose -->
67     <script type="text/javascript" src="{{theme_url}}js/confirm-close.js"></script>
68     <script type="text/javascript">
69     //<![CDATA[
70          confirmClosePage = new confirmClose({% for value in values %}'{{value}}'{%if not loop.last %},{% endif %}{% endfor %});
71          confirmClose.prototype.prompt = '{{__('You have unsaved changes.')}}';
72     //]]>
73     </script>
74{% endmacro %}
75
76{% macro page_tabs(default_tab) %}
77     <!-- jsPageTabs -->
78     <script type="text/javascript" src="{{theme_url}}js/jquery/jquery.pageTabs.js"></script>
79     <script type="text/javascript">
80     //<![CDATA[
81          $(function() {
82               $.pageTabs('{{default_tab}}');
83          });
84     //]]>
85     </script>
86{% endmacro %}
87
88{% macro modal() %}
89     <!-- jsModal -->
90     <link rel="stylesheet" href="{{theme_url}}style/modal/modal.css" type="text/css" media="screen" />
91     <script type="text/javascript" src="{{theme_url}}js/jquery/jquery.modal.js"></script>
92     <script type="text/javascript">
93     //<![CDATA[
94          $.modal.prototype.params.loader_img = '{{theme_url}}style/modal/loader.gif';
95          $.modal.prototype.params.close_img = '{{theme_url}}style/modal/close.png';
96     //]]>
97     </script>
98{% endmacro %}
99
100{% macro color_picker() %}
101     <!-- jsColorPicker -->
102     <link rel="stylesheet" href="{{theme_url}}style/farbtastic/farbtastic.css" type="text/css" media="screen" />
103     <script type="text/javascript" src="{{theme_url}}js/jquery/jquery.farbtastic.js"></script>
104     <script type="text/javascript" src="{{theme_url}}js/color-picker.js"></script>
105{% endmacro %}
106
107{% macro date_picker() %}
108     <!-- jsDatePicker -->
109     <link rel="stylesheet" href="{{theme_url}}style/date-picker.css" type="text/css" media="screen" />
110     <script type="text/javascript" src="{{theme_url}}js/date-picker.js"></script>
111     <script type="text/javascript">
112     //<![CDATA[
113          datePicker.prototype.months[0] = '{{__('January')}}';
114          datePicker.prototype.months[1] = '{{__('February')}}';
115          datePicker.prototype.months[2] = '{{__('March')}}';
116          datePicker.prototype.months[3] = '{{__('April')}}';
117          datePicker.prototype.months[4] = '{{__('May')}}';
118          datePicker.prototype.months[5] = '{{__('June')}}';
119          datePicker.prototype.months[6] = '{{__('July')}}';
120          datePicker.prototype.months[7] = '{{__('August')}}';
121          datePicker.prototype.months[8] = '{{__('September')}}';
122          datePicker.prototype.months[9] = '{{__('October')}}';
123          datePicker.prototype.months[10] = '{{__('November')}}';
124          datePicker.prototype.months[11] = '{{__('December')}}';
125          datePicker.prototype.days[0] = '{{__('Monday')}}';
126          datePicker.prototype.days[1] = '{{__('Tuesday')}}';
127          datePicker.prototype.days[2] = '{{__('Wednesday')}}';
128          datePicker.prototype.days[3] = '{{__('Thursday')}}';
129          datePicker.prototype.days[4] = '{{__('Friday')}}';
130          datePicker.prototype.days[5] = '{{__('Saturday')}}';
131          datePicker.prototype.days[6] = '{{__('Sunday')}}';
132          datePicker.prototype.img_src = '{{theme_url}}images/date-picker.png';
133          datePicker.prototype.close_msg = '{{__('close')}}';
134          datePicker.prototype.now_msg = '{{__('now')}}';
135     //]]>
136     </script>
137{% endmacro %}
138
139{% macro tool_bar() %}
140     <!-- jsToolBar -->
141     <link rel="stylesheet" type="text/css" href="{{theme_url}}style/jsToolBar/jsToolBar.css" />
142     <script type="text/javascript" src="{{theme_url}}js/jsToolBar/jsToolBar.js"></script>
143     
144     {% if enable_wysiwyg %}
145          <script type="text/javascript" src="{{theme_url}}js/jsToolBar/jsToolBar.wysiwyg.js"></script>
146     {% endif %}
147     
148     <script type="text/javascript" src="{{theme_url}}js/jsToolBar/jsToolBar.dotclear.js"></script>
149     <script type="text/javascript">
150     //<![CDATA[
151          jsToolBar.prototype.dialog_url = 'popup.php';
152          jsToolBar.prototype.iframe_css =
153          '    body{'+
154          '         font: 12px "DejaVu Sans","Lucida Grande","Lucida Sans Unicode",Arial,sans-serif;'+
155          '         color : #000;'+
156          '         background: #f9f9f9;'+
157          '         margin: 0;'+
158          '         padding : 2px;'+
159          '         border: none;'+
160          '         {% if rtl %}direction:rtl;{% endif %}'+
161          '    }'+
162          '    pre, code, kbd, samp {'+
163          '         font-family:"Courier New",Courier,monospace;'+
164          '         font-size : 1.1em;'+
165          '    }'+
166          '    code {'+
167          '         color : #666;'+
168          '         font-weight : bold;'+
169          '    }'+
170          '    body > p:first-child {'+
171          '         margin-top: 0;'+
172          '    }'+
173          '';
174          jsToolBar.prototype.base_url = '{{blog.host}}';
175          jsToolBar.prototype.switcher_visual_title = '{{__('visual')}}';
176          jsToolBar.prototype.switcher_source_title = '{{__('source')}}';
177          jsToolBar.prototype.legend_msg = '{{__('You can use the following shortcuts to format your text.')}}';
178          jsToolBar.prototype.elements.blocks.options.none = '{{__('-- none --')}}';
179          jsToolBar.prototype.elements.blocks.options.nonebis = '{{__('-- block format --')}}';
180          jsToolBar.prototype.elements.blocks.options.p = '{{__('Paragraph')}}';
181          jsToolBar.prototype.elements.blocks.options.h1 = '{{__('Level 1 header')}}';
182          jsToolBar.prototype.elements.blocks.options.h2 = '{{__('Level 2 header')}}';
183          jsToolBar.prototype.elements.blocks.options.h3 = '{{__('Level 3 header')}}';
184          jsToolBar.prototype.elements.blocks.options.h4 = '{{__('Level 4 header')}}';
185          jsToolBar.prototype.elements.blocks.options.h5 = '{{__('Level 5 header')}}';
186          jsToolBar.prototype.elements.blocks.options.h6 = '{{__('Level 6 header')}}';
187          jsToolBar.prototype.elements.strong.title = '{{__('Strong emphasis')}}';
188          jsToolBar.prototype.elements.em.title = '{{__('Emphasis')}}';
189          jsToolBar.prototype.elements.ins.title = '{{__('Inserted')}}';
190          jsToolBar.prototype.elements.del.title = '{{__('Deleted')}}';
191          jsToolBar.prototype.elements.quote.title = '{{__('Inline quote')}}';
192          jsToolBar.prototype.elements.code.title = '{{__('Code')}}';
193          jsToolBar.prototype.elements.br.title = '{{__('Line break')}}';
194          jsToolBar.prototype.elements.blockquote.title = '{{__('Blockquote')}}';
195          jsToolBar.prototype.elements.pre.title = '{{__('Preformated text')}}';
196          jsToolBar.prototype.elements.ul.title = '{{__('Unordered list')}}';
197          jsToolBar.prototype.elements.ol.title = '{{__('Ordered list')}}';
198         
199          jsToolBar.prototype.elements.link.title = '{{__('Link')}}';
200          jsToolBar.prototype.elements.link.href_prompt = '{{__('URL?')}}';
201          jsToolBar.prototype.elements.link.hreflang_prompt = '{{__('Language?')}}';
202         
203          jsToolBar.prototype.elements.img.title = '{{__('External image')}}';
204          jsToolBar.prototype.elements.img.src_prompt = '{{__('URL?')}}';
205         
206          jsToolBar.prototype.elements.img_select.title = '{{__('Media chooser')}}';
207          jsToolBar.prototype.elements.post_link.title = '{{__('Link to an entry')}}';
208         
209          {% if media_manage %}
210               jsToolBar.prototype.elements.img_select.disabled = true;
211          {% endif %}
212     //]]>
213     </script>
214{% endmacro %}
215
216{% macro candy_upload(params) %}
217     {% if params is empty %}{% set params = {} %} {% endif %}
218     {% set params = params|merge(['sess_id={{sess_id}}','sess_uid={{sess_uid}}','xd_check={{Nonce}}']) %}
219     <!-- jsCandyUpload -->
220     <link rel="stylesheet" href="{{theme_url}}style/candyUpload/style.css" type="text/css" media="screen" />
221     <script type="text/javascript" src="{{theme_url}}js/jquery/jquery.candyUpload.js"></script>
222     <script type="text/javascript">
223     //<![CDATA[
224          dotclear.candyUpload = {};
225          dotclear.msg.activate_enhanced_uploader = '{{__('Activate enhanced uploader')}}';
226          dotclear.msg.disable_enhanced_uploader = '{{__('Disable enhanced uploader')}}';
227          $._candyUpload.prototype.locales.file_uploaded = '{{__('File successfully uploaded.')}}';
228          $._candyUpload.prototype.locales.max_file_size = '{{__('Maximum file size allowed:')}}';
229          $._candyUpload.prototype.locales.limit_exceeded = '{{__('Limit exceeded.')}}';
230          $._candyUpload.prototype.locales.size_limit_exceeded = '{{__('File size exceeds allowed limit.')}}';
231          $._candyUpload.prototype.locales.canceled = '{{__('Canceled.')}}';
232          $._candyUpload.prototype.locales.http_error = '{{__('HTTP Error:')}}';
233          $._candyUpload.prototype.locales.error = '{{__('Error:')}}';
234          $._candyUpload.prototype.locales.choose_file = '{{__('Choose file')}}';
235          $._candyUpload.prototype.locales.choose_files = '{{__('Choose files')}}';
236          $._candyUpload.prototype.locales.cancel = '{{__('Cancel')}}';
237          $._candyUpload.prototype.locales.clean = '{{__('Clean')}}';
238          $._candyUpload.prototype.locales.upload = '{{__('Upload')}}';
239          $._candyUpload.prototype.locales.no_file_in_queue = '{{__('No file in queue.')}}';
240          $._candyUpload.prototype.locales.file_in_queue = '{{__('1 file in queue.')}}';
241          $._candyUpload.prototype.locales.files_in_queue = '{{__('%d files in queue.')}}';
242          $._candyUpload.prototype.locales.queue_error = '{{__('Queue error:')}}';
243          dotclear.candyUpload.base_url = '{{admin_url}}';
244          dotclear.candyUpload.movie_url = '{{theme_url}}swfupload.swf';
245          dotclear.candyUpload.params = '{{params|join('&')}}';
246     //]]>
247     </script>
248{% endmacro %}
249
250{% macro tool_man() %}
251     <!-- jsToolMan -->
252     <script type="text/javascript" src="{{theme_url}}js/tool-man/core.js"></script>
253     <script type="text/javascript" src="{{theme_url}}js/tool-man/events.js"></script>
254     <script type="text/javascript" src="{{theme_url}}js/tool-man/css.js"></script>
255     <script type="text/javascript" src="{{theme_url}}js/tool-man/coordinates.js"></script>
256     <script type="text/javascript" src="{{theme_url}}js/tool-man/drag.js"></script>
257     <script type="text/javascript" src="{{theme_url}}js/tool-man/dragsort.js"></script>
258     <script type="text/javascript" src="{{theme_url}}js/dragsort-tablerows.js"></script>
259{% endmacro %}
260
261{% macro meta_editor() %}
262     <!-- jsMetaEditor -->
263     <script type="text/javascript" src="{{theme_url}}js/meta-editor.js"></script>
264{% endmacro %}
Note: See TracBrowser for help on using the repository browser.

Sites map