Example #1
0
 public function toObject($dbObject = null, $skip = array())
 {
     if (is_null($dbObject)) {
         $dbObject = new categoryKuser();
     }
     /* @var $dbObject categoryKuser */
     if (!$this->permissionNames && !is_null($this->permissionLevel) && $this->permissionLevel !== $dbObject->getPermissionLevel()) {
         $permissionNames = $dbObject->getPermissionNames();
         if ($permissionNames) {
             $permissionNamesArr = explode(',', $permissionNames);
             $permissionNamesArr = categoryKuser::removeCategoryPermissions($permissionNamesArr);
         } else {
             $permissionNamesArr = array();
         }
         $permissionNamesArr = categoryKuser::getPermissionNamesByPermissionLevel($this->permissionLevel);
         $dbObject->setPermissionNames(implode(',', $permissionNamesArr));
     }
     parent::toObject($dbObject, $skip);
     return $dbObject;
 }
 protected function applyFilterFields(baseObjectFilter $filter)
 {
     if ($filter->get('_in_status')) {
         $statusList = explode(',', $filter->get('_in_status'));
         $statusList = $this->translateToSearchIndexFieldValue(categoryKuserPeer::STATUS, $statusList);
         $filter->set('_in_status', implode(',', $statusList));
     }
     if ($filter->get('_eq_status')) {
         $filter->set('_eq_status', categoryKuser::getSearchIndexFieldValue(categoryKuserPeer::STATUS, $filter->get('_eq_status'), kCurrentContext::getCurrentPartnerId()));
     }
     if ($filter->get('_in_update_method')) {
         $updateMethodList = explode(',', $filter->get('_in_update_method'));
         $updateMethodList = $this->translateToSearchIndexFieldValue(categoryKuserPeer::UPDATE_METHOD, $updateMethodList);
         $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'), kCurrentContext::getCurrentPartnerId()));
     }
     if (!is_null($filter->get('_eq_permission_level'))) {
         $permissionLevel = $filter->get('_eq_permission_level');
         $permissionNamesList = categoryKuser::getPermissionNamesByPermissionLevel($permissionLevel);
         $negativePermissionNamesList = $this->fixPermissionNamesListForSphinx($permissionLevel);
         if ($negativePermissionNamesList) {
             $filter->set('_notcontains_permission_names', implode(',', $negativePermissionNamesList));
         }
         if ($filter->get('_matchand_permission_names')) {
             $permissionNamesList = $this->translateToSearchIndexFieldValue(categoryKuserPeer::PERMISSION_NAMES, $permissionNamesList);
             $criterion = $this->getNewCriterion(categoryKuserPeer::PERMISSION_NAMES, $permissionNamesList, baseObjectFilter::MATCH_AND);
             $this->addAnd($criterion);
         } else {
             $filter->set('_matchand_permission_names', $permissionNamesList);
         }
         $filter->unsetByName('_eq_permission_level');
     }
     if ($filter->get('_in_permission_level')) {
         $permissionLevels = $filter->get('_in_permission_level');
         $permissionLevels = explode(',', $permissionLevels);
         foreach ($permissionLevels as $permissionLevel) {
             $permissionNamesList = categoryKuser::getPermissionNamesByPermissionLevel($permissionLevel);
             $permissionNamesList = $this->translateToSearchIndexFieldValue(categoryKuserPeer::PERMISSION_NAMES, $permissionNamesList);
             $criterion = $this->getNewCriterion(categoryKuserPeer::PERMISSION_NAMES, $permissionNamesList, baseObjectFilter::MATCH_AND);
             $this->addOr($criterion);
         }
         $filter->unsetByName('_in_permission_level');
     }
     if ($filter->get('_matchor_permission_names')) {
         $permissionNamesList = explode(',', $filter->get('_matchor_permission_names'));
         $permissionNamesList = $this->translateToSearchIndexFieldValue(categoryKuserPeer::PERMISSION_NAMES, $permissionNamesList);
         $filter->set('_matchor_permission_names', implode(',', $permissionNamesList));
     }
     if ($filter->get('_matchand_permission_names')) {
         $permissionNamesList = explode(',', $filter->get('_matchand_permission_names'));
         $permissionNamesList = $this->translateToSearchIndexFieldValue(categoryKuserPeer::PERMISSION_NAMES, $permissionNamesList);
         $filter->set('_matchand_permission_names', implode(',', $permissionNamesList));
     }
     if ($filter->get('_notcontains_permission_names')) {
         $permissionNamesList = explode(',', $filter->get('_notcontains_permission_names'));
         $permissionNamesList = $this->translateToSearchIndexFieldValue(categoryKuserPeer::PERMISSION_NAMES, $permissionNamesList);
         $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);
 }