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>