Dotclear

Changeset 2088


Ignore:
Timestamp:
02/22/10 21:19:03 (13 years ago)
Author:
JcDenis
Message:

eventdata 0.9:

  • Fixed bug of first day on widget
  • Fixed bug of one day event on widget
  • Added Next/Previous? in calendar widget
Location:
plugins/eventdata
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • plugins/eventdata/_admin.php

    r1977 r2088  
    33# This file is part of eventdata, a plugin for Dotclear 2. 
    44#  
    5 # Copyright (c) 2009 JC Denis and contributors 
     5# Copyright (c) 2009-2010 JC Denis and contributors 
    66# jcdenis@gdwd.com 
    77#  
  • plugins/eventdata/_define.php

    r1977 r2088  
    33# This file is part of eventdata, a plugin for Dotclear 2. 
    44#  
    5 # Copyright (c) 2009 JC Denis and contributors 
     5# Copyright (c) 2009-2010 JC Denis and contributors 
    66# jcdenis@gdwd.com 
    77#  
     
    1717     /* Description*/         "Add period to your posts", 
    1818     /* Author */             "JC Denis", 
    19      /* Version */            '0.8', 
     19     /* Version */            '0.9', 
    2020     /* Permissions */        'usage,contentadmin,eventdata' 
    2121); 
    22      /* date */          #20091212 
     22     /* date */          #20100222 
    2323?> 
  • plugins/eventdata/_install.php

    r1977 r2088  
    33# This file is part of eventdata, a plugin for Dotclear 2. 
    44#  
    5 # Copyright (c) 2009 JC Denis and contributors 
     5# Copyright (c) 2009-2010 JC Denis and contributors 
    66# jcdenis@gdwd.com 
    77#  
     
    4545     $si = new dbStruct($core->con,$core->prefix); 
    4646     $changes = $si->synchronize($s); 
    47  
    4847     # Settings options 
    49      $core->blog->settings->setNameSpace('eventdata'); 
    50      $core->blog->settings->put('eventdata_active', 
     48     $s = $core->blog->settings; 
     49     $s->setNameSpace('eventdata'); 
     50     $s->put('eventdata_active', 
    5151          false,'boolean','eventdata plugin enabled',false,true); 
    52      $core->blog->settings->put('eventdata_blog_menu', 
     52     $s->put('eventdata_blog_menu', 
    5353          false,'boolean','eventdata icon on blog menu',false,true); 
    54      $core->blog->settings->put('eventdata_public_active', 
     54     $s->put('eventdata_public_active', 
    5555          false,'boolean','eventdata public page enabled',false,true); 
    56      $core->blog->settings->put('eventdata_importexport_active', 
     56     $s->put('eventdata_importexport_active', 
    5757          true,'boolean','Enabled import/export behaviors',false,true); 
    5858     # Settings templates 
    59      $core->blog->settings->put('eventdata_tpl_title', 
     59     $s->put('eventdata_tpl_title', 
    6060          'Events','string','Public page title',false,true); 
    61      $core->blog->settings->put('eventdata_tpl_desc', 
     61     $s->put('eventdata_tpl_desc', 
    6262          '','string','Public page description',false,true); 
    63      $core->blog->settings->put('eventdata_tpl_dis_bhv', 
     63     $s->put('eventdata_tpl_dis_bhv', 
    6464          false,'boolean','Disable public entry behavior',false,true); 
    65      $core->blog->settings->put('eventdata_tpl_theme', 
     65     $s->put('eventdata_tpl_theme', 
    6666          'default','string','Public page template',false,true); 
    67      $core->blog->settings->put('eventdata_tpl_cats', 
     67     $s->put('eventdata_tpl_cats', 
    6868          '','string','Redirected categories',false,true); 
    69      $core->blog->settings->put('eventdata_no_cats', 
     69     $s->put('eventdata_no_cats', 
    7070          '','string','Unlisted categories',false,true); 
    71  
     71     $s->setNameSpace('system'); 
    7272     # Set version 
    73      $core->setVersion('eventdata',$core->plugins->moduleInfo('eventdata','version')); 
     73     $core->setVersion('eventdata',$new_version); 
    7474     return true; 
    7575} 
  • plugins/eventdata/_prepend.php

    r1977 r2088  
    33# This file is part of eventdata, a plugin for Dotclear 2. 
    44#  
    5 # Copyright (c) 2009 JC Denis and contributors 
     5# Copyright (c) 2009-2010 JC Denis and contributors 
    66# jcdenis@gdwd.com 
    77#  
     
    3434     'eventstheme','^eventstheme/(.+)$',array('eventdataPublic','eventdatastheme')); 
    3535# Add eventdata report on plugin activityReport 
    36 if (defined('ACTIVITY_REPORT')) 
    37 { 
     36if (defined('ACTIVITY_REPORT')) { 
    3837     require_once dirname(__FILE__).'/inc/lib.rateit.activityreport.php'; 
    3938} 
  • plugins/eventdata/_public.php

    r1977 r2088  
    33# This file is part of eventdata, a plugin for Dotclear 2. 
    44#  
    5 # Copyright (c) 2009 JC Denis and contributors 
     5# Copyright (c) 2009-2010 JC Denis and contributors 
    66# jcdenis@gdwd.com 
    77#  
     
    627627 
    628628               # Period 
    629                if (preg_match('%(^|/)(started|notstarted|scheduled|ongoing|outgoing|finished|notfinished|all)(.*?)$%',$args,$m)) { 
     629               if (preg_match('%(^|/)(started|notstarted|scheduled|ongoing|outgoing|finished|notfinished|all)(/|^)(.*?)$%',$args,$m)) { 
    630630                    $post_params['period'] = $m[2]; 
    631631                
    632                     if ('' != $m[3]) { 
    633                          $exp = explode('/',$m[3]); 
    634  
    635                          if (isset($exp[1]) && preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$/',urldecode($exp[1]))) 
    636                               $post_params['eventdata_start'] = urldecode($exp[1]); 
    637  
    638                          if (isset($exp[2]) && preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$/',urldecode($exp[2]))) 
    639                               $post_params['eventdata_end'] = urldecode($exp[2]); 
     632                    if (strlen($m[4]) > 1) { 
     633                         $exp = explode('/',$m[4]); 
     634 
     635                         if (isset($exp[0]) && preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$/',urldecode($exp[0]),$m)) 
     636                              $post_params['eventdata_start'] = urldecode($exp[0]); 
     637 
     638                         if (isset($exp[1]) && preg_match('/^([0-9]{4})-([0-9]{2})-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$/',urldecode($exp[1]),$m)) { 
     639                              $post_params['eventdata_end'] = urldecode($exp[1]); 
     640                              $_ctx->evdt = array('year'=>$m[1],'month'=>$m[2]); 
     641                         } 
    640642                    } 
    641643                
  • plugins/eventdata/_uninstall.php

    r1977 r2088  
    33# This file is part of eventdata, a plugin for Dotclear 2. 
    44#  
    5 # Copyright (c) 2009 JC Denis and contributors 
     5# Copyright (c) 2009-2010 JC Denis and contributors 
    66# jcdenis@gdwd.com 
    77#  
     
    1919     /* description */ __('delete all settings') 
    2020); 
    21  
    2221$this->addUserAction( 
    2322     /* type */ 'tables', 
     
    2625     /* description */ __('delete table') 
    2726); 
    28  
    2927$this->addUserAction( 
    3028     /* type */ 'plugins', 
     
    3331     /* description */ __('delete plugin files') 
    3432); 
    35  
    3633$this->addUserAction( 
    3734     /* type */ 'versions', 
     
    4138); 
    4239 
    43  
    44 # Keep table on delete from pluginsBeforeDelete 
    45  
    4640$this->addDirectAction( 
    4741     /* type */ 'settings', 
     
    5044     /* description */ sprintf(__('delete all %s settings'),'eventdata') 
    5145); 
    52  
     46$this->addDirectAction( 
     47     /* type */ 'tables', 
     48     /* action */ 'delete', 
     49     /* ns */ 'eventdata', 
     50     /* description */ sprintf(__('delete %s table'),'eventdata') 
     51); 
    5352$this->addDirectAction( 
    5453     /* type */ 'plugins', 
     
    5756     /* description */ sprintf(__('delete %s plugin files'),'eventdata') 
    5857); 
    59  
    6058$this->addDirectAction( 
    6159     /* type */ 'versions', 
     
    6462     /* description */ sprintf(__('delete %s version number'),'eventdata') 
    6563); 
    66  
    6764?> 
  • plugins/eventdata/_widgets.php

    r1977 r2088  
    33# This file is part of eventdata, a plugin for Dotclear 2. 
    44#  
    5 # Copyright (c) 2009 JC Denis and contributors 
     5# Copyright (c) 2009-2010 JC Denis and contributors 
    66# jcdenis@gdwd.com 
    77#  
     
    140140               __('Title:'), 
    141141               __('Events calendar'),'text'); 
     142          $w->eventdatacalendar->setting('weekstart', 
     143               __('First day of week:'),'0','combo', 
     144               array(__('Sunday')=>0,__('Monday')=>1)); 
    142145          # Home only 
    143146          $w->eventdatacalendar->setting('homeonly', 
     
    210213               $end_day = dt::dt2str('%Y%m%d',$rs->eventdata_end); 
    211214 
    212                $over_format = ($start_day == $end_day && $w->over_day_format) ? 
     215               $over_format = ($start_day == $end_day && $w->over_day_format != '') ? 
    213216                         $w->over_day_format : $w->over_format; 
    214217 
    215                $item_format = ($start_day == $end_day && $w->item_day_format) ? 
     218               $item_format = ($start_day == $end_day && $w->item_day_format != '') ? 
    216219                         $w->item_day_format : $w->item_format; 
    217220 
     
    273276               $end_day = dt::dt2str('%Y%m%d',$rs->eventdata_end); 
    274277 
    275                $item_format = ($start_day == $end_day && $w->item_day_format) ? 
     278               $item_format = ($start_day == $end_day && $w->item_day_format != '') ? 
    276279                         $w->item_day_format : $w->item_format; 
    277280 
     
    302305     public static function calendar($w) 
    303306     { 
    304           global $core; 
     307          global $core, $_ctx; 
     308 
     309          $weekstart = $w->weekstart == 1 ? 1 : 0; 
     310 
     311          $year = $_ctx->exists('evdt') ? $_ctx->evdt['year'] : null; 
     312          $month = $_ctx->exists('evdt') ? $_ctx->evdt['month'] : null; 
    305313 
    306314          # Generic calendar Object 
    307           $res = eventdata::arrayCalendar($core); 
     315          $res = eventdata::arrayCalendar($core,$year,$month,$weekstart); 
    308316 
    309317          return  
  • plugins/eventdata/inc/class.dc.eventdata.php

    r1977 r2088  
    33# This file is part of eventdata, a plugin for Dotclear 2. 
    44#  
    5 # Copyright (c) 2009 JC Denis and contributors 
     5# Copyright (c) 2009-2010 JC Denis and contributors 
    66# jcdenis@gdwd.com 
    77#  
     
    2222     { 
    2323          $this->core =& $core; 
    24           $this->con =& $this->core->con; 
     24          $this->con = $this->core->con; 
    2525          $this->table = $this->core->prefix.'eventdata'; 
    2626     } 
     
    195195     public function countEventOfDay($y,$m,$d) 
    196196     { 
    197           $ts_start = sprintf('%4d-%02d-%02d 00:00:00',$y,$m,$d); 
    198           $ts_end = sprintf('%4d-%02d-%02d 23:59:59',$y,$m,$d); 
     197          $ts_start = date('Y-m-d H:i:s',mktime(0,0,0,$m,$d+1,$y)); 
     198          $ts_end = date('Y-m-d H:i:s',mktime(0,0,0,$m,$d,$y)); 
    199199 
    200200          $rs = $this->getEventdata('eventdata',null,$ts_start,$ts_end,null,'ongoing'); 
  • plugins/eventdata/inc/class.dc.eventdata.rest.php

    r1977 r2088  
    33# This file is part of eventdata, a plugin for Dotclear 2. 
    44#  
    5 # Copyright (c) 2009 JC Denis and contributors 
     5# Copyright (c) 2009-2010 JC Denis and contributors 
    66# jcdenis@gdwd.com 
    77#  
  • plugins/eventdata/inc/class.eventdata.php

    r1977 r2088  
    33# This file is part of eventdata, a plugin for Dotclear 2. 
    44#  
    5 # Copyright (c) 2009 JC Denis and contributors 
     5# Copyright (c) 2009-2010 JC Denis and contributors 
    66# jcdenis@gdwd.com 
    77#  
     
    125125 
    126126          # ts 
    127           $ts = strtotime(date('Y-m-01 00:00:00',strtotime($year.'-'.$month.'-01 00:00:00'))); 
    128  
    129           $prev_ts = strtotime(date('Y-m-01 00:00:00',strtotime($year.'-'.($month - 1).'-01 00:00:00'))); 
    130           $next_ts = strtotime(date('Y-m-01 00:00:00',strtotime($year.'-'.($month + 1).'-01 00:00:00'))); 
     127          $dt = date('Y-m-01 00:00:00',mktime(0,0,0,$month,1,$year)); 
     128          $ts = strtotime($dt); 
     129          $prev_dt = date('Y-m-01 00:00:00',mktime(0,0,0,$month - 1,1,$year)); 
     130          $prev_ts = strtotime($prev_dt); 
     131          $next_dt = date('Y-m-01 00:00:00',mktime(0,0,0,$month + 1,1,$year)); 
     132          $nurl_dt = date('Y-m-01 00:00:00',mktime(0,0,0,$month + 2,1,$year)); 
     133          $next_ts = strtotime($next_dt); 
    131134 
    132135          $res->year = $year; 
     
    136139          # caption 
    137140          $res->caption = array( 
     141               'prev_url' => urlencode($dt).'/'.urlencode($prev_dt), 
    138142               'prev_txt' => dt::str('%B %Y',$prev_ts), 
    139143               'current' => dt::str('%B %Y',$ts), 
    140                'prev_txt' => dt::str('%B %Y',$next_ts) 
     144               'next_url' => urlencode($nurl_dt).'/'.urlencode($next_dt), 
     145               'next_txt' => dt::str('%B %Y',$next_ts) 
    141146          ); 
    142147 
     
    190195          # Caption 
    191196          if ($rs->caption) { 
     197               $base = $core->blog->url.$core->url->getBase('eventdatapage').'/ongoing/'; 
     198 
    192199               $res .= " <caption>\n"; 
    193200               if (!empty($rs->caption['prev_url'])) 
    194                     $res .= "  <a href=\"".$rs->caption['prev_url']."\">".$rs->caption['prev_txt']."</a>&nbsp;\n"; 
     201                    $res .= "  <a href=\"".$base.$rs->caption['prev_url']."\" title=\"".$rs->caption['prev_txt']."\">&#171;</a> \n"; 
    195202 
    196203               $res .= "  ".$rs->caption['current']."\n"; 
    197204 
    198205               if (!empty($rs->caption['next_url'])) 
    199                     $res .= "  <a href=\"".$rs->caption['next_url']."\">".$rs->caption['next_txt']."</a>&nbsp;\n"; 
     206                    $res .= "  <a href=\"".$base.$rs->caption['next_url']."\" title=\"".$rs->caption['next_txt']."\">&#187;</a> \n"; 
    200207 
    201208               $res .= " </caption>\n"; 
     
    215222               $res .= " <tbody>\n"; 
    216223 
    217                foreach($rs->rows as $r => $fields) { 
     224               foreach($rs->rows as $r => $days) { 
    218225                    $res .= "  <tr>\n"; 
    219                     foreach($fields as $f => $field) { 
    220                          if (' ' != $field) { 
    221                               $count = $eventdata->countEventOfDay($rs->year,$rs->month,$field); 
     226                    foreach($days as $f => $day) { 
     227                         if (' ' != $day) { 
     228                              $count = $eventdata->countEventOfDay($rs->year,$rs->month,$day); 
    222229 
    223230                              if ($count != 0) { 
    224                                    $field =  
     231                                   $day =  
    225232                                   '<a href="'. 
    226233                                   $core->blog->url.$core->url->getBase('eventdatapage').'/ongoing/'. 
    227                                    urlencode(sprintf('%4d-%02d-%02d 00:00:00',$rs->year,$rs->month,$field)).'/'. 
    228                                    urlencode(sprintf('%4d-%02d-%02d 00:00:00',$rs->year,$rs->month,$field)). 
     234                                   urlencode(date('Y-m-d H:i:s',mktime(0,0,0,$rs->month,$day+1,$rs->year))).'/'. 
     235                                   urlencode(date('Y-m-d H:i:s',mktime(0,0,0,$rs->month,$day,$rs->year))). 
    229236                                   '" title="'. 
    230237                                   ($count == 1 ? __('one event') : sprintf(__('%s events'),$count)). 
    231                                    '">'.$field.'</a>'; 
     238                                   '">'.$day.'</a>'; 
    232239                              } 
    233240                         } 
    234                          $res .= "   <td".(2 < strlen($field) ? ' class="eventsday"' : '').">".$field."</td>\n"; 
     241                         $res .= "   <td".(2 < strlen($day) ? ' class="eventsday"' : '').">".$day."</td>\n"; 
    235242                    } 
    236243                    $res .= "  </tr>\n"; 
  • plugins/eventdata/inc/lib.eventdata.list.php

    r1977 r2088  
    33# This file is part of eventdata, a plugin for Dotclear 2. 
    44#  
    5 # Copyright (c) 2009 JC Denis and contributors 
     5# Copyright (c) 2009-2010 JC Denis and contributors 
    66# jcdenis@gdwd.com 
    77#  
  • plugins/eventdata/inc/lib.rateit.activityreport.php

    r1977 r2088  
    33# This file is part of eventdata, a plugin for Dotclear 2. 
    44#  
    5 # Copyright (c) 2009 JC Denis and contributors 
     5# Copyright (c) 2009-2010 JC Denis and contributors 
    66# jcdenis@gdwd.com 
    77#  
     
    5757               $cur->post_id 
    5858          ); 
    59  
    6059          $GLOBALS['core']->activityReport->addLog('eventdata','set',$logs); 
    6160     } 
     
    6564               $post_id 
    6665          ); 
    67  
    6866          $GLOBALS['core']->activityReport->addLog('eventdata','delete',$logs); 
    6967     } 
    70      public static function eventdataupdate($type,$post_id,$start,$end,$location,$new_start,$new_end,$new_location) 
     68     public static function eventdataUpdate($type,$post_id,$start,$end,$location,$new_start,$new_end,$new_location) 
    7169     { 
    7270          $logs = array( 
     
    7674               $location 
    7775          ); 
    78  
    7976          $GLOBALS['core']->activityReport->addLog('eventdata','update',$logs); 
    8077     } 
  • plugins/eventdata/index.php

    r1977 r2088  
    33# This file is part of eventdata, a plugin for Dotclear 2. 
    44#  
    5 # Copyright (c) 2009 JC Denis and contributors 
     5# Copyright (c) 2009-2010 JC Denis and contributors 
    66# jcdenis@gdwd.com 
    77#  
  • plugins/eventdata/js/admin.js

    r1977 r2088  
    22 * This file is part of eventdata, a plugin for Dotclear 2. 
    33 *  
    4  * Copyright (c) 2009 JC Denis and contributors 
     4 * Copyright (c) 2009-2010 JC Denis and contributors 
    55 * jcdenis@gdwd.com 
    66 *  
  • plugins/eventdata/js/post.js

    r1977 r2088  
    22 * This file is part of eventdata, a plugin for Dotclear 2. 
    33 *  
    4  * Copyright (c) 2009 JC Denis and contributors 
     4 * Copyright (c) 2009-2010 JC Denis and contributors 
    55 * jcdenis@gdwd.com 
    66 *  
  • plugins/eventdata/locales/fr/main.lang.php

    r1977 r2088  
    11<?php 
    22// Language: français  
    3 // Module: eventdata - 0.8 
    4 // Date: 2009-12-12 20:52:27  
     3// Module: eventdata - 0.9 
     4// Date: 2010-02-22 20:05:51  
    55// Translated with dcTranslater - 1.3  
    66 
     
    189189$GLOBALS['__l10n']['Events calendar'] = 'Calendrier des événements'; 
    190190 
     191#_widgets.php:143 
     192$GLOBALS['__l10n']['First day of week:'] = 'Premier jour de la semaine :'; 
     193 
    191194#default-templates/eventdata-default/eventdataentryaftercontent.html:7 
    192195#default-templates/eventdata-noviny/eventdataentrybeforecontent.html:7 
     
    203206$GLOBALS['__l10n']['to'] = 'à'; 
    204207 
     208#default-templates/eventdata-noviny/eventdatas.html:71 
     209$GLOBALS['__l10n']['This event\'s entries Rss feed'] = 'Flux des événements des billets'; 
     210 
     211#default-templates/eventdata-noviny/eventdatas.html:71 
     212$GLOBALS['__l10n']['This event\'s entries feed'] = 'Flux des événements des billets'; 
     213 
    205214#default-templates/eventdata-noviny/eventdatas.html:85 
    206215$GLOBALS['__l10n']['Comments:'] = 'Commentaires :'; 
     
    227236$GLOBALS['__l10n']['instantaneous'] = 'instantané'; 
    228237 
    229 #inc/class.eventdata.php:188 
     238#inc/class.eventdata.php:193 
    230239$GLOBALS['__l10n']['Calendar'] = 'Calendrier'; 
    231240 
    232 #inc/class.eventdata.php:230 
     241#inc/class.eventdata.php:237 
    233242$GLOBALS['__l10n']['one event'] = 'Un événement'; 
    234243 
    235 #inc/class.eventdata.php:230 
     244#inc/class.eventdata.php:237 
    236245$GLOBALS['__l10n']['%s events'] = '% événements'; 
    237246 
  • plugins/eventdata/locales/fr/main.po

    r1977 r2088  
    11# Language: français 
    2 # Module: eventdata - 0.8 
    3 # Date: 2009-12-12 20:52:27 
     2# Module: eventdata - 0.9 
     3# Date: 2010-02-22 20:05:51 
    44# Translated with translater 1.3 
    55 
     
    77msgstr "" 
    88"Content-Type: text/plain; charset=UTF-8\n" 
    9 "Project-Id-Version: eventdata 0.8\n" 
     9"Project-Id-Version: eventdata 0.9\n" 
    1010"POT-Creation-Date: \n" 
    11 "PO-Revision-Date: 2009-12-12T20:52:27+00:00\n" 
     11"PO-Revision-Date: 2010-02-22T20:05:51+00:00\n" 
    1212"Last-Translator: JC Denis\n" 
    1313"Language-Team: \n" 
     
    246246msgstr "Calendrier des événements" 
    247247 
     248#: _widgets.php:143 
     249msgid "First day of week:" 
     250msgstr "Premier jour de la semaine :" 
     251 
    248252#: default-templates/eventdata-default/eventdataentryaftercontent.html:7 
    249253#: default-templates/eventdata-noviny/eventdataentrybeforecontent.html:7 
     
    263267msgstr "à" 
    264268 
     269#: default-templates/eventdata-noviny/eventdatas.html:71 
     270msgid "This event's entries Rss feed" 
     271msgstr "Flux des événements des billets" 
     272 
     273#: default-templates/eventdata-noviny/eventdatas.html:71 
     274msgid "This event's entries feed" 
     275msgstr "Flux des événements des billets" 
     276 
    265277#: default-templates/eventdata-noviny/eventdatas.html:85 
    266278msgid "Comments:" 
     
    295307msgstr "instantané" 
    296308 
    297 #: inc/class.eventdata.php:188 
     309#: inc/class.eventdata.php:193 
    298310msgid "Calendar" 
    299311msgstr "Calendrier" 
    300312 
    301 #: inc/class.eventdata.php:230 
     313#: inc/class.eventdata.php:237 
    302314msgid "one event" 
    303315msgstr "Un événement" 
    304316 
    305 #: inc/class.eventdata.php:230 
     317#: inc/class.eventdata.php:237 
    306318msgid "%s events" 
    307319msgstr "% événements" 
  • plugins/eventdata/release.txt

    r1977 r2088  
    11x.x.x xxxxxxxx 
    22 - Not added rate for event (plugin rateIt) 
    3  - Missing Next/Previous in calendar widget 
     3 
     40.9 20100222 
     5 - Fixed bug of first day on widget 
     6 - Fixed bug of one day event on widget 
     7 - Added Next/Previous in calendar widget 
    48 
    590.8 20091212 
Note: See TracChangeset for help on using the changeset viewer.

Sites map