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); }