phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] calendar/inc class.boicalendar.inc.php


From: Dave Hall
Subject: [Phpgroupware-cvs] calendar/inc class.boicalendar.inc.php
Date: Sat, 07 Jan 2006 15:44:15 +0000

CVSROOT:        /cvsroot/phpgroupware
Module name:    calendar
Branch:         
Changes by:     Dave Hall <address@hidden>      06/01/07 15:44:15

Modified files:
        inc            : class.boicalendar.inc.php 

Log message:
        fix bad merge

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/calendar/inc/class.boicalendar.inc.php.diff?tr1=1.32&tr2=1.33&r1=text&r2=text

Patches:
Index: calendar/inc/class.boicalendar.inc.php
diff -u calendar/inc/class.boicalendar.inc.php:1.32 
calendar/inc/class.boicalendar.inc.php:1.33
--- calendar/inc/class.boicalendar.inc.php:1.32 Sat Jan  7 11:14:56 2006
+++ calendar/inc/class.boicalendar.inc.php      Sat Jan  7 15:44:15 2006
@@ -10,7 +10,7 @@
  *  option) any later version.                                              *
  \**************************************************************************/
 
-/* $Id: class.boicalendar.inc.php,v 1.32 2006/01/07 11:14:56 skwashd Exp $ */
+/* $Id: class.boicalendar.inc.php,v 1.33 2006/01/07 15:44:15 skwashd Exp $ */
 
 define('FOLD_LENGTH',75);
 
@@ -107,1369 +107,1491 @@
        function boicalendar()
        {
                $this->property = array
-                       (
-                        'action'       => array
-                        (
-                         'type'                => 'text',
-                         'to_text'     => True,
-                         'valarm'      => array
-                         (
-                          'state'              => 'required',
-                          'multiples'  => False
-                         )
-                        ),
-
-                        'attach'       => array
-                        (
-                         'type'                => 'uri',
-                         'to_text'     => True,
-                         'vevent'      => array
-                         (
-                          'state'              => 'optional',
-                          'multiples'  => True
-                         ),
-                         'vtodo'               => array
-                         (
-                          'state'              => 'optional',
-                          'multiples'  => True
-                         ),
-                         'vjournal'    => array
-                         (
-                          'state'              => 'optional',
-                          'multiples'  => True
-                         ),
-                         'valarm'      => array
-                         (
-                          'state'              => 'optional',
-                          'multiples'  => True
-                         )
-                         ),
-
-                         'attendee'    => array
-                                 (
-                                  'type'               => 'cal-address',
-                                  'to_text'    => False,
-                                  'vevent'     => array
-                                  (
-                                   'state'             => 'optional',
-                                   'multiples' => True
-                                  ),
-                                  'vtodo'              => array
-                                  (
-                                   'state'             => 'optional',
-                                   'multiples' => True
-                                  ),
-                                  'vjournal'   => array
-                                  (
-                                   'state'             => 'optional',
-                                   'multiples' => True
-                                  ),
-                                  'valarm'     => array
-                                  (
-                                   'state'             => 'optional',
-                                   'multiples' => True
-                                  ),
-                                  'vfreebusy'  => array
-                                          (
-                                           'state'             => 'optional',
-                                           'multiples' => True
-                                          )
-                                          ),
-
-                                  'categories' => array
-                                          (
-                                           'type'              => 'text',
-                                           'to_text'   => True,
-                                           'vevent'    => array
-                                           (
-                                            'state'            => 'optional',
-                                            'multiples'        => True
-                                           ),
-                                           'vtodo'             => array
-                                           (
-                                            'state'            => 'optional',
-                                            'multiples'        => False
-                                           ),
-                                           'vjournal'  => array
-                                           (
-                                            'state'            => 'optional',
-                                            'multiples'        => True
-                                           )
-                                          ),
-
-                                  'class'              => array
-                                          (
-                                           'type'              => 'text',
-                                           'to_text'   => True,
-                                           'vevent'    => array
-                                           (
-                                            'state'            => 'optional',
-                                            'multiples'        => False
-                                           ),
-                                           'vtodo'             => array
-                                           (
-                                            'state'            => 'optional',
-                                            'multiples'        => False
-                                           ),
-                                           'vjournal'  => array
-                                           (
-                                            'state'            => 'optional',
-                                            'multiples'        => False
-                                           )
-                                          ),
-
-                                  'comment'    => array
-                                          (
-                                           'type'              => 'text',
-                                           'to_text'   => True,
-                                           'daylight'  => array
-                                           (
-                                            'state'            => 'optional',
-                                            'multiples'        => True
-                                           ),
-                                           'standard'  => array
-                                           (
-                                            'state'            => 'optional',
-                                            'multiples'        => True
-                                           ),
-                                           'valarm'    => array
-                                           (
-                                            'state'            => 'optional',
-                                            'multiples'        => True
-                                           ),
-                                           'vevent'    => array
-                                           (
-                                            'state'            => 'optional',
-                                            'multiples'        => True
-                                           ),
-                                           'vfreebusy' => array
-                                                   (
-                                                    'state'            => 
'optional',
-                                                    'multiples'        => True
-                                                   ),
-                                           'vjournal'  => array
-                                                   (
-                                                    'state'            => 
'optional',
-                                                    'multiples'        => True
-                                                   ),
-                                           'vtodo'             => array
-                                                   (
-                                                    'state'            => 
'optional',
-                                                    'multiples'        => True
-                                                   )
-                                                   ),
-
-                                           'completed' => array
-                                                   (
-                                                    'type'             => 
'date-time',
-                                                    'to_text'  => False,
-                                                    'vtodo'            => array
-                                                    (
-                                                     'state'           => 
'optional',
-                                                     'multiples'       => False
-                                                    )
-                                                   ),
+                               (
+                                       'action'        => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'valarm'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'attach'        => array
+                                                       (
+                                                               'type'          
=> 'uri',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'valarm'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
)
+                                                       ),
+
+                                       'attendee'      => array
+                                                       (
+                                                               'type'          
=> 'cal-address',
+                                                               'to_text'       
=> False,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'valarm'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vfreebusy'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
)
+                                                       ),
+
+                                       'categories'    => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
)
+                                                       ),
+
+                                       'class'         => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'comment'       => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'daylight'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'standard'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'valarm'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vfreebusy'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
)
+                                                       ),
+
+                                       'completed'     => array
+                                                       (
+                                                               'type'          
=> 'date-time',
+                                                               'to_text'       
=> False,
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'contact'       => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vfreebusy'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
                'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
)
+                                                       ),
+
+                                       'created'       => array
+                                                       (
+                                                               'type'          
=> 'date-time',
+                                                               'to_text'       
=> False,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'description'   => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'valarm'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'dtend'         => array
+                                                       (
+                                                               'type'          
=> 'date-time',
+                                                               'to_text'       
=> False,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vfreebusy'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'dtstamp'       => array
+                                                       (
+                                                               'type'          
=> 'date-time',
+                                                               'to_text'       
=> False,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vfreebusy'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),                      
+
+                                       'dtstart'       => array
+                                                       (
+                                                               'type'          
=> 'date-time',
+                                                               'to_text'       
=> False,
+                                                               'daylight'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'standard'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vfreebusy'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'due'           => array
+                                                       (
+                                                               'type'          
=> 'date-time',
+                                                               'to_text'       
=> False,
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'duration'      => array
+                                                       (
+                                                               'type'          
=> 'duration',
+                                                               'to_text'       
=> False,
+                                                               'valarm'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vfreebusy'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'exdate'        => array
+                                                       (
+                                                               'type'          
=> 'date-time',
+                                                               'to_text'       
=> False,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
)
+                                                       ),
+
+                                       'exrule'        => array
+                                                       (
+                                                               'type'          
=> 'recur',
+                                                               'to_text'       
=> False,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
)
+                                                       ),
+
+                                       'freebusy'      => array
+                                                       (
+                                                               'type'          
=> 'freebusy',
+                                                               'to_text'       
=> False,
+                                                               'vfreebusy'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
)
+                                                       ),
+
+                                       'geo'           => array
+                                                       (
+                                                               'type'          
=> 'float',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'last_modified' => array
+                                                       (
+                                                               'type'          
=> 'date-time',
+                                                               'to_text'       
=> False,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtimezone'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'location'      => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'method'        => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'ical'  => array
+                                                                       (
+                                                                               
'state'         => 'required',
+                                                                               
'multiples'     => False
+                                                                       )
+                                                       ),
+
+                                       'organizer'     => array
+                                                       (
+                                                               'type'          
=> 'cal-address',
+                                                               'to_text'       
=> False,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vfreebusy'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'percent_complete' => array
+                                                       (
+                                                               'type'          
=> 'integer',
+                                                               'to_text'       
=> False,
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'priority'      => array
+                                                       (
+                                                               'type'          
=> 'integer',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'prodid'        => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'ical'          
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'rdate'         => array
+                                                       (
+                                                               'type'          
=> 'date-time',
+                                                               'to_text'       
=> False,
+                                                               'daylight'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'standard'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
)
+                                                       ),
+
+                                       'recurrence_id' => array
+                                                       (
+                                                               'type'          
=> 'date-time',
+                                                               'to_text'       
=> False,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'related_to'    => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> False,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
)
+                                                       ),
+
+                                       'request_status'=> array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vfreebusy'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
)
+                                                       ),
+
+                                       'resources'     => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> False,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
                'state'         => 'optional',
+                                                                               
                'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'rrule'         => array
+                                                       (
+                                                               'type'          
=> 'recur',
+                                                               'to_text'       
=> False,
+                                                               'daylight'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'standard'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
)
+                                                       ),
+
+                                       'sequence'      => array
+                                                       (
+                                                               'type'          
=> 'integer',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'status'        => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+
+                                       'summary'       => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'valarm'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+                                       
+                                       'transp'        => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+                                       
+                                       'trigger'       => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'valarm'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+                                                       
+                                       'tzid'          => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'vtimezone'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+                                                       
+                                       'tzname'        => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'daylight'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
),
+                                                               'standard'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => True
+                                                                               
)
+                                                       ),
+
+                                       'tzoffsetfrom'  => array
+                                                       (
+                                                               'type'          
=> 'utc-offset',
+                                                               'to_text'       
=> True,
+                                                               'daylight'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'standard'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+                                                       
+                                       'tzoffsetto'    => array
+                                                       (
+                                                               'type'          
=> 'utc-offset',
+                                                               'to_text'       
=> True,
+                                                               'daylight'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'standard'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+                                       
+                                       'tzurl'         => array
+                                                       (
+                                                               'type'          
=> 'uri',
+                                                               'to_text'       
=> True,
+                                                               'vtimezone'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
+                                                       ),
+                                                       
+                                       'uid'           => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vfreebusy'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+                                                       
+                                       'url'           => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'vevent'        
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vfreebusy'     
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vjournal'      
=> array
+                                                                               
(
+                                                                               
        'state'         => 'optional',
+                                                                               
        'multiples'     => False
+                                                                               
),
+                                                               'vtodo'         
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       ),
+                                                       
+                                       'version'       => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'to_text'       
=> True,
+                                                               'ical'          
=> array
+                                                                               
(
+                                                                               
        'state'         => 'required',
+                                                                               
        'multiples'     => False
+                                                                               
)
+                                                       )
+                       ));
 
-                                           'contact'   => array
-                                                   (
-                                                    'type'             => 
'text',
-                                                    'to_text'  => True,
-                                                    'vevent'   => array
-                                                    (
-                                                     'state'           => 
'optional',
-                                                     'multiples'       => True
-                                                    ),
-                                                    'vfreebusy'        => array
-                                                    (
-                                                     'state'           => 
'optional',
-                                                     'multiples'       => False
-                                                    ),
-                                                    'vjournal' => array
-                                                    (
-                                                     'state'           => 
'optional',
-                                                     'multiples'       => True
-                                                    )
-                                                   ),
+               $this->parameter = array
+                               (
+                                       'altrep'        => array
+                                                       (
+                                                               'type'          
=> 'uri',
+                                                               'quoted'        
=> True,
+                                                               'to_text'       
=> True,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'comment'       => True,
+                                                                               
        'description'   => True,
+                                                                               
        'location'      => True,
+                                                                               
        'prodid'        => True,
+                                                                               
        'resources'     => True,
+                                                                               
        'summary'       => True,
+                                                                               
        'contact'       => True                                 
+                                                                               
)
+                                                       ),
 
-                                           'created'   => array
-                                                   (
-                                                    'type'             => 
'date-time',
-                                                    'to_text'  => False,
-                                                    'vevent'   => array
-                                                    (
-                                                     'state'           => 
'optional',
-                                                     'multiples'       => False
-                                                    ),
-                                                    'vtodo'            => array
-                                                    (
-                                                     'state'           => 
'optional',
-                                                     'multiples'       => False
-                                                    ),
-                                                    'vjournal' => array
-                                                    (
-                                                     'state'           => 
'optional',
-                                                     'multiples'       => False
-                                                    )
-                                                   ),
+                                       'freq'          => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_freq',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule' => True
+                                                                               
)
+                                                       ),
 
-                                           'description'       => array
-                                                   (
-                                                    'type'             => 
'text',
-                                                    'to_text'  => True,
-                                                    'vevent'   => array
-                                                    (
-                                                     'state'           => 
'optional',
-                                                     'multiples'       => False
-                                                    ),
-                                                    'vtodo'            => array
-                                                    (
-                                                     'state'           => 
'optional',
-                                                     'multiples'       => False
-                                                    ),
-                                                    'vjournal' => array
-                                                    (
-                                                     'state'           => 
'optional',
-                                                     'multiples'       => True
-                                                    ),
-                                                    'valarm'   => array
-                                                    (
-                                                     'state'           => 
'optional',
-                                                     'multiples'       => False
-                                                    )
-                                                    ),
+                                       'byday'         => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule' => True
+                                                                               
)
+                                                       ),
 
-                                                    'dtend'            => array
-                                                            (
-                                                             'type'            
=> 'date-time',
-                                                             'to_text' => 
False,
-                                                             'vevent'  => array
-                                                             (
-                                                              'state'          
=> 'optional',
-                                                              'multiples'      
=> False
-                                                             ),
-                                                             'vfreebusy'       
=> array
-                                                             (
-                                                              'state'          
=> 'optional',
-                                                              'multiples'      
=> False
-                                                             )
-                                                            ),
-
-                                                    'dtstamp'  => array
-                                                            (
-                                                             'type'            
=> 'date-time',
-                                                             'to_text' => 
False,
-                                                             'vevent'  => array
-                                                             (
-                                                              'state'          
=> 'optional',
-                                                              'multiples'      
=> False
-                                                             ),
-                                                             'vtodo'           
=> array
-                                                             (
-                                                              'state'          
=> 'optional',
-                                                              'multiples'      
=> False
-                                                             ),
-                                                             'vjournal'        
=> array
-                                                             (
-                                                              'state'          
=> 'optional',
-                                                              'multiples'      
=> True
-                                                             ),
-                                                             'vfreebusy'       
=> array
-                                                             (
-                                                              'state'          
=> 'optional',
-                                                              'multiples'      
=> False
-                                                             )
-                                                             ),                
        
-
-                                                             'dtstart' => array
-                                                                     (
-                                                                      'type'   
        => 'date-time',
-                                                                      
'to_text'        => False,
-                                                                      
'daylight'       => array
-                                                                      (
-                                                                       'state' 
        => 'required',
-                                                                       
'multiples'     => False
-                                                                      ),
-                                                                      
'standard'       => array
-                                                                      (
-                                                                       'state' 
        => 'required',
-                                                                       
'multiples'     => False
-                                                                      ),
-                                                                      'vevent' 
=> array
-                                                                      (
-                                                                       'state' 
        => 'optional',
-                                                                       
'multiples'     => False
-                                                                      ),
-                                                                      
'vfreebusy'      => array
-                                                                      (
-                                                                       'state' 
        => 'optional',
-                                                                       
'multiples'     => False
-                                                                      ),
-                                                                      
'vjournal'       => array
-                                                                              (
-                                                                               
'state'         => 'optional',
-                                                                               
'multiples'     => False
-                                                                              
),
-                                                                      'vtodo'  
        => array
-                                                                              (
-                                                                               
'state'         => 'optional',
-                                                                               
'multiples'     => False
-                                                                              )
-                                                                              
),
+                                       'byhour'        => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule' => True
+                                                                               
)
+                                                       ),
 
-                                                                      'due'    
        => array
-                                                                              (
-                                                                               
'type'          => 'date-time',
-                                                                               
'to_text'       => False,
-                                                                               
'vtodo'         => array
-                                                                               
(
-                                                                               
 'state'                => 'optional',
-                                                                               
 'multiples'    => False
-                                                                               
)
-                                                                              
),
-
-                                                                      
'duration'       => array
-                                                                              (
-                                                                               
'type'          => 'duration',
-                                                                               
'to_text'       => False,
-                                                                               
'valarm'        => array
-                                                                               
(
-                                                                               
 'state'                => 'optional',
-                                                                               
 'multiples'    => False
-                                                                               
),
-                                                                               
'vevent'        => array
-                                                                               
(
-                                                                               
 'state'                => 'optional',
-                                                                               
 'multiples'    => False
-                                                                               
),
-                                                                               
'vfreebusy'     => array
-                                                                               
(
-                                                                               
 'state'                => 'optional',
-                                                                               
 'multiples'    => False
-                                                                               
),
-                                                                               
'vtodo'         => array
-                                                                               
(
-                                                                               
 'state'                => 'optional',
-                                                                               
 'multiples'    => False
-                                                                               
)
-                                                                               
),
-
-                                                                               
'exdate'        => array
-                                                                               
        (
-                                                                               
         'type'         => 'date-time',
-                                                                               
         'to_text'      => False,
-                                                                               
         'vevent'       => array
-                                                                               
         (
-                                                                               
          'state'               => 'optional',
-                                                                               
          'multiples'   => True
-                                                                               
         ),
-                                                                               
         'vjournal'     => array
-                                                                               
         (
-                                                                               
          'state'               => 'optional',
-                                                                               
          'multiples'   => True
-                                                                               
         ),
-                                                                               
         'vtodo'                => array
-                                                                               
         (
-                                                                               
          'state'               => 'optional',
-                                                                               
          'multiples'   => True
-                                                                               
         )
-                                                                               
        ),
-
-                                                                               
'exrule'        => array
-                                                                               
        (
-                                                                               
         'type'         => 'recur',
-                                                                               
         'to_text'      => False,
-                                                                               
         'vevent'       => array
-                                                                               
         (
-                                                                               
          'state'               => 'optional',
-                                                                               
          'multiples'   => True
-                                                                               
         ),
-                                                                               
         'vjournal'     => array
-                                                                               
         (
-                                                                               
          'state'               => 'optional',
-                                                                               
          'multiples'   => True
-                                                                               
         ),
-                                                                               
         'vtodo'                => array
-                                                                               
         (
-                                                                               
          'state'               => 'optional',
-                                                                               
          'multiples'   => True
-                                                                               
         )
-                                                                               
        ),
-
-                                                                               
'freebusy'      => array
-                                                                               
        (
-                                                                               
         'type'         => 'freebusy',
-                                                                               
         'to_text'      => False,
-                                                                               
         'vfreebusy'    => array
-                                                                               
         (
-                                                                               
          'state'               => 'optional',
-                                                                               
          'multiples'   => True
-                                                                               
         )
-                                                                               
        ),
-
-                                                                               
'geo'           => array
-                                                                               
        (
-                                                                               
         'type'         => 'float',
-                                                                               
         'to_text'      => True,
-                                                                               
         'vevent'       => array
-                                                                               
         (
-                                                                               
          'state'               => 'optional',
-                                                                               
          'multiples'   => False
-                                                                               
         ),
-                                                                               
         'vtodo'                => array
-                                                                               
         (
-                                                                               
          'state'               => 'optional',
-                                                                               
          'multiples'   => False
-                                                                               
         )
-                                                                               
        ),
-
-                                                                               
'last_modified' => array
-                                                                               
        (
-                                                                               
         'type'         => 'date-time',
-                                                                               
         'to_text'      => False,
-                                                                               
         'vevent'       => array
-                                                                               
         (
-                                                                               
          'state'               => 'optional',
-                                                                               
          'multiples'   => False
-                                                                               
         ),
-                                                                               
         'vtodo'                => array
-                                                                               
         (
-                                                                               
          'state'               => 'optional',
-                                                                               
          'multiples'   => False
-                                                                               
         ),
-                                                                               
         'vjournal'     => array
-                                                                               
         (
-                                                                               
          'state'               => 'optional',
-                                                                               
          'multiples'   => False
-                                                                               
         ),
-                                                                               
         'vtimezone'    => array
-                                                                               
         (
-                                                                               
          'state'               => 'optional',
-                                                                               
          'multiples'   => False
-                                                                               
         )
-                                                                               
         ),
-
-                                                                               
         'location'     => array
-                                                                               
                 (
-                                                                               
                  'type'                => 'text',
-                                                                               
                  'to_text'     => True,
-                                                                               
                  'vevent'      => array
-                                                                               
                  (
-                                                                               
                   'state'              => 'optional',
-                                                                               
                   'multiples'  => False
-                                                                               
                  ),
-                                                                               
                  'vtodo'               => array
-                                                                               
                  (
-                                                                               
                   'state'              => 'optional',
-                                                                               
                   'multiples'  => False
-                                                                               
                  )
-                                                                               
                 ),
-
-                                                                               
         'method'       => array
-                                                                               
                 (
-                                                                               
                  'type'                => 'text',
-                                                                               
                  'to_text'     => True,
-                                                                               
                  'ical'        => array
-                                                                               
                  (
-                                                                               
                   'state'              => 'required',
-                                                                               
                   'multiples'  => False
-                                                                               
                  )
-                                                                               
                 ),
-
-                                                                               
         'organizer'    => array
-                                                                               
                 (
-                                                                               
                  'type'                => 'cal-address',
-                                                                               
                  'to_text'     => False,
-                                                                               
                  'vevent'      => array
-                                                                               
                  (
-                                                                               
                   'state'              => 'optional',
-                                                                               
                   'multiples'  => False
-                                                                               
                  ),
-                                                                               
                  'vtodo'               => array
-                                                                               
                  (
-                                                                               
                   'state'              => 'optional',
-                                                                               
                   'multiples'  => False
-                                                                               
                  ),
-                                                                               
                  'vjournal'    => array
-                                                                               
                  (
-                                                                               
                   'state'              => 'optional',
-                                                                               
                   'multiples'  => False
-                                                                               
                  ),
-                                                                               
                  'vfreebusy'   => array
-                                                                               
                  (
-                                                                               
                   'state'              => 'optional',
-                                                                               
                   'multiples'  => False
-                                                                               
                  )
-                                                                               
                  ),
-
-                                                                               
                  'percent_complete' => array
-                                                                               
                          (
-                                                                               
                           'type'               => 'integer',
-                                                                               
                           'to_text'    => False,
-                                                                               
                           'vtodo'              => array
-                                                                               
                           (
-                                                                               
                            'state'             => 'optional',
-                                                                               
                            'multiples' => False
-                                                                               
                           )
-                                                                               
                          ),
-
-                                                                               
                  'priority'    => array
-                                                                               
                          (
-                                                                               
                           'type'               => 'integer',
-                                                                               
                           'to_text'    => True,
-                                                                               
                           'vevent'     => array
-                                                                               
                           (
-                                                                               
                            'state'             => 'optional',
-                                                                               
                            'multiples' => False
-                                                                               
                           ),
-                                                                               
                           'vtodo'              => array
-                                                                               
                           (
-                                                                               
                            'state'             => 'optional',
-                                                                               
                            'multiples' => False
-                                                                               
                           )
-                                                                               
                          ),
-
-                                                                               
                  'prodid'      => array
-                                                                               
                          (
-                                                                               
                           'type'               => 'text',
-                                                                               
                           'to_text'    => True,
-                                                                               
                           'ical'               => array
-                                                                               
                           (
-                                                                               
                            'state'             => 'required',
-                                                                               
                            'multiples' => False
-                                                                               
                           )
-                                                                               
                          ),
-
-                                                                               
                  'rdate'               => array
-                                                                               
                          (
-                                                                               
                           'type'               => 'date-time',
-                                                                               
                           'to_text'    => False,
-                                                                               
                           'daylight'   => array
-                                                                               
                           (
-                                                                               
                            'state'             => 'optional',
-                                                                               
                            'multiples' => True
-                                                                               
                           ),
-                                                                               
                           'standard'   => array
-                                                                               
                           (
-                                                                               
                            'state'             => 'optional',
-                                                                               
                            'multiples' => True
-                                                                               
                           ),
-                                                                               
                           'vevent'     => array
-                                                                               
                           (
-                                                                               
                            'state'             => 'optional',
-                                                                               
                            'multiples' => True
-                                                                               
                           ),
-                                                                               
                           'vtodo'              => array
-                                                                               
                           (
-                                                                               
                            'state'             => 'optional',
-                                                                               
                            'multiples' => True
-                                                                               
                           ),
-                                                                               
                           'vjournal'   => array
-                                                                               
                                   (
-                                                                               
                                    'state'             => 'optional',
-                                                                               
                                    'multiples' => True
-                                                                               
                                   )
-                                                                               
                                   ),
-
-                                                                               
                           'recurrence_id'      => array
-                                                                               
                                   (
-                                                                               
                                    'type'              => 'date-time',
-                                                                               
                                    'to_text'   => False,
-                                                                               
                                    'vevent'    => array
-                                                                               
                                    (
-                                                                               
                                     'state'            => 'optional',
-                                                                               
                                     'multiples'        => False
-                                                                               
                                    ),
-                                                                               
                                    'vjournal'  => array
-                                                                               
                                    (
-                                                                               
                                     'state'            => 'optional',
-                                                                               
                                     'multiples'        => False
-                                                                               
                                    ),
-                                                                               
                                    'vtodo'             => array
-                                                                               
                                    (
-                                                                               
                                     'state'            => 'optional',
-                                                                               
                                     'multiples'        => False
-                                                                               
                                    )
-                                                                               
                                   ),
-
-                                                                               
                           'related_to' => array
-                                                                               
                                   (
-                                                                               
                                    'type'              => 'text',
-                                                                               
                                    'to_text'   => False,
-                                                                               
                                    'vevent'    => array
-                                                                               
                                    (
-                                                                               
                                     'state'            => 'optional',
-                                                                               
                                     'multiples'        => False
-                                                                               
                                    ),
-                                                                               
                                    'vjournal'  => array
-                                                                               
                                    (
-                                                                               
                                     'state'            => 'optional',
-                                                                               
                                     'multiples'        => True
-                                                                               
                                    ),
-                                                                               
                                    'vtodo'             => array
-                                                                               
                                    (
-                                                                               
                                     'state'            => 'optional',
-                                                                               
                                     'multiples'        => True
-                                                                               
                                    )
-                                                                               
                                   ),
-
-                                                                               
                           'request_status'=> array
-                                                                               
                                   (
-                                                                               
                                    'type'              => 'text',
-                                                                               
                                    'to_text'   => True,
-                                                                               
                                    'vevent'    => array
-                                                                               
                                    (
-                                                                               
                                     'state'            => 'optional',
-                                                                               
                                     'multiples'        => False
-                                                                               
                                    ),
-                                                                               
                                    'vtodo'             => array
-                                                                               
                                    (
-                                                                               
                                     'state'            => 'optional',
-                                                                               
                                     'multiples'        => False
-                                                                               
                                    ),
-                                                                               
                                    'vjournal'  => array
-                                                                               
                                    (
-                                                                               
                                     'state'            => 'optional',
-                                                                               
                                     'multiples'        => True
-                                                                               
                                    ),
-                                                                               
                                    'vfreebusy' => array
-                                                                               
                                    (
-                                                                               
                                     'state'            => 'optional',
-                                                                               
                                     'multiples'        => True
-                                                                               
                                    )
-                                                                               
                                    ),
-
-                                                                               
                                    'resources' => array
-                                                                               
                                            (
-                                                                               
                                             'type'             => 'text',
-                                                                               
                                             'to_text'  => False,
-                                                                               
                                             'vevent'   => array
-                                                                               
                                             (
-                                                                               
                                              'state'           => 'optional',
-                                                                               
                                              'multiples'       => False
-                                                                               
                                             ),
-                                                                               
                                             'vtodo'            => array
-                                                                               
                                             (
-                                                                               
                                              'state'           => 'optional',
-                                                                               
                                              'multiples'       => False
-                                                                               
                                             )
-                                                                               
                                            ),
-
-                                                                               
                                    'rrule'             => array
-                                                                               
                                            (
-                                                                               
                                             'type'             => 'recur',
-                                                                               
                                             'to_text'  => False,
-                                                                               
                                             'daylight' => array
-                                                                               
                                             (
-                                                                               
                                              'state'           => 'optional',
-                                                                               
                                              'multiples'       => True
-                                                                               
                                             ),
-                                                                               
                                             'standard' => array
-                                                                               
                                             (
-                                                                               
                                              'state'           => 'optional',
-                                                                               
                                              'multiples'       => True
-                                                                               
                                             ),
-                                                                               
                                             'vevent'   => array
-                                                                               
                                             (
-                                                                               
                                              'state'           => 'optional',
-                                                                               
                                              'multiples'       => True
-                                                                               
                                             ),
-                                                                               
                                             'vtodo'            => array
-                                                                               
                                             (
-                                                                               
                                              'state'           => 'optional',
-                                                                               
                                              'multiples'       => True
-                                                                               
                                             ),
-                                                                               
                                             'vjournal' => array
-                                                                               
                                                     (
-                                                                               
                                                      'state'           => 
'optional',
-                                                                               
                                                      'multiples'       => True
-                                                                               
                                                     )
-                                                                               
                                                     ),
-
-                                                                               
                                             'sequence' => array
-                                                                               
                                                     (
-                                                                               
                                                      'type'            => 
'integer',
-                                                                               
                                                      'to_text' => True,
-                                                                               
                                                      'vevent'  => array
-                                                                               
                                                      (
-                                                                               
                                                       'state'          => 
'optional',
-                                                                               
                                                       'multiples'      => False
-                                                                               
                                                      ),
-                                                                               
                                                      'vjournal'        => array
-                                                                               
                                                      (
-                                                                               
                                                       'state'          => 
'optional',
-                                                                               
                                                       'multiples'      => False
-                                                                               
                                                      ),
-                                                                               
                                                      'vtodo'           => array
-                                                                               
                                                      (
-                                                                               
                                                       'state'          => 
'optional',
-                                                                               
                                                       'multiples'      => False
-                                                                               
                                                      )
-                                                                               
                                                     ),
-
-                                                                               
                                             'status'   => array
-                                                                               
                                                     (
-                                                                               
                                                      'type'            => 
'text',
-                                                                               
                                                      'to_text' => True,
-                                                                               
                                                      'vevent'  => array
-                                                                               
                                                      (
-                                                                               
                                                       'state'          => 
'optional',
-                                                                               
                                                       'multiples'      => False
-                                                                               
                                                      ),
-                                                                               
                                                      'vjournal'        => array
-                                                                               
                                                      (
-                                                                               
                                                       'state'          => 
'optional',
-                                                                               
                                                       'multiples'      => False
-                                                                               
                                                      ),
-                                                                               
                                                      'vtodo'           => array
-                                                                               
                                                      (
-                                                                               
                                                       'state'          => 
'optional',
-                                                                               
                                                       'multiples'      => False
-                                                                               
                                                      )
-                                                                               
                                                     ),
-
-                                                                               
                                             'summary'  => array
-                                                                               
                                                     (
-                                                                               
                                                      'type'            => 
'text',
-                                                                               
                                                      'to_text' => True,
-                                                                               
                                                      'vevent'  => array
-                                                                               
                                                      (
-                                                                               
                                                       'state'          => 
'optional',
-                                                                               
                                                       'multiples'      => False
-                                                                               
                                                      ),
-                                                                               
                                                      'vtodo'           => array
-                                                                               
                                                      (
-                                                                               
                                                       'state'          => 
'optional',
-                                                                               
                                                       'multiples'      => False
-                                                                               
                                                      ),
-                                                                               
                                                      'vjournal'        => array
-                                                                               
                                                      (
-                                                                               
                                                       'state'          => 
'optional',
-                                                                               
                                                       'multiples'      => False
-                                                                               
                                                      ),
-                                                                               
                                                      'valarm'  => array
-                                                                               
                                                      (
-                                                                               
                                                       'state'          => 
'optional',
-                                                                               
                                                       'multiples'      => False
-                                                                               
                                                      )
-                                                                               
                                                      ),
-
-                                                                               
                                                      'transp'  => array
-                                                                               
                                                              (
-                                                                               
                                                               'type'           
=> 'text',
-                                                                               
                                                               'to_text'        
=> True,
-                                                                               
                                                               'vevent' => array
-                                                                               
                                                               (
-                                                                               
                                                                'state'         
=> 'optional',
-                                                                               
                                                                'multiples'     
=> False
-                                                                               
                                                               )
-                                                                               
                                                              ),
-
-                                                                               
                                                      'trigger' => array
-                                                                               
                                                              (
-                                                                               
                                                               'type'           
=> 'text',
-                                                                               
                                                               'to_text'        
=> True,
-                                                                               
                                                               'valarm' => array
-                                                                               
                                                               (
-                                                                               
                                                                'state'         
=> 'optional',
-                                                                               
                                                                'multiples'     
=> False
-                                                                               
                                                               )
-                                                                               
                                                              ),
-
-                                                                               
                                                      'tzid'            => array
-                                                                               
                                                              (
-                                                                               
                                                               'type'           
=> 'text',
-                                                                               
                                                               'to_text'        
=> True,
-                                                                               
                                                               'vtimezone'      
=> array
-                                                                               
                                                               (
-                                                                               
                                                                'state'         
=> 'required',
-                                                                               
                                                                'multiples'     
=> False
-                                                                               
                                                               )
-                                                                               
                                                              ),
-
-                                                                               
                                                      'tzname'  => array
-                                                                               
                                                              (
-                                                                               
                                                               'type'           
=> 'text',
-                                                                               
                                                               'to_text'        
=> True,
-                                                                               
                                                               'daylight'       
=> array
-                                                                               
                                                               (
-                                                                               
                                                                'state'         
=> 'optional',
-                                                                               
                                                                'multiples'     
=> True
-                                                                               
                                                               ),
-                                                                               
                                                               'standard'       
=> array
-                                                                               
                                                               (
-                                                                               
                                                                'state'         
=> 'optional',
-                                                                               
                                                                'multiples'     
=> True
-                                                                               
                                                               )
-                                                                               
                                                              ),
-
-                                                                               
                                                      'tzoffsetfrom'    => array
-                                                                               
                                                              (
-                                                                               
                                                               'type'           
=> 'utc-offset',
-                                                                               
                                                               'to_text'        
=> True,
-                                                                               
                                                               'daylight'       
=> array
-                                                                               
                                                               (
-                                                                               
                                                                'state'         
=> 'required',
-                                                                               
                                                                'multiples'     
=> False
-                                                                               
                                                               ),
-                                                                               
                                                               'standard'       
=> array
-                                                                               
                                                               (
-                                                                               
                                                                'state'         
=> 'required',
-                                                                               
                                                                'multiples'     
=> False
-                                                                               
                                                               )
-                                                                               
                                                              ),
-
-                                                                               
                                                      'tzoffsetto'      => array
-                                                                               
                                                              (
-                                                                               
                                                               'type'           
=> 'utc-offset',
-                                                                               
                                                               'to_text'        
=> True,
-                                                                               
                                                               'daylight'       
=> array
-                                                                               
                                                               (
-                                                                               
                                                                'state'         
=> 'required',
-                                                                               
                                                                'multiples'     
=> False
-                                                                               
                                                               ),
-                                                                               
                                                               'standard'       
=> array
-                                                                               
                                                               (
-                                                                               
                                                                'state'         
=> 'required',
-                                                                               
                                                                'multiples'     
=> False
-                                                                               
                                                               )
-                                                                               
                                                              ),
-
-                                                                               
                                                      'tzurl'           => array
-                                                                               
                                                              (
-                                                                               
                                                               'type'           
=> 'uri',
-                                                                               
                                                               'to_text'        
=> True,
-                                                                               
                                                               'vtimezone'      
=> array
-                                                                               
                                                               (
-                                                                               
                                                                'state'         
=> 'optional',
-                                                                               
                                                                'multiples'     
=> False
-
-                                                                               
                                                               ),
-
-                                                                               
                                                               'uid'            
=> array
-                                                                               
                                                               (
-                                                                               
                                                                'type'          
=> 'text',
-                                                                               
                                                                'to_text'       
=> True,
-                                                                               
                                                                'vevent'        
=> array
-                                                                               
                                                                (
-                                                                               
                                                                 'state'        
        => 'required',
-                                                                               
                                                                 'multiples'    
=> False
-                                                                               
                                                                ),
-                                                                               
                                                                'vfreebusy'     
=> array
-                                                                               
                                                                (
-                                                                               
                                                                 'state'        
        => 'required',
-                                                                               
                                                                 'multiples'    
=> False
-                                                                               
                                                                ),
-                                                                               
                                                                'vjournal'      
=> array
-                                                                               
                                                                (
-                                                                               
                                                                 'state'        
        => 'required',
-                                                                               
                                                                 'multiples'    
=> False
-                                                                               
                                                                ),
-                                                                               
                                                                'vtodo'         
=> array
-                                                                               
                                                                (
-                                                                               
                                                                 'state'        
        => 'required',
-                                                                               
                                                                 'multiples'    
=> False
-                                                                               
                                                                )
-                                                                               
                                                                ),
-
-                                                                               
                                                                'url'           
=> array
-                                                                               
                                                                        (
-                                                                               
                                                                         'type' 
        => 'text',
-                                                                               
                                                                         
'to_text'      => True,
-                                                                               
                                                                         
'vevent'       => array
-                                                                               
                                                                         (
-                                                                               
                                                                          
'state'               => 'required',
-                                                                               
                                                                          
'multiples'   => False
-                                                                               
                                                                         ),
-                                                                               
                                                                         
'vfreebusy'    => array
-                                                                               
                                                                         (
-                                                                               
                                                                          
'state'               => 'required',
-                                                                               
                                                                          
'multiples'   => False
-                                                                               
                                                                         ),
-                                                                               
                                                                         
'vjournal'     => array
-                                                                               
                                                                         (
-                                                                               
                                                                          
'state'               => 'optional',
-                                                                               
                                                                          
'multiples'   => False
-                                                                               
                                                                         ),
-                                                                               
                                                                         
'vtodo'                => array
-                                                                               
                                                                         (
-                                                                               
                                                                          
'state'               => 'required',
-                                                                               
                                                                          
'multiples'   => False
-                                                                               
                                                                         )
-                                                                               
                                                                         ),
-
-                                                                               
                                                                         
'version'      => array
-                                                                               
                                                                                
 (
-                                                                               
                                                                                
  'type'                => 'text',
-                                                                               
                                                                                
  'to_text'     => True,
-                                                                               
                                                                                
  'ical'                => array
-                                                                               
                                                                                
  (
-                                                                               
                                                                                
   'state'              => 'required',
-                                                                               
                                                                                
   'multiples'  => False
-                                                                               
                                                                                
  )
-                                                                               
                                                                                
 )
-                                                                               
                                                                                
 ));
-
-               $this->parameter = array(
-                               'altrep'                => array(
-                                       'type'          => 'uri',
-                                       'quoted'                => True,
-                                       'to_text'       => True,
-                                       'properties'    => array(
-                                               'comment'               => True,
-                                               'description'   => True,
-                                               'location'              => True,
-                                               'prodid'                        
=> True,
-                                               'resources'             => True,
-                                               'summary'               => True,
-                                               'contact'               => True 
                                
-                                               )
-                                       ),
-                               'freq'          => array(
-                                       'type'          => 'function',
-                                       'function'      => 'switch_freq',
-                                       'quoted'                => False,
-                                       'to_text'       => False,
-                                       'properties'    => array(
-                                               'rrule'                 => True
-                                               )
-                                       ),
-                               'byday'         => array(
-                                               'type'          => 'text',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'rrule'         => True
-                                                       )
-                                               ),
-                               'byhour'                => array(
-                                               'type'          => 'text',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'rrule'         => True
-                                                       )
-                                               ),
-                               'byminute'              => array(
-                                               'type'          => 'text',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'rrule'         => True
-                                                       )
-                                               ),
-                               'bymonth'               => array(
-                                               'type'          => 'text',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'rrule'         => True
-                                                       )
-                                               ),
-                               'bymonthday'    => array(
-                                               'type'          => 'text',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'rrule'         => True
-                                                       )
-                                               ),
-                               'bysecond'              => array(
-                                               'type'          => 'text',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'rrule'         => True
-                                                       )
-                                               ),
-                               'bysetpos'              => array(
-                                               'type'          => 'text',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'rrule'         => True
-                                                       )
-                                               ),
-                               'byweekno'              => array(
-                                               'type'          => 'text',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'rrule'         => True
-                                                       )
-                                               ),
-                               'byyearday'             => array(
-                                               'type'          => 'text',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'rrule'         => True
-                                                       )
-                                               ),
-                               'class'                 => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_class',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'class'                 
=> True
-                                                       )
-                                               ),
-                               'cn'                    => array(
-                                               'type'          => 'text',
-                                               'quoted'                => True,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'attendee'              
=> True,
-                                                       'organizer'             
=> True                                 
-                                                       )
-                                               ),
-                               'count'         => array(
-                                               'type'          => 'integer',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'rrule'                 
=> True
-                                                       )
-                                               ),
-                               'cu'                    => array(
-                                               'type'          => 'function',
-                                               'function'      => 'switch_cu',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'attendee'              
=> True
-                                                       )
-                                               ),
-                               'delegated_from'        => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_mailto',
-                                               'quoted'                => True,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'attendee'              
=> True
-                                                       )
-                                               ),
-                               'delegated_to'  => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_mailto',
-                                               'quoted'                => True,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'attendee'              
=> True
-                                                       )
-                                               ),
-                               'dir'                   => array(
-                                               'type'          => 'dir',
-                                               'quoted'                => True,
-                                               'to_text'       => True,
-                                               'properties'    => array(
-                                                       'attendee'              
=> True,
-                                                       'organizer'             
=> True
-                                                       )
-                                               ),
-                               'dtend'         => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_date',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'dtend'         => True
-                                                       )
-                                               ),
-                               'dtstamp'               => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_date',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'dtstamp'               
=> True
-                                                       )
-                                               ),
-                               'dtstart'               => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_date',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'dtstart'               
=> True
-                                                       )
-                                               ),
-                               'encoding'      => array( // "future bug" fix
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_encoding',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'attach'                
        => True
-                                                       )
-                                               ),
-                               'fmttype'       => array(
-                                               'type'          => 'text',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'attach'                
        => True
-                                                       )
-                                               ),
-                               'fbtype'                => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_fbtype',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'attach'                
        => True
-                                                       )
-                                               ),
-                               'interval'              => array(
-                                               'type'          => 'integer',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'rrule'         => True
-                                                       )
-                                               ),
-                               'language'              => array(
-                                               'type'          => 'text',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'categories'    => True,
-                                                       'comment'               
=> True,
-                                                       'description'   => True,
-                                                       'location'              
=> True,
-                                                       'resources'             
=> True,
-                                                       'summary'               
=> True,
-                                                       'tzname'                
        => True,
-                                                       'attendee'              
=> True,
-                                                       'contact'               
=> True,
-                                                       'organizer'             
=> True,
-                                                       'x-type'                
        => True
-                                                       )
-                                               ),
-                               'last_modified'         => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_date',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'last_modified' => True
-                                                       )
-                                               ),
-                               'mailto'                => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_mailto',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'attendee'              
=> True,
-                                                       'organizer'             
=> True
-                                                       )
-                                               ),
-                               'member'                => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_mailto',
-                                               'quoted'                => True,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'attendee'              
=> True
-                                                       )
-                                               ),
-                               'partstat'              => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_partstat',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'attendee'              
=> True,
-                                                       'organizer'             
=> True
-                                                       )
-                                               ),
-                               'range'         => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_range',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'recurrence_id' => True
-                                                       )
-                                               ),
-                               'related'               => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_related',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'related_to'    => True
-                                                       )
-                                               ),
-                               'role'          => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_role',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'attendee'              
=> True,
-                                                       'organizer'             
=> True
-                                                       )
-                                               ),
-                               'rsvp'          => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_rsvp',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'attendee'              
=> True
-                                                       )
-                                               ),
-                               'sent_by'               => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'parse_user_host',
-                                               'quoted'                => True,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'attendee'              
=> True,
-                                                       'organizer'             
=> True
-                                                       )
-                                               ),
-                               'tzid'          => array(
-                                               'type'          => 'text',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'dtend'         => True,
-                                                       'due'                   
=> True,
-                                                       'dtstart'       => True,
-                                                       'exdate'                
=> True,
-                                                       'rdate'         => True,
-                                                       'recurrence_id' => True
-                                                       )
-                                               ),
-                               'until'         => array(
-                                               'type'          => 'function',
-                                               'function'      => 
'switch_date',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'rrule'         => True
-                                                       )
+                                       'byminute'      => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule' => True
+                                                                               
)
+                                                       ),
+
+                                       'bymonth'       => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule' => True
+                                                                               
)
+                                                       ),
+
+                                       'bymonthday'    => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule' => True
+                                                                               
)
+                                                       ),
+
+                                       'bysecond'      => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule' => True
+                                                                               
)
+                                                       ),
+
+                                       'bysetpos'      => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule' => True
+                                                                               
)
+                                                       ),
+
+                                       'byweekno'      => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule' => True
+                                                                               
)
+                                                       ),
+
+                                       'byyearday'     => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule' => True
+                                                                               
)
+                                                       ),
+
+                                       'class'         => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_class',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'class' => True
+                                                                               
)
+                                                       ),
+                                       
+                                       'cn'            => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'quoted'        
=> True,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attendee'      => True,
+                                                                               
        'organizer'     => True                                 
+                                                                               
)
+                                                       ),
+
+                                       'count'         => array
+                                                       (
+                                                               'type'          
=> 'integer',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule' => True
+                                                                               
)
+                                                       ),
+
+                                       'cu'            => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_cu',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attendee'      => True
+                                                                               
)
+                                                       ),
+
+                                       'delegated_from'=> array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_mailto',
+                                                               'quoted'        
=> True,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attendee'      => True
+                                                                               
)
+                                                       ),
+
+                                       'delegated_to'  => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_mailto',
+                                                               'quoted'        
=> True,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attendee'      => True
+                                                                               
)
+                                                       ),
+
+                                       'dir'           => array
+                                                       (
+                                                               'type'          
=> 'dir',
+                                                               'quoted'        
=> True,
+                                                               'to_text'       
=> True,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attendee'      => True,
+                                                                               
        'organizer'     => True
+                                                                               
)
+                                                       ),
+
+                                       'dtend'         => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_date',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'dtend'         => True
+                                                                               
)
+                                                       ),
+
+                                       'dtstamp'       => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_date',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'dtstamp'       => True
+                                                                               
)
                                                ),
-                               'value'         => array(
-                                               'type'          => 'value',
-                                               'quoted'                => 
False,
-                                               'to_text'       => False,
-                                               'properties'    => array(
-                                                       'calscale'      => True,
-                                                       'prodid'                
=> True,
-                                                       'method'                
=> True,
-                                                       'version'       => True,
-                                                       'attach'                
=> True,
-                                                       'categories'    => True,
-                                                       'class'         => True,
-                                                       'comment'       => True,
-                                                       'description'   => True,
-                                                       'geo'           => True,
-                                                       'location'      => True,
-                                                       'percent'       => True,
-                                                       'priority'      => True,
-                                                       'resources'     => True,
-                                                       'status'                
=> True,
-                                                       'summary'       => True,
-                                                       'completed'     => True,
-                                                       'dtend'         => True,
-                                                       'due'           => True,
-                                                       'dtstart'       => True,
-                                                       'duration'      => True,
-                                                       'freebusy'      => True,
-                                                       'transp'                
=> True,
-                                                       'tzid'          => True,
-                                                       'tzname'                
=> True,
-                                                       'tzoffsetfrom'  => True,
-                                                       'tzoffsetto'    => True,
-                                                       'tzurl'         => True,
-                                                       'attendee'      => True,
-                                                       'contact'       => True,
-                                                       'organizer'     => True,
-                                                       'recurrence_id' => True,
-                                                       'url'           => True,
-                                                       'uid'           => True,
-                                                       'exdate'        => True,
-                                                       'exrule'        => True,
-                                                       'rdate' => True,
-                                                       'rrule' => True,
-                                                       'action'        => True,
-                                                       'repeat'        => True,
-                                                       'trigger'       => True,
-                                                       'created'       => True,
-                                                       'dtstamp'       => True,
-                                                       'last_modified' => True,
-                                                       'sequence'      => True,
-                                                       'x_type'                
=> True,
-                                                       'request_status'        
=> True
-                                                               )
+                                               
+                                       'dtstart'       => array
+                                                       (       
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_date',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'dtstart'       => True
+                                                                               
)
+                                                       ),
+
+                                       'encoding'      => array
+                                                       ( // "future bug" fix
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_encoding',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attach'        => True
+                                                                               
)
+                                                       ),
+
+                                       'fmttype'       => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attach'        => True
+                                                                               
)
+                                                       ),
+
+
+                                       'fbtype'        => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_fbtype',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attach'                        => True
+                                                                               
)
+                                                       ),
+
+                                       'interval'      => array
+                                                       (
+                                                               'type'          
=> 'integer',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule'         => True
+                                                                               
)
+                                                       ),
+
+                                       'language'      => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'quoted'        
        => False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'categories'    => True,
+                                                                               
        'comment'       => True,
+                                                                               
        'description'   => True,
+                                                                               
        'location'      => True,
+                                                                               
        'resources'     => True,
+                                                                               
        'summary'       => True,
+                                                                               
        'tzname'        => True,
+                                                                               
        'attendee'      => True,
+                                                                               
        'contact'       => True,
+                                                                               
        'organizer'     => True,
+                                                                               
        'x-type'        => True
+                                                                               
)
+                                                       ),
+
+                                       'last_modified' => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_date',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'last_modified' => True
+                                                                               
)
+                                                       ),
+
+                                       'mailto'        => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_mailto',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attendee'      => True,
+                                                                               
        'organizer'     => True
+                                                                               
)
+                                                       ),
+
+                                       'member'        => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_mailto',
+                                                               'quoted'        
=> True,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attendee'      => True
+                                                                               
)
+                                                       ),
+
+                                       'partstat'      => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_partstat',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attendee'      => True,
+                                                                               
        'organizer'     => True
+                                                                               
)
+                                                       ),
+
+                                       'range'         => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_range',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'recurrence_id' => True
+                                                                               
)
+                                                       ),
+
+                                       'related'       => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_related',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'related_to'    => True
+                                                                               
)
+                                                       ),
+
+                                       'role'          => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_role',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attendee'      => True,
+                                                                               
        'organizer'     => True
+                                                                               
)
+                                                       ),
+
+                                       'rsvp'          => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_rsvp',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attendee'      => True
+                                                                               
)
+                                                       ),
+               
+                                       'sent_by'       => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'parse_user_host',
+                                                               'quoted'        
=> True,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'attendee'      => True,
+                                                                               
        'organizer'     => True
+                                                                               
)
+                                                       ),
+
+                                       'tzid'          => array
+                                                       (
+                                                               'type'          
=> 'text',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'dtend'         => True,
+                                                                               
        'due'           => True,
+                                                                               
        'dtstart'       => True,
+                                                                               
        'exdate'        => True,
+                                                                               
        'rdate'         => True,
+                                                                               
        'recurrence_id' => True
+                                                                               
)
+                                                       ),
+
+                                       'until'         => array
+                                                       (
+                                                               'type'          
=> 'function',
+                                                               'function'      
=> 'switch_date',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule'         => True
+                                                                               
)
+                                                       ),
+
+                                       'value'         => array
+                                                       (
+                                                               'type'          
=> 'value',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'calscale'      => True,
+                                                                               
        'prodid'        => True,
+                                                                               
        'method'        => True,
+                                                                               
        'version'       => True,
+                                                                               
        'attach'        => True,
+                                                                               
        'categories'    => True,
+                                                                               
        'class'         => True,
+                                                                               
        'comment'       => True,
+                                                                               
        'description'   => True,
+                                                                               
        'geo'           => True,
+                                                                               
        'location'      => True,
+                                                                               
        'percent'       => True,
+                                                                               
        'priority'      => True,
+                                                                               
        'resources'     => True,
+                                                                               
        'status'        => True,
+                                                                               
        'summary'       => True,
+                                                                               
        'completed'     => True,
+                                                                               
        'dtend'         => True,
+                                                                               
        'due'           => True,
+                                                                               
        'dtstart'       => True,
+                                                                               
        'duration'      => True,
+                                                                               
        'freebusy'      => True,
+                                                                               
        'transp'        => True,
+                                                                               
        'tzid'          => True,
+                                                                               
        'tzname'        => True,
+                                                                               
        'tzoffsetfrom'  => True,
+                                                                               
        'tzoffsetto'    => True,
+                                                                               
        'tzurl'         => True,
+                                                                               
        'attendee'      => True,
+                                                                               
        'contact'       => True,
+                                                                               
        'organizer'     => True,
+                                                                               
        'recurrence_id' => True,
+                                                                               
        'url'           => True,
+                                                                               
        'uid'           => True,
+                                                                               
        'exdate'        => True,
+                                                                               
        'exrule'        => True,
+                                                                               
        'rdate'         => True,
+                                                                               
        'rrule'         => True,
+                                                                               
        'action'        => True,
+                                                                               
        'repeat'        => True,
+                                                                               
        'trigger'       => True,
+                                                                               
        'created'       => True,
+                                                                               
        'dtstamp'       => True,
+                                                                               
        'last_modified' => True,
+                                                                               
        'sequence'      => True,
+                                                                               
        'x_type'        => True,
+                                                                               
        'request_status'=> True
+                                                                               
)
                                                                ),
-                                                       'wkst'          => 
array(
-                                                                       'type'  
        => 'string',
-                                                                       
'quoted'                => False,
-                                                                       
'to_text'       => False,
-                                                                       
'properties'    => array(
-                                                                               
'rrule'         => True
-                                                                               
)
-                                                                       ),
-                                                       'x_type'                
=> array(
-                                                                       'type'  
        => 'x_type',
-                                                                       
'quoted'                => False,
-                                                                       
'to_text'       => False,
-                                                                       
'properties'    => array(
-                                                                               
'calscale'      => True,
-                                                                               
'method'                => True,
-                                                                               
'prodid'                => True,
-                                                                               
'version'       => True,
-                                                                               
'attach'                => True,
-                                                                               
'categories'    => True,
-                                                                               
'class'         => True,
-                                                                               
'comment'       => True,
-                                                                               
'description'   => True,
-                                                                               
'geo'           => True,
-                                                                               
'location'      => True,
-                                                                               
'percent'       => True,
-                                                                               
'priority'      => True,
-                                                                               
'resources'     => True,
-                                                                               
'status'                => True,
-                                                                               
'summary'       => True,
-                                                                               
'completed'     => True,
-                                                                               
'dtend'         => True,
-                                                                               
'due'           => True,
-                                                                               
'dtstart'       => True,
-                                                                               
'duration'      => True,
-                                                                               
'freebusy'      => True,
-                                                                               
'transp'                => True,
-                                                                               
'tzid'          => True,
-                                                                               
'tzname'                => True,
-                                                                               
'tzoffsetfrom'  => True,
-                                                                               
'tzoffsetto'    => True,
-                                                                               
'tzurl'         => True,
-                                                                               
'attendee'      => True,
-                                                                               
'contact'       => True,
-                                                                               
'organizer'     => True,
-                                                                               
'recurrence_id' => True,
-                                                                               
'url'           => True,
-                                                                               
'uid'           => True,
-                                                                               
'exdate'        => True,
-                                                                               
'exrule'        => True,
-                                                                               
'rdate' => True,
-                                                                               
'rrule' => True,
-                                                                               
'action'        => True,
-                                                                               
'repeat'        => True,
-                                                                               
'trigger'       => True,
-                                                                               
'created'       => True,
-                                                                               
'dtstamp'       => True,
-                                                                               
'last_modified' => True,
-                                                                               
'sequence'      => True,
-                                                                               
'x_type'                => True,
-                                                                               
'request_status'        => True
-                                                                               
        )
-                                                                               
        )                       
-                                                                               
        );
+
+                                       'wkst'          => array
+                                                       (
+                                                               'type'          
=> 'string',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'rrule'         => True
+                                                                               
)
+                                                       ),
+
+                                       'x_type'        => array
+                                                       (
+                                                               'type'          
=> 'x_type',
+                                                               'quoted'        
=> False,
+                                                               'to_text'       
=> False,
+                                                               'properties'    
=> array
+                                                                               
(
+                                                                               
        'calscale'      => True,
+                                                                               
        'method'        => True,
+                                                                               
        'prodid'        => True,
+                                                                               
        'version'       => True,
+                                                                               
        'attach'        => True,
+                                                                               
        'categories'    => True,
+                                                                               
        'class'         => True,
+                                                                               
        'comment'       => True,
+                                                                               
        'description'   => True,
+                                                                               
        'geo'           => True,
+                                                                               
        'location'      => True,
+                                                                               
        'percent'       => True,
+                                                                               
        'priority'      => True,
+                                                                               
        'resources'     => True,
+                                                                               
        'status'        => True,
+                                                                               
        'summary'       => True,
+                                                                               
        'completed'     => True,
+                                                                               
        'dtend'         => True,
+                                                                               
        'due'           => True,
+                                                                               
        'dtstart'       => True,
+                                                                               
        'duration'      => True,
+                                                                               
        'freebusy'      => True,
+                                                                               
        'transp'        => True,
+                                                                               
        'tzid'          => True,
+                                                                               
        'tzname'        => True,
+                                                                               
        'tzoffsetfrom'  => True,
+                                                                               
        'tzoffsetto'    => True,
+                                                                               
        'tzurl'         => True,
+                                                                               
        'attendee'      => True,
+                                                                               
        'contact'       => True,
+                                                                               
        'organizer'     => True,
+                                                                               
        'recurrence_id' => True,
+                                                                               
        'url'           => True,
+                                                                               
        'uid'           => True,
+                                                                               
        'exdate'        => True,
+                                                                               
        'exrule'        => True,
+                                                                               
        'rdate'         => True,
+                                                                               
        'rrule'         => True,
+                                                                               
        'action'        => True,
+                                                                               
        'repeat'        => True,
+                                                                               
        'trigger'       => True,
+                                                                               
        'created'       => True,
+                                                                               
        'dtstamp'       => True,
+                                                                               
        'last_modified' => True,
+                                                                               
        'sequence'      => True,
+                                                                               
        'x_type'        => True,
+                                                                               
        'request_status'=> True
+                                                                       )
+                                                       )
+                                       );
+
                if(!is_object($GLOBALS['phpgw']->datetime))
                {
                        $GLOBALS['phpgw']->datetime = 
createobject('phpgwapi.datetime');
@@ -1482,7 +1604,7 @@
                $event[$type] = $value;
                if(is_string($value))
                {
-                       $this->debug("Setting $type = ".$value, __LINE__, 
__FILE__);
+                       $this->debug("Setting $type = $value", __LINE__, 
__FILE__);
                }
                else
                {
@@ -1622,14 +1744,9 @@
                $event['x_type'][] = $temp_x_type;
        }
 
-       function parse_parameters(&$event, $majortype, $value)
+       function parse_parameters(&$event,$majortype,$value)
        {
-               if ( $majortype == 'attendee' )
-               {
-                       $this->debug = true;
-               }
-
-               if ( strpos($value, '=') === False && strpos($value, ';') === 
False )
+               if(!ereg('[\=\;]',$value))
                {
                        $return_value[] = array(
                                        'param' => $majortype,
@@ -1637,11 +1754,11 @@
                                        );
                        $value = '';
                }
-               elseif(ereg('(.*(\:\\\\)?.*):(.*)', $value, $temp))
+               elseif(ereg('(.*(\:\\\\)?.*):(.*)',$value,$temp))
                {
-                       $this->debug('Value : '._debug_array($temp ,False), 
__LINE__, __FILE__);
-                       $this->debug('Param '.$majortype.' Value : '.$temp[3], 
__LINE__, __FILE__);
-                       if($temp[3]) //do we have an email address?
+                       $this->debug('Value : '._debug_array($temp,False));
+                       $this->debug('Param '.$majortype.' Value : '.$temp[3]);
+                       if($temp[3])
                        {
                                $return_value[] = array(
                                                'param' => $majortype,
@@ -1649,30 +1766,30 @@
                                                );
                                $value = str_replace(':MAILTO','',$temp[1]);
                        }
-                       while(ereg('(([A-Z\-]*)[=]([[:alnum:] 
\_\)\(\/\$\.\,\:\\\|\*\&\^\%\#\!\~\"\?\&address@hidden<\>\-]*))([\;]?)(.*)', 
$value, $temp))
+                       while(ereg('(([A-Z\-]*)[=]([[:alnum:] 
\_\)\(\/\$\.\,\:\\\|\*\&\^\%\#\!\~\"\?\&address@hidden<\>\-]*))([\;]?)(.*)',$value,$temp))
                        {
-                               $this->debug('Value : 
'._debug_array($temp,False), __LINE__, __FILE__);
-                               $this->debug('Param '.$temp[2].' Value : 
'.$temp[3], __LINE__, __FILE__);
-                               $return_value[] = Array(
+                               $this->debug('Value : 
'._debug_array($temp,False));
+                               $this->debug('Param '.$temp[2].' Value : 
'.$temp[3]);
+                               $return_value[] = array(
                                                'param' => $temp[2],
                                                'value' => $temp[3]
                                                );
-                               $value = rtrim($temp[5]);
-                               $this->debug('Value would be = '.$value, 
__LINE__, __FILE__);
+                               $value = chop($temp[5]);
+                               $this->debug('Value would be = '.$value);
                        }
                }
                else
                {
-                       while(ereg('(([A-Z\-]*)[=]([[:alnum:] 
\_\)\(\/\$\.\,\:\\\|\*\&\^\%\#\!\~\"\?\&address@hidden<\>\-]*))([\;]?)(.*)', 
$value, $temp))
+                       while(ereg('(([A-Z\-]*)[=]([[:alnum:] 
\_\)\(\/\$\.\,\:\\\|\*\&\^\%\#\!\~\"\?\&address@hidden<\>\-]*))([\;]?)(.*)',$value,$temp))
                        {
-                               $this->debug('Value : 
'._debug_array($temp,False), __LINE__, __FILE__);
-                               $this->debug('Param '.$temp[2].' Value : 
'.$temp[3], __LINE__, __FILE__);
-                               $return_value[] = Array(
+                               $this->debug('Value : 
'._debug_array($temp,False));
+                               $this->debug('Param '.$temp[2].' Value : 
'.$temp[3]);
+                               $return_value[] = array(
                                                'param' => $temp[2],
                                                'value' => $temp[3]
                                                );
-                               $value = rtrim($temp[5]);
-                               $this->debug('Value would be = '.$value, 
__LINE__, __FILE__);
+                               $value = chop($temp[5]);
+                               $this->debug('Value would be = '.$value);
                        }
                }
 
@@ -1681,7 +1798,7 @@
                        $return_value = array();
                }
 
-               for( $i = 0; $i < count($return_value) ; ++$i)
+               for ( $i = 0; $i < count($return_value); ++$i)
                {
                        $name = strtolower($return_value[$i]['param']);
                        $value = 
$this->strip_quotes($return_value[$i]['value']);
@@ -1706,10 +1823,10 @@
                                        }
                                }
                        }
-                       $this->debug('name : '.$name.' : Param = '.$param, 
__LINE__, __FILE__);
-                       if(@$this->parameter[$param]['properties'][$majortype])
+                       $this->debug('name : '.$name.' : Param = '.$param);
+                       if( 
isset($this->parameter[$param]['properties'][$majortype]) && 
$this->parameter[$param]['properties'][$majortype])
                        {
-                               switch(@$this->parameter[$param]['type'])
+                               switch($this->parameter[$param]['type'])
                                {
                                        case 'dir':
                                                
$this->set_var($event,$name,$this->from_dir($value));
@@ -1735,7 +1852,7 @@
                                                
$this->set_var($event,$name,intval($value));
                                                break;
                                        case 'value':
-                                               
if($this->property[$majortype]['type'] == 'date-time')
+                                               
if(@$this->property[$majortype]['type'] == 'date-time')
                                                {
                                                        if ($majortype == 
'exdate')
                                                        {
@@ -1754,19 +1871,13 @@
                                                {
                                                        
$this->set_var($event[$majortype],$param,$value);
                                                }
-                                               $this->debug('Event : 
'._debug_array($event,False), __LINE__, __FILE__);
+                                               $this->debug('Event : 
'._debug_array($event,False));
                                                break;
                                }
-
                        }
                }
-               if ( $majortype == 'attendee' )
-               {
-                       $this->debug = false;
-               }
-
        }
-
+               
        function parse_value(&$event, $majortype, $value, $mode)
        {
                $var = array();
@@ -1819,7 +1930,7 @@
                }
        }
 
-       function build_parameters($event,$property)
+       function build_parameters($event, $property)
        {
                $str = '';
                $include_mailto = False;
@@ -1845,7 +1956,6 @@
                        }
                        else
                        {
-#while(list($dumb_key,$key) = each($param))
                                foreach ($param as $key) 
                                {
                                        if($key == 'value')
@@ -1889,7 +1999,7 @@
                                                                break;
                                                        case 'text':
                                                        case 'string':
-                                                               $str .= 
';'.strtoupper($key).'='.$quote.$value.$quote;
+                                                               $str .= ';' . 
strtoupper($key) . "=\"$value\"";
                                                                break;
                                                        case 'date-time':
                                                                $str .= 
($key=='until'?':':';UNTIL=').date('Ymd\THis',mktime($event['hour'],$event['min'],$event['sec'],$event['month'],$event['mday'],$event['year'])).(address@hidden($event['tzid'])?'Z':'');
@@ -1912,7 +2022,7 @@
                                        }
                                }
 
-                               if(isset($event[$key]) && 
@$this->parameter[$key]['properties'][$property])
+                               if ( isset($event['value']) && 
!empty($event['value']) )
                                {
                                        if($property == 'trigger')
                                        {
@@ -1946,7 +2056,6 @@
 
        function build_text($event,$property)
        {
-               error_log('build_text-----event: '. serialize($event));
                $str = '';
                $param = $this->find_parameters($property);
                foreach ($param as $key) 
@@ -1984,11 +2093,10 @@
                {
                        $str .= 
':'.($this->parameter['value']['to_text']?$this->to_text($event['value']):$event['value']);
                }
-               error_log('build_text-----str: '.$str);
                return $str;
        }
 
-       function build_card_internals($ical_item,$event)
+       function build_card_internals($ical_item, $event)
        {
                $prop = $this->find_properties($ical_item);
 
@@ -2004,6 +2112,7 @@
                        $to_text = $varray['to_text'];
                        $state = @$varray[$ical_item]['state'];
                        $multiples  = @$varray[$ical_item]['multiples'];
+
                        switch($type)
                        {
                                case 'date-time':
@@ -3064,22 +3173,20 @@
                                'freebusy'
                            );
 
-               $str = 'BEGIN:VCALENDAR'."\r\n";
-               $str .= 
$this->fold('PRODID'.$this->build_text($ical['prodid'],'prodid'));
-               $str .= "\r\n";
-               $str .= 
$this->fold('VERSION'.$this->build_text($ical['version'],'version'));
-               $str .= "\r\n";
-               $str .= 
$this->fold('METHOD'.$this->build_text($ical['method'],'method'));
-               $str .= "\r\n";
+               $str = "BEGIN:VCALENDAR\r\n"
+                       . 
$this->fold('PRODID'.$this->build_text($ical['prodid'],'prodid')) . "\r\n"
+                       . 
$this->fold('VERSION'.$this->build_text($ical['version'],'version')) . "\r\n"
+                       . 
$this->fold('METHOD'.$this->build_text($ical['method'],'method')) . "\r\n";
+
                foreach ( $var as $key => $vtype )
                {
                        if ( isset($ical[$vtype]) && $ical[$vtype] )
                        {
                                for ( $i = 0; $i < count($ical[$vtype]); ++$i )
                                {
-                                       $str .= 
'BEGIN:V'.strtoupper($vtype)."\r\n";
-                                       $str .= 
$this->build_card_internals("v$vtype", $ical[$vtype][$i] );
-                                       $str .= 
'END:V'.strtoupper($vtype)."\r\n";
+                                       $str .= 'BEGIN:V' . strtoupper($vtype) 
. "\r\n"
+                                               . 
$this->build_card_internals("v$vtype", $ical[$vtype][$i] )
+                                               . 'END:V'.strtoupper($vtype) . 
"\r\n";
                                }
                        }
                }
@@ -3694,7 +3801,7 @@
                                                        else
                                                        {       // If the 
bymonthday value contains a "-" it's meant to be the last weekday in month so  
tell set_recur_monthly_wday
                                                                // to set the 
recur_last_weekday_in_month to true (1)
-                                                               
error_log("strstr ergebnis:". strlen($ical['event'][$i]['rrule'][$r]['byday']));
+                                                               
$this->debug("strstr ergebnis:". 
strlen($ical['event'][$i]['rrule'][$r]['byday']), __LINE__, __FILE__);
                                                                if ( strlen 
($ical['event'][$i]['rrule'][$r]['byday'])>3 )
                                                                {
                                                                        
$so_event->set_recur_monthly_wday($recur_enddate['year'],$recur_enddate['month'],$recur_enddate['mday'],$interval,
 1);
@@ -3817,11 +3924,12 @@
 
                $method = ($params['method']?$params['method']:"publish");
 
-               $string_array = array(
-                               'description'   => 'description',
-                               'location'      => 'location',
-                               'summary'       => 'title',
-                               'uid'           => 'uid'
+               $string_array = array
+                               (
+                                       'description'   => 'description',
+                                       'location'      => 'location',
+                                       'summary'       => 'title',
+                                       'uid'           => 'uid'
                                );
 
                $cats = CreateObject('phpgwapi.categories', 0, 'calendar');
@@ -3855,7 +3963,6 @@
                        $so_event = &$GLOBALS['uicalendar']->bo->so;
                }
 
-               include(PHPGW_SERVER_ROOT.'/calendar/setup/setup.inc.php');
                if(!is_array($event_id))
                {
                        $ids[] = $event_id;
@@ -3867,8 +3974,9 @@
 
                $ical = $this->new_ical();
 
+               include(PHPGW_SERVER_ROOT.'/calendar/setup/setup.inc.php');
                $versiona = explode('.', $setup_info['calendar']['version']);
-               unset($versiona[count($versiona)]);
+               unset($versiona[count($versiona) - 1]); //drop the minor from 
the version (hide patch level from clients)
                $version = implode('.', $versiona);
 
                
$this->set_var($ical['prodid'],'value',"-//phpGroupWare//phpGroupWare $version 
MIMEDIR//" . 
strtoupper($GLOBALS['phpgw_info']['user']['preferences']['common']['lang']));
@@ -3881,18 +3989,6 @@
                        $ical_event = array();
                        $event = $so_event->read_entry($value);
 
-                       if( isset($event['alarm']) && is_array($event['alarm']) 
)
-                       {
-                               foreach ( $event['alarm'] as $alarm )
-                               {
-                                       $ical_temp = Array();
-                                       $ical_temp['action']['value'] = 
'DISPLAY';
-                                       $ical_temp['description']['value'] = 
$alarm['text'];
-                                       $this->set_var($ical_temp['trigger'], 
'value', 'VALUE=DATE-TIME:' . date('Ymd\THis\Z', $alarm['time']), 'valarm');
-                                       $ical_event['alarm'][] = $ical_temp;
-                               }
-                       }
-
                        $ical_event['priority'] = $event['priority'];
                        $ical_event['class'] = intval($event['public']);
                        $dtstart_mktime = $so_event->maketime($event['start']);
@@ -3903,20 +3999,24 @@
                        $this->parse_value($ical_event, 'last_modified', 
date('Ymd\THis\Z', $mod_mktime), 'vevent');
 
                        foreach( $string_array as $ical_value => $event_value)
+                       {
+                               if ( isset($event[$event_value]) && 
$event[$event_value] )
+                               {
+                                       
$this->set_var($ical_event[$ical_value], 'value', $event[$event_value]);
+                               }
+                       }
 
-                               if ($event['category'])
+                       if( isset($event['alarm']) && is_array($event['alarm']) 
)
+                       {
+                               foreach ( $event['alarm'] as $alarm )
                                {
-                                       $cats->categories(0,'calendar');
-                                       $category = 
explode(',',$event['category']);
-                                       @reset($category);
-                                       while(list($key,$cat) = each($category))
-                                       {
-                                               $_cat = 
$cats->return_single($cat);
-                                               $cat_string[] = 
$_cat[0]['name'];
-                                       }
-                                       @reset($cat_string);
-                                       
$this->set_var($ical_event['categories'],'value',implode($cat_string,','));
+                                       $ical_temp = Array();
+                                       $ical_temp['action']['value'] = 
'DISPLAY';
+                                       $ical_temp['description']['value'] = 
$alarm['text'];
+                                       $this->set_var($ical_temp['trigger'], 
'value', 'VALUE=DATE-TIME:' . date('Ymd\THis\Z', $alarm['time']), 'valarm');
+                                       $ical_event['alarm'][] = $ical_temp;
                                }
+                       }
 
                        if ( isset($event['category']) && 
strlen($event['category']) )
                        {
@@ -3956,12 +4056,12 @@
 
                                        $owner_status = 
$this->switch_partstat(intval($this->switch_phpgw_status($event['participants'][$part])));
 
-                                       $str = 
"PARTSTAT={$owner_status};CN=\"{$name}\":MAILTO:";
+                                       $str = 
"PARTSTAT={$owner_status};CN=\"{$name}\"";
 
                                        $mailto = 
trim($contacts->get_email($part));
                                        if ( strlen($mailto) )
                                        {
-                                               $str .= "{$mailto}";
+                                               $str .= ":MAILTO:{$mailto}";
                                        }
 
                                        if($part == $event['owner'])
@@ -4131,12 +4231,9 @@
 
        function debug($str='', $line = __LINE__, $file = __FILE__)
        {
-               if($this->debug_str)
+               if ( $this->debug_str && strlen($str) )
                {
-                       if($this->debug)
-                       {
-                               error_log("{$str} in {$file} at {$line}");
-                       }
+                       error_log("{$str} in {$file} at {$line}");
                }
        }
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]