function run(&$filter_chain, &$request, &$response) { debug :: add_timing_point('locale filter started'); if(!$node = map_request_to_node($request)) { define('CONTENT_LOCALE_ID', DEFAULT_CONTENT_LOCALE_ID); define('MANAGEMENT_LOCALE_ID', CONTENT_LOCALE_ID); $locale =& locale :: instance(); $locale->setlocale(); $filter_chain->next(); return; } if($object_locale_id = site_object :: get_locale_by_id($node['object_id'])) define('CONTENT_LOCALE_ID', $object_locale_id); else define('CONTENT_LOCALE_ID', DEFAULT_CONTENT_LOCALE_ID); $user = user :: instance(); if($user_locale_id = $user->get_locale_id()) define('MANAGEMENT_LOCALE_ID', $user_locale_id); else define('MANAGEMENT_LOCALE_ID', CONTENT_LOCALE_ID); debug :: add_timing_point('locale filter finished'); $locale =& locale :: instance(); $locale->setlocale(); $filter_chain->next(); }