/** * Creates a new CodeBankCampaign model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate($step = null) { $model = new CodeBankCampaign(); $model->loadDefaultValues(); $model->scenario = 'step1'; $codes = Yii::$app->user->identity->availableCodes; $codes = ArrayHelper::merge($codes, Yii::$app->user->identity->availableGroupCodes); $request = Yii::$app->request; foreach ($codes as $key => $value) { if (Yii::$app->user->can('createCampaign', ['code' => $value])) { $allCodes[$value] = $value; } } if ($model->load($request->post()) && isset($step) && $model->validate()) { switch ($model->modelClass) { case 'Video': return $this->run('/video/load-video', ['codeBankCampaign' => $model]); break; case 'Review': return $this->run('/review/load-review', ['codeBankCampaign' => $model]); break; case 'Contest': return $this->run('/question/load-review', ['codeBankCampaign' => $model]); break; default: } return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model, 'codes' => $allCodes]); } }
public function actionStep() { $model = new Question(); $answers = []; $count = count(Yii::$app->request->post('Answer', [])); $codeBankCampaign = new CodeBankCampaign(); $codeBankCampaign->load(Yii::$app->request->post()); if (Yii::$app->request->isPost && $model->load(Yii::$app->request->post()) && $model->validate()) { if ($count > 0) { if ($model->qType === '1') { $temp = Yii::$app->request->post('Answer', []); $count = count($temp['answer']); for ($i = 0; $i < $count; $i++) { $answer = new Answer(); $answer->scenario = 'objective'; $answer->answer = $temp['answer'][$i]; $answer->correctObjective = $temp['correctObjective'][$i]; $answer->validate(); $answers[] = $answer; } } } } return $this->render('step', ['model' => $model, 'codeBankCampaign' => $codeBankCampaign, 'answers' => $answers]); }
public function actionConfirmed() { $codeBankCampaign = new CodeBankCampaign(); $codeBankCampaign->loadDefaultValues(); $video = new Video(); $video->loadDefaultValues(); $request = Yii::$app->request; if ($request->isPost) { $lib = new Vimeo(Yii::$app->params['vimeoClientId'], Yii::$app->params['vimeoSecret'], Yii::$app->params['vimeoAccessToken']); if ($codeBankCampaign->load($request->post()) && $video->load($request->post())) { $response = $lib->request('/me/videos/' . $video->videoId, [], 'GET'); $video->duration = $response['body']['duration']; $video->embed = $response['body']['embed']['html']; $video->poster = $response['body']['pictures']['sizes'][3]['link']; $files = $response['body']['files']; foreach ($files as $key => $value) { switch ($value['quality']) { case 'mobile': $video->mobileLink = $value['link']; break; case 'sd': $video->sdLink = $value['link']; break; case 'hls': $video->hlsLink = $value['link']; break; } } if (isset($codeBankCampaign->codeBank_code)) { $video->confirmed = 1; } $video->save(); $codeBankCampaign->objectId = $video->id; $codeBankCampaign->save(); // $view = $this->getView(); // $view->title = 'Step 3: Editing Video Information for Hyrizy Code ' . Html::tag('label',$codeBankCampaign->codeBank_code,['class'=>'label label-primary']); // return $this->render('update',['model'=>$video]); return $this->redirect(['/campaign/view', 'id' => $codeBankCampaign->id]); } } }
public function actionConfirmed() { $codeBankCampaign = new CodeBankCampaign(); $codeBankCampaign->loadDefaultValues(); $review = new Review(); $review->loadDefaultValues(); $request = Yii::$app->request; if ($request->isPost && $codeBankCampaign->load($request->post()) && $review->load($request->post())) { $isValid = $codeBankCampaign->validate(); $isValid = $review->validate() && $isValid; if ($isValid) { if ($review->save()) { $codeBankCampaign->objectId = $review->id; $codeBankCampaign->save(); return $this->redirect(['/campaign/index']); } } } return $this->render('step', ['model' => $review, 'codeBankCampaign' => $codeBankCampaign]); }