Dotclear

source: plugins/eventHandler/inc/index.event.php @ 2648

Revision 2648, 19.8 KB checked in by JcDenis, 13 years ago (diff)

eventHandler 1.0-RC2

  • Fixed some bugs and typo
Line 
1<?php
2# -- BEGIN LICENSE BLOCK ----------------------------------
3# This file is part of eventHandler, a plugin for Dotclear 2.
4#
5# Copyright (c) 2009-2010 JC Denis and contributors
6# jcdenis@gdwd.com
7#
8# Licensed under the GPL version 2.0 license.
9# A copy of this license is available in LICENSE file or at
10# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
11# -- END LICENSE BLOCK ------------------------------------
12
13if (!defined('DC_CONTEXT_EVENTHANDLER') || DC_CONTEXT_EVENTHANDLER != 'event'){return;}
14
15# List of entries
16class adminEventHandlertPostsList extends adminGenericList
17{
18     public function display($page,$nb_per_page,$enclose_block='')
19     {
20          if ($this->rs->isEmpty())
21          {
22               echo '<p><strong>'.__('No entry').'</strong></p>';
23          }
24          else
25          {
26               $pager = new pager($page,$this->rs_count,$nb_per_page,10);
27               $pager->html_prev = $this->html_prev;
28               $pager->html_next = $this->html_next;
29               $pager->var_page = 'page';
30               
31               $html_block =
32               '<table class="clear"><tr>'.
33               '<th colspan="2">'.__('Title').'</th>'.
34               '<th>'.__('Date').'</th>'.
35               '<th>'.__('Category').'</th>'.
36               '<th>'.__('Author').'</th>'.
37               '<th>'.__('Status').'</th>'.
38               '</tr>%s</table>';
39               
40               if ($enclose_block)
41               {
42                    $html_block = sprintf($enclose_block,$html_block);
43               }
44               
45               echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
46               
47               $blocks = explode('%s',$html_block);
48               
49               echo $blocks[0];
50               
51               while ($this->rs->fetch())
52               {
53                    echo $this->postLine();
54               }
55               
56               echo $blocks[1];
57               
58               echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
59          }
60     }
61     
62     private function postLine()
63     {
64          if ($this->core->auth->check('categories',$this->core->blog->id))
65          {
66               $cat_link = '<a href="category.php?id=%s">%s</a>';
67          }
68          else
69          {
70               $cat_link = '%2$s';
71          }
72         
73          if ($this->rs->cat_title)
74          {
75               $cat_title = sprintf($cat_link,$this->rs->cat_id,html::escapeHTML($this->rs->cat_title));
76          }
77          else
78          {
79               $cat_title = __('None');
80          }
81         
82          $img = '<img alt="%1$s" title="%1$s" src="images/%2$s" />';
83          switch ($this->rs->post_status)
84          {
85               case 1:
86                    $img_status = sprintf($img,__('published'),'check-on.png');
87                    break;
88               case 0:
89                    $img_status = sprintf($img,__('unpublished'),'check-off.png');
90                    break;
91               case -1:
92                    $img_status = sprintf($img,__('scheduled'),'scheduled.png');
93                    break;
94               case -2:
95                    $img_status = sprintf($img,__('pending'),'check-wrn.png');
96                    break;
97          }
98         
99          $protected = '';
100          if ($this->rs->post_password)
101          {
102               $protected = sprintf($img,__('protected'),'locker.png');
103          }
104         
105          $selected = '';
106          if ($this->rs->post_selected)
107          {
108               $selected = sprintf($img,__('selected'),'selected.png');
109          }
110         
111          return
112          '<tr class="line'.($this->rs->post_status != 1 ? ' offline' : '').'"'.
113          ' id="p'.$this->rs->post_id.'">'.
114          '<td class="nowrap">'.form::checkbox(array('entries[]'),$this->rs->post_id,'','','',!$this->rs->isEditable()).'</td>'.
115          '<td class="maximal"><a href="'.$this->core->getPostAdminURL($this->rs->post_type,$this->rs->post_id).'">'.
116          html::escapeHTML($this->rs->post_title).'</a></td>'.
117          '<td class="nowrap">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->post_dt).'</td>'.
118          '<td class="nowrap">'.$cat_title.'</td>'.
119          '<td class="nowrap">'.$this->rs->user_id.'</td>'.
120          '<td class="nowrap status">'.$img_status.' '.$selected.' '.$protected.'</td>'.
121          '</tr>';
122     }
123}
124
125# Post part
126$post_id = '';
127$cat_id = '';
128$post_dt = '';
129$post_format = $core->auth->getOption('post_format');
130$post_password = '';
131$post_url = '';
132$post_lang = $core->auth->getInfo('user_lang');
133$post_title = '';
134$post_excerpt = '';
135$post_excerpt_xhtml = '';
136$post_content = '';
137$post_content_xhtml = '';
138$post_notes = '';
139$post_status = $core->auth->getInfo('user_post_status');
140$post_selected = false;
141
142# This 3 options are disabled
143$post_open_comment = 0;
144$post_open_tb = 0;
145$post_media = array();
146
147# Event part
148$event_startdt = '';
149$event_enddt = '';
150$event_address = '';
151$event_latitude = '';
152$event_longitude = '';
153
154$page_title = __('New event');
155
156$can_view_page = true;
157$can_edit_post = $core->auth->check('usage,contentadmin',$core->blog->id);
158$can_publish = $core->auth->check('publish,contentadmin',$core->blog->id);
159$can_delete = false;
160
161$post_headlink = '<link rel="%s" title="%s" href="'.$p_url.'&amp;part=event&amp;id=%s" />';
162$post_link = '<a href="'.$p_url.'&amp;part=event&amp;id=%s" title="%s">%s</a>';
163
164$next_link = $prev_link = $next_headlink = $prev_headlink = null;
165
166# If user can't publish
167if (!$can_publish)
168{
169     $post_status = -2;
170}
171
172# Getting categories
173$categories_combo = array('&nbsp;' => '');
174try
175{
176     $categories = $core->blog->getCategories(array('post_type'=>'post'));
177     while ($categories->fetch())
178     {
179          $categories_combo[] = new formSelectOption(
180               str_repeat('&nbsp;&nbsp;',$categories->level-1).'&bull; '.html::escapeHTML($categories->cat_title),
181               $categories->cat_id
182          );
183     }
184}
185catch (Exception $e) { }
186
187# Status combo
188foreach ($core->blog->getAllPostStatus() as $k => $v)
189{
190     $status_combo[$v] = (string) $k;
191}
192
193# Formaters combo
194foreach ($core->getFormaters() as $v)
195{
196     $formaters_combo[$v] = $v;
197}
198
199# Languages combo
200$rs = $core->blog->getLangs(array('order'=>'asc'));
201$all_langs = l10n::getISOcodes(0,1);
202$lang_combo = array('' => '', __('Most used') => array(), __('Available') => l10n::getISOcodes(1,1));
203while ($rs->fetch())
204{
205     if (isset($all_langs[$rs->post_lang]))
206     {
207          $lang_combo[__('Most used')][$all_langs[$rs->post_lang]] = $rs->post_lang;
208          unset($lang_combo[__('Available')][$all_langs[$rs->post_lang]]);
209     }
210     else
211     {
212          $lang_combo[__('Most used')][$rs->post_lang] = $rs->post_lang;
213     }
214}
215unset($all_langs);
216unset($rs);
217
218# Change a post to an event
219$change = false;
220if (!empty($_REQUEST['from_id']))
221{
222     $post = $core->blog->getPosts(array('post_id'=> (integer) $_REQUEST['from_id'],'post_type'=>''));
223     
224     if ($post->isEmpty())
225     {
226          $core->error->add(__('This entry does not exist.'));
227          unset($post);
228          $can_view_page = false;
229     }
230     else
231     {
232          $change = true;
233     }
234}
235
236# Get entry informations
237if (!empty($_REQUEST['id']))
238{
239     $post = $eventHandler->getEvents(array('post_id' => (integer) $_REQUEST['id']));
240     
241     if ($post->isEmpty())
242     {
243          $core->error->add(__('This event does not exist.'));
244          unset($post);
245          $can_view_page = false;
246     }
247}
248
249if (isset($post))
250{
251     $post_id = $post->post_id;
252     $cat_id = $post->cat_id;
253     $post_dt = date('Y-m-d H:i',strtotime($post->post_dt));
254     $post_format = $post->post_format;
255     $post_password = $post->post_password;
256     $post_url = $post->post_url;
257     $post_lang = $post->post_lang;
258     $post_title = $post->post_title;
259     $post_excerpt = $post->post_excerpt;
260     $post_excerpt_xhtml = $post->post_excerpt_xhtml;
261     $post_content = $post->post_content;
262     $post_content_xhtml = $post->post_content_xhtml;
263     $post_notes = $post->post_notes;
264     $post_status = $post->post_status;
265     $post_selected = (boolean) $post->post_selected;
266     $post_open_comment = false;
267     $post_open_tb = false;
268     
269     if ($change)
270     {
271          $post_type = 'eventhandler';
272         
273          $page_title = __('Change entry into event');
274     }
275     else
276     {
277          $event_startdt = date('Y-m-d H:i',strtotime($post->event_startdt));
278          $event_enddt = date('Y-m-d H:i',strtotime($post->event_enddt));
279          $event_address = $post->event_address;
280          $event_latitude = $post->event_latitude;
281          $event_longitude = $post->event_longitude;
282     
283          $page_title = __('Edit event');
284         
285          $next_rs = $core->blog->getNextPost($post,1);
286          $prev_rs = $core->blog->getNextPost($post,-1);
287         
288          if ($next_rs !== null)
289          {
290               $next_link = sprintf($post_link,$next_rs->post_id,
291                    html::escapeHTML($next_rs->post_title),__('next event').'&nbsp;&#187;');
292               $next_headlink = sprintf($post_headlink,'next',
293                    html::escapeHTML($next_rs->post_title),$next_rs->post_id);
294          }
295         
296          if ($prev_rs !== null)
297          {
298               $prev_link = sprintf($post_link,$prev_rs->post_id,
299                    html::escapeHTML($prev_rs->post_title),'&#171;&nbsp;'.__('previous event'));
300               $prev_headlink = sprintf($post_headlink,'previous',
301                    html::escapeHTML($prev_rs->post_title),$prev_rs->post_id);
302          }
303     }
304     
305     $can_edit_post = $post->isEditable();
306     $can_delete= $post->isDeletable();
307     
308     $post_media = array();
309}
310
311# Format excerpt and content
312if (!empty($_POST) && $can_edit_post)
313{
314     $post_format = $_POST['post_format'];
315     $post_excerpt = $_POST['post_excerpt'];
316     $post_content = $_POST['post_content'];
317     
318     $post_title = $_POST['post_title'];
319     
320     $cat_id = (integer) $_POST['cat_id'];
321     
322     if (isset($_POST['post_status']))
323     {
324          $post_status = (integer) $_POST['post_status'];
325     }
326     
327     if (empty($_POST['post_dt']))
328     {
329          $post_dt = '';
330     }
331     else
332     {
333          $post_dt = strtotime($_POST['post_dt']);
334          $post_dt = date('Y-m-d H:i',$post_dt);
335     }
336     
337     $post_open_comment = false;
338     $post_open_tb = false;
339     $post_selected = !empty($_POST['post_selected']);
340     $post_lang = $_POST['post_lang'];
341     $post_password = !empty($_POST['post_password']) ? $_POST['post_password'] : null;
342     
343     $post_notes = $_POST['post_notes'];
344     
345     if (isset($_POST['post_url']))
346     {
347          $post_url = $_POST['post_url'];
348     }
349     
350     $core->blog->setPostContent(
351          $post_id,$post_format,$post_lang,
352          $post_excerpt,$post_excerpt_xhtml,$post_content,$post_content_xhtml
353     );
354     
355     
356     if (empty($_POST['event_startdt']))
357     {
358          $event_startdt = '';
359     }
360     else
361     {
362          $event_startdt = strtotime($_POST['event_startdt']);
363          $event_startdt = date('Y-m-d H:i',$event_startdt);
364     }
365     
366     if (empty($_POST['event_enddt']))
367     {
368          $event_enddt = '';
369     }
370     else
371     {
372          $event_enddt = strtotime($_POST['event_enddt']);
373          $event_enddt = date('Y-m-d H:i',$event_enddt);
374     }
375     $event_address = $_POST['event_address'];
376     $event_latitude = $_POST['event_latitude'];
377     $event_longitude = $_POST['event_longitude'];
378}
379
380# Create or update post
381if (!empty($_POST) && !empty($_POST['save']) && $can_edit_post)
382{
383     $cur_post = $core->con->openCursor($core->prefix.'post');
384     
385     $cur_post->cat_id = ($cat_id ? $cat_id : null);
386     $cur_post->post_dt = $post_dt ? date('Y-m-d H:i:00',strtotime($post_dt)) : '';
387     $cur_post->post_format = $post_format;
388     $cur_post->post_password = $post_password;
389     $cur_post->post_lang = $post_lang;
390     $cur_post->post_title = $post_title;
391     $cur_post->post_excerpt = $post_excerpt;
392     $cur_post->post_excerpt_xhtml = $post_excerpt_xhtml;
393     $cur_post->post_content = $post_content;
394     $cur_post->post_content_xhtml = $post_content_xhtml;
395     $cur_post->post_notes = $post_notes;
396     $cur_post->post_status = $post_status;
397     $cur_post->post_selected = (integer) $post_selected;
398     $cur_post->post_open_comment = 0;
399     $cur_post->post_open_tb = 0;
400     
401     if (isset($_POST['post_url']))
402     {
403          $cur_post->post_url = $post_url;
404     }
405     
406     $cur_event = $core->con->openCursor($core->prefix.'eventhandler');
407     
408     $cur_event->event_startdt = $event_startdt ? date('Y-m-d H:i:00',strtotime($event_startdt)) : '';
409     $cur_event->event_enddt = $event_enddt ? date('Y-m-d H:i:00',strtotime($event_enddt)) : '';
410     $cur_event->event_address = $event_address;
411     $cur_event->event_latitude = $event_latitude;
412     $cur_event->event_longitude = $event_longitude;
413     
414     # Update post
415     if ($post_id)
416     {
417          try
418          {
419               # --BEHAVIOR-- adminBeforeEventHandlerUpdate
420               $core->callBehavior('adminBeforeEventHandlerUpdate',$cur_post,$cur_event,$post_id);
421               
422               $eventHandler->updEvent($post_id,$cur_post,$cur_event);
423               
424               # --BEHAVIOR-- adminAfterEventHandlerUpdate
425               $core->callBehavior('adminAfterEventHandlerUpdate',$cur_post,$cur_event,$post_id);
426               
427               http::redirect($p_url.'&part=event&id='.$post_id.'&upd=1');
428          }
429          catch (Exception $e)
430          {
431               $core->error->add($e->getMessage());
432          }
433     }
434     else
435     {
436          $cur_post->user_id = $core->auth->userID();
437         
438          try
439          {
440               # --BEHAVIOR-- adminBeforeEventHandlerCreate
441               $core->callBehavior('adminBeforeEventHandlerCreate',$cur_post,$cur_event);
442               
443               $return_id = $eventHandler->addEvent($cur_post,$cur_event);
444               
445               # --BEHAVIOR-- adminAfterEventHandlerCreate
446               $core->callBehavior('adminAfterEventHandlerCreate',$cur_post,$cur_event,$return_id);
447               
448               http::redirect($p_url.'&part=event&id='.$return_id.'&crea=1');
449          }
450          catch (Exception $e)
451          {
452               $core->error->add($e->getMessage());
453          }
454     }
455}
456
457if (!empty($_POST['delete']) && $can_delete)
458{
459     try
460     {
461          # --BEHAVIOR-- adminBeforeEventHandlerDelete
462          $core->callBehavior('adminBeforeEventHandlerDelete',$post_id);
463         
464          $eventHandler->delEvent($post_id);
465          http::redirect($p_url.'&part=events');
466     }
467     catch (Exception $e)
468     {
469          $core->error->add($e->getMessage());
470     }
471}
472
473# Get bind entries
474if ($post_id && !$change)
475{
476     $page = !empty($_GET['page']) ? (integer) $_GET['page'] : 1;
477     $nb_per_page =  30;
478     
479     if (!empty($_GET['nb']) && (integer) $_GET['nb'] > 0)
480     {
481          $nb_per_page = (integer) $_GET['nb'];
482     }
483     
484     $params = array();
485     $params['event_id'] = $post_id;
486     $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page);
487     $params['no_content'] = true;
488
489     try
490     {
491          $posts = $eventHandler->getPostsByEvent($params);
492          $counter = $eventHandler->getPostsByEvent($params,true);
493          $posts_list = new adminEventHandlertPostsList($core,$posts,$counter->f(0));
494     }
495     catch (Exception $e)
496     {
497          $core->error->add($e->getMessage());
498     }
499
500}
501
502/* DISPLAY
503-------------------------------------------------------- */
504$default_tab = 'edit-entry';
505if (!$can_edit_post)
506{
507     $default_tab = '';
508}
509if (!empty($_GET['tab'])) 
510{
511     $default_tab = $_GET['tab'];
512}
513
514echo '
515<html>
516<head><title>'.__('Event handler').' - '.$page_title.'</title>'.
517dcPage::jsDatePicker().
518dcPage::jsToolBar().
519dcPage::jsModal().
520dcPage::jsMetaEditor().
521dcPage::jsLoad('js/_post.js').
522dcPage::jsLoad('index.php?pf=eventHandler/js/event.js').
523dcPage::jsLoad('index.php?pf=eventHandler/js/event-admin-map.js').
524dcPage::jsConfirmClose('entry-form','comment-form').
525# --BEHAVIOR-- adminEventHandlerHeaders
526$core->callBehavior('adminEventHandlerHeaders').
527dcPage::jsPageTabs($default_tab).
528$next_headlink."\n".$prev_headlink.'
529</head>
530<body>';
531
532if (!empty($_GET['upd'])) {
533          echo '<p class="message">'.__('Entry has been successfully updated.').'</p>';
534}
535elseif (!empty($_GET['crea'])) {
536          echo '<p class="message">'.__('Entry has been successfully created.').'</p>';
537}
538elseif (!empty($_GET['attached'])) {
539     echo '<p class="message">'.__('File has been successfully attached.').'</p>';
540}
541elseif (!empty($_GET['rmattach'])) {
542     echo '<p class="message">'.__('Attachment has been successfully removed.').'</p>';
543}
544
545if (!empty($_GET['creaco'])) {
546          echo '<p class="message">'.__('Comment has been successfully created.').'</p>';
547     }
548
549# XHTML conversion
550if (!empty($_GET['xconv']))
551{
552     $post_excerpt = $post_excerpt_xhtml;
553     $post_content = $post_content_xhtml;
554     $post_format = 'xhtml';
555     
556     echo '<p class="message">'.__('Don\'t forget to validate your XHTML conversion by saving your post.').'</p>';
557}
558
559echo '
560<h2>'.html::escapeHTML($core->blog->name).
561' &rsaquo; <a href="'.$p_url.'&amp;part=events">'.__('Events').'</a>'.
562' &rsaquo; '.$page_title;
563
564if ($post_id && $post->post_status == 1)
565{
566     echo ' - <a id="post-preview" href="'.$post->getURL().'" class="button">'.__('View event').'</a>';
567}
568elseif ($post_id)
569{
570     $preview_url =
571     $core->blog->url.$core->url->getBase('preview').'/'.
572     $core->auth->userID().'/'.
573     http::browserUID(DC_MASTER_KEY.$core->auth->userID().$core->auth->getInfo('user_pwd')).
574     '/'.$post->post_url;
575     echo ' - <a id="post-preview" href="'.$preview_url.'" class="button">'.__('Preview event').'</a>';
576}
577
578if ($post_id)
579{
580     echo ' - <a class="button" href="'.$p_url.'&amp;part=event">'.__('New event').'</a>';
581}
582
583echo '</h2>';
584
585if ($post_id)
586{
587     echo '<p>';
588     if ($prev_link) { echo $prev_link; }
589     if ($next_link && $prev_link) { echo ' - '; }
590     if ($next_link) { echo $next_link; }
591     
592     # --BEHAVIOR-- adminEventHandlerNavLinks
593     $core->callBehavior('adminEventHandlerNavLinks',isset($post) ? $post : null);
594     
595     echo '</p>';
596}
597
598# If we can view page
599
600/* Post form if we can edit post
601-------------------------------------------------------- */
602if ($can_view_page && $can_edit_post)
603{
604     echo 
605     '<div class="multi-part" title="'.__('Edit event').'" id="edit-entry">'.
606     '<form action="'.$p_url.'&part=event" method="post" id="entry-form">'.
607     
608     '<div id="entry-sidebar">'.
609     
610     '<p><label>'.__('Category:').
611     form::combo('cat_id',$categories_combo,$cat_id,'maximal',3).
612     '</label></p>'.
613     
614     '<p><label>'.__('Entry status:').
615     form::combo('post_status',$status_combo,$post_status,'',3,!$can_publish).
616     '</label></p>'.
617     
618     '<p><label>'.__('Published on:').
619     form::field('post_dt',16,16,$post_dt,'',3).
620     '</label></p>'.
621     
622     '<p><label>'.__('Text formating:').
623     form::combo('post_format',$formaters_combo,$post_format,'',3).
624     ($post_id && $post_format != 'xhtml' ? '<a id="convert-xhtml" href="post.php?id='.$post_id.'&amp;xconv=1">'.__('Convert to XHTML').'</a>' : '').
625     '</label></p>'.
626     
627     '<p><label class="classic">'.form::checkbox('post_selected',1,$post_selected,'',3).' '.
628     __('Selected entry').'</label></p>'.
629     
630     '<p><label>'.__('Entry lang:').
631     form::combo('post_lang',$lang_combo,$post_lang,'',5).
632     '</label></p>'.
633/*   
634     '<p><label>'.__('Entry password:').
635     form::field('post_password',10,32,html::escapeHTML($post_password),'maximal',3).
636     '</label></p>'.
637//*/ 
638     '<div class="lockable">'.
639     '<p><label>'.__('Basename:').
640     form::field('post_url',10,255,html::escapeHTML($post_url),'maximal',3).
641     '</label></p>'.
642     '<p class="form-note warn">'.
643     __('Warning: If you set the URL manually, it may conflict with another entry.').
644     '</p>'.
645     '</div>';
646     
647     # --BEHAVIOR-- adminEventHandlerFormSidebar
648     $core->callBehavior('adminEventHandlerFormSidebar',isset($post) ? $post : null);
649     
650     echo 
651     '</div>'.      // End #entry-sidebar
652     
653     '<div id="entry-content"><fieldset class="constrained">'.        // #entry-content
654     
655     '<div class="two-cols"><div class="col">'.
656     
657     '<p><label class="required">'.__('Start date of the event :').
658     form::field('event_startdt',16,16,$event_startdt,'',2).
659     '</label></p>'.
660     
661     '</div><div class="col">'.
662     
663     '<p><label class="required">'.__('End date of the event:').
664     form::field('event_enddt',16,16,$event_enddt,'',2).
665     '</label></p>'.
666     
667     '</div></div>'.
668     
669     '<p id="event-area-title">'.__('Localization:').'</p>'.
670     '<div id="event-area-content">'.
671     
672     '<p><label>'.__('Address:').
673     form::field('event_address',10,255,html::escapeHTML($event_address),'maximal',6).
674     '</label></p>'.
675     
676     '<fieldset><legend>'.__('Maps').'</legend>'.
677     '<p class="form-note">'.__('If you want to use maps, you must enter an address as precise as possible (number, street, city, country)').'</p>'.
678     '<p id="event-map-link"><a href="http://maps.google.fr/maps">'.__('Find coordinates on googleMap').'</a></p>'.
679     '<div class="two-cols"><div class="col">'.
680     
681     '<p><label>'.__('Latitude:').
682     form::field('event_latitude',16,16,$event_latitude,'',6).
683     '</label></p>'.
684     
685     '</div><div class="col">'.
686     
687     '<p><label>'.__('Longitude:').
688     form::field('event_longitude',16,16,$event_longitude,'',6).
689     '</label></p>'.
690     
691     '</div></div>'.
692     '</fieldset>'.
693     
694     '</div>'.
695     
696     '<p class="col"><label class="required" title="'.__('Required field').'">'.__('Title:').
697     form::field('post_title',20,255,html::escapeHTML($post_title),'maximal',2).
698     '</label></p>'.
699     
700     '<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:').'</label> '.
701     form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt),'',2).
702     '</p>'.
703     
704     '<p class="area"><label class="required" title="'.__('Required field').'" '.
705     'for="post_content">'.__('Content:').'</label> '.
706     form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content),'',2).
707     '</p>'.
708     
709     '<p class="area" id="notes-area"><label>'.__('Notes:').'</label>'.
710     form::textarea('post_notes',50,5,html::escapeHTML($post_notes),'',2).
711     '</p>';
712     
713     # --BEHAVIOR-- adminEventHandlerForm
714     $core->callBehavior('adminEventHandlerForm',isset($post) ? $post : null);
715     
716     echo
717     '<p>'.
718     ($post_id ? form::hidden('id',$post_id) : '').
719     '<input type="submit" value="'.__('save').' (s)" tabindex="4" '.
720     'accesskey="s" name="save" /> '.
721     ($can_delete ? '<input type="submit" value="'.__('delete').'" name="delete" />' : '').
722     $core->formNonce().
723     '</p>'.
724     
725     '</fieldset></div>'.          // End #entry-content
726     '</form>'.
727     '</div>'.
728     
729     # Related posts
730     '<div class="multi-part" title="'.__('Related entries').'" id="bind-entries">';
731     
732     if (!$post_id || $change)
733     {
734          echo 
735          '<p>'.__('You must save event before adding entries').'</p>';
736     }
737     else
738     {
739          $posts_list->display($page,$nb_per_page,'%s');
740     }
741     
742     echo 
743     '</div>';
744}
745
746dcPage::helpBlock('eventHandler');
747echo $footer.'</body></html>';
748?>
Note: See TracBrowser for help on using the repository browser.

Sites map