Exemplo n.º 1
0
 public function actionConfirm()
 {
     if (!Yii::$app->user->can('confirmRelease')) {
         throw new yii\web\ForbiddenHttpException();
     }
     if (!Yii::$app->request->isPost || !isset($_POST['Release']) || !isset($_POST['Release']['mod_id'])) {
         throw new yii\web\BadRequestHttpException();
     }
     if (isset($_POST['Release']['publish_at'])) {
         $_POST['Release']['publish_at'] = strtotime($_POST['Release']['publish_at']);
     }
     $model = Release::createObject($_POST['Release']);
     if ($model->save()) {
         Yii::$app->session->setFlash('release-confirm', ['success', 'Success', 'Release has been confirmed.']);
     } else {
         $errors = [];
         foreach ($model->getErrors() as $field) {
             foreach ($field as $error) {
                 $errors[] = $error;
             }
         }
         Yii::$app->session->setFlash('release-confirm', ['warning', 'Error', implode("<br/>", $errors)]);
     }
     return $this->actionView($model->mod->project->group->alias, $model->mod->project->alias, $model->mod->alias);
 }
Exemplo n.º 2
0
 /**
  * @param array|null $improves
  * @return array unimproved releases
  */
 public function getUnimprovedReleases($improves = null)
 {
     if ($improves === null) {
         $improves = $this->releases;
     }
     $path = Yii::getAlias($this->module->basePathReleases . '/' . $this->getFullAlias(count($this->project->mods) > 1 ? true : false));
     FileHelper::createDirectory($path);
     $listFolderFiles = scandir($path);
     $listTableFiles = ArrayHelper::map($improves, 'id', 'file_name');
     foreach ($listTableFiles as $i => $file) {
         if (($key = array_search($file, $listFolderFiles)) !== false) {
             unset($listFolderFiles[$key]);
         }
     }
     $unimproved = [];
     foreach ($listFolderFiles as $file) {
         if ($file != '.' && $file != '..') {
             $release = Release::createObject(['mod_id' => $this->id, 'file_name' => $file]);
             $release->parseFile();
             $unimproved[] = $release;
         }
     }
     return $unimproved;
 }