Index: trunk/core/kernel/event_manager.php =================================================================== diff -u -N -r3559 -r3834 --- trunk/core/kernel/event_manager.php (.../event_manager.php) (revision 3559) +++ trunk/core/kernel/event_manager.php (.../event_manager.php) (revision 3834) @@ -83,9 +83,29 @@ * @param Array $new_query_maps * @access public */ - function setQueryMaps($new_query_maps) + /*function setQueryMaps($new_query_maps) { $this->queryMaps = $new_query_maps; + }*/ + + /** + * Adds new query map to already parsed query maps + * + * @param string $prefix + */ + function setQueryMap($prefix_special) + { + list($prefix) = explode('.', $prefix_special); + $query_map = $this->Application->getUnitOption($prefix, 'QueryString'); + if ($query_map) { + $this->queryMaps[$prefix_special] = $query_map; + } + else { + unset($this->queryMaps[$prefix]); + } + + $this->Application->SetVar('passed', implode(',', array_keys($this->queryMaps)) ); + return $query_map; } /** @@ -175,10 +195,10 @@ // if we got $_GET type submit (links, not javascript) foreach($this->queryMaps as $prefix_special => $query_map) { - $query_map=array_flip($query_map); + $query_map = array_flip($query_map); if(isset($query_map['event'])) { - $events[$prefix_special]=$this->Application->GetVar($prefix_special.'_event'); + $events[$prefix_special] = $this->Application->GetVar($prefix_special.'_event'); } } $actions = $this->Application->GetVar('do');