/** * Creates a new Multimedia model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate($objetos_id) { // $files_post = Yii::$app->request->post(); $model = new Multimedia(); if ($model->load(Yii::$app->request->post())) { $acervo_id = $model->objetos_id; // Load images $files = UploadedFile::getInstances($model, 'files'); $upload_ok = TRUE; $filesUploads = 0; foreach ($files as $file) { $filesUploads++; $multimedia = new Multimedia(); $multimedia->objetos_id = $acervo_id; $multimedia->tipoMultimedia_id = 1; // Tipo Imagen $ext = end(explode(".", $file->name)); $filename = $acervo_id . "_" . Yii::$app->security->generateRandomString() . ".{$ext}"; $multimedia->path = $multimedia->getImageFilePath() . $filename; if ($file->saveAs($multimedia->path, true)) { $multimedia->webPath = $multimedia->getUrlImageFolder() . $filename; $multimedia->save(); } else { $upload_ok = FALSE; } $upload_ok = $upload_ok && TRUE; } if ($filesUploads) { if ($upload_ok) { Yii::$app->session->setFlash('success', ['type' => 'success', 'icon' => 'fa fa-users', 'message' => 'Imágenes cargadas exitosamente', 'title' => 'Carga de imágenes', 'positonY' => 'top', 'positonX' => 'left']); } else { Yii::$app->session->setFlash('error', ['icon' => 'fa fa-users', 'message' => 'Una o mas imagenes han sigo cargadas con error', 'title' => 'Carga de imágenes', 'positonY' => 'top', 'positonX' => 'left']); } } return $this->redirect(['acervo/view', 'id' => $model->objetos_id]); } $model->objetos_id = $objetos_id; return $this->render('create', ['model' => $model]); }
/** * Displays a single Acervo model with images * @param integer $id * @return mixed */ private function createOrUpdate($id = NULL, $ingreso_id = NULL, $ingreso_return = FALSE) { $model = NULL; $acervo_id = NULL; // Load Acervo ID From Model or Update ID $acervo = Yii::$app->request->post('Acervo'); if (!empty($acervo) && array_key_exists('id', $acervo)) { $acervo_id = $acervo['id']; } elseif (!empty($id)) { $acervo_id = $id; } // Load Acervo model or Create new one if (!empty($acervo_id)) { $model = $this->findModel($acervo_id); } else { $model = new Acervo(); $model->publicar_id = 1; } // Load Ingreso ID. //Request comes from Ingreso form if (!empty($ingreso_id)) { $model->ingreso_id = $ingreso_id; if ($model->isNewRecord) { $model->nroA = $ingreso_id; } } // Load Form data into model & Save it if ($model->load(Yii::$app->request->post())) { $dia = ''; $dia2 = ''; $mes = ''; $mes2 = ''; $anio = ''; $anio2 = ''; $fechaInicio = Yii::$app->request->post('fechaInicioRestauracion-acervo-fechainiciorestauracion'); $fechaFin = Yii::$app->request->post('fechaFinRestauracion-acervo-fechafinrestauracion'); if (strlen($fechaFin) > 0) { list($dia2, $mes2, $anio2) = explode("/", $fechaFin); $model->fechaFinRestauracion = $anio2 . '-' . $mes2 . '-' . $dia2; } if (isset($fechaInicio) and strlen($fechaInicio) > 0) { list($dia, $mes, $anio) = explode("/", $fechaInicio); $model->fechaInicioRestauracion = $anio . '-' . $mes . '-' . $dia; //Yii::$app->request->post('fechaFinRestauracion-acervo-fechafinrestauracion'); } if (!$model->save()) { // exception err var_dump($model);die();or de guardado } $acervo_id = $model->id; } //var_dump(Yii::$app->request);die(); // Save UbicacionExterna if ($this->saveUbicacionExterna($acervo_id, Yii::$app->request->post('UbicacionExterna'), Yii::$app->request->post('fechaInicio-ubicacionexterna-fechainicio'), Yii::$app->request->post('fechaCierre-ubicacionexterna-fechacierre'))) { Yii::$app->session->setFlash('success', ['type' => 'success', 'icon' => 'fa fa-users', 'message' => 'Ubicación Externa guardada exitosamente', 'title' => 'Carga de ubicación externa', 'positonY' => 'top', 'positonX' => 'left']); } // exception error de guardado // Load images $files = UploadedFile::getInstances($model, 'files'); $upload_ok = TRUE; $filesUploads = 0; foreach ($files as $file) { $filesUploads++; $multimedia = new Multimedia(); $multimedia->objetos_id = $acervo_id; $multimedia->tipoMultimedia_id = 1; // Tipo Imagen $ext = end(explode(".", $file->name)); $filename = $acervo_id . "_" . Yii::$app->security->generateRandomString() . ".{$ext}"; $multimedia->path = $multimedia->getImageFilePath() . $filename; if ($file->saveAs($multimedia->path, true)) { $multimedia->webPath = $multimedia->getUrlImageFolder() . $filename; $multimedia->save(); } else { $upload_ok = FALSE; } $upload_ok = $upload_ok && TRUE; } if ($filesUploads > 0) { if ($upload_ok) { Yii::$app->session->setFlash('success', ['type' => 'success', 'icon' => 'fa fa-users', 'message' => 'Imágenes cargadas exitosamente', 'title' => 'Carga de imágenes', 'positonY' => 'top', 'positonX' => 'left']); } else { Yii::$app->session->setFlash('error', ['icon' => 'fa fa-users', 'message' => 'Una o mas imagenes han sigo cargadas con error', 'title' => 'Carga de imágenes', 'positonY' => 'top', 'positonX' => 'left']); } } // View to Render //Obtener fotos $dataprovider = new ArrayDataProvider(['allModels' => Multimedia::findAll(['objetos_id' => $model->id])]); //Obtener Ubicaciones Externas $dataprovider_ue = new ArrayDataProvider(['allModels' => UbicacionExterna::findAll(['acervo_id' => $model->id])]); if (Yii::$app->request->post('saveClose') == 1) { if ($ingreso_return) { return $this->redirect(['ingreso/update', 'id' => $model->ingreso_id, 'dataProvider' => $dataprovider, 'dataProviderUbicacionExterna' => $dataprovider_ue]); } return $this->redirect(['view', 'id' => $model->id, 'dataProvider' => $dataprovider, 'dataProviderUbicacionExterna' => $dataprovider_ue]); } return $this->render('ingreso', ['model' => $model, 'enableReturn' => $ingreso_return, 'dataProvider' => $dataprovider, 'dataProviderUbicacionExterna' => $dataprovider_ue]); }