コード例 #1
0
ファイル: BlindController.php プロジェクト: apuc/admin
 /**
  * Creates a new Blind model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $blind = new Blind();
     $model = new BlindForm();
     $media = Media::find()->orderBy('id DESC')->all();
     $materials = \backend\modules\supplies\models\Supplies::find()->all();
     foreach ($materials as $v) {
         $arr_materials[$v->id] = $v->code;
     }
     $arr_cat = CategoryTree::getTreeSelect(0);
     unset($arr_cat[0]);
     $addMaterials = \common\classes\Supplies::getAddSupplies();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $blind->name = $model->name;
         $blind->status = $model->status;
         $blind->description = $model->description;
         $blind->save();
         if (isset($_POST['infoPage'])) {
             foreach ($_POST['infoPage'] as $v) {
                 $input = explode('*', $v);
                 $s = str_replace('_', ' ', $input[0]);
                 $pb = new PageBlinds();
                 $pb->name = $s;
                 $pb->save();
                 unset($input[0]);
                 $ptb = new PageToBlind();
                 $ptb->id_pages = $pb->id;
                 $ptb->id_blind = $blind->id;
                 $ptb->save();
                 foreach ($input as $in) {
                     $pageItem = new PageItem();
                     $item = explode('_', $in);
                     if ($item[1] == 'materials') {
                         $pageItem->id_page = $pb->id;
                         $pageItem->id_item = $item[0];
                         $pageItem->item_type = 'materials';
                     } else {
                         $pageTitle = new PageForTitle();
                         $pageTitle->title = $item[0];
                         $pageTitle->save();
                         $pageItem->id_page = $pb->id;
                         $pageItem->id_item = $pageTitle->id;
                         $pageItem->item_type = 'zagolovok';
                     }
                     $pageItem->id_blind = $blind->id;
                     $pageItem->save();
                 }
             }
         }
         if (isset($_POST['blindTitle'])) {
             foreach ($_POST['blindTitle'] as $bt) {
                 $arrBt = explode('*', $bt);
                 $bmt = new BlindMaterials();
                 $bmt->id_blind = $blind->id;
                 $bmt->id_materials = $arrBt[0];
                 $bmt->title = $arrBt[1];
                 $bmt->save();
             }
         }
         foreach ($model->categories as $cat) {
             $blindCatId = new BlindCatid();
             $blindCatId->id_blind = $blind->id;
             $blindCatId->id_cat = $cat;
             $blindCatId->save();
         }
         if (!empty($_POST['blind_image'])) {
             foreach ($_POST['blind_image'] as $img) {
                 $blindImg = new BlindImg();
                 $imgarr = explode('*', $img);
                 $blindImg->id_blind = $blind->id;
                 $blindImg->images = $imgarr[0];
                 $blindImg->main = $imgarr[1];
                 $blindImg->save();
             }
         }
         if (!empty($model->materials)) {
             foreach ($model->materials as $mat) {
                 $blindMat = new BlindIdmaterials();
                 $blindMat->id_blind = $blind->id;
                 $blindMat->id_materials = $mat;
                 $blindMat->save();
             }
         }
         return $this->redirect(['index']);
     } else {
         return $this->render('create', ['model' => $model, 'categories' => $arr_cat, 'materials' => $arr_materials, 'media' => $media, 'addMat' => $addMaterials]);
     }
 }