Changeset 1005
- Timestamp:
- 04/09/09 02:46:20 (14 years ago)
- Location:
- plugins/eventdata
- Files:
-
- 6 added
- 6 deleted
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/eventdata/README.txt
r1001 r1005 1 eventdata 0.3.1 (2009/03/25) plugin for Dotclear 2 2 1 eventdata 0.3.4 (2009/04/09) plugin for Dotclear 2 2 3 Préambule: 4 ========== 5 6 ! Due to a conflict with an older plugin called "icsFeed", 7 ! versions of "eventdata" less than 0.3.4 are not compatible with the following versions. 8 ! A recovery tool will attempt to transfer the dates in database. 9 ! But all changed themes will be updated manually. 10 ! The main differences are the changes of names including "Event" to "Eventdata". 11 ! (css class names, blocks names, values names) 12 ! Events widgets must replaced. 13 ! All eventdata settings are losts 14 ! Sorry for the inconvenience. 3 15 4 16 I. Licence: … … 167 179 168 180 "Titre" 169 Titre de la page publique des événements. {{tpl:Event PageTitle}}181 Titre de la page publique des événements. {{tpl:EventdataPageTitle}} 170 182 171 183 "Decription" 172 Description de la page publique des événements. {{tpl:Event PageDescription}}184 Description de la page publique des événements. {{tpl:EventdataPageDescription}} 173 185 174 186 … … 337 349 ----------------------- 338 350 339 "Event Entries"351 "EventdataEntries" 340 352 Supporte les mêmes attribus que le bloc "Entries" avec en plus: 341 353 - Trie des billets par début, fin d'évenement, 342 - restriction du type d'événement, par default "event ",354 - restriction du type d'événement, par default "eventdata", 343 355 - restriction de periode d'événement (pas) en cours, (pas) commencé, (pas) fini, 344 356 - restriction de date de début ou de fin stricte. … … 346 358 A l'interieur de ce bloc, la majorité des balises et blocs de "Entries" sont valable. 347 359 348 "Event Pagination"360 "EventdataPagination" 349 361 Supporte les mêmes attribus que le bloc "Pagination" 350 362 Permet de faire la pagination en fonction des événements. (Restore le bon comptage) 351 363 352 "EntryEvent Dates"364 "EntryEventdataDates" 353 365 Supporte de nombreux attribus. 354 366 Ce bloc liste les événements associés à un billet. 355 367 356 "Event DatesHeader"368 "EventdataDatesHeader" 357 369 Voir categoriesHeader. 358 Utilisée dans le contexte de la boucle "EntryEvent Dates", le contenu de cette balise s'affiche uniquement pour la première date de la boucle.359 360 "Event DatesFooter"370 Utilisée dans le contexte de la boucle "EntryEventdataDates", le contenu de cette balise s'affiche uniquement pour la première date de la boucle. 371 372 "EventdataDatesFooter" 361 373 idem ci-dessus 362 374 … … 364 376 ------------------------ 365 377 366 "Event PageTitle"378 "EventdataPageTitle" 367 379 Supporte les attribus communs. 368 Si c'est une catéorie réordonnée alors Event PageTitle affichera le nom de la catégorie.369 370 "Event PageDescription"380 Si c'est une catéorie réordonnée alors EventdataPageTitle affichera le nom de la catégorie. 381 382 "EventdataPageDescription" 371 383 Supporte les attribus communs. 372 Si c'est une catéorie réordonnée alors Event PageDescription affichera la description de la catégorie.373 374 "Event PageURL"384 Si c'est une catéorie réordonnée alors EventdataPageDescription affichera la description de la catégorie. 385 386 "EventdataPageURL" 375 387 Supporte les attribus communs. 376 388 L'URL de la page public des événements. (S'utilise comme {{tpl:BlogURL}} ) 377 389 378 "Event PageNav"390 "EventdataPageNav" 379 391 Supporte les attribus communs. 380 392 Menu de choix de période d'événement à afficher. (ex: Non débuté, En cours, etc...) 381 393 Un attribu supplémantaire est ajouté: "menus", il permet de limiter le menu à des choix prédéfinis parmis les suivants: 382 394 'ongoing','outgoing','notstarted','started','notfinished','finished','all'. Par exemple pour limiter le menu à 2 choix 383 il faut utiliser {{tpl:Event PageNav menus="notstarted,ongoing"}} ce qui donnera le menu suivant:384 "<div id="event _nav"><ul><li><a href="...">Non débuté</a></li><li><a href="...">En cours</a></li></ul></div>"395 il faut utiliser {{tpl:EventdataPageNav menus="notstarted,ongoing"}} ce qui donnera le menu suivant: 396 "<div id="eventdata_nav"><ul><li><a href="...">Non débuté</a></li><li><a href="...">En cours</a></li></ul></div>" 385 397 Si un tri est reconnu la balise "li" prendra la class "active". 386 398 387 "Event Period"399 "EventdataPeriod" 388 400 Supporte les attribus communs. 389 401 Affiche dans quel periode se trouve l'entrée courante. … … 392 404 cela peut servir pour les CSS par exemple. 393 405 394 "Event StartDate"406 "EventdataStartDate" 395 407 Supporte les mêmes attribus que "EntryDate". 396 408 Date de début d'événement. 397 409 398 "Event StartTime"410 "EventdataStartTime" 399 411 Idem ci-dessus 400 412 401 "Event EndDate413 "EventdataEndDate 402 414 idem ci-dessus 403 415 404 "Event EndTime"416 "EventdataEndTime" 405 417 idem ci-dessus 406 418 407 "Event FullDate"419 "EventdataFullDate" 408 420 Support les mêmes attribus que "EntryDate" 409 421 Ecrit la date compète d'un événement en utilisant la valeur de langue "From %S to %D" … … 413 425 414 426 415 Les valeurs "Event StartDate", "EventStartTime", "EventEndDate", "EventEndTime", "EventFullDate" peuvent être utilisées416 soit sur la page "post.html", soit dans une bloc "Event Entries", soit dans un bloc "EntryEventDates".427 Les valeurs "EventdataStartDate", "EventdataStartTime", "EventdataEndDate", "EventdataEndTime", "EventdataFullDate" peuvent être utilisées 428 soit sur la page "post.html", soit dans une bloc "EventdataEntries", soit dans un bloc "EntryEventdataDates". 417 429 418 430 … … 432 444 433 445 "publicEntryBeforeContent" 434 Si le modèle de l'extension possède un fichier "event entrybeforecontent.html"446 Si le modèle de l'extension possède un fichier "eventdataentrybeforecontent.html" 435 447 le contenu de la balise "body" de ce fichier sera ajouté au document. 436 448 Cela sert à ajouter dans un billet la liste des événements liés au billet sans toucher aux thèmes. -
plugins/eventdata/_admin.php
r960 r1005 14 14 15 15 # Verify Settings 16 if ($core->blog->settings->event _option_active === null) {16 if ($core->blog->settings->eventdata_option_active === null) { 17 17 try { 18 18 eventdataInstall::setSettings($core); … … 24 24 25 25 # Admin menu 26 $_menu[($core->blog->settings->event _option_menu ? 'Blog' : 'Plugins')]->addItem(26 $_menu[($core->blog->settings->eventdata_option_menu ? 'Blog' : 'Plugins')]->addItem( 27 27 __('Events'), 28 28 'plugin.php?p=eventdata',DC_ADMIN_URL.'?pf=eventdata/img/icon.png', … … 47 47 48 48 # Rest functions 49 $core->rest->addFunction('getEvent ',array('eventRest','getEvent'));50 $core->rest->addFunction('delEvent ',array('eventRest','delEvent'));51 $core->rest->addFunction('setEvent ',array('eventRest','setEvent'));49 $core->rest->addFunction('getEventdata',array('eventdataRest','getEventdata')); 50 $core->rest->addFunction('delEventdata',array('eventdataRest','delEventdata')); 51 $core->rest->addFunction('setEventdata',array('eventdataRest','setEventdata')); 52 52 53 53 # Import/export … … 102 102 $post_id = $post ? (integer) $post->post_id : -1; 103 103 # Know events 104 $event = new dcEvent($GLOBALS['core']);105 $event s = $event->getEvent('event',null,null,null,$post_id);104 $eventdata = new dcEventdata($GLOBALS['core']); 105 $eventdatas = $eventdata->getEventdata('eventdata',null,null,null,$post_id); 106 106 $i = 0; 107 if ($event s->count()) {107 if ($eventdatas->count()) { 108 108 echo 109 109 '<h3>'.__('Linked events:').'</h3>'. 110 110 '<div class="p">'; 111 while ($event s->fetch()) {111 while ($eventdatas->fetch()) { 112 112 echo 113 '<div class="event s-list">'.113 '<div class="eventdatas-list">'. 114 114 ' <div class="action">'. 115 form::checkbox('event s[]',$events->event_start.','.$events->event_end,'','','',false,' title="'.__('Check to delete').'"').115 form::checkbox('eventdatas[]',$eventdatas->eventdata_start.','.$eventdatas->eventdata_end,'','','',false,' title="'.__('Check to delete').'"'). 116 116 ' </div>'. 117 ' <span class="green">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$event s->event_start).'</span><br />'.118 ' <span class="red">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$event s->event_end).'</span>'.117 ' <span class="green">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$eventdatas->eventdata_start).'</span><br />'. 118 ' <span class="red">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$eventdatas->eventdata_end).'</span>'. 119 119 '</div>'; 120 120 $i++; … … 124 124 125 125 # New event 126 $start = empty($_POST['event _start']) ? '' : $_POST['event_start'];127 $end = empty($_POST['event _end']) ? '' : $_POST['event_end'];126 $start = empty($_POST['eventdata_start']) ? '' : $_POST['eventdata_start']; 127 $end = empty($_POST['eventdata_end']) ? '' : $_POST['eventdata_end']; 128 128 echo 129 129 '<h3>'.__('Add event').'</h3>'. 130 130 '<div class="p">'. 131 131 '<p><label>'.__('Event start:'). 132 form::field('event _start',16,16,$start,'event-date-start',9).132 form::field('eventdata_start',16,16,$start,'eventdata-date-start',9). 133 133 '</label></p>'. 134 134 '<p><label>'.__('Event end:'). 135 form::field('event _end',16,16,$end,'event-date-end',10).135 form::field('eventdata_end',16,16,$end,'eventdata-date-end',10). 136 136 '</label></p>'. 137 137 '</div>'; … … 140 140 public static function adminAfterPostSave(&$cur,&$post_id) 141 141 { 142 $event = new dcEvent($GLOBALS['core']);142 $eventdata = new dcEventdata($GLOBALS['core']); 143 143 144 144 # Add event 145 if (isset($_POST['event _start']) && isset($_POST['event_end'])146 && !empty($_POST['event _start']) && !empty($_POST['event_end'])) {145 if (isset($_POST['eventdata_start']) && isset($_POST['eventdata_end']) 146 && !empty($_POST['eventdata_start']) && !empty($_POST['eventdata_end'])) { 147 147 $post_id = (integer) $post_id; 148 148 149 if (FALSE === strtotime($_POST['event _start']))149 if (FALSE === strtotime($_POST['eventdata_start'])) 150 150 throw new Exception('Wrong date format'); 151 151 152 if (FALSE === strtotime($_POST['event _end']))152 if (FALSE === strtotime($_POST['eventdata_end'])) 153 153 throw new Exception('Wrong date format'); 154 154 155 if (strtotime($_POST['event _start']) > strtotime($_POST['event_end']))155 if (strtotime($_POST['eventdata_start']) > strtotime($_POST['eventdata_end'])) 156 156 throw new Exception('Start date of event must be smaller than end date of event'); 157 157 158 $start = date('Y-m-d H:i:00',strtotime($_POST['event _start']));159 $end = date('Y-m-d H:i:00',strtotime($_POST['event _end']));160 161 $event ->setEvent('event',$post_id,$start,$end);158 $start = date('Y-m-d H:i:00',strtotime($_POST['eventdata_start'])); 159 $end = date('Y-m-d H:i:00',strtotime($_POST['eventdata_end'])); 160 161 $eventdata->setEventdata('eventdata',$post_id,$start,$end); 162 162 } 163 163 164 164 # Delete events 165 if (isset($_POST['event s']) && is_array($_POST['events'])) {166 foreach($_POST['event s'] AS $v) {165 if (isset($_POST['eventdatas']) && is_array($_POST['eventdatas'])) { 166 foreach($_POST['eventdatas'] AS $v) { 167 167 $v = explode(',',$v); 168 168 if (isset($v[0]) && isset($v[1])) 169 $event ->delEvent('event',$post_id,$v[0],$v[1]);169 $eventdata->delEventdata('eventdata',$post_id,$v[0],$v[1]); 170 170 171 171 } … … 176 176 { 177 177 $post_id = (integer) $post_id; 178 $event = new dcEvent($GLOBALS['core']);179 $event ->delEvent('event',$post_id);178 $eventdata = new dcEventdata($GLOBALS['core']); 179 $eventdata->delEventdata('eventdata',$post_id); 180 180 } 181 181 # Combo action for posts.php or plugin index.php … … 183 183 { 184 184 $E = new eventdata($GLOBALS['core']); 185 if ($E->S->event _option_active && $E->checkPerm('pst')) {186 $args[0][__('add event')] = 'event _add';187 $args[0][__('remove events')] = 'event _remove';185 if ($E->S->eventdata_option_active && $E->checkPerm('pst')) { 186 $args[0][__('add event')] = 'eventdata_add'; 187 $args[0][__('remove events')] = 'eventdata_remove'; 188 188 } 189 189 } … … 191 191 public static function adminPostsActions(&$core,$posts,$action,$redir) 192 192 { 193 $event = new dcEvent($core);194 195 if ($action == 'event _add' && isset($_POST['event_start']) && isset($_POST['event_end'])196 && !empty($_POST['event _start']) && !empty($_POST['event_end'])) {193 $eventdata = new dcEventdata($core); 194 195 if ($action == 'eventdata_add' && isset($_POST['eventdata_start']) && isset($_POST['eventdata_end']) 196 && !empty($_POST['eventdata_start']) && !empty($_POST['eventdata_end'])) { 197 197 198 198 try { 199 if (FALSE === strtotime($_POST['event _start']))199 if (FALSE === strtotime($_POST['eventdata_start'])) 200 200 throw new Exception('Wrong date format'); 201 201 202 if (FALSE === strtotime($_POST['event _end']))202 if (FALSE === strtotime($_POST['eventdata_end'])) 203 203 throw new Exception('Wrong date format'); 204 204 205 if (strtotime($_POST['event _start']) > strtotime($_POST['event_end'])) {205 if (strtotime($_POST['eventdata_start']) > strtotime($_POST['eventdata_end'])) { 206 206 throw new Exception('Start date of event must be smaller than end date of event'); 207 207 } 208 $start = date('Y-m-d H:i:00',strtotime($_POST['event _start']));209 $end = date('Y-m-d H:i:00',strtotime($_POST['event _end']));208 $start = date('Y-m-d H:i:00',strtotime($_POST['eventdata_start'])); 209 $end = date('Y-m-d H:i:00',strtotime($_POST['eventdata_end'])); 210 210 211 211 while ($posts->fetch()) { 212 $event ->setEvent('event',$posts->post_id,$start,$end);212 $eventdata->setEventdata('eventdata',$posts->post_id,$start,$end); 213 213 } 214 214 http::redirect($redir); … … 218 218 } 219 219 } 220 if ($action == 'event _remove') {220 if ($action == 'eventdata_remove') { 221 221 try { 222 222 while ($posts->fetch()) { 223 $event ->delEvent('event',$posts->post_id);223 $eventdata->delEventdata('eventdata',$posts->post_id); 224 224 } 225 225 http::redirect($redir); … … 233 233 public static function adminPostsActionsContent($core,$action,$hidden_fields) 234 234 { 235 if ($action != 'event _add') return;236 237 $start = empty($_POST['event _start']) ? '' : $_POST['event_start'];238 $end = empty($_POST['event _end']) ? '' : $_POST['event_end'];235 if ($action != 'eventdata_add') return; 236 237 $start = empty($_POST['eventdata_start']) ? '' : $_POST['eventdata_start']; 238 $end = empty($_POST['eventdata_end']) ? '' : $_POST['eventdata_end']; 239 239 240 240 echo 241 241 self::adminPostHeaders(). 242 242 '<link rel="stylesheet" type="text/css" href="style/date-picker.css" />'."\n". 243 '<div id="edit-event ">'.243 '<div id="edit-eventdata">'. 244 244 '<h3>'.__('Add event').'</h3>'. 245 245 '<div class="p">'. 246 246 '<form action="posts_actions.php" method="post">'. 247 247 '<p><label>'.__('Event start:'). 248 form::field('event _start',16,16,$start,'event-date-start',9).248 form::field('eventdata_start',16,16,$start,'eventdata-date-start',9). 249 249 '</label></p>'. 250 250 '<p><label>'.__('Event end:'). 251 form::field('event _end',16,16,$end,'event-date-end',10).251 form::field('eventdata_end',16,16,$end,'eventdata-date-end',10). 252 252 '</label></p>'. 253 253 '</div>'. 254 254 $hidden_fields. 255 255 $core->formNonce(). 256 form::hidden(array('action'),'event _add').256 form::hidden(array('action'),'eventdata_add'). 257 257 '<input type="submit" value="'.__('save').'" /></p>'. 258 258 '</form>'. … … 265 265 public static function exportSingle(&$core,&$exp,$blog_id) 266 266 { 267 $exp->export('event ',268 'SELECT event _start, event_end, event_type, E.post_id '.269 'FROM '.$core->prefix.'event E, '.$core->prefix.'post P '.267 $exp->export('eventdata', 268 'SELECT eventdata_start, eventdata_end, eventdata_type, E.post_id '. 269 'FROM '.$core->prefix.'eventdata E, '.$core->prefix.'post P '. 270 270 'WHERE P.post_id = E.post_id '. 271 271 "AND P.blog_id = '".$blog_id."'" … … 275 275 public static function exportFull(&$core,&$exp) 276 276 { 277 $exp->exportTable('event ');277 $exp->exportTable('eventdata'); 278 278 } 279 279 280 280 public static function importInit(&$bk,&$core) 281 281 { 282 $bk->cur_event = $core->con->openCursor($core->prefix.'event');283 $bk->event = new dcEvent($core);282 $bk->cur_eventdata = $core->con->openCursor($core->prefix.'eventdata'); 283 $bk->eventdata = new dcEventdata($core); 284 284 } 285 285 286 286 public static function importSingle(&$line,&$bk,&$core) 287 287 { 288 if ($line->__name == 'event ' && isset($bk->old_ids['post'][(integer) $line->post_id])) {288 if ($line->__name == 'eventdata' && isset($bk->old_ids['post'][(integer) $line->post_id])) { 289 289 $line->post_id = $bk->old_ids['post'][(integer) $line->post_id]; 290 $bk->event ->setEvent($line->event_type,$line->post_id,$line->event_start,$line->event_end);290 $bk->eventdata->setEventdata($line->eventdata_type,$line->post_id,$line->eventdata_start,$line->eventdata_end); 291 291 } 292 292 } … … 294 294 public static function importFull(&$line,&$bk,&$core) 295 295 { 296 if ($line->__name == 'event ') {297 $bk->cur_event ->clean();296 if ($line->__name == 'eventdata') { 297 $bk->cur_eventdata->clean(); 298 298 299 $bk->cur_event ->event_start = (string) $line->event_start;300 $bk->cur_event ->event_end = (string) $line->event_end;301 $bk->cur_event ->event_type = (string) $line->event_type;302 $bk->cur_event ->post_id = (integer) $line->post_id;299 $bk->cur_eventdata->eventdata_start = (string) $line->eventdata_start; 300 $bk->cur_eventdata->eventdata_end = (string) $line->eventdata_end; 301 $bk->cur_eventdata->eventdata_type = (string) $line->eventdata_type; 302 $bk->cur_eventdata->post_id = (integer) $line->post_id; 303 303 304 $bk->cur_event ->insert();304 $bk->cur_eventdata->insert(); 305 305 } 306 306 } -
plugins/eventdata/_define.php
r1001 r1005 17 17 /* Description*/ "Add period to your posts", 18 18 /* Author */ "JC Denis", 19 /* Version */ '0.3. 3',19 /* Version */ '0.3.4', 20 20 /* Permissions */ 'usage,contentadmin' 21 21 ); -
plugins/eventdata/_install.php
r960 r1005 14 14 15 15 # Get new version 16 $version = $core->plugins->moduleInfo('eventdata','version'); 16 $new_version = $core->plugins->moduleInfo('eventdata','version'); 17 $old_version = $core->getVersion('eventdata'); 17 18 # Compare versions 18 if (version_compare($ core->getVersion('eventdata'),$version,'>=')) return;19 if (version_compare($old_version,$new_version,'>=')) return; 19 20 # Install 20 21 try { … … 22 23 eventdataInstall::setSettings($core); 23 24 eventdataInstall::setVersion($core); 25 26 # Move event old table to eventdata new table for plugin version < 0.3.4 27 if (version_compare($old_version,'0.1','>') && version_compare($old_version,'0.3.5','<')) { 28 29 $rs = $core->con->select('SELECT post_id,event_start,event_end,event_type FROM '.$core->prefix.'event '); 30 if (!$rs->isEmpty()) 31 { 32 $cur_eventdata = $core->con->openCursor($core->prefix.'eventdata'); 33 while ($rs->fetch()) { 34 $cur_eventdata->post_id = (integer) $rs->post_id; 35 $cur_eventdata->eventdata_start = (string) $rs->event_start; 36 $cur_eventdata->eventdata_end = (string) $rs->event_end; 37 $cur_eventdata->eventdata_type = (string) ($rs->event_type == 'event' ? 'eventdata' : $rs->event_type); 38 $cur_eventdata->insert(); 39 } 40 $core->con->execute('DELETE FROM '.$core->prefix.'event WHERE event_type = \'event\''); 41 42 $core->blog->settings->setNameSpace('eventdata'); 43 $core->blog->settings->put('eventdata_option_active',$core->blog->settings->event_option_active,'boolean','eventdata plugin enabled',true,false); 44 $core->blog->settings->put('eventdata_option_menu',$core->blog->settings->event_option_menu,'boolean','Icon place on admin menu',true,false); 45 $core->blog->settings->put('eventdata_option_public',$core->blog->settings->event_option_public,'boolean','eventdata public page enabled',true,false); 46 $core->blog->settings->put('eventdata_perm_pst',$core->blog->settings->event_perm_pst,'boolean','Perm to manage events on entries',true,false); 47 $core->blog->settings->put('eventdata_perm_cat',$core->blog->settings->event_perm_cat,'boolean','Perm to manage events categories',true,false); 48 $core->blog->settings->put('eventdata_perm_tpl',$core->blog->settings->event_perm_tpl,'boolean','Perm to manage events template',true,false); 49 $core->blog->settings->put('eventdata_perm_adm',$core->blog->settings->event_perm_adm,'boolean','Perm to manage eventdata plugin',true,false); 50 $core->blog->settings->put('eventdata_tpl_title',$core->blog->settings->event_tpl_title,'string','Public page title',true,false); 51 $core->blog->settings->put('eventdata_tpl_desc','',$core->blog->settings->event_tpl_desc,'Public page description',true,false); 52 $core->blog->settings->put('eventdata_tpl_url',$core->blog->settings->event_tpl_url,'string','Public page default name',true,false); 53 $core->blog->settings->put('eventdata_tpl_dis_bhv',$core->blog->settings->event_tpl_dis_bhv,'boolean','Disable public entry behavior',true,false); 54 $core->blog->settings->put('eventdata_tpl_theme',$core->blog->settings->event_tpl_theme,'string','Public page template',true,false); 55 $core->blog->settings->put('eventdata_tpl_cats',$core->blog->settings->event_tpl_cats,'string','Redirected categories',true,false); 56 $core->blog->settings->put('eventdata_no_cats',$core->blog->settings->event_no_cats,'string','Unlisted categories',true,false); 57 58 $set = $core->blog->settings; 59 $set->drop('event_option_active'); 60 $set->drop('event_option_menu'); 61 $set->drop('event_option_public'); 62 $set->drop('event_perm_pst'); 63 $set->drop('event_perm_cat'); 64 $set->drop('event_perm_tpl'); 65 $set->drop('event_perm_adm'); 66 $set->drop('event_tpl_title'); 67 $set->drop('event_tpl_desc'); 68 $set->drop('event_tpl_url'); 69 $set->drop('event_tpl_dis_bhv'); 70 $set->drop('event_tpl_theme'); 71 $set->drop('event_tpl_cats'); 72 $set->drop('event_no_cats'); 73 74 $set = new dcSettings($core,null); 75 $set->drop('event_option_active'); 76 $set->drop('event_option_menu'); 77 $set->drop('event_option_public'); 78 $set->drop('event_perm_pst'); 79 $set->drop('event_perm_cat'); 80 $set->drop('event_perm_tpl'); 81 $set->drop('event_perm_adm'); 82 $set->drop('event_tpl_title'); 83 $set->drop('event_tpl_desc'); 84 $set->drop('event_tpl_url'); 85 $set->drop('event_tpl_dis_bhv'); 86 $set->drop('event_tpl_theme'); 87 $set->drop('event_tpl_cats'); 88 $set->drop('event_no_cats'); 89 90 } 91 unset($rs,$res); 92 } 24 93 } 25 94 catch (Exception $e) { -
plugins/eventdata/_prepend.php
r960 r1005 14 14 15 15 # Event generic class 16 $GLOBALS['__autoload']['dcEvent '] =17 dirname(__FILE__).'/class.dc.event .php';16 $GLOBALS['__autoload']['dcEventdata'] = 17 dirname(__FILE__).'/class.dc.eventdata.php'; 18 18 # Event generic rest class 19 $GLOBALS['__autoload']['dcEvent Rest'] =20 dirname(__FILE__).'/class.dc.event .rest.php';19 $GLOBALS['__autoload']['dcEventdataRest'] = 20 dirname(__FILE__).'/class.dc.eventdata.rest.php'; 21 21 # Eventdata plugin main class 22 22 $GLOBALS['__autoload']['eventdata'] = … … 26 26 dirname(__FILE__).'/inc/lib.eventdata.install.php'; 27 27 # Eventdata entries table 28 $GLOBALS['__autoload']['eventdataEvent List'] =28 $GLOBALS['__autoload']['eventdataEventdataList'] = 29 29 dirname(__FILE__).'/inc/lib.eventdata.list.php'; 30 30 ?> -
plugins/eventdata/_public.php
r1002 r1005 30 30 31 31 # Public urls, blocks, values, behaviors... 32 if ($core->blog->settings->event _option_active) {32 if ($core->blog->settings->eventdata_option_active) { 33 33 $core->addBehavior('publicHeadContent',array('eventdataPublic','publicHeadContent')); 34 34 $core->addBehavior('publicBeforeDocument',array('eventdataPublic','publicBeforeDocument')); 35 35 $core->addBehavior('tplBeforeData',array('eventdataPublic','tplBeforeData')); 36 36 37 if (!$core->blog->settings->event _tpl_dis_bhv) {37 if (!$core->blog->settings->eventdata_tpl_dis_bhv) { 38 38 $core->addBehavior('publicEntryBeforeContent',array('eventdataPublic','publicEntryBeforeContent')); 39 39 $core->addBehavior('publicEntryAfterContent',array('eventdataPublic','publicEntryAfterContent')); 40 40 } 41 41 42 if ($core->blog->settings->event _option_public) {43 $u = $core->blog->settings->event _tpl_url ? $core->blog->settings->event_tpl_url : 'events';44 $core->url->register($u,$u,'^'.$u.'(|/.+)$',array('eventdataPublic','event s'));45 } 46 $core->url->register('eventstheme','eventstheme','^eventstheme/(.+)$',array('eventdataPublic','event stheme'));47 48 $core->tpl->addBlock('Event Entries',array('eventdataPublic','EventEntries'));49 $core->tpl->addBlock('Event Pagination',array('eventdataPublic','EventPagination'));50 $core->tpl->addValue('Event PageURL',array('eventdataPublic','EventPageURL'));51 $core->tpl->addValue('Event PageTitle',array('eventdataPublic','EventPageTitle'));52 $core->tpl->addValue('Event PageDescription',array('eventdataPublic','EventPageDescription'));53 $core->tpl->addValue('Event PageNav',array('eventdataPublic','EventPageNav'));54 55 $core->tpl->addBlock('EntryEvent Dates',array('eventdataPublic','EntryEventDates'));56 $core->tpl->addBlock('Event DatesHeader',array('eventdataPublic','EventDatesHeader'));57 $core->tpl->addBlock('Event DatesFooter',array('eventdataPublic','EventDatesFooter'));58 $core->tpl->addValue('Event FullDate',array('eventdataPublic','EventFullDate'));59 $core->tpl->addValue('Event StartDate',array('eventdataPublic','EventStartDate'));60 $core->tpl->addValue('Event StartTime',array('eventdataPublic','EventStartTime'));61 $core->tpl->addValue('Event EndDate',array('eventdataPublic','EventEndDate'));62 $core->tpl->addValue('Event EndTime',array('eventdataPublic','EventEndTime'));63 $core->tpl->addValue('Event Period',array('eventdataPublic','EventPeriod'));64 65 $core->tpl->addValue('Event ThemeURL',array('eventdataPublic','EventThemeURL'));66 $core->tpl->addValue('Event FeedURL',array('eventdataPublic','EventFeedURL'));42 if ($core->blog->settings->eventdata_option_public) { 43 $u = $core->blog->settings->eventdata_tpl_url ? $core->blog->settings->eventdata_tpl_url : 'events'; 44 $core->url->register($u,$u,'^'.$u.'(|/.+)$',array('eventdataPublic','eventdatas')); 45 } 46 $core->url->register('eventstheme','eventstheme','^eventstheme/(.+)$',array('eventdataPublic','eventdatastheme')); 47 48 $core->tpl->addBlock('EventdataEntries',array('eventdataPublic','EventdataEntries')); 49 $core->tpl->addBlock('EventdataPagination',array('eventdataPublic','EventdataPagination')); 50 $core->tpl->addValue('EventdataPageURL',array('eventdataPublic','EventdataPageURL')); 51 $core->tpl->addValue('EventdataPageTitle',array('eventdataPublic','EventdataPageTitle')); 52 $core->tpl->addValue('EventdataPageDescription',array('eventdataPublic','EventdataPageDescription')); 53 $core->tpl->addValue('EventdataPageNav',array('eventdataPublic','EventdataPageNav')); 54 55 $core->tpl->addBlock('EntryEventdataDates',array('eventdataPublic','EntryEventdataDates')); 56 $core->tpl->addBlock('EventdataDatesHeader',array('eventdataPublic','EventdataDatesHeader')); 57 $core->tpl->addBlock('EventdataDatesFooter',array('eventdataPublic','EventdataDatesFooter')); 58 $core->tpl->addValue('EventdataFullDate',array('eventdataPublic','EventdataFullDate')); 59 $core->tpl->addValue('EventdataStartDate',array('eventdataPublic','EventdataStartDate')); 60 $core->tpl->addValue('EventdataStartTime',array('eventdataPublic','EventdataStartTime')); 61 $core->tpl->addValue('EventdataEndDate',array('eventdataPublic','EventdataEndDate')); 62 $core->tpl->addValue('EventdataEndTime',array('eventdataPublic','EventdataEndTime')); 63 $core->tpl->addValue('EventdataPeriod',array('eventdataPublic','EventdataPeriod')); 64 65 $core->tpl->addValue('EventdataThemeURL',array('eventdataPublic','EventdataThemeURL')); 66 $core->tpl->addValue('EventdataFeedURL',array('eventdataPublic','EventdataFeedURL')); 67 67 68 68 } else { 69 $core->tpl->addBlock('Event Entries',array('eventdataPublic','EventDisableBlock'));70 $core->tpl->addBlock('Event Pagination',array('eventdataPublic','EventDisableBlock'));71 $core->tpl->addValue('Event PageURL',array('eventdataPublic','EventDisableValue'));72 $core->tpl->addValue('Event PageTitle',array('eventdataPublic','EventDisableValue'));73 $core->tpl->addValue('Event PageDescription',array('eventdataPublic','EventDisableValue'));74 $core->tpl->addValue('Event PageNav',array('eventdataPublic','EventDisableValue'));75 76 $core->tpl->addBlock('EntryEvent Dates',array('eventdataPublic','EventDisableBlock'));77 $core->tpl->addBlock('Event DatesHeader',array('eventdataPublic','EventDisableBlock'));78 $core->tpl->addBlock('Event DatesFooter',array('eventdataPublic','EventDisableBlock'));79 $core->tpl->addValue('Event FullDate',array('eventdataPublic','EventDisableValue'));80 $core->tpl->addValue('Event StartDate',array('eventdataPublic','EventDisableValue'));81 $core->tpl->addValue('Event StartTime',array('eventdataPublic','EventDisableValue'));82 $core->tpl->addValue('Event EndDate',array('eventdataPublic','EventDisableValue'));83 $core->tpl->addValue('Event EndTime',array('eventdataPublic','EventDisableValue'));84 $core->tpl->addValue('Event Period',array('eventdataPublic','EventDisableValue'));85 86 $core->tpl->addValue('Event ThemeURL',array('eventdataPublic','EventDisableValue'));87 $core->tpl->addValue('Event FeedURL',array('eventdataPublic','EventDisableValue'));69 $core->tpl->addBlock('EventdataEntries',array('eventdataPublic','EventdataDisableBlock')); 70 $core->tpl->addBlock('EventdataPagination',array('eventdataPublic','EventdataDisableBlock')); 71 $core->tpl->addValue('EventdataPageURL',array('eventdataPublic','EventdataDisableValue')); 72 $core->tpl->addValue('EventdataPageTitle',array('eventdataPublic','EventdataDisableValue')); 73 $core->tpl->addValue('EventdataPageDescription',array('eventdataPublic','EventdataDisableValue')); 74 $core->tpl->addValue('EventdataPageNav',array('eventdataPublic','EventdataDisableValue')); 75 76 $core->tpl->addBlock('EntryEventdataDates',array('eventdataPublic','EventdataDisableBlock')); 77 $core->tpl->addBlock('EventdataDatesHeader',array('eventdataPublic','EventdataDisableBlock')); 78 $core->tpl->addBlock('EventdataDatesFooter',array('eventdataPublic','EventdataDisableBlock')); 79 $core->tpl->addValue('EventdataFullDate',array('eventdataPublic','EventdataDisableValue')); 80 $core->tpl->addValue('EventdataStartDate',array('eventdataPublic','EventdataDisableValue')); 81 $core->tpl->addValue('EventdataStartTime',array('eventdataPublic','EventdataDisableValue')); 82 $core->tpl->addValue('EventdataEndDate',array('eventdataPublic','EventdataDisableValue')); 83 $core->tpl->addValue('EventdataEndTime',array('eventdataPublic','EventdataDisableValue')); 84 $core->tpl->addValue('EventdataPeriod',array('eventdataPublic','EventdataDisableValue')); 85 86 $core->tpl->addValue('EventdataThemeURL',array('eventdataPublic','EventdataDisableValue')); 87 $core->tpl->addValue('EventdataFeedURL',array('eventdataPublic','EventdataDisableValue')); 88 88 } 89 89 … … 95 95 } 96 96 # Plugin disabled 97 public static function Event DisablePage($a)97 public static function EventdataDisablePage($a) 98 98 { 99 99 self::p404(); exit; 100 100 } 101 public static function Event DisableBlock($a,$b)101 public static function EventdataDisableBlock($a,$b) 102 102 { 103 103 return ''; 104 104 } 105 public static function Event DisableValue($a)105 public static function EventdataDisableValue($a) 106 106 { 107 107 return ''; 108 108 } 109 109 # return tpl path if exist 110 private static function event Tpl($file='',$strict=false)110 private static function eventdataTpl($file='',$strict=false) 111 111 { 112 112 global $core; … … 115 115 $default_dir = self::tpl_root().'default'; 116 116 // user 117 $user_dir = self::tpl_root().$core->blog->settings->event _tpl_theme;117 $user_dir = self::tpl_root().$core->blog->settings->eventdata_tpl_theme; 118 118 // theme 119 119 $theme_dir = self::tpl_root().$core->blog->settings->theme; … … 128 128 return ''; 129 129 } 130 # Find if $_ctx->event s or $_ctx->posts exists131 private static function event Ctx($content)132 { 133 return '<?php if (!$_ctx->exists("event s")) { $eventctx = "posts"; } else { $eventctx = "events"; } ?>'.$content.'<?php unset($eventctx); ?>';134 } 135 # Specific post_params for event entries136 public static function event Params()130 # Find if $_ctx->eventdatas or $_ctx->posts exists 131 private static function eventdataCtx($content) 132 { 133 return '<?php if (!$_ctx->exists("eventdatas")) { $eventdatactx = "posts"; } else { $eventdatactx = "eventdatas"; } ?>'.$content.'<?php unset($eventdatactx); ?>'; 134 } 135 # Specific post_params for eventdata entries 136 public static function eventdataParams() 137 137 { 138 138 global $core, $_ctx; 139 139 $res = "<?php\n\$params = \$_ctx->post_params;\n?>"; 140 140 141 if (null === $core->blog->settings->event _no_cats)141 if (null === $core->blog->settings->eventdata_no_cats) 142 142 return $res; 143 143 144 $cats = @unserialize($core->blog->settings->event _no_cats);144 $cats = @unserialize($core->blog->settings->eventdata_no_cats); 145 145 146 146 if (!is_array($cats)) … … 154 154 } 155 155 # Return full eventdata theme url (? don't need) 156 public static function Event ThemeURL($attr)156 public static function EventdataThemeURL($attr) 157 157 { 158 158 global $core; 159 return self::event Tpl() ? $core->blog->url.'eventstheme/' : '';159 return self::eventdataTpl() ? $core->blog->url.'eventstheme/' : ''; 160 160 } 161 161 # Feed Url 162 public static function Event FeedURL($attr)162 public static function EventdataFeedURL($attr) 163 163 { 164 164 $type = !empty($attr['type']) ? $attr['type'] : 'atom'; … … 168 168 169 169 $f = $GLOBALS['core']->tpl->getFilters($attr); 170 return '<?php echo '.sprintf($f,'$core->blog->url.$core->blog->settings->event _tpl_url."/feed/'.$type.'"').'; ?>';171 } 172 # List of event s of a post173 public static function EntryEvent Dates($attr,$content)170 return '<?php echo '.sprintf($f,'$core->blog->url.$core->blog->settings->eventdata_tpl_url."/feed/'.$type.'"').'; ?>'; 171 } 172 # List of eventdatas of a post 173 public static function EntryEventdataDates($attr,$content) 174 174 { 175 175 global $core, $_ctx; … … 178 178 if ('post.html' != $_ctx->current_tpl || !$_ctx->posts->post_id) return; 179 179 180 $type = !empty($attr['event _type']) ? '"'.addslashes($attr['event_type']).'"' : '"event"';180 $type = !empty($attr['eventdata_type']) ? '"'.addslashes($attr['eventdata_type']).'"' : '"eventdata"'; 181 181 $lastn = !empty($attr['lastn']) ? abs((integer) $attr['lastn'])+0 : 'null'; 182 182 $period = isset($attr['period']) ? '"'.addslashes($attr['period']).'"' : 'null'; … … 187 187 return 188 188 "<?php\n". 189 'if (!isset($event )) { $event = new dcEvent($core); }'."\n".190 "\$_ctx->event s = \$event->getEvent($type,$lastn,$start,$end,\$_ctx->posts->post_id,$period,$sort);\n".191 'while ($_ctx->event s->fetch()) : ?>'.$content.'<?php endwhile; '."\n".192 '$_ctx->event s = null;'."\n".189 'if (!isset($eventdata)) { $eventdata = new dcEventdata($core); }'."\n". 190 "\$_ctx->eventdatas = \$eventdata->getEventdata($type,$lastn,$start,$end,\$_ctx->posts->post_id,$period,$sort);\n". 191 'while ($_ctx->eventdatas->fetch()) : ?>'.$content.'<?php endwhile; '."\n". 192 '$_ctx->eventdatas = null;'."\n". 193 193 '?>'; 194 194 } 195 # Start of loop of EntryEvent Dates196 public static function Event DatesHeader($attr,$content)197 { 198 return self::event Ctx('<?php if ($_ctx->{$eventctx}->isStart()) : ?>'.$content.'<?php endif; ?>');199 } 200 # End of loop of EntryEvent Dates201 public static function Event DatesFooter($attr,$content)202 { 203 return self::event Ctx('<?php if ($_ctx->{$eventctx}->isEnd()) : ?>'.$content.'<?php endif; ?>');204 } 205 # Full date of an event (friendly read)206 public static function Event FullDate($attr)195 # Start of loop of EntryEventdataDates 196 public static function EventdataDatesHeader($attr,$content) 197 { 198 return self::eventdataCtx('<?php if ($_ctx->{$eventdatactx}->isStart()) : ?>'.$content.'<?php endif; ?>'); 199 } 200 # End of loop of EntryEventdataDates 201 public static function EventdataDatesFooter($attr,$content) 202 { 203 return self::eventdataCtx('<?php if ($_ctx->{$eventdatactx}->isEnd()) : ?>'.$content.'<?php endif; ?>'); 204 } 205 # Full date of an eventdata (friendly read) 206 public static function EventdataFullDate($attr) 207 207 { 208 208 $format = !empty($attr['format']) ? addslashes($attr['format']) : ''; … … 213 213 214 214 if (!empty($attr['rfc822'])) 215 $fs = sprintf($f,"dt::rfc822(strtotime(\$_ctx->{\$event ctx}->event_start),\$_ctx->posts->post_tz)");215 $fs = sprintf($f,"dt::rfc822(strtotime(\$_ctx->{\$eventdatactx}->eventdata_start),\$_ctx->posts->post_tz)"); 216 216 elseif (!empty($attr['iso8601'])) 217 $fs = sprintf($f,"dt::iso8601(strtotime(\$_ctx->{\$event ctx}->event_start),\$_ctx->posts->post_tz)");217 $fs = sprintf($f,"dt::iso8601(strtotime(\$_ctx->{\$eventdatactx}->eventdata_start),\$_ctx->posts->post_tz)"); 218 218 elseif ($format) 219 $fs = sprintf($f,"dt::dt2str('".$format."',\$_ctx->{\$event ctx}->event_start)");219 $fs = sprintf($f,"dt::dt2str('".$format."',\$_ctx->{\$eventdatactx}->eventdata_start)"); 220 220 else 221 $fs = sprintf($f,"dt::dt2str(\$core->blog->settings->date_format,\$_ctx->{\$event ctx}->event_start)");221 $fs = sprintf($f,"dt::dt2str(\$core->blog->settings->date_format,\$_ctx->{\$eventdatactx}->eventdata_start)"); 222 222 223 223 if (!empty($attr['rfc822'])) 224 $fe = sprintf($f,"dt::rfc822(strtotime(\$_ctx->{\$event ctx}->event_end),\$_ctx->posts->post_tz)");224 $fe = sprintf($f,"dt::rfc822(strtotime(\$_ctx->{\$eventdatactx}->eventdata_end),\$_ctx->posts->post_tz)"); 225 225 elseif (!empty($attr['iso8601'])) 226 $fe = sprintf($f,"dt::iso8601(strtotime(\$_ctx->{\$event ctx}->event_end),\$_ctx->posts->post_tz)");226 $fe = sprintf($f,"dt::iso8601(strtotime(\$_ctx->{\$eventdatactx}->eventdata_end),\$_ctx->posts->post_tz)"); 227 227 elseif ($format) 228 $fe = sprintf($f,"dt::dt2str('".$format."',\$_ctx->{\$event ctx}->event_end)");229 else 230 $fe = sprintf($f,"dt::dt2str(\$core->blog->settings->date_format,\$_ctx->{\$event ctx}->event_end)");231 232 return self::event Ctx("<?php echo str_replace(array('%S','%E','%%'),array($fs,$fe,'%'),__('From %S to %E')); ?>");233 } 234 # Start date of an event 235 public static function Event StartDate($attr)228 $fe = sprintf($f,"dt::dt2str('".$format."',\$_ctx->{\$eventdatactx}->eventdata_end)"); 229 else 230 $fe = sprintf($f,"dt::dt2str(\$core->blog->settings->date_format,\$_ctx->{\$eventdatactx}->eventdata_end)"); 231 232 return self::eventdataCtx("<?php echo str_replace(array('%S','%E','%%'),array($fs,$fe,'%'),__('From %S to %E')); ?>"); 233 } 234 # Start date of an eventdata 235 public static function EventdataStartDate($attr) 236 236 { 237 237 $format = !empty($attr['format']) ? addslashes($attr['format']) : ''; … … 239 239 240 240 if (!empty($attr['rfc822'])) 241 $res = sprintf($f,"dt::rfc822(strtotime(\$_ctx->{\$event ctx}->event_start),\$_ctx->posts->post_tz)");241 $res = sprintf($f,"dt::rfc822(strtotime(\$_ctx->{\$eventdatactx}->eventdata_start),\$_ctx->posts->post_tz)"); 242 242 elseif (!empty($attr['iso8601'])) 243 $res = sprintf($f,"dt::iso8601(strtotime(\$_ctx->{\$event ctx}->event_start),\$_ctx->posts->post_tz)");243 $res = sprintf($f,"dt::iso8601(strtotime(\$_ctx->{\$eventdatactx}->eventdata_start),\$_ctx->posts->post_tz)"); 244 244 elseif ($format) 245 $res = sprintf($f,"dt::dt2str('".$format."',\$_ctx->{\$event ctx}->event_start)");245 $res = sprintf($f,"dt::dt2str('".$format."',\$_ctx->{\$eventdatactx}->eventdata_start)"); 246 246 else 247 $res = sprintf($f,"dt::dt2str(\$core->blog->settings->date_format,\$_ctx->{\$event ctx}->event_start)");248 249 return self::event Ctx('<?php echo '.$res.'; ?>');250 } 251 # Start time of an event 252 public static function Event StartTime($attr)247 $res = sprintf($f,"dt::dt2str(\$core->blog->settings->date_format,\$_ctx->{\$eventdatactx}->eventdata_start)"); 248 249 return self::eventdataCtx('<?php echo '.$res.'; ?>'); 250 } 251 # Start time of an eventdata 252 public static function EventdataStartTime($attr) 253 253 { 254 254 $f = $GLOBALS['core']->tpl->getFilters($attr); 255 $res = sprintf($f,"dt::dt2str(".(!empty($attr['format']) ? "'".addslashes($attr['format'])."'" : '$core->blog->settings->time_format').",\$_ctx->{\$event ctx}->event_start)");256 257 return self::event Ctx('<?php echo '.$res.'; ?>');258 } 259 # End date of an event 260 public static function Event EndDate($attr)255 $res = sprintf($f,"dt::dt2str(".(!empty($attr['format']) ? "'".addslashes($attr['format'])."'" : '$core->blog->settings->time_format').",\$_ctx->{\$eventdatactx}->eventdata_start)"); 256 257 return self::eventdataCtx('<?php echo '.$res.'; ?>'); 258 } 259 # End date of an eventdata 260 public static function EventdataEndDate($attr) 261 261 { 262 262 $format = !empty($attr['format']) ? addslashes($attr['format']) : ''; … … 264 264 265 265 if (!empty($attr['rfc822'])) 266 $res = sprintf($f,"dt::rfc822(strtotime(\$_ctx->{\$event ctx}->event_end),\$_ctx->posts->post_tz)");266 $res = sprintf($f,"dt::rfc822(strtotime(\$_ctx->{\$eventdatactx}->eventdata_end),\$_ctx->posts->post_tz)"); 267 267 elseif (!empty($attr['iso8601'])) 268 $res = sprintf($f,"dt::iso8601(strtotime(\$_ctx->{\$event ctx}->event_end),\$_ctx->posts->post_tz)");268 $res = sprintf($f,"dt::iso8601(strtotime(\$_ctx->{\$eventdatactx}->eventdata_end),\$_ctx->posts->post_tz)"); 269 269 elseif ($format) 270 $res = sprintf($f,"dt::dt2str('".$format."',\$_ctx->{\$event ctx}->event_end)");271 else 272 $res = sprintf($f,"dt::dt2str(\$core->blog->settings->date_format,\$_ctx->{\$event ctx}->event_end)");273 274 return self::event Ctx('<?php echo '.$res.'; ?>');275 } 276 # End time of an event 277 public static function Event EndTime($attr)270 $res = sprintf($f,"dt::dt2str('".$format."',\$_ctx->{\$eventdatactx}->eventdata_end)"); 271 else 272 $res = sprintf($f,"dt::dt2str(\$core->blog->settings->date_format,\$_ctx->{\$eventdatactx}->eventdata_end)"); 273 274 return self::eventdataCtx('<?php echo '.$res.'; ?>'); 275 } 276 # End time of an eventdata 277 public static function EventdataEndTime($attr) 278 278 { 279 279 $f = $GLOBALS['core']->tpl->getFilters($attr); 280 $res = sprintf($f,"dt::dt2str(".(!empty($attr['format']) ? "'".addslashes($attr['format'])."'" : '$core->blog->settings->time_format').",\$_ctx->{\$event ctx}->event_end)");281 282 return self::event Ctx('<?php echo '.$res.'; ?>');283 } 284 # Period of an event 285 public static function Event Period($attr)280 $res = sprintf($f,"dt::dt2str(".(!empty($attr['format']) ? "'".addslashes($attr['format'])."'" : '$core->blog->settings->time_format').",\$_ctx->{\$eventdatactx}->eventdata_end)"); 281 282 return self::eventdataCtx('<?php echo '.$res.'; ?>'); 283 } 284 # Period of an eventdata 285 public static function EventdataPeriod($attr) 286 286 { 287 287 $format = !empty($attr['format']) ? addslashes($attr['format']) : ''; … … 289 289 290 290 $res = 291 "if (strtotime(\$_ctx->{\$event ctx}->event_start) > time()) {\n".291 "if (strtotime(\$_ctx->{\$eventdatactx}->eventdata_start) > time()) {\n". 292 292 " echo ".sprintf($f,(empty($attr['strict']) ? "__('scheduled')" : "'scheduled'"))."; }\n". 293 "elseif (strtotime(\$_ctx->{\$event ctx}->event_start) < time() && strtotime(\$_ctx->{\$eventctx}->event_end) > time()) {\n".293 "elseif (strtotime(\$_ctx->{\$eventdatactx}->eventdata_start) < time() && strtotime(\$_ctx->{\$eventdatactx}->eventdata_end) > time()) {\n". 294 294 " echo ".sprintf($f,(empty($attr['strict']) ? "__('ongoing')" : "'ongoing'"))."; }\n". 295 "elseif (strtotime(\$_ctx->{\$event ctx}->event_end) < time()) {\n".295 "elseif (strtotime(\$_ctx->{\$eventdatactx}->eventdata_end) < time()) {\n". 296 296 " echo ".sprintf($f,(empty($attr['strict']) ? "__('finished')" : "'finished'"))."; }\n"; 297 297 298 return self::event Ctx('<?php '.$res.'; ?>');299 } 300 # Return event s page url301 public static function Event PageURL($attr)302 { 303 return '<?php echo $core->blog->url.$core->blog->settings->event_tpl_url; ?>';298 return self::eventdataCtx('<?php '.$res.'; ?>'); 299 } 300 # Return eventdatas page url 301 public static function EventdataPageURL($attr) 302 { 303 return "<?php echo \$core->blog->url.\$core->blog->settings->eventdata_tpl_url; if (\$_ctx->exists('categories')) { echo '/category/'.\$_ctx->categories->cat_url; } ?>"; 304 304 } 305 305 # Title of public page 306 public static function Event PageTitle($attr)306 public static function EventdataPageTitle($attr) 307 307 { 308 308 global $core,$_ctx; 309 309 $f = $core->tpl->getFilters($attr); 310 $cats = @unserialize($core->blog->settings->event _tpl_cats);310 $cats = @unserialize($core->blog->settings->eventdata_tpl_cats); 311 311 $cat_id = @$_ctx->categories->cat_id; 312 312 … … 314 314 return '<?php echo '.sprintf($f,'$_ctx->categories->cat_title').'; ?>'; 315 315 else 316 return '<?php echo '.sprintf($f,'$core->blog->settings->event _tpl_title').'; ?>';316 return '<?php echo '.sprintf($f,'$core->blog->settings->eventdata_tpl_title').'; ?>'; 317 317 } 318 318 # Description of public page 319 public static function Event PageDescription($attr)319 public static function EventdataPageDescription($attr) 320 320 { 321 321 global $core,$_ctx; 322 322 $f = $core->tpl->getFilters($attr); 323 $cats = unserialize($core->blog->settings->event _tpl_cats);323 $cats = unserialize($core->blog->settings->eventdata_tpl_cats); 324 324 $cat_id = @$_ctx->categories->cat_id; 325 325 … … 327 327 return '<?php echo '.sprintf($f,'$_ctx->categories->cat_desc').'; ?>'; 328 328 else 329 return '<?php echo '.sprintf($f,'$core->blog->settings->event _tpl_desc').'; ?>';329 return '<?php echo '.sprintf($f,'$core->blog->settings->eventdata_tpl_desc').'; ?>'; 330 330 } 331 331 # Navigation menu for public page 332 public static function Event PageNav($attr)332 public static function EventdataPageNav($attr) 333 333 { 334 334 global $core,$_ctx; … … 358 358 foreach($menu AS $k => $v) { 359 359 $res .= $_ctx->post_params['period'] == $v ? '<li class="active">' : '<li>'; 360 $res .= '<a href="'.self::Event PageURL('').'/'.$v.'"><?php echo '.sprintf($f,'"'.$k.'"').'; ?></a></li>';361 } 362 363 return empty($res) ? '' : '<div id="event _nav"><ul>'.$res.'</ul></div>';364 } 365 # Posts list with event s (like Entries)366 public static function Event Entries($attr,$content)367 { 368 $res = self::event Params()."<?php\n";360 $res .= '<a href="'.self::EventdataPageURL('').'/'.$v.'"><?php echo '.sprintf($f,'"'.$k.'"').'; ?></a></li>'; 361 } 362 363 return empty($res) ? '' : '<div id="eventdata_nav"><ul>'.$res.'</ul></div>'; 364 } 365 # Posts list with eventdatas (like Entries) 366 public static function EventdataEntries($attr,$content) 367 { 368 $res = self::eventdataParams()."<?php\n"; 369 369 370 370 # Limit … … 435 435 "}\n"; 436 436 } 437 # Event type438 if (!empty($attr['event _type']))439 $res .= "\$params['event _type'] = preg_split('/\s*,\s*/','".addslashes($attr['event_type'])."',-1,PREG_SPLIT_NO_EMPTY);\n";440 else 441 $res .= "\$params['event _type'] = 'event';\n";437 # Eventdata type 438 if (!empty($attr['eventdata_type'])) 439 $res .= "\$params['eventdata_type'] = preg_split('/\s*,\s*/','".addslashes($attr['eventdata_type'])."',-1,PREG_SPLIT_NO_EMPTY);\n"; 440 else 441 $res .= "\$params['eventdata_type'] = 'eventdata';\n"; 442 442 443 443 # Sort 444 $sortby = 'event _start';444 $sortby = 'eventdata_start'; 445 445 $order = 'desc'; 446 446 if (isset($attr['sortby'])) { … … 451 451 case 'date' : $sortby = 'post_dt'; break; 452 452 case 'id' : $sortby = 'post_id'; break; 453 case 'start' : $sortby = 'event _start'; break;454 case 'end' : $sortby = 'event _end'; break;453 case 'start' : $sortby = 'eventdata_start'; break; 454 case 'end' : $sortby = 'eventdata_end'; break; 455 455 } 456 456 } … … 477 477 $res .= 478 478 '$_ctx->post_params = $params;'."\n". 479 '$event = new dcEvent($core);'."\n".480 '$_ctx->posts = $event ->getPostsByEvent($params);'."\n".479 '$eventdata = new dcEventdata($core);'."\n". 480 '$_ctx->posts = $eventdata->getPostsByEventdata($params);'."\n". 481 481 'unset($params);'."\n". 482 482 'while ($_ctx->posts->fetch()) : ?>'.$content.'<?php endwhile; '."\n". … … 487 487 } 488 488 # Pagination 489 public function Event Pagination($attr,$content)490 { 491 $res = self::event Params().492 "<?php\n\$_ctx->pagination = \$event ->getPostsByEvent(\$params,true); unset(\$params);\n?>";489 public function EventdataPagination($attr,$content) 490 { 491 $res = self::eventdataParams(). 492 "<?php\n\$_ctx->pagination = \$eventdata->getPostsByEventdata(\$params,true); unset(\$params);\n?>"; 493 493 494 494 if (isset($attr['no_context'])) return $res.$content; … … 501 501 } 502 502 # Public page 503 public static function event s($args)503 public static function eventdatas($args) 504 504 { 505 505 $core =& $GLOBALS['core']; 506 $_ctx =& $GLOBALS['_ctx']; 507 $_ctx->post_params = array('period'=>''); 506 508 507 509 $n = self::getPageNumber($args); … … 511 513 $args = preg_replace('#(^|/)feed/(rss2|atom)$#','',$args); 512 514 $type = $m[2]; 513 $file = 'event s-'.$type.'.xml';515 $file = 'eventdatas-'.$type.'.xml'; 514 516 $mime = 'application/xml'; 515 517 $core->tpl->setPath($core->tpl->getPath(),self::tpl_root().'default/feed/'); 516 518 # Normal 517 519 } else { 520 # Page number 518 521 if ($n) 519 522 $GLOBALS['_page_number'] = $n; 520 523 521 if (preg_match('%(^|/)(started|notstarted|scheduled|ongoing|outgoing|finished|notfinished|all)$%',$args,$m)) 522 $GLOBALS['_ctx']->post_params = array('period' => $m[2]); 523 524 $file = 'events.html'; 524 # Period 525 if (preg_match('%(^|/)(started|notstarted|scheduled|ongoing|outgoing|finished|notfinished|all)(.*?)$%',$args,$m)) 526 $_ctx->post_params = array('period' => $m[2]); 527 # Category 528 if (preg_match('%(^|/)category/([^/]*)(.*?)$%',$args,$m)) 529 $_ctx->categories = $core->blog->getCategories(array('cat_url' => $m[2], 'post_type' => 'post')); 530 531 $file = 'eventdatas.html'; 525 532 $mime='text/html'; 526 533 } … … 530 537 } 531 538 # Return file from eventdata theme 532 public static function event stheme($args)539 public static function eventdatastheme($args) 533 540 { 534 541 global $core; … … 546 553 } 547 554 548 $path = self::event Tpl($f);555 $path = self::eventdataTpl($f); 549 556 if (!$path) { 550 557 self::p404(); … … 573 580 public static function publicBeforeDocument(&$core) 574 581 { 575 if ('' != ($path = self::event Tpl()))582 if ('' != ($path = self::eventdataTpl())) 576 583 $core->tpl->setPath($core->tpl->getPath(),$path); 577 584 } … … 579 586 public static function publicHeadContent(&$core) 580 587 { 581 if (!file_exists($core->blog->themes_path.'/'.$core->blog->settings->theme.'/tpl/event s.html')582 && '' != self::event Tpl('eventdata.css'))588 if (!file_exists($core->blog->themes_path.'/'.$core->blog->settings->theme.'/tpl/eventdatas.html') 589 && '' != self::eventdataTpl('eventdata.css')) 583 590 echo "<style type=\"text/css\">\n@import url(".$core->blog->url."eventstheme/eventdata.css);\n</style>\n"; 584 591 } … … 587 594 { 588 595 $_ctx =& $GLOBALS['_ctx']; 589 if (null === $core->blog->settings->event _tpl_cats) return;590 591 $cats = @unserialize($core->blog->settings->event _tpl_cats);596 if (null === $core->blog->settings->eventdata_tpl_cats) return; 597 598 $cats = @unserialize($core->blog->settings->eventdata_tpl_cats); 592 599 593 600 if (!is_array($cats) … … 595 602 || !in_array($_ctx->categories->cat_id,$cats)) return; 596 603 597 self::serveDocument('event s.html');604 self::serveDocument('eventdatas.html'); 598 605 exit; 599 606 } 600 # Include event entrybeforecontent.html of a theme if exists607 # Include eventdataentrybeforecontent.html of a theme if exists 601 608 public static function publicEntryBeforeContent($core,$_ctx) 602 609 { 603 if ('' != self::event Tpl('evententrybeforecontent.html',true)) {604 if ('' != ($fc = $core->tpl->getData('event entrybeforecontent.html'))) {610 if ('' != self::eventdataTpl('eventdataentrybeforecontent.html',true)) { 611 if ('' != ($fc = $core->tpl->getData('eventdataentrybeforecontent.html'))) { 605 612 if (preg_match('|<body[^>]*?>(.*?)</body>|ms',$fc,$matches)) 606 613 echo $matches[1]; … … 608 615 } 609 616 } 610 # Include event entryaftercontent.html of a theme if exists617 # Include eventdataentryaftercontent.html of a theme if exists 611 618 public static function publicEntryAfterContent($core,$_ctx) 612 619 { 613 if ('' != self::event Tpl('evententryaftercontent.html',true)) {614 if ('' != ($fc = $core->tpl->getData('event entryaftercontent.html'))) {620 if ('' != self::eventdataTpl('eventdataentryaftercontent.html',true)) { 621 if ('' != ($fc = $core->tpl->getData('eventdataentryaftercontent.html'))) { 615 622 if (preg_match('|<body[^>]*?>(.*?)</body>|ms',$fc,$matches)) 616 623 echo $matches[1]; -
plugins/eventdata/_widgets.php
r986 r1005 45 45 $w->eventdatalist->setting('limit',__('Entries limit:'),10); 46 46 # Sort type 47 $w->eventdatalist->setting('sortby',__('Order by:'),'event _start','combo',array(47 $w->eventdatalist->setting('sortby',__('Order by:'),'eventdata_start','combo',array( 48 48 __('Date') => 'post_dt', 49 49 __('Title') => 'post_title', 50 __('Event start') => 'event _start',51 __('Event end') => 'event _end'));50 __('Event start') => 'eventdata_start', 51 __('Event end') => 'eventdata_end')); 52 52 # Sort order 53 53 $w->eventdatalist->setting('sort',__('Sort:'),'asc','combo',array( … … 84 84 85 85 # Plugin active 86 if (!$E->S->event _option_active) return;86 if (!$E->S->eventdata_option_active) return; 87 87 # Home only 88 88 if ($w->homeonly && $core->url->type != 'default') return; 89 $params['sql'] = ''; 89 90 # Period 90 91 $params['period'] = $w->period; 91 92 # Sort field 92 $params['order'] = ($w->sortby && in_array($w->sortby,array('post_title','post_dt','event _start','event_end'))) ?93 $params['order'] = ($w->sortby && in_array($w->sortby,array('post_title','post_dt','eventdata_start','eventdata_end'))) ? 93 94 $w->sortby.' ' : 'post_dt '; 94 95 # Sort order … … 99 100 $params['no_content'] = true; 100 101 # Event type 101 $params['event _type'] = 'event';102 $params['eventdata_type'] = 'eventdata'; 102 103 # Post type 103 104 $params['post_type'] = ''; … … 107 108 if ($w->category) { 108 109 if ($w->category == 'null') 109 $params['sql'] = ' AND p.cat_id IS NULL ';110 $params['sql'] .= ' AND P.cat_id IS NULL '; 110 111 elseif (is_numeric($w->category)) 111 112 $params['cat_id'] = (integer) $w->category; … … 114 115 # If no paricular category is selected, remove unlisted categories 115 116 } else { 116 $cats_unlisted = @unserialize($E->S->event _no_cats);117 $cats_unlisted = @unserialize($E->S->eventdata_no_cats); 117 118 if (is_array($cats_unlisted) && !empty($cats_unlisted)) { 118 $params['sql'] = '';119 119 foreach($cats_unlisted AS $k => $cat_id) { 120 $params['sql'] = " AND P.cat_id != '$cat_id'";120 $params['sql'] .= " AND P.cat_id != '$cat_id' "; 121 121 } 122 122 } … … 126 126 $params['meta_id'] = $w->tag; 127 127 # Get posts 128 $rs = $E->getPostsByEvent ($params);128 $rs = $E->getPostsByEventdata($params); 129 129 # No result 130 130 if ($rs->isEmpty()) return; 131 131 # Display 132 132 $res = 133 '<div class="event slist">'.133 '<div class="eventdataslist">'. 134 134 ($w->title ? '<h2>'.html::escapeHTML($w->title).'</h2>' : ''). 135 135 '<ul>'; 136 136 while ($rs->fetch()) { 137 137 # Format items 138 $fs = dt::dt2str($w->date_format,$rs->event _start);139 $fe = dt::dt2str($w->date_format,$rs->event _end);138 $fs = dt::dt2str($w->date_format,$rs->eventdata_start); 139 $fe = dt::dt2str($w->date_format,$rs->eventdata_end); 140 140 $fc = html::escapeHTML($rs->cat_title); 141 141 $ft = html::escapeHTML($rs->post_title); … … 174 174 175 175 # Plugin active and on post page 176 if (!$E->S->event _option_active176 if (!$E->S->eventdata_option_active 177 177 || 'post.html' != $_ctx->current_tpl 178 178 || !$_ctx->posts->post_id) return; … … 181 181 $limit = $w->limit ? abs((integer) $w->limit) : null; 182 182 # Get posts 183 $rs = $E->getEvent ('event',$limit,null,null,$_ctx->posts->post_id,null);183 $rs = $E->getEventdata('eventdata',$limit,null,null,$_ctx->posts->post_id); 184 184 # No result 185 185 if ($rs->isEmpty()) return; 186 186 # Display 187 187 $res = 188 '<div class="event slist">'.188 '<div class="eventdataslist">'. 189 189 ($w->title ? '<h2>'.html::escapeHTML($w->title).'</h2>' : ''). 190 190 '<ul>'; 191 191 while ($rs->fetch()) { 192 192 # Format items 193 $fs = dt::dt2str($w->date_format,$rs->event _start);194 $fe = dt::dt2str($w->date_format,$rs->event _end);193 $fs = dt::dt2str($w->date_format,$rs->eventdata_start); 194 $fe = dt::dt2str($w->date_format,$rs->eventdata_end); 195 195 $item = str_replace(array('%S','%E','%%'),array($fs,$fe,'%'),$w->item_format); 196 196 -
plugins/eventdata/class.eventdata.php
r986 r1005 11 11 # -- END LICENSE BLOCK ------------------------------------ 12 12 13 class eventdata Extends dcEvent 13 class eventdata Extends dcEventdata 14 14 { 15 15 protected $core; … … 18 18 19 19 protected $settings_available = array( 20 'event _option_active' => 'boolean',21 'event _option_menu' => 'boolean',22 'event _option_public' => 'boolean',23 'event _perm_pst' => 'boolean',24 'event _perm_cat' => 'boolean',25 'event _perm_tpl' => 'boolean',26 'event _perm_adm' => 'boolean',27 'event _tpl_title' => 'string',28 'event _tpl_desc' => 'string',29 'event _tpl_url' => 'string',30 'event _tpl_dis_bhv' => 'boolean',31 'event _tpl_theme' => 'string',32 'event _tpl_cats' => 'string',33 'event _no_cats' => 'string'20 'eventdata_option_active' => 'boolean', 21 'eventdata_option_menu' => 'boolean', 22 'eventdata_option_public' => 'boolean', 23 'eventdata_perm_pst' => 'boolean', 24 'eventdata_perm_cat' => 'boolean', 25 'eventdata_perm_tpl' => 'boolean', 26 'eventdata_perm_adm' => 'boolean', 27 'eventdata_tpl_title' => 'string', 28 'eventdata_tpl_desc' => 'string', 29 'eventdata_tpl_url' => 'string', 30 'eventdata_tpl_dis_bhv' => 'boolean', 31 'eventdata_tpl_theme' => 'string', 32 'eventdata_tpl_cats' => 'string', 33 'eventdata_no_cats' => 'string' 34 34 ); 35 35 protected $permissions_available = array( … … 78 78 public function checkPerm($name) 79 79 { 80 return isset($this->S->{'event _perm_'.$name}) && ($this->core->auth->check($this->permissions_available[$name][$this->S->{'event_perm_'.$name}],$this->core->blog->id)80 return isset($this->S->{'eventdata_perm_'.$name}) && ($this->core->auth->check($this->permissions_available[$name][$this->S->{'eventdata_perm_'.$name}],$this->core->blog->id) 81 81 || $this->core->auth->isSuperAdmin()) ? true : false; 82 82 } … … 102 102 'name' => $k, 103 103 'template_exists' => true, 104 'template_file' => (file_exists($dir.$v.'/event s.html') ?105 $dir.$v.'/event s.html' : ''),104 'template_file' => (file_exists($dir.$v.'/eventdatas.html') ? 105 $dir.$v.'/eventdatas.html' : ''), 106 106 'theme_exists' => false, 107 107 'theme_file' => '', … … 122 122 'template_file' => '', 123 123 'theme_exists' => true, 124 'theme_file' => (file_exists($p['root'].'/tpl/event s.html') ?125 $p['root'].'/tpl/event s.html' : ''),124 'theme_file' => (file_exists($p['root'].'/tpl/eventdatas.html') ? 125 $p['root'].'/tpl/eventdatas.html' : ''), 126 126 'selected' => $this->core->blog->settings->theme == $v ? true : false 127 127 ); -
plugins/eventdata/default-templates/eventdata-default/eventdata.css
r1001 r1005 1 * .post-event s ul li {1 * .post-eventdatas ul li { 2 2 list-style-type: none; 3 3 line-height: 16px; 4 4 padding-left: 20px; 5 5 } 6 * .post-event s h3 {6 * .post-eventdatas h3 { 7 7 border-width: 1px 0; 8 8 border-style: solid; … … 22 22 background: transparent url(eventstheme/eventsongoing.png) no-repeat 0px 2px; 23 23 } 24 .post-info-co .post-event s {24 .post-info-co .post-eventdatas { 25 25 line-height: 20px; 26 26 padding-left: 18px; 27 27 background: transparent url(eventstheme/eventsicon.png) no-repeat 0 0; 28 28 } 29 #event _nav {29 #eventdata_nav { 30 30 } 31 #event _nav li {31 #eventdata_nav li { 32 32 display: -moz-inline-box; 33 33 -moz-box-orient: vertical; … … 40 40 font-size: 1em; 41 41 } 42 #event _nav li.active a {42 #eventdata_nav li.active a { 43 43 } 44 * html #event _nav li { /* IE6 */44 * html #eventdata_nav li { /* IE6 */ 45 45 display: inline; 46 46 } 47 *+html #event _nav li { /* IE7 */47 *+html #eventdata_nav li { /* IE7 */ 48 48 display: inline; 49 49 } 50 #event _nav li a {50 #eventdata_nav li a { 51 51 } 52 #event _nav li a:hover, #nav li a:focus {52 #eventdata_nav li a:hover, #nav li a:focus { 53 53 text-decoration: none; 54 54 } -
plugins/eventdata/default-templates/eventdata-noviny/eventdata.css
r1001 r1005 1 * .post-event s {1 * .post-eventdatas { 2 2 margin: 5px; 3 3 padding: 5px; 4 4 border-bottom: 1px solid #e9dfc6; 5 5 } 6 * .post-event s h2 {6 * .post-eventdatas h2 { 7 7 font-family: Helvetica,FreeSans,Arial,"Liberation Sans","Nimbus Sans L",sans-serif; 8 8 font-size: 1.4em; … … 10 10 color: #8c6f4a; 11 11 } 12 * .post-event s li {12 * .post-eventdatas li { 13 13 } 14 14 * .scheduled { … … 27 27 background: #fff url(eventstheme/eventsongoing.png) no-repeat 0px 3px; 28 28 } 29 #event _nav {29 #eventdata_nav { 30 30 position: relative; 31 31 bottom: -10px; … … 33 33 width: 710px; 34 34 } 35 #event _nav li {35 #eventdata_nav li { 36 36 display: -moz-inline-box; 37 37 -moz-box-orient: vertical; … … 45 45 color: #8c6f4a; 46 46 } 47 #event _nav li.active a {47 #eventdata_nav li.active a { 48 48 color: #8c6f4a; 49 49 } 50 * html #event _nav li { /* IE6 */50 * html #eventdata_nav li { /* IE6 */ 51 51 display: inline; 52 52 } 53 *+html #event _nav li { /* IE7 */53 *+html #eventdata_nav li { /* IE7 */ 54 54 display: inline; 55 55 } 56 #event _nav li a {56 #eventdata_nav li a { 57 57 color: #2e6da3 58 58 } 59 #event _nav li a:hover, #nav li a:focus {59 #eventdata_nav li a:hover, #nav li a:focus { 60 60 text-decoration: none; 61 61 color: #998f76; -
plugins/eventdata/inc/lib.eventdata.install.php
r986 r1005 27 27 # Database schema 28 28 $s = new dbStruct($core->con,$core->prefix); 29 $s->event 29 $s->eventdata 30 30 ->post_id ('bigint',0,false) 31 ->event _start ('timestamp',0,false,'now()')32 ->event _end ('timestamp',0,false,'now()')33 ->event _type('varchar',64,false)34 ->primary('pk_event ','event_type','post_id','event_start','event_end')35 ->index('idx_event _post_id','btree','post_id')36 ->index('idx_event _event_type','btree','event_type')37 ->index('idx_event _event_start','btree','event_start')38 ->index('idx_event _event_end','btree','event_end')39 ->reference('fk_event _post','post_id','post','post_id','cascade','cascade');31 ->eventdata_start ('timestamp',0,false,'now()') 32 ->eventdata_end ('timestamp',0,false,'now()') 33 ->eventdata_type('varchar',64,false) 34 ->primary('pk_eventdata','eventdata_type','post_id','eventdata_start','eventdata_end') 35 ->index('idx_eventdata_post_id','btree','post_id') 36 ->index('idx_eventdata_event_type','btree','eventdata_type') 37 ->index('idx_eventdata_event_start','btree','eventdata_start') 38 ->index('idx_eventdata_event_end','btree','eventdata_end') 39 ->reference('fk_eventdata_post','post_id','post','post_id','cascade','cascade'); 40 40 # Schema installation 41 41 $si = new dbStruct($core->con,$core->prefix); … … 45 45 public static function delTable(&$core) 46 46 { 47 @$core->con->execute('TRUNCATE TABLE '.$core->con->escape($core->prefix.'event ').'');48 @$core->con->execute('DROP TABLE '.$core->con->escape($core->prefix.'event ').'');47 @$core->con->execute('TRUNCATE TABLE '.$core->con->escape($core->prefix.'eventdata').''); 48 @$core->con->execute('DROP TABLE '.$core->con->escape($core->prefix.'eventdata').''); 49 49 } 50 50 … … 53 53 # Settings options 54 54 $core->blog->settings->setNameSpace('eventdata'); 55 $core->blog->settings->put('event _option_active',false,'boolean','eventdata plugin enabled',false,true);56 $core->blog->settings->put('event _option_menu',false,'boolean','Icon place on admin menu',false,true);57 $core->blog->settings->put('event _option_public',false,'boolean','eventdata public page enabled',false,true);55 $core->blog->settings->put('eventdata_option_active',false,'boolean','eventdata plugin enabled',false,true); 56 $core->blog->settings->put('eventdata_option_menu',false,'boolean','Icon place on admin menu',false,true); 57 $core->blog->settings->put('eventdata_option_public',false,'boolean','eventdata public page enabled',false,true); 58 58 # Settings permissions 59 $core->blog->settings->put('event _perm_pst',false,'boolean','Perm to manage events on entries',false,true);60 $core->blog->settings->put('event _perm_cat',false,'boolean','Perm to manage events categories',false,true);61 $core->blog->settings->put('event _perm_tpl',false,'boolean','Perm to manage events template',false,true);62 $core->blog->settings->put('event _perm_adm',false,'boolean','Perm to manage eventdata plugin',false,true);59 $core->blog->settings->put('eventdata_perm_pst',false,'boolean','Perm to manage events on entries',false,true); 60 $core->blog->settings->put('eventdata_perm_cat',false,'boolean','Perm to manage events categories',false,true); 61 $core->blog->settings->put('eventdata_perm_tpl',false,'boolean','Perm to manage events template',false,true); 62 $core->blog->settings->put('eventdata_perm_adm',false,'boolean','Perm to manage eventdata plugin',false,true); 63 63 # Settings templates 64 $core->blog->settings->put('event _tpl_title','Events','string','Public page title',false,true);65 $core->blog->settings->put('event _tpl_desc','','string','Public page description',false,true);66 $core->blog->settings->put('event _tpl_url','events','string','Public page default name',false,true);67 $core->blog->settings->put('event _tpl_dis_bhv',false,'boolean','Disable public entry behavior',false,true);68 $core->blog->settings->put('event _tpl_theme','default','string','Public page template',false,true);69 $core->blog->settings->put('event _tpl_cats','','string','Redirected categories',false,true);70 $core->blog->settings->put('event _no_cats','','string','Unlisted categories',false,true);64 $core->blog->settings->put('eventdata_tpl_title','Events','string','Public page title',false,true); 65 $core->blog->settings->put('eventdata_tpl_desc','','string','Public page description',false,true); 66 $core->blog->settings->put('eventdata_tpl_url','events','string','Public page default name',false,true); 67 $core->blog->settings->put('eventdata_tpl_dis_bhv',false,'boolean','Disable public entry behavior',false,true); 68 $core->blog->settings->put('eventdata_tpl_theme','default','string','Public page template',false,true); 69 $core->blog->settings->put('eventdata_tpl_cats','','string','Redirected categories',false,true); 70 $core->blog->settings->put('eventdata_no_cats','','string','Unlisted categories',false,true); 71 71 } 72 72 -
plugins/eventdata/inc/lib.eventdata.list.php
r960 r1005 86 86 87 87 # Display admin posts list class 88 class eventdataEvent List extends eventdataExtList88 class eventdataEventdataList extends eventdataExtList 89 89 { 90 90 public function init() … … 132 132 133 133 $img = '<img alt="%1$s" title="%1$s" src="index.php?pf=eventdata/img/%2$s" />'; 134 if (time() < strtotime($this->rs->event _start))134 if (time() < strtotime($this->rs->eventdata_start)) 135 135 $img_period = sprintf($img,__('scheduled'),'scheduled.png'); 136 elseif (time() > strtotime($this->rs->event _end))136 elseif (time() > strtotime($this->rs->eventdata_end)) 137 137 $img_period = sprintf($img,__('finished'),'red.png'); 138 138 else … … 143 143 form::checkbox(array('entries[]'),$this->rs->post_id,'','','',!$this->rs->isEditable()) => 'class="nowrap"', 144 144 '<a href="'.$this->core->getPostAdminURL($this->rs->post_type,$this->rs->post_id).'">'.html::escapeHTML($this->rs->post_title).'</a>' => 'class="maximal"', 145 dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->event _start) => 'class="nowrap"',146 dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->event _end) => 'class="nowrap"',145 dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->eventdata_start) => 'class="nowrap"', 146 dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->eventdata_end) => 'class="nowrap"', 147 147 $img_period => 'class="nowrap"', 148 148 dt::dt2str(__('%Y-%m-%d %H:%M'),$this->rs->post_dt) => 'class="nowrap"', -
plugins/eventdata/index.php
r990 r1005 51 51 52 52 # Categories 53 $cats_reordered = @unserialize($E->S->event _tpl_cats);53 $cats_reordered = @unserialize($E->S->eventdata_tpl_cats); 54 54 if (!is_array($cats_reordered)) $cats_reordered = array(); 55 $cats_unlisted = @unserialize($E->S->event _no_cats);55 $cats_unlisted = @unserialize($E->S->eventdata_no_cats); 56 56 if (!is_array($cats_unlisted)) $cats_unlisted = array(); 57 57 … … 128 128 $sortby_combo = array( 129 129 __('Date') => 'post_dt', 130 __('Event start') => 'event _start',131 __('Event end') => 'event _end',130 __('Event start') => 'eventdata_start', 131 __('Event end') => 'eventdata_end', 132 132 __('Title') => 'post_title', 133 133 __('Category') => 'cat_title', … … 172 172 $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page); 173 173 $params['no_content'] = true; 174 $params['event _type'] = 'event';174 $params['eventdata_type'] = 'eventdata'; 175 175 $params['post_type'] = ''; 176 176 … … 217 217 # Default menu 218 218 $request_tab = isset($_REQUEST['t']) ? $_REQUEST['t'] : ''; 219 if (!$E->S->event _option_active && empty($request_tab)) $request_tab = 'adm';220 if ($E->S->event _option_active && empty($request_tab)) $request_tab = 'pst';219 if (!$E->S->eventdata_option_active && empty($request_tab)) $request_tab = 'adm'; 220 if ($E->S->eventdata_option_active && empty($request_tab)) $request_tab = 'pst'; 221 221 if (!array_key_exists($request_tab,$tab)) $request_tab = 'about'; 222 222 … … 240 240 # Event entries list 241 241 try { 242 $posts = $E->getPostsByEvent ($params);243 $counter = $E->getPostsByEvent ($params,true);244 $post_list = new eventdataEvent List($core,$posts,$counter->f(0));242 $posts = $E->getPostsByEventdata($params); 243 $counter = $E->getPostsByEventdata($params,true); 244 $post_list = new eventdataEventdataList($core,$posts,$counter->f(0)); 245 245 246 246 } catch (Exception $e) { … … 320 320 321 321 $s = array( 322 'event _tpl_cats'=>serialize(array_unique($cats_reordered)),323 'event _no_cats'=>serialize(array_unique($cats_unlisted)),322 'eventdata_tpl_cats'=>serialize(array_unique($cats_reordered)), 323 'eventdata_no_cats'=>serialize(array_unique($cats_unlisted)), 324 324 ); 325 325 … … 395 395 } 396 396 397 $default_tpl = in_array($E->S->event _tpl_theme,$combo_templates) ? $E->S->event_tpl_theme : '';397 $default_tpl = in_array($E->S->eventdata_tpl_theme,$combo_templates) ? $E->S->eventdata_tpl_theme : ''; 398 398 399 399 echo ' 400 400 <div class="multi-part" id="tpl" title="'.$tab['tpl'].'"> 401 401 <p>'.__('This is the management of the public page').'</p> 402 '.(!$E->S->event _option_public ? '<p class="error">'.__('Public page is disable').'</p>' : '').'402 '.(!$E->S->eventdata_option_public ? '<p class="error">'.__('Public page is disable').'</p>' : '').' 403 403 <form method="post" action="'.$E->url.'"> 404 404 <h2>'.__('Description').'</h2> 405 405 <p class="col"><label class=" classic">'. 406 406 __('Title').'<br />'. 407 form::field('s[event _tpl_title]', 20,255,html::escapeHTML($E->S->event_tpl_title),'maximal').'407 form::field('s[eventdata_tpl_title]', 20,255,html::escapeHTML($E->S->eventdata_tpl_title),'maximal').' 408 408 </label></p> 409 409 <p class="area"><label class=" classic">'. 410 410 __('Description').'<br />'. 411 form::textArea('s[event _tpl_desc]', 50,5,html::escapeHTML($E->S->event_tpl_desc)).'411 form::textArea('s[eventdata_tpl_desc]', 50,5,html::escapeHTML($E->S->eventdata_tpl_desc)).' 412 412 </label></p> 413 413 <h2>'.__('Theme').'</h2> … … 417 417 <li>'.__('Template on current theme exists:').' <strong>'.($default_xst ? __('Yes') : __('No')).'</strong></li> 418 418 <li>'.__('Alternate template:').' <strong>'.$default_tpl.'</strong></li> 419 <li>'.__('Public URL:').' <a href="'.$core->blog->url.$E->S->event _tpl_url.'">'.$core->blog->url.$E->S->event_tpl_url.'</a></li>419 <li>'.__('Public URL:').' <a href="'.$core->blog->url.$E->S->eventdata_tpl_url.'">'.$core->blog->url.$E->S->eventdata_tpl_url.'</a></li> 420 420 </ul></p> 421 421 <p><label class=" classic">'. 422 422 __('URL prefix:').'<br />'. 423 form::field('s[event _tpl_url]', 20,32,html::escapeHTML($E->S->event_tpl_url)).'423 form::field('s[eventdata_tpl_url]', 20,32,html::escapeHTML($E->S->eventdata_tpl_url)).' 424 424 </label></p> 425 425 <p><label class=" classic">'. 426 426 __('Choose predefined page template in case where theme of blog does not have it').'<br />'. 427 form::combo('s[event _tpl_theme]',$combo_templates,$default_tpl).'427 form::combo('s[eventdata_tpl_theme]',$combo_templates,$default_tpl).' 428 428 </label></p> 429 429 <p><label class=" classic">'. 430 430 __('Disable list of dates of event on an entry').'<br />'. 431 form::combo('s[event _tpl_dis_bhv]',array(__('No')=>'0',__('Yes')=>'1'),$E->S->event_tpl_dis_bhv).'431 form::combo('s[eventdata_tpl_dis_bhv]',array(__('No')=>'0',__('Yes')=>'1'),$E->S->eventdata_tpl_dis_bhv).' 432 432 </label></p>'. 433 433 form::hidden('p','eventdata'). … … 466 466 <table class="clear"><tr class="line"> 467 467 <th class="nowrap">'.__('Enable plugin').'</th> 468 <td class="nowrap"><label class=" classic">'.form::radio('s[event _option_active]',0, !$E->S->event_option_active).' '.__('No').'</label></td>469 <td class="nowrap"><label class=" classic">'.form::radio('s[event _option_active]',1, $E->S->event_option_active).' '.__('Yes').'</label></td>468 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_option_active]',0, !$E->S->eventdata_option_active).' '.__('No').'</label></td> 469 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_option_active]',1, $E->S->eventdata_option_active).' '.__('Yes').'</label></td> 470 470 </tr><tr class="line"> 471 471 <th class="nowrap">'.__('Plugin icon in Blog menu').'</th> 472 <td class="nowrap"><label class=" classic">'.form::radio('s[event _option_menu]',0, !$E->S->event_option_menu).' '.__('No').'</label></td>473 <td class="nowrap"><label class=" classic">'.form::radio('s[event _option_menu]',1, $E->S->event_option_menu).' '.__('Yes').'</label></td>472 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_option_menu]',0, !$E->S->eventdata_option_menu).' '.__('No').'</label></td> 473 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_option_menu]',1, $E->S->eventdata_option_menu).' '.__('Yes').'</label></td> 474 474 </tr><tr class="line"> 475 475 <th class="nowrap">'.__('Enable public page').'</th> 476 <td class="nowrap"><label class=" classic">'.form::radio('s[event _option_public]',0, !$E->S->event_option_public).' '.__('No').'</label></td>477 <td class="nowrap"><label class=" classic">'.form::radio('s[event _option_public]',1, $E->S->event_option_public).' '.__('Yes').'</label></td476 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_option_public]',0, !$E->S->eventdata_option_public).' '.__('No').'</label></td> 477 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_option_public]',1, $E->S->eventdata_option_public).' '.__('Yes').'</label></td 478 478 </tr></table></p> 479 479 <h2>'.__('Permissions').'</h2> … … 481 481 <table class="clear"><tr class="line"> 482 482 <th class="nowrap">'.__('Manage events dates on entries').'</th> 483 <td class="nowrap"><label class=" classic">'.form::radio('s[event _perm_pst]',0,!$E->S->event_perm_pst).' '.__('admin').'</label></td>484 <td class="nowrap"><label class=" classic">'.form::radio('s[event _perm_pst]',1,$E->S->event_perm_pst).' '.__('admin,usage,contentadmin,eventdata').'</label></td>483 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_perm_pst]',0,!$E->S->eventdata_perm_pst).' '.__('admin').'</label></td> 484 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_perm_pst]',1,$E->S->eventdata_perm_pst).' '.__('admin,usage,contentadmin,eventdata').'</label></td> 485 485 </tr><tr class="line"> 486 486 <th class="nowrap">'.__('Manage list of reordered categories').'</th> 487 <td class="nowrap"><label class=" classic">'.form::radio('s[event _perm_cat]',0,!$E->S->event_perm_cat).' '.__('admin').'</label></td>488 <td class="nowrap"><label class=" classic">'.form::radio('s[event _perm_cat]',1,$E->S->event_perm_cat).' '.__('admin,categories,eventdata').'</label></td>487 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_perm_cat]',0,!$E->S->eventdata_perm_cat).' '.__('admin').'</label></td> 488 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_perm_cat]',1,$E->S->eventdata_perm_cat).' '.__('admin,categories,eventdata').'</label></td> 489 489 </tr><tr class="line"> 490 490 <th class="nowrap">'.__('Manage public page').'</th> 491 <td class="nowrap"><label class=" classic">'.form::radio('s[event _perm_tpl]',0,!$E->S->event_perm_tpl).' '.__('admin').'</label></td>492 <td class="nowrap"><label class=" classic">'.form::radio('s[event _perm_tpl]',1,$E->S->event_perm_tpl).' '.__('admin,eventdata').'</label></td>491 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_perm_tpl]',0,!$E->S->eventdata_perm_tpl).' '.__('admin').'</label></td> 492 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_perm_tpl]',1,$E->S->eventdata_perm_tpl).' '.__('admin,eventdata').'</label></td> 493 493 </tr><tr class="line"> 494 494 <th class="nowrap">'.__('Manage plugin').'</th> 495 <td class="nowrap"><label class=" classic">'.form::radio('s[event _perm_adm]',0,!$E->S->event_perm_adm).' '.__('admin').'</label></td>496 <td class="nowrap"><label class=" classic">'.form::radio('s[event _perm_adm]',1,$E->S->event_perm_adm).' '.__('admin,eventdata').'</label></td>495 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_perm_adm]',0,!$E->S->eventdata_perm_adm).' '.__('admin').'</label></td> 496 <td class="nowrap"><label class=" classic">'.form::radio('s[eventdata_perm_adm]',1,$E->S->eventdata_perm_adm).' '.__('admin,eventdata').'</label></td> 497 497 </tr></table></p> 498 498 <p>'. -
plugins/eventdata/js/post.js
r997 r1005 13 13 $(function() { 14 14 15 var start_dtPick = new datePickerB($('.event -date-start').get(0));15 var start_dtPick = new datePickerB($('.eventdata-date-start').get(0)); 16 16 start_dtPick.img_top = '1.5em'; 17 17 start_dtPick.draw(); 18 18 19 var end_dtPick = new datePickerC($('.event -date-end').get(0));19 var end_dtPick = new datePickerC($('.eventdata-date-end').get(0)); 20 20 end_dtPick.img_top = '1.5em'; 21 21 end_dtPick.draw(); -
plugins/eventdata/style.css
r960 r1005 11 11 # -- END LICENSE BLOCK ------------------------------------ 12 12 */ 13 .event s-list {13 .eventdatas-list { 14 14 background : #f9f9f9; 15 15 border-width : 1px; … … 20 20 padding: 1px; 21 21 } 22 .event s-list .green {22 .eventdatas-list .green { 23 23 color: Green; 24 24 } 25 .event s-list .red {25 .eventdatas-list .red { 26 26 color: Red; 27 27 } 28 .event s-list .action {28 .eventdatas-list .action { 29 29 float:right; 30 30 margin: 1px;
Note: See TracChangeset
for help on using the changeset viewer.