нашел вот такой обработчик событий.может как нибудь поможет...
[CODE]$news_arrFilter = array();
if(!isset($news_arrFilter["SECTION_ID"]) && !isset($_REQUEST["arrFilter_ff"]["SECTION_ID"]) && CModule::IncludeModule("iblock")){
//echo "<pre>"; print_r($arrFilter); echo "</pre>";
global $rssm_init_region_data;
if($rssm_init_region_data['region'] != ""){
$arFilter1 = Array('IBLOCK_ID'=>18, 'GLOBAL_ACTIVE'=>'Y', "NAME" => "%".$rssm_init_region_data['region']."%");
$db_list = CIBlockSection::GetList(Array(), $arFilter1, true);
while($ar_result = $db_list->Fetch()){
$news_arrFilter["SECTION_ID"] = $ar_result['ID'];
}
}
}
[/CODE]и вот еще.это первое идет.а потом тот,что вверху
[CODE]<?$APPLICATION->ShowPanel();?> <?
global $USER;
//if(isset($_REQUEST['rssm_change_region']) && $_REQUEST['rssm_change_region'] != ""){
if(isset($_REQUEST['rssm_change_region'])){
if($USER->IsAuthorized()){
$fields = Array( "PERSONAL_STATE" => $_REQUEST['rssm_change_region'], "WORK_STATE" => $_REQUEST['rssm_change_region']);
$USER->Update($USER->GetID(), $fields);
}else{
$_SESSION['rssm_region'] = $_REQUEST['rssm_change_region'];
}
}
$rssm_init_region_data = array();
if($USER->IsAuthorized()){
$rsUser = CUser::GetByID($USER->GetID());
$arUser = $rsUser->Fetch();
//if(isset($arUser["PERSONAL_STATE"]) && strlen($arUser["PERSONAL_STATE"]) > 0){
if(isset($arUser["PERSONAL_STATE"])){
//echo $arUser["PERSONAL_STATE"];
$rssm_init_region_data['region'] = $arUser["PERSONAL_STATE"];
$rssm_init_region_data['country'] = 'RU';
//}elseif(isset($arUser["WORK_STATE"]) && strlen($arUser["WORK_STATE"]) > 0){
}elseif(isset($arUser["WORK_STATE"])){
$rssm_init_region_data['region'] = $arUser["WORK_STATE"];
$rssm_init_region_data['country'] = 'RU';
}else{
$rssm_init_o = array(); // опции. необзятательно.
$rssm_init_geo = new Geo($rssm_init_o); // запускаем класс
$rssm_init_region_data = $rssm_init_geo->get_value(false, false);
//$fields = Array( "PERSONAL_STATE" => $rssm_init_region_data['region'] );
//$USER->Update($USER->GetID(), $fields);
}
}else{
if(isset($_SESSION['rssm_region'])){
$rssm_init_region_data['region'] = $_SESSION['rssm_region'];;
$rssm_init_region_data['country'] = 'RU';
}else{
$rssm_init_o = array(); // опции. необзятательно.
$rssm_init_geo = new Geo($rssm_init_o); // запускаем класс
$rssm_init_region_data = $rssm_init_geo->get_value(false, false);
$_SESSION['rssm_region'] = $rssm_init_region_data['region'];
}
}
?>
[/CODE]