/** * Поиск рубрик и подрубрик * * @param \MongoClient $mongo * @param $rubricIds * * @return array */ protected function _getRubrics(\MongoClient $mongo, $rubricIds) { $rubricIds = array_map('intval', (array) $rubricIds); $criteria = ['path' => ['$in' => $rubricIds]]; $cursor = $mongo->selectCollection('gis', 'rubrics')->find($criteria); $rubricIds = array_merge(ArrayHelper::column($cursor, 'id'), $rubricIds); return array_values(array_unique($rubricIds)); }
/** * Check if a email field is in the fields array * @param $emailField * @param $fields * @return bool */ public function hasSameEmailField($emailField, $fields) { $emailFields = ArrayHelper::filter($fields, 'email', 'type'); $emailsArray = ArrayHelper::column($emailFields, 'label', 'name'); return array_key_exists($emailField, $emailsArray); }
/** * Return Values of all radio buttons of the form. * Format: [value1, value2, ...] * * Used by DataValidator * * @return array */ public function getRadioValues() { $fields = Json::decode($this->fields, true); $radios = ArrayHelper::filter($fields, 'radio', 'type'); return array_values(ArrayHelper::column($radios, 'value', 'id')); }