public function action() { // подготавливаю данные $country = HD::find($this->country)->getField('name'); $town = HDtown::find($this->town)->getField('name'); $datetime = $this->date->format('Y-m-d') . ' ' . $this->time; // получаю данные Дизайна Человека $extractor = new \app\modules\HumanDesign\calculate\YourHumanDesignRu(); $data = $extractor->calc(new \DateTime($datetime), $country, $town); // сохраняю картинку $url = new \cs\services\Url($data->image); $path = new SitePath('/upload/HumanDesign'); $path->add([Yii::$app->user->id, 8, $url->getExtension()]); $path->write($url->read()); $data->image = $path->getPath(); // обновляю пользовтельские данные /** @var \app\models\User $user */ $user = Yii::$app->user->identity; $fields = ['human_design' => $data->getJson(), 'birth_date' => $this->date->format('Y-m-d'), 'birth_time' => $this->time . ':00', 'birth_country' => $this->country, 'birth_town' => $this->town]; $user->update($fields); return true; }