public function init() { parent::init(); $geo = new \jisoft\sypexgeo\Sypexgeo(); $res = $geo->get(); $request = \Yii::$app->request->getQueryParams(); $category = Category::find()->byUrl(ArrayHelper::getValue($request, Category::URL_PARAM_CATEGORY))->one(); $subcategory = Category::find()->byUrl(ArrayHelper::getValue($request, Category::URL_PARAM_SUBCATEGORY))->one(); $rubric = Category::find()->byUrl(ArrayHelper::getValue($request, Category::URL_PARAM_RUBRIC))->one(); $this->view->params = ['bundle' => AppAsset::register($this->view), 'categories' => Category::getMain(), 'countryEn' => $res['country']['name_en'], 'category' => $category, 'subcategory' => $subcategory, 'rubric' => $rubric]; }
public static function loadProperties(array $groupPost, array $postProperties, $update = false) { $data = $postProperties ? ArrayHelper::combine($groupPost, $postProperties) : $groupPost; if ($update) { $result = []; if ($groupPost) { foreach ($groupPost as $key => $group) { $groupModel = ($model = GroupProperty::findOne(['id' => ArrayHelper::getValue($group, 'id')])) ? $model : new GroupProperty(); if ($groupModel->load($group, '')) { //foreach properties $properties = []; foreach ($data[$key] as $property) { $propertyModel = ($model = Property::findOne(['id' => ArrayHelper::getValue($property, 'id')])) ? $model : new Property(); if (!$propertyModel->load($property, '')) { return []; } $properties[] = $propertyModel; } $result[] = ['group' => $groupModel, 'properties' => $properties]; } } } } else { $result = []; foreach ($data as $key => $items) { $properties = []; if ($postProperties) { array_walk($items, function ($entry) use(&$properties) { $properties[] = new Property($entry); }); } $result[] = ['group' => new GroupProperty($groupPost[$key]), 'properties' => $properties]; } } return $result; }