Exemplo n.º 1
0
 /**
  * Creates a new Source model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $basicModel = '';
     $basicId = 0;
     $params = Yii::$app->request->post();
     if ($params && $params['Source']) {
         foreach ($params['Source'] as $key => $value) {
             $params['Source']['update_time'] = time();
             $params['Source']['create_time'] = time();
         }
         $basicId = $params['Source']['basic_id'];
         $basicModel = Basic::findOne($basicId);
         if (!$basicModel) {
             throw new NotFoundHttpException('The basic info does not exist.');
         }
         $urlEncode = "";
         if (!empty($params['Source']['download_url'])) {
             $urlEncode = md5(trim($params['Source']['download_url']));
         } elseif (!empty($params['Source']['play_url'])) {
             $urlEncode = md5(trim($params['Source']['play_url']));
         }
         #check source temp url_encode
         $sourceTempData = SourceTemp::findOne(['url_encode' => $urlEncode]);
         if ($sourceTempData) {
             throw new ServerErrorHttpException('The source temp info does exist.');
         }
     }
     $model = new Source();
     if ($model->load($params) && $model->save()) {
         #add source_temp
         $sourceTempModel = new sourceTemp();
         $sourceTempModel->basic_id = $basicId;
         $sourceTempModel->title = $basicModel->title;
         $sourceTempModel->year = $basicModel->year;
         $sourceTempModel->type = $params['Source']['type'];
         $sourceTempModel->name = $params['Source']['name'];
         $sourceTempModel->download_url = $params['Source']['download_url'];
         $sourceTempModel->play_url = $params['Source']['play_url'];
         $sourceTempModel->ext = $params['Source']['ext'];
         $sourceTempModel->url_encode = $urlEncode;
         $sourceTempModel->sort = $params['Source']['sort'];
         $sourceTempModel->status = $params['Source']['status'];
         $sourceTempModel->update_time = time();
         $sourceTempModel->create_time = time();
         $sourceTempModel->save();
         #update basic
         $basicModel->source_num = $basicModel->source_num + 1;
         $basicModel->update_time = time();
         $ret = $basicModel->save();
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }