req->get("id", "")); $buscar = trim($this->req->get("buscar", "")); $query = $this->queryInicial; if ($id > 0) { $query->andWhere(["id" => $id]); } if ($buscar) { # Ejemplo de buscador $query->andWhere([ "OR", ["ilike", "nombre", $buscar] ]); // } return new Respuesta($query, $this->limite, $this->pagina, $this->ordenar); } public function actionGuardar() { $dominio = Yii::$app->getRequest()->getHostInfo() . "/assets/"; $archivo = UploadedFile::getInstanceByName('file'); $tipo = $this->req->getBodyParam("tipo", ""); if ($archivo === null) { return (new Respuesta()) ->mensaje("No se recibió el archivo") ->esError(); } $sec = Yii::$app->getSecurity(); $base = Yii::getAlias("@app") . "/web/assets/"; $ruta = "archivos/"; try { if (!is_dir($base . $ruta)) { mkdir($base . $ruta); } $ruta .= date("Y/"); if (!is_dir($base . $ruta)) { mkdir($base . $ruta); } $ruta .= date("m/"); if (!is_dir($base . $ruta)) { mkdir($base . $ruta); } do { $nombreArchivo = str_replace("-", "", $ruta . $sec->generateRandomString()); if ($archivo->extension) { $nombreArchivo .= "." . $archivo->extension; } } while (is_file($base . $nombreArchivo)); if (!$archivo->saveAs($base . $nombreArchivo)) { //throw new \Exception("Ocurrió un problema al guardar el archivo (29032023)"); return (new Respuesta()) ->mensaje("Ocurrió un problema al guardar el archivo (29032023)") ->esError(); } } catch (\Exception $e) { //throw new \Exception($e->getMessage() . "error al guardar (12233124)"); return (new Respuesta()) ->mensaje($e->getMessage() . "error al guardar (12233124)") ->esError(); } $uuid = Uuid::uuid4()->toString(); $model = new Media(); $model->creado = new Expression('now()'); $model->ruta = $dominio . $nombreArchivo; $model->ubicacionFisica = $dominio . $nombreArchivo; $model->uuid = $uuid; $model->extension = $archivo->extension; $model->descripcion = $archivo->name; $model->mimeType = $archivo->type; if ($tipo !== "") $model->tipo = $tipo; if (!$model->save()) { //throw new \Exception("error al guardar (761253)"); return (new Respuesta($model)) ->mensaje("error al guardar (761253)") ->esError(); } else { return (new Respuesta($model)) ->mensaje("Archivo Subido correctamente"); } } public function actionEliminar() { $id = trim($this->req->getBodyParam("id", null)); $user = Yii::$app->getUser()->getId(); $modelo = null; $entro = false; if (!empty($id)) { $entro = true; $modelo = Media::find()->andWhere(["id" => $id])->one(); } if ($modelo === null) { return (new Respuesta(["id" => $id, "entro" => $entro, "modelo" => $modelo]))->esError()->mensaje("Archivo no encontrado"); } $modelo->idUsuario = $user; $modelo->eliminado = new Expression('now()'); if (!$modelo->save()) { return (new Respuesta($modelo)) ->mensaje("No se pudo eliminar Archivo"); } return (new Respuesta())->mensaje("Archivo eliminado"); } }