Mercurial Hosting > nabble
comparison src/nabble/view/naml/app.naml @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children | 72765b66e2c3 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:7ecd1a4ef557 |
---|---|
1 <macro name="view_app" requires="servlet,nabble,basic"> | |
2 <n.switch. value="[n.get_node_from_parameter.type/]"> | |
3 <n.case. value="forum"> | |
4 <n.call_view_forum/> | |
5 </n.case.> | |
6 <n.case. value="mixed"> | |
7 <n.call_view_mixed/> | |
8 </n.case.> | |
9 <n.case. value="category"> | |
10 <n.view_category/> | |
11 </n.case.> | |
12 <n.case. value="board"> | |
13 <n.view_board/> | |
14 </n.case.> | |
15 <n.case. value="gallery"> | |
16 <n.view_gallery/> | |
17 </n.case.> | |
18 <n.case. value="blog"> | |
19 <n.view_blog/> | |
20 </n.case.> | |
21 <n.case. value="news"> | |
22 <n.view_news/> | |
23 </n.case.> | |
24 <n.default_case.throw_runtime_exception text="invalid app type: '[n.switch_value/]'" /> | |
25 </n.switch.> | |
26 </macro> | |
27 | |
28 <macro name="call_view_forum"> | |
29 <n.call_view_standard/> | |
30 </macro> | |
31 | |
32 <namespace name="app_namespace" /> | |
33 <namespace name="narrow_app_namespace" /> | |
34 | |
35 <macro name="apply_app_namespace" dot_parameter="do"> | |
36 <n.app_namespace.do/> | |
37 </macro> | |
38 | |
39 // workgroup stuff --- will clean up later [Hugo - Aug 2011] | |
40 | |
41 <namespace name="workgroup_app_namespace" /> | |
42 <namespace name="workgroup_narrow_app_namespace" /> | |
43 | |
44 <macro name="apply_workgroup_app_namespace" dot_parameter="do"> | |
45 <n.workgroup_app_namespace.do /> | |
46 </macro> | |
47 | |
48 <macro name="view_app canonical path" requires="http_request"> | |
49 <n.view_app_canonical_path/> | |
50 </macro> | |
51 | |
52 <macro name="view_topics canonical path" requires="http_request"> | |
53 <n.view_app_canonical_path/> | |
54 </macro> | |
55 | |
56 add more as needed | |
57 | |
58 <macro name="view_app_canonical_path" requires="http_request"> | |
59 <n.get_node_from_parameter.path | |
60 template="[n.get_parameter name='macro'/]" | |
61 index_record="[n.get_parameter name='index_record'/]" | |
62 date="[n.get_parameter name='date'/]" | |
63 /> | |
64 </macro> | |
65 | |
66 <macro name="app_html" parameters="head,body" requires="servlet"> | |
67 <n.app_min_html> | |
68 <head> | |
69 <n.head/> | |
70 <n.app_meta/> | |
71 <n.increment_view_count/> | |
72 </head> | |
73 <body> | |
74 <n.page_node.app_hardcoded_notices/> | |
75 <n.newsflash/> | |
76 <n.show_administrator_notice/> | |
77 <n.app_body_header/> | |
78 <n.body/> | |
79 <n.app_body_footer/> | |
80 </body> | |
81 </n.app_min_html> | |
82 </macro> | |
83 | |
84 <macro name="app_min_html" parameters="head,body" requires="servlet"> | |
85 <n.node_page.> | |
86 <n.app_caching/> | |
87 <n.check_that_is_app/> | |
88 <n.html> | |
89 <head> | |
90 <n.head/> | |
91 </head> | |
92 <body> | |
93 <n.body/> | |
94 </body> | |
95 </n.html> | |
96 </n.node_page.> | |
97 </macro> | |
98 | |
99 <macro name="app_caching" requires="node_page"> | |
100 <n.uncache_for.> | |
101 <n.descendant_changes.page_node.id/> | |
102 <n.bread_crumb_changes.page_node.id/> | |
103 </n.uncache_for.> | |
104 </macro> | |
105 | |
106 <macro name="node_parameter_or_root" dot_parameter="do"> | |
107 <n.if.has_parameter name="node"> | |
108 <then.get_node_from_parameter.do/> | |
109 <else.root_node.do/> | |
110 </n.if.has_parameter> | |
111 </macro> | |
112 | |
113 <macro name="embedding_redirection_js"> | |
114 <n.node_parameter_or_root.> | |
115 <n.if.has_embedding_redirection_url> | |
116 <then> | |
117 <script type="text/javascript"> | |
118 var embeddedUrl = '<n.embedding_redirection_url/>'; | |
119 var botPattern = "(googlebot\/|Googlebot-Mobile|Googlebot-Image|Google favicon|Mediapartners-Google|bingbot|slurp|java|wget|curl|Commons-HttpClient|Python-urllib|libwww|httpunit|nutch|phpcrawl|msnbot|jyxobot|FAST-WebCrawler|FAST Enterprise Crawler|biglotron|teoma|convera|seekbot|gigablast|exabot|ngbot|ia_archiver|GingerCrawler|webmon |httrack|webcrawler|grub.org|UsineNouvelleCrawler|antibot|netresearchserver|speedy|fluffy|bibnum.bnf|findlink|msrbot|panscient|yacybot|AISearchBot|IOI|ips-agent|tagoobot|MJ12bot|dotbot|woriobot|yanga|buzzbot|mlbot|yandexbot|purebot|Linguee Bot|Voyager|CyberPatrol|voilabot|baiduspider|citeseerxbot|spbot|twengabot|postrank|turnitinbot|scribdbot|page2rss|sitebot|linkdex|Adidxbot|blekkobot|ezooms|dotbot|Mail.RU_Bot|discobot|heritrix|findthatfile|europarchive.org|NerdByNature.Bot|sistrix crawler|ahrefsbot|Aboundex|domaincrawler|wbsearchbot|summify|ccbot|edisterbot|seznambot|ec2linkfinder|gslfbot|aihitbot|intelium_bot|facebookexternalhit|yeti|RetrevoPageAnalyzer|lb-spider|sogou|lssbot|careerbot|wotbox|wocbot|ichiro|DuckDuckBot|lssrocketcrawler|drupact|webcompanycrawler|acoonbot|openindexspider|gnam gnam spider|web-archive-net.com.bot|backlinkcrawler|coccoc|integromedb|content crawler spider|toplistbot|seokicks-robot|it2media-domain-crawler|ip-web-crawler.com|siteexplorer.info|elisabot|proximic|changedetection|blexbot|arabot|WeSEE:Search|niki-bot|CrystalSemanticsBot|rogerbot|360Spider|psbot|InterfaxScanBot|Lipperhey SEO Service|CC Metadata Scaper|g00g1e.net|GrapeshotCrawler|urlappendbot|brainobot|fr-crawler|binlar|SimpleCrawler|Livelapbot|Twitterbot|cXensebot|smtbot|bnf.fr_bot|A6-Indexer|ADmantX|Facebot|Twitterbot|OrangeBot|memorybot|AdvBot|MegaIndex|SemanticScholarBot|ltx71|nerdybot|xovibot|BUbiNG|Qwantify|archive.org_bot|Applebot|TweetmemeBot|crawler4j|findxbot|SemrushBot|yoozBot|lipperhey|y!j-asr|Domain Re-Animator Bot|AddThis)"; | |
120 var re = new RegExp(botPattern, 'i'); | |
121 if( !Nabble.isEmbedded && !re.test(navigator.userAgent) ) { | |
122 var url = top.location.href; | |
123 | |
124 var posHtml = url.lastIndexOf('.html'); | |
125 var c = '-'; | |
126 var hash; | |
127 if (url.indexOf('?') == -1 && posHtml > 0) { | |
128 var posStart = url.lastIndexOf('-'); | |
129 hash = (posStart > 0)? url.substring(posStart+1, posHtml):''; | |
130 } else { | |
131 hash = url.replace(new RegExp('https?://'), ''); | |
132 hash = hash.substring(hash.indexOf('/')+1); | |
133 hash = hash; | |
134 c = '+'; | |
135 } | |
136 if (Nabble.analytics) Nabble.analytics(); | |
137 var _hash = hash.length==1?'':'#nabble' + c + encodeURIComponent(hash); | |
138 | |
139 if (top.location.hash) { | |
140 var realHash = top.location.hash.substring(1); | |
141 _hash += '|' + encodeURIComponent(realHash); | |
142 } | |
143 _hash = _hash.length == 8 ? '' : _hash; | |
144 top.location.replace(embeddedUrl + _hash); | |
145 } | |
146 </script> | |
147 </then> | |
148 </n.if.has_embedding_redirection_url> | |
149 </n.node_parameter_or_root.> | |
150 </macro> | |
151 | |
152 <macro name="check_that_is_app"> | |
153 <n.if.not.page_node.is_app> | |
154 <then.redirect_to.page_node.url/> | |
155 </n.if.not.page_node.is_app> | |
156 </macro> | |
157 | |
158 <macro name="app_meta" requires="node_page,servlet"> | |
159 <n.if> | |
160 <condition> | |
161 <n.both> | |
162 <condition1.is_null.app_index_record/> | |
163 <condition2.equal value1="[n.app_template/]" value2="[n.app_default_template/]"/> | |
164 </n.both> | |
165 </condition> | |
166 <then> | |
167 <n.app_meta_description/> | |
168 <n.app_meta_keywords/> | |
169 </then> | |
170 <else> | |
171 <META NAME="robots" CONTENT="noindex,follow"/> | |
172 </else> | |
173 </n.if> | |
174 </macro> | |
175 | |
176 <macro name="app_meta_description" requires="node_page"> | |
177 <META NAME="description" CONTENT="[n.page_node.build_meta_description/]"/> | |
178 </macro> | |
179 | |
180 <macro name="build_meta_description" requires="node"> | |
181 <n.if.has_property name="page_meta_description"> | |
182 <then.get_property name="page_meta_description"/> | |
183 <else.default_meta_description/> | |
184 </n.if.has_property> | |
185 </macro> | |
186 | |
187 <macro name="app_meta_keywords" requires="node_page"> | |
188 <META NAME="keywords" CONTENT="[n.page_node.build_meta_keywords/]"/> | |
189 </macro> | |
190 | |
191 <macro name="build_meta_keywords" requires="node"> | |
192 <n.default_meta_keywords/> | |
193 </macro> | |
194 | |
195 <macro name="app_body_footer"> | |
196 <n.comment.>To be overridden</n.comment.> | |
197 </macro> | |
198 | |
199 <macro name="app_title"> | |
200 <title><n.compress.> | |
201 <n.page_node.app_title_contents/> | |
202 <n.page_node.app_title_ending/> | |
203 </n.compress.></title> | |
204 </macro> | |
205 | |
206 <macro name="app_title_contents" requires="node"> | |
207 <n.if.has_property name="page_title"> | |
208 <then.get_property name="page_title"/> | |
209 <else.default_app_title_contents/> | |
210 </n.if.has_property> | |
211 </macro> | |
212 | |
213 <macro name="default_app_title_contents" requires="node"> | |
214 <n.if.not.is_root> | |
215 <then><n.root_node.subject/> -</then> | |
216 </n.if.not.is_root> | |
217 <n.subject/> | |
218 </macro> | |
219 | |
220 <macro name="app_title_ending" requires="node"> | |
221 <n.if.is_associated_with_mailing_list_archive> | |
222 <then>| <t>Mailing List Archive</t></then> | |
223 </n.if.is_associated_with_mailing_list_archive> | |
224 <n.if.not.equal value1="[n.app_template/]" value2="[n.app_default_template/]"> | |
225 <then>| <n.capitalize.substring text="[n.app_template/]" begin="5" /></then> | |
226 </n.if.not.equal> | |
227 <n.hide_if_equals. value1="[n.app_page_number/]" value2="1"> | |
228 | <t>Page <t.number.app_page_number/></t> | |
229 </n.hide_if_equals.> | |
230 </macro> | |
231 | |
232 <macro name="app_body_header" requires="node_page,servlet"> | |
233 <n.page_node.> | |
234 <div id="forum-header"> | |
235 <h1 id="forum-title" class="app-title-[n.id/] adbayes-content"><n.subject/></h1> | |
236 <div id="description-box" class="adbayes-content"> | |
237 <n.mailing_list_information/> | |
238 <n.node_message_as_html/> | |
239 </div> | |
240 <div id="search-box" class="search-box"> | |
241 <n.search_box/> | |
242 </div> | |
243 </div> | |
244 </n.page_node.> | |
245 </macro> | |
246 | |
247 | |
248 <macro name="app_topic_pagination" requires="node_page,servlet" parameters="margin"> | |
249 <n.paging. | |
250 total_rows="[n.app_topic_count/]" | |
251 current_row="[n.app_index_record/]" | |
252 rows_per_page="[n.app_rows_per_page/]" | |
253 > | |
254 <n.generic_paging> | |
255 <margin> | |
256 <n.default. to='.55em .2em'> | |
257 <n.margin/> | |
258 </n.default.> | |
259 </margin> | |
260 <url> | |
261 <n.app_paged_url/> | |
262 </url> | |
263 </n.generic_paging> | |
264 </n.paging.> | |
265 </macro> | |
266 | |
267 <macro name="app_child_pagination" requires="node_page,servlet" parameters="margin"> | |
268 <n.paging. | |
269 total_rows="[n.page_node.child_count/]" | |
270 current_row="[n.app_index_record/]" | |
271 rows_per_page="[n.app_rows_per_page/]" | |
272 > | |
273 <n.generic_paging> | |
274 <margin> | |
275 <n.default. to='.55em .2em'> | |
276 <n.margin/> | |
277 </n.default.> | |
278 </margin> | |
279 <url> | |
280 <n.app_paged_url/> | |
281 </url> | |
282 </n.generic_paging> | |
283 </n.paging.> | |
284 </macro> | |
285 | |
286 <macro name="app_paged_url" requires="paging_page,node_page,servlet"> | |
287 <n.page_node.path | |
288 template="[n.app_template/]" | |
289 date="[n.app_date/]" | |
290 index_record="[n.page_row/]" | |
291 /> | |
292 </macro> | |
293 | |
294 <macro name="app_topic_count" requires="node_page,servlet"> | |
295 <n.page_node.topic_count filter="[n.app_topic_filter/]" /> | |
296 </macro> | |
297 | |
298 <macro name="app_topic_filter" requires="node_page,servlet"> | |
299 <n.cache var="app_topic_filter" value="[n.calc_app_topic_filter/]" /> | |
300 </macro> | |
301 | |
302 <macro name="calc_app_topic_filter" requires="node_page,servlet"> | |
303 <n.if.not.is_null.app_date> | |
304 <then.page_node.date_filter date="[n.app_date/]" /> | |
305 <else.null /> | |
306 </n.if.not.is_null.app_date> | |
307 </macro> | |
308 | |
309 | |
310 <macro name="is_front_page" requires="servlet"> | |
311 <n.equal value1="[n.app_template/]" value2="view_app" /> | |
312 </macro> | |
313 | |
314 <macro name="app_index_record" requires="servlet"> | |
315 <n.get_parameter name="index_record"/> | |
316 </macro> | |
317 | |
318 <macro name="app_template" requires="servlet"> | |
319 <n.get_parameter name="macro"/> | |
320 </macro> | |
321 | |
322 <macro name="app_date" requires="servlet"> | |
323 <n.get_parameter name="date"/> | |
324 </macro> | |
325 | |
326 | |
327 | |
328 <macro name="generic_paging" requires="paging" parameters="margin,url"> | |
329 <n.if.has_paging> | |
330 <then> | |
331 <n.put_in_head.> | |
332 <style type="text/css"> | |
333 span.current-page { padding: .1em .4em; } | |
334 span.page { padding: .1em; } | |
335 span.pages a { padding: .1em .4em; } | |
336 span.current-page { border-width:1px; border-style:solid; } | |
337 span.pages { | |
338 float:right; | |
339 white-space:nowrap; | |
340 font-weight:normal; | |
341 } | |
342 </style> | |
343 </n.put_in_head.> | |
344 <n.remove_spaces_between_tags.> | |
345 <span class="pages" style="padding:[n.margin/]"> | |
346 <n.if.not.is_at_beginning> | |
347 <then> | |
348 <n.first_page.link url="[n.url/]" /> ... | |
349 </then> | |
350 </n.if.not.is_at_beginning> | |
351 <n.neighboring_pages.show url="[n.url/]" /> | |
352 <n.if.not.is_at_end> | |
353 <then> | |
354 ... <n.last_page.link url="[n.url/]" /> | |
355 </then> | |
356 </n.if.not.is_at_end> | |
357 </span> | |
358 </n.remove_spaces_between_tags.> | |
359 </then> | |
360 </n.if.has_paging> | |
361 </macro> | |
362 | |
363 <macro name="show" requires="paging_page" parameters="url"> | |
364 <n.if.is_current_page> | |
365 <then> | |
366 <span class="current-page medium-border-color"><n.page_number/></span> | |
367 </then> | |
368 <else> | |
369 <n.link url="[n.url/]" /> | |
370 </else> | |
371 </n.if.is_current_page> | |
372 </macro> | |
373 | |
374 <macro name="link" requires="paging_page" parameters="url"> | |
375 <span class="page"> | |
376 <a href="[n.url/]" title="[t]Page [t.number.page_number/][/t]"><n.page_number/></a> | |
377 </span> | |
378 </macro> | |
379 | |
380 | |
381 | |
382 <macro name="set_app_rows_per_page" parameters="rows_per_page"> | |
383 <n.global_set_var name="app_rows_per_page" value="[n.rows_per_page/]" /> | |
384 </macro> | |
385 | |
386 <macro name="app_rows_per_page" requires="node_page"> | |
387 <n.cache var="app_rows_per_page" value="[n.page_node.default_rows_per_page/]" /> | |
388 </macro> | |
389 | |
390 <macro name="app_page_number" requires="node_page,servlet"> | |
391 <n.cache. var="app_page_number"> | |
392 <n.paging. | |
393 total_rows="0" | |
394 current_row="[n.app_index_record/]" | |
395 rows_per_page="[n.app_rows_per_page/]" | |
396 > | |
397 <n.current_page_number/> | |
398 </n.paging.> | |
399 </n.cache.> | |
400 </macro> | |
401 | |
402 | |
403 | |
404 <macro name="url" parameters="template,index_record,date" requires="node"> | |
405 <n.remove_spaces.> | |
406 <n.base_url/> | |
407 <n.path | |
408 template="[n.template/]" | |
409 index_record="[n.index_record/]" | |
410 date="[n.date/]" | |
411 /> | |
412 </n.remove_spaces.> | |
413 </macro> | |
414 | |
415 <macro name="path" parameters="template,index_record,date" requires="node"> | |
416 <n.if.is_app> | |
417 <then> | |
418 <n.app_path | |
419 template="[n.template/]" | |
420 index_record="[n.index_record/]" | |
421 date="[n.date/]" | |
422 /> | |
423 </then> | |
424 <else> | |
425 <n.post_path /> | |
426 </else> | |
427 </n.if.is_app> | |
428 </macro> | |
429 | |
430 <macro name="app_path" parameters="template,index_record,date" requires="node"> | |
431 <n.encode_url.remove_spaces.> | |
432 <n.set_var. name="index_record"> | |
433 <n.to_null_if. equals="0"> | |
434 <n.index_record/> | |
435 </n.to_null_if.> | |
436 </n.set_var.> | |
437 <n.set_var. name="template"> | |
438 <n.to_null_if. equals="[n.app_default_template/]"> | |
439 <n.template/> | |
440 </n.to_null_if.> | |
441 </n.set_var.> | |
442 <n.if.not.is_null.var name="template"> | |
443 <then> | |
444 <n.if.not.starts_with prefix="view_" text="[n.var name='template'/]"> | |
445 <then> | |
446 <n.throw_runtime_exception.> | |
447 template = <n.var name='template'/> | |
448 </n.throw_runtime_exception.> | |
449 </then> | |
450 </n.if.not.starts_with> | |
451 <n.set_var. name="template"> | |
452 <n.substring text="[n.var name='template'/]" begin="5" /> | |
453 </n.set_var.> | |
454 </then> | |
455 </n.if.not.is_null.var> | |
456 / | |
457 <n.if> | |
458 <condition> | |
459 <n.not.all_true.> | |
460 <n.is_root/> | |
461 <n.is_null.var name='template'/> | |
462 <n.is_null.date/> | |
463 <n.is_null.var name='index_record'/> | |
464 </n.not.all_true.> | |
465 </condition> | |
466 <then> | |
467 <n.url_encoded_subject/> | |
468 -f<n.id/> | |
469 <n.hide_null.prepend. prefix="i"><n.var name="index_record"/></n.hide_null.prepend.> | |
470 <n.hide_null.prepend. prefix="d"><n.date/></n.hide_null.prepend.> | |
471 <n.hide_null.prepend. prefix="."><n.var name="template"/></n.hide_null.prepend.> | |
472 .html | |
473 </then> | |
474 </n.if> | |
475 </n.encode_url.remove_spaces.> | |
476 </macro> | |
477 | |
478 <macro name="app_path_by_date" parameters="date" requires="node"> | |
479 <n.app_path | |
480 template="[n.app_template/]" | |
481 index_record="[n.app_index_record/]" | |
482 date="[n.date/]" | |
483 /> | |
484 </macro> | |
485 | |
486 <macro name="app_url" parameters="template,index_record,date" requires="node"> | |
487 <n.base_url/><n.app_path | |
488 template="[n.template/]" | |
489 index_record="[n.index_record/]" | |
490 date="[n.date/]" | |
491 /> | |
492 </macro> | |
493 | |
494 <macro name="app_default_template"> | |
495 view_app | |
496 </macro> | |
497 | |
498 | |
499 | |
500 <macro name="is_pinned_in_loop" requires="node,node_list"> | |
501 <n.both> | |
502 <condition1> | |
503 <n.is_pinned/> | |
504 </condition1> | |
505 <condition2> | |
506 <n.parent_node.equals.loop_node/> | |
507 </condition2> | |
508 </n.both> | |
509 </macro> | |
510 | |
511 <macro name="is_in_subapp" requires="node,node_list"> | |
512 <n.both> | |
513 <condition1> | |
514 <n.is_post/> | |
515 </condition1> | |
516 <condition2> | |
517 <n.both> | |
518 <condition1> | |
519 <n.has_loop_node/> | |
520 </condition1> | |
521 <condition2> | |
522 <n.get_app_node.not.equals.loop_node/> | |
523 </condition2> | |
524 </n.both> | |
525 </condition2> | |
526 </n.both> | |
527 </macro> | |
528 | |
529 <macro name="subapp_link" requires="node,node_list"> | |
530 <n.if.is_in_subapp> | |
531 <then> | |
532 <n.get_app_node.node_link/> | |
533 </then> | |
534 </n.if.is_in_subapp> | |
535 </macro> | |
536 | |
537 <macro name="subapp_link_on_hover" requires="node,node_list"> | |
538 <n.if.is_in_subapp> | |
539 <then> | |
540 <n.link_on_hover | |
541 id = "[n.id/]" | |
542 href = "[n.get_app_node.path/]" | |
543 text = "[n.get_app_node.subject/]" | |
544 /> | |
545 </then> | |
546 </n.if.is_in_subapp> | |
547 </macro> | |
548 | |
549 <macro name="link_on_hover" parameters="id,href,text"> | |
550 <n.put_in_head.> | |
551 <script type="text/javascript"> | |
552 <![CDATA[ | |
553 function createMouseTrick(nodeid) { | |
554 $(document).ready(function() { | |
555 var $text = $('#hover-text'+nodeid); | |
556 var $link = $('#hover-link'+nodeid); | |
557 var entered = false; | |
558 var count = 0; | |
559 $text.mouseover(function() { | |
560 $(this).hide(); | |
561 $link.show(); | |
562 checkMouse(); | |
563 }); | |
564 | |
565 $link.mouseover(function() { | |
566 entered = true; | |
567 }); | |
568 | |
569 $link.mouseout(function() { | |
570 $link.hide(); | |
571 $text.show(); | |
572 count = 0; | |
573 entered = false; | |
574 }); | |
575 | |
576 function checkMouse() { | |
577 if (!entered) { | |
578 count++; | |
579 if (count < 5) { | |
580 setTimeout(checkMouse, 100); | |
581 } else { | |
582 $link.hide(); | |
583 $text.show(); | |
584 count = 0; | |
585 entered = false; | |
586 } | |
587 } | |
588 } | |
589 }); | |
590 }; | |
591 ]]> | |
592 </script> | |
593 </n.put_in_head.> | |
594 <span id="hover-text[n.id/]"><n.text/></span> | |
595 <script type="text/javascript"> | |
596 document.write('<a id="hover-link[n.id/]" href="[n.href/]" style="display:none">'); | |
597 document.write('<n.javascript_string_encode.get_app_node.text/>'); | |
598 document.write('</a>'); | |
599 createMouseTrick(<n.id/>); | |
600 </script> | |
601 </macro> | |
602 | |
603 | |
604 | |
605 just for now: | |
606 | |
607 <macro name="view_comment" requires="servlet"> | |
608 <n.redirect_to.node_page.page_node.url/> | |
609 </macro> | |
610 | |
611 <macro name="view_blog_entry" requires="servlet"> | |
612 <n.redirect_to.node_page.page_node.url/> | |
613 </macro> | |
614 | |
615 <macro name="view_gallery_entry" requires="servlet"> | |
616 <n.redirect_to.node_page.page_node.url/> | |
617 </macro> | |
618 | |
619 <macro name="view_news_entry" requires="servlet"> | |
620 <n.redirect_to.node_page.page_node.url/> | |
621 </macro> | |
622 | |
623 | |
624 | |
625 <macro name="children_list" parameters="start,length,filter,sort" dot_parameter="do" requires="node"> | |
626 <n.children_list_standard start="[n.start/]" length="[n.length/]" filter="[n.filter/]" do="[n.do/]" /> | |
627 </macro> | |
628 | |
629 <macro name="topics_list" parameters="start,length,filter,sort" dot_parameter="do" requires="node"> | |
630 <n.topics_list_standard start="[n.start/]" length="[n.length/]" filter="[n.filter/]" sort="[n.sort/]" do="[n.do/]" /> | |
631 </macro> | |
632 | |
633 <macro name="app_hardcoded_notices" requires="node_page,servlet"> | |
634 <n.inactive_node_deletion_ui/> | |
635 | |
636 <script type="text/javascript"> | |
637 $(document).ready(function() { | |
638 if (Nabble.appnotice) { | |
639 $('#creation-ad').slideDown(); | |
640 Nabble.setVar('appnotice',null); | |
641 } | |
642 }); | |
643 </script> | |
644 | |
645 <n.if.should_show_creation_notice> | |
646 <then> | |
647 <div id="creation-ad" class="app-notice light-border-color info-message" style="display:none"> | |
648 <n.congratulations_notice/> | |
649 </div> | |
650 <script type="text/javascript"> | |
651 /* Fix for widget creation (weebly) */ | |
652 if (Nabble.getParent().nabbleinfo && !Nabble.getParent().nabbleinfo.what) { | |
653 Nabble.getParent().nabbleinfo.what = '<n.page_node.lower_case_view_name/>'; | |
654 } | |
655 </script> | |
656 </then> | |
657 </n.if.should_show_creation_notice> | |
658 </macro> | |
659 | |
660 <macro name="congratulations_notice"> | |
661 <div class="big-title second-font"><t>Congratulations!</t></div> | |
662 <t>Your <t.app.page_node.lower_case_view_name/> has been successfully created.</t><br/> | |
663 <t>Please check your inbox now and activate your account in order to have access to all features.</t><br/> | |
664 <button class="toolbar action-button" onclick="$('#creation-ad').slideUp();" style="margin:.5em 1em 0"> | |
665 <t>Close this message</t> | |
666 </button> | |
667 </macro> | |
668 | |
669 <macro name="inactive_node_deletion_ui" requires="node_page"> | |
670 <n.if.page_node_is_scheduled_for_deletion> | |
671 <then> | |
672 <script type="text/javascript"> | |
673 function clearDeleteDate() { | |
674 $.getScript('/forum/ClearDeleteDate.jtp'); | |
675 } | |
676 </script> | |
677 <div id="inactive-delete" class="app-notice info-message"> | |
678 <div class="big-title second-font">This <n.page_node.lower_case_view_name/> will be deleted soon!</div> | |
679 Nabble has scheduled this <n.page_node.lower_case_view_name/> to be deleted on | |
680 <script type="text/javascript">document.write(Nabble.formatDateLong(new Date(<n.site_delete_date.raw_time/>)))</script> | |
681 due to its inactivity.<br/> | |
682 Click on the button below if you want to save this <n.page_node.lower_case_view_name/> from deletion.<br/> | |
683 <input type="button" value="Don't delete this [n.page_node.lower_case_view_name/]" onclick="clearDeleteDate()" style="margin:.5em 1em 0"></input> | |
684 </div> | |
685 </then> | |
686 </n.if.page_node_is_scheduled_for_deletion> | |
687 </macro> |