Changeset 16380

Show
Ignore:
Timestamp:
05/15/08 14:05:01 (5 months ago)
Author:
rambo
Message:

more robust language handling

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/MidCOM_2_8/net.nemein.calendar/handler/edit.php

    r14841 r16380  
    6464        debug_push_class(__CLASS__, __FUNCTION__); 
    6565 
     66        $this->_request_data['viewer_instance']->_enter_language(); 
    6667        $this->_request_data['event'] = new net_nemein_calendar_event_dba($args[0]); 
     68        $this->_request_data['viewer_instance']->_exit_language(); 
    6769 
    6870        if ($this->_request_data['event']) 
     
    7274            { 
    7375                debug_pop(); 
    74                 $_MIDCOM->generate_error(MIDCOM_ERRNOTFOUND, 'Event not in the event tree')
    75                 // This will exit 
     76                return false
     77                // this will 404 
    7678            } 
    7779 
  • branches/MidCOM_2_8/net.nemein.calendar/handler/view.php

    r14841 r16380  
    8080        } 
    8181 
     82        $this->_request_data['viewer_instance']->_enter_language(); 
    8283        $qb = net_nemein_calendar_event_dba::new_query_builder(); 
    8384 
     
    107108        if ($qb->count() === 0) 
    108109        { 
     110            $this->_request_data['viewer_instance']->_exit_language(); 
    109111            return false; 
    110112        } 
     
    113115        $this->_request_data['event'] = $events[0]; 
    114116 
     117        $this->_request_data['viewer_instance']->_exit_language(); 
    115118        return true; 
    116119    } 
     
    138141        } 
    139142 
     143        /* This should not be neccessary, anymore 
    140144        if (   isset($data['original_language']) 
    141145            && $data['event']->lang == $data['original_language']) 
     
    144148            $data['event'] = new net_nemein_calendar_event_dba($data['event']->guid); 
    145149        } 
     150        */ 
    146151 
    147152        $node_url = ''; 
  • branches/MidCOM_2_8/net.nemein.calendar/viewer.php

    r16209 r16380  
    232232    function _on_can_handle($handler, $args) 
    233233    { 
     234        $this->_request_data['viewer_instance'] =& $this; 
    234235        // Load master and root event 
    235236        if (count($args) > 0) 
     
    257258    function _enter_language() 
    258259    { 
     260        if (isset($this->_request_data['original_language'])) 
     261        { 
     262            debug_push_class(__CLASS__, __FUNCTION__); 
     263            $GLOBALS['midcom_debugger']->print_function_stack('_enter_language called for second time', MIDCOM_LOG_ERROR); 
     264            debug_pop(); 
     265            return; 
     266        } 
    259267        $lang = $this->_config->get('language'); 
    260268        if ($lang) 
     
    275283        { 
    276284            mgd_set_lang($this->_request_data['original_language']); 
     285            unset($this->_request_data['original_language']); 
     286        } 
     287        else 
     288        { 
     289            debug_push_class(__CLASS__, __FUNCTION__); 
     290            $GLOBALS['midcom_debugger']->print_function_stack('_exit_language called without being in language context', MIDCOM_LOG_ERROR); 
     291            debug_pop(); 
    277292        } 
    278293    }