コード例 #1
0
 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;
 }
コード例 #2
0
ファイル: FileUpload.php プロジェクト: dram1008/library
 /**
  * @param array             $field
  * @param \cs\base\BaseForm $model
  *
  * @return array поля для обновления в БД
  */
 public static function onUpdate($field, $model)
 {
     $fieldName = $field[BaseForm::POS_DB_NAME];
     $v = $model->{$fieldName};
     $isDelete = false;
     $hasFile = false;
     $hasUrl = false;
     if (ArrayHelper::getValue(Yii::$app->request->post(), $model->formName() . '.' . $fieldName . '-is_delete', 0) == 1) {
         $isDelete = true;
     }
     $fileModel = $v['file'];
     if (!is_null($fileModel)) {
         if ($fileModel->error == 0) {
             $hasFile = true;
         }
     }
     if ($v['url'] != '') {
         $hasUrl = true;
     }
     $choose = '';
     if ($isDelete == false && $hasUrl == false && $hasFile == true) {
         $choose = 'file';
     }
     if ($isDelete == false && $hasUrl == true && $hasFile == false) {
         $choose = 'url';
     }
     if ($isDelete == false && $hasUrl == true && $hasFile == true) {
         $choose = 'file';
     }
     if ($isDelete == true && $hasUrl == false && $hasFile == false) {
         $choose = 'delete';
     }
     if ($isDelete == true && $hasUrl == false && $hasFile == true) {
         $choose = 'file';
     }
     if ($isDelete == true && $hasUrl == true && $hasFile == false) {
         $choose = 'url';
     }
     if ($isDelete == true && $hasUrl == true && $hasFile == true) {
         $choose = 'file';
     }
     if ($isDelete == false && $hasUrl == false && $hasFile == true) {
         $choose = 'file';
     }
     if ($isDelete == false && $hasUrl == true && $hasFile == false) {
         $choose = 'url';
     }
     if ($isDelete == false && $hasUrl == true && $hasFile == true) {
         $choose = 'file';
     }
     if ($choose == 'delete') {
         $row = $model->getRow();
         $dbValue = ArrayHelper::getValue($row, $fieldName, '');
         if ($dbValue != '') {
             // удалить старые файлы
             $f = new SitePath($dbValue);
             $f->deleteFile();
         }
         return [$fieldName => ''];
     }
     if ($choose == 'url') {
         try {
             $data = file_get_contents($v['url']);
         } catch (\Exception $e) {
             $data = '';
         }
         if ($data == '') {
             return [];
         }
         $file = File::content($data);
         $url = new \cs\services\Url($v['url']);
         $extension = $url->getExtension('jpg');
         return self::save($file, $extension, $field, $model);
     }
     if ($choose == 'file') {
         $file = File::path($fileModel->tempName);
         $extension = $fileModel->extension;
         return self::save($file, $extension, $field, $model);
     }
     return [];
 }