public function translateSphinxCriterion(SphinxCriterion $crit)
 {
     $field = $crit->getTable() . '.' . $crit->getColumn();
     $value = $crit->getValue();
     $fieldName = null;
     if ($field == categoryKuserPeer::STATUS) {
         $fieldName = categoryKuserPeer::STATUS;
     }
     if ($fieldName) {
         $partnerIdCrit = $this->getCriterion(categoryKuserPeer::PARTNER_ID);
         if ($partnerIdCrit && $partnerIdCrit->getComparison() == Criteria::EQUAL) {
             $partnerId = $partnerIdCrit->getValue();
         } else {
             $partnerId = kCurrentContext::getCurrentPartnerId();
         }
         if (is_array($value)) {
             foreach ($value as &$singleValue) {
                 $singleValue = categoryKuser::getSearchIndexFieldValue($fieldName, $singleValue, $partnerId);
             }
         } else {
             $value = categoryKuser::getSearchIndexFieldValue($fieldName, $value, $partnerId);
         }
     }
     return array($field, $crit->getComparison(), $value);
 }
 protected function applyFilterFields(baseObjectFilter $filter)
 {
     $partnerId = kCurrentContext::$partner_id ? kCurrentContext::$partner_id : kCurrentContext::$ks_partner_id;
     if ($filter->get('_in_status')) {
         $statusList = explode(',', $filter->get('_in_status'));
         foreach ($statusList as &$status) {
             $status = categoryKuser::getSearchIndexFieldValue(categoryKuserPeer::STATUS, $status, $partnerId);
         }
         $filter->set('_in_status', implode(',', $statusList));
     }
     if ($filter->get('_eq_status')) {
         $filter->set('_eq_status', categoryKuser::getSearchIndexFieldValue(categoryKuserPeer::STATUS, $filter->get('_eq_status'), $partnerId));
     }
     if ($filter->get('_in_update_method')) {
         $updateMethodList = explode(',', $filter->get('_in_update_method'));
         foreach ($updateMethodList as &$updateMethod) {
             $updateMethod = categoryKuser::getSearchIndexFieldValue(categoryKuserPeer::UPDATE_METHOD, $updateMethod, $partnerId);
         }
         $filter->set('_in_update_method', implode(',', $updateMethodList));
     }
     if ($filter->get('_eq_update_method')) {
         $filter->set('_eq_update_method', categoryKuser::getSearchIndexFieldValue(categoryKuserPeer::UPDATE_METHOD, $filter->get('_eq_update_method'), $partnerId));
     }
     if ($filter->get('_matchor_permission_names')) {
         $permissionNamesList = explode(',', $filter->get('_matchor_permission_names'));
         foreach ($permissionNamesList as &$permissionName) {
             $permissionName = categoryKuser::getSearchIndexFieldValue(categoryKuserPeer::PERMISSION_NAMES, $permissionName, $partnerId);
         }
         $filter->set('_matchor_permission_names', implode(',', $permissionNamesList));
     }
     if ($filter->get('_matchand_permission_names')) {
         $permissionNamesList = explode(',', $filter->get('_matchand_permission_names'));
         foreach ($permissionNamesList as &$permissionName) {
             $permissionName = categoryKuser::getSearchIndexFieldValue(categoryKuserPeer::PERMISSION_NAMES, $permissionName, $partnerId);
         }
         $filter->set('_matchand_permission_names', implode(',', $permissionNamesList));
     }
     if ($filter->get('_notcontains_permission_names')) {
         $permissionNamesList = explode(',', $filter->get('_notcontains_permission_names'));
         foreach ($permissionNamesList as &$permissionName) {
             $permissionName = categoryKuser::getSearchIndexFieldValue(categoryKuserPeer::PERMISSION_NAMES, $permissionName, $partnerId);
         }
         $filter->set('_notcontains_permission_names', $permissionNamesList);
     }
     if ($filter->get('_eq_category_full_ids')) {
         $filter->set('_eq_category_full_ids', $filter->get('_eq_category_full_ids') . category::FULL_IDS_EQUAL_MATCH_STRING);
     }
     return parent::applyFilterFields($filter);
 }