$fstruct = cmsCore::request('fstruct', 'array', array()); foreach ($fstruct as $key=>$value) { if ($value=='') { unset($fstruct[$key]); continue; } if ($_REQUEST['fformat'][$key]=='html') { $fstruct[$key] .= '/~h~/'; } if ($_REQUEST['fformat'][$key]=='link') { $fstruct[$key] .= '/~l~/'; } if ($_REQUEST['flink'][$key]) { $fstruct[$key] .= '/~m~/'; } } $fstruct = cmsCore::arrayToYaml($fstruct); } $cat['fieldsstruct'] = cmsCore::c('db')->escape_string($fstruct); if ($opt == 'submit_cat') { $cat_id = cmsCore::c('db')->addNsCategory('cms_uc_cats', cmsCore::callEvent('ADD_CATALOG_CAT', $cat)); } else { $cat_id = cmsCore::request('item_id', 'int', 0); $model->updateCategory($cat_id, $cat); } if ($cat['is_public']) { $showfor = cmsCore::request('showfor', 'array_int', array()); if ($showfor) { $model->setCategoryAccess($cat_id, $showfor); } } else { $model->clearCategoryAccess($cat_id); } cmsCore::addSessionMessage($_LANG['AD_DO_SUCCESS'], 'success'); cmsCore::redirect('?view=components&do=config&id='.$id.'&opt=list_cats'); }