I have a Multi - Day event but in table view it displays incorrect.

here is a dump of the array that gets build in event_calendar_data

I dump this every time someting is added to the array.

Please note that every time the event_state changes.

I think $data[$year][$month][gmdate('j', $x)][] = $nid; somehow adds a reference and not a copy

===== Monday, 25 September 2006 22:19:36 Europe/Brussels =====
 data after adding
 Array
 (
     [2006] => Array
         (
             [09] => Array
                 (
                     [nodes] => Array
                         (
                             [2055] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [vid] => 2058
                                     [type] => flexinode-1
                                     [status] => 1
                                     <stripped>
                                     [comment_count] => 0
                                     [event_start] => 1159298100
                                     [event_end] => 1159557300
                                     [timezone] => 320
                                     [start_offset] => +7200
                                     [start_format] => Dinsdag, 26 september, 2006 - 21:15
                                     [start_time_format] => 21:15
                                     [end_offset] => +7200
                                     [end_format] => Vrijdag, 29 september, 2006 - 21:15
                                     [end_time_format] => 21:15
                                     [event_node_title] => Training
                                     [taxonomy] => Array
                                         (
                                             [5] => stdClass Object
                                                 (
                                                     [tid] => 5
                                                     [vid] => 2
                                                     [name] => Internat.
                                                     [description] => 
                                                     [weight] => 0
                                                 )
  
                                         )
  
                                     [event_links] => Array
                                         (
                                             [0] => 0 keer gelezen
                                         )
  
                                 )
  
                         )
  
                     [26] => Array
                         (
                             [0] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [event_start] => 1159298100
                                     [event_state] => start
                                 )
  
                         )
  
                 )
  
         )
  
 )
  
 data after adding
 Array
 (
     [2006] => Array
         (
             [09] => Array
                 (
                     [nodes] => Array
                         (
                             [2055] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [vid] => 2058
                                     [type] => flexinode-1
                                     [status] => 1
                                     <stripped>
                                     [event_start] => 1159298100
                                     [event_end] => 1159557300
                                     [timezone] => 320
                                     [start_offset] => +7200
                                     [start_format] => Dinsdag, 26 september, 2006 - 21:15
                                     [start_time_format] => 21:15
                                     [end_offset] => +7200
                                     [end_format] => Vrijdag, 29 september, 2006 - 21:15
                                     [end_time_format] => 21:15
                                     [event_node_title] => Training
                                     [taxonomy] => Array
                                         (
                                             [5] => stdClass Object
                                                 (
                                                     [tid] => 5
                                                     [vid] => 2
                                                     [name] => Internat.
                                                     [description] => 
                                                     [weight] => 0
                                                 )
  
                                         )
  
                                     [event_links] => Array
                                         (
                                             [0] => 0 keer gelezen
                                         )
  
                                 )
  
                         )
  
                     [26] => Array
                         (
                             [0] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [event_start] => 1159298100
                                     [event_state] => ongoing
                                 )
  
                         )
  
                     [27] => Array
                         (
                             [0] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [event_start] => 1159298100
                                     [event_state] => ongoing
                                 )
  
                         )
  
                 )
  
         )
  
 )
  
 data after adding
 Array
 (
     [2006] => Array
         (
             [09] => Array
                 (
                     [nodes] => Array
                         (
                             [2055] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [vid] => 2058
                                     [type] => flexinode-1
                                     [status] => 1
                                     <stripped>
                                     [event_start] => 1159298100
                                     [event_end] => 1159557300
                                     [timezone] => 320
                                     [start_offset] => +7200
                                     [start_format] => Dinsdag, 26 september, 2006 - 21:15
                                     [start_time_format] => 21:15
                                     [end_offset] => +7200
                                     [end_format] => Vrijdag, 29 september, 2006 - 21:15
                                     [end_time_format] => 21:15
                                     [event_node_title] => Training
                                     [taxonomy] => Array
                                         (
                                             [5] => stdClass Object
                                                 (
                                                     [tid] => 5
                                                     [vid] => 2
                                                     [name] => Internat.
                                                     [description] => 
                                                     [weight] => 0
                                                 )
  
                                         )
  
                                     [event_links] => Array
                                         (
                                             [0] => 0 keer gelezen
                                         )
  
                                 )
  
                         )
  
                     [26] => Array
                         (
                             [0] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [event_start] => 1159298100
                                     [event_state] => ongoing
                                 )
  
                         )
  
                     [27] => Array
                         (
                             [0] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [event_start] => 1159298100
                                     [event_state] => ongoing
                                 )
  
                         )
  
                     [28] => Array
                         (
                             [0] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [event_start] => 1159298100
                                     [event_state] => ongoing
                                 )
  
                         )
  
                 )
  
         )
  
 )
  
 data after adding
 Array
 (
     [2006] => Array
         (
             [09] => Array
                 (
                     [nodes] => Array
                         (
                             [2055] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [vid] => 2058
                                     [type] => flexinode-1
                                     [status] => 1
                                     <stripped>
                                     [comment_count] => 0
                                     [event_start] => 1159298100
                                     [event_end] => 1159557300
                                     [timezone] => 320
                                     [start_offset] => +7200
                                     [start_format] => Dinsdag, 26 september, 2006 - 21:15
                                     [start_time_format] => 21:15
                                     [end_offset] => +7200
                                     [end_format] => Vrijdag, 29 september, 2006 - 21:15
                                     [end_time_format] => 21:15
                                     [event_node_title] => Training
                                     [taxonomy] => Array
                                         (
                                             [5] => stdClass Object
                                                 (
                                                     [tid] => 5
                                                     [vid] => 2
                                                     [name] => Internat.
                                                     [description] => 
                                                     [weight] => 0
                                                 )
  
                                         )
  
                                     [event_links] => Array
                                         (
                                             [0] => 0 keer gelezen
                                         )
  
                                 )
  
                         )
  
                     [26] => Array
                         (
                             [0] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [event_start] => 1159298100
                                     [event_state] => end
                                 )
  
                         )
  
                     [27] => Array
                         (
                             [0] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [event_start] => 1159298100
                                     [event_state] => end
                                 )
  
                         )
  
                     [28] => Array
                         (
                             [0] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [event_start] => 1159298100
                                     [event_state] => end
                                 )
  
                         )
  
                     [29] => Array
                         (
                             [0] => stdClass Object
                                 (
                                     [nid] => 2055
                                     [event_start] => 1159298100
                                     [event_state] => end
                                 )
  
                         )
  
                 )
  
         )
  
 )
  
 $node->event_state:end
 $node->event_state:end
 $node->event_state:end
 $node->event_state:end

Comments

BachusII’s picture

PHP 5, right?

You might want to take a gander at http://drupal.org/node/63239
I think these bugreports are duplicates.

 

If correct, we might want to add some specifics to the title of this report.
PHP 5, clone object, etcetera

bwynants’s picture

Title: end-start-ongoing attribute does not ripple through » [php5, clone] end-start-ongoing attribute does not ripple through

Yes, the clone is what is missing. When i was searching drupal.org for a solution I even saw that issue but the title mislead me into thinking it was a feature request so I did not read it.

It does prove my findings where correct....

Hey, this looks pretty important and needs fixing I guess!

bwynants’s picture

   $data[$year][$month][gmdate('j', $x)][] =$nid;

should become

   $data[$year][$month][gmdate('j', $x)][] = drupal_clone($nid);

3 times in function event_calendar_data

I don't have an unmodified event.module to create a patch...

killes@www.drop.org’s picture

Status: Active » Closed (duplicate)