Ejemplo n.º 1
0
 /**
  * VISTA MIS DATOS
  * @return array|string|Response
  * @throws NotFoundHttpException
  * @throws \Exception
  */
 public function run()
 {
     $user = Yii::$app->getUser();
     $model = $this->findModelUsuario($user->id);
     $model->scenario = Usuarios::ESCENARIO_DATOS_PERFIL;
     if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
         Yii::$app->response->format = Response::FORMAT_JSON;
         return ActiveForm::validate($model);
     }
     if ($model->load(Yii::$app->request->post())) {
         $post = Yii::$app->request->post('Usuarios');
         $model->attributes = $post;
         if ($model->validate()) {
             if (!empty($post['clave_nueva'])) {
                 $model->clave_nueva = $post['clave_nueva'];
                 $model->clave = $model->clave_nueva;
                 $model->setPassword($model->clave_nueva);
                 $model->generateAuthKey();
             }
             $model->save(false);
             //
             //                $usuario = Usuarios::find()->where(['idusuario' => $model->idusuario])->one();
             //                $usuario->scenario = Usuarios::ESCENARIO_DATOS_PERFIL;
             //                echo '<pre>';print_r($usuario->attributes);die();
             //                $usuario->attributes = $model->attributes;
             //                $usuario->update(false);
         }
         if (!empty($model->imagen_nombre)) {
             $ruta = ImagenHelper::rutaImagenPerfil();
             $imagen_actual = $ruta . $model->foto;
             $imagen_nueva = $model->idusuario . '_' . uniqid() . '.png';
             $imagen_tmp_original = $ruta . str_replace(".", '-original.', $model->imagen_nombre);
             $imagen_tmp = $ruta . $model->imagen_nombre;
             $data = base64_decode($model->imagen_data);
             file_put_contents($ruta . $imagen_nueva, $data);
             if (file_exists($ruta)) {
                 //actualizo foto nueva
                 //                    $imgModel = Usuarios::find()->where(['idusuario' => $model->idusuario])->one();
                 //                    $imgModel->foto = $imagen_nueva;
                 //                    $imgModel = Usuarios::find()->where(['idusuario' => $model->idusuario])->one();
                 $model->foto = $imagen_nueva;
                 //elimino imagenes fisicas
                 if ($model->update()) {
                     if (file_exists($imagen_actual)) {
                         unlink($imagen_actual);
                     }
                     if (file_exists($imagen_tmp)) {
                         unlink($imagen_tmp);
                     }
                     if (file_exists($imagen_tmp_original)) {
                         unlink($imagen_tmp_original);
                     }
                 }
             }
         }
         return $this->controller->redirect('mis-datos');
     }
     return $this->controller->render('mis-datos', ['model' => $model]);
 }
Ejemplo n.º 2
0
 /**
  * Elimina imagen de una sessión existente
  * METODO INTERNO PARA PUBLICAR UN ANUNCIOS
  * NOTA: Las imagenes se guardan en una sessión para su trato posterior
  * al publicar un anuncio
  */
 public function run()
 {
     if (Yii::$app->request->isAjax && Yii::$app->request->post()) {
         $session = Yii::$app->session;
         $imagen = Yii::$app->request->post('imagen');
         $idUsuario = Yii::$app->request->post('usuario');
         $claveSession = ImagenHelper::SESSION_IMAGEN_ARTICULO . $idUsuario;
         //si agregan y eliminan
         if ($session->has($claveSession)) {
             $filesexistentes = $session->get($claveSession);
             $datosImagenes = ImagenHelper::eliminarInstanciaImagen($filesexistentes, $imagen);
         } else {
             $datosImagenes = ImagenHelper::eliminarInstanciaImagen(null, $imagen);
         }
         $session->set($claveSession, $datosImagenes);
         echo Json::encode($imagen);
     }
 }
Ejemplo n.º 3
0
 /**
  * Agrega imagen a una sessión existente o crea una sessión
  * METODO INTERNO PARA PUBLICAR UN ANUNCIOS
  * NOTA: Las imagenes se guardan en una sessión para su trato posterior
  * al publicar un anuncio
  */
 public function run()
 {
     $session = Yii::$app->session;
     $idUsuario = Yii::$app->user->getId();
     $claveSession = ImagenHelper::SESSION_IMAGEN_ARTICULO . $idUsuario;
     $fileName = 'file';
     if (isset($_FILES[$fileName])) {
         $file = UploadedFile::getInstanceByName($fileName);
         //existen imagenes
         if ($session->has($claveSession)) {
             $filesexistentes = $session->get($claveSession);
             $datosImagen = ImagenHelper::agregarInstanciaImagen($filesexistentes, $file);
         } else {
             $datosImagen = ImagenHelper::obtenerInstanciaImagen($file);
         }
         $session->set($claveSession, $datosImagen);
         echo Json::encode($file);
     }
 }
Ejemplo n.º 4
0
                    <label for="' . $index . '_' . $name . '">' . $label . '</label>
                 </div>';
    return $html;
}, 'itemOptions' => ['labelOptions' => []]];
$inputCheckBoxListOpciones = ['style' => 'margin-top: 10px;', 'tag' => 'div', 'class' => 'control-group', 'item' => function ($index, $label, $name, $checked, $value) {
    $seleccion = $checked == true ? 'checked' : '';
    $html = '<div class="checkbox checkbox-primary checkbox-inline">
                    <input id="' . $index . '_' . $name . '" type="checkbox" name="' . $name . '" value="' . $value . '" ' . $seleccion . '>
                    <label for="' . $index . '_' . $name . '">' . $label . '</label>
                 </div>';
    return $html;
}, 'itemOptions' => ['labelOptions' => []]];
$inputClase = 'form-control input-md';
$inputReadClase = 'form-control form-control-static';
$articulo = $model->cargarArticulo();
$listadoImagenes = Yii::$app->controller->action->id != 'publicar' ? ImagenHelper::listaImagenesString($articulo->archivos) : [];
$ImagenPrincipal = Yii::$app->controller->action->id != 'publicar' ? $articulo->obtenerPosicionImagenPrincipal() : 0;
$session = Yii::$app->session;
?>


<?php 
$form = ActiveForm::begin(['id' => 'articulo', "enableClientValidation" => false, 'enableAjaxValidation' => false, 'validateOnChange' => false, 'options' => ['validateOnSubmit' => true, 'enctype' => 'multipart/form-data', 'class' => 'enviarForm form', 'role' => 'form'], 'fieldConfig' => ['template' => "{label}\n{beginWrapper}\n{input}\n{hint}\n{error}\n{endWrapper}", 'hintOptions' => ['tag' => 'span'], 'errorOptions' => ['tag' => 'span'], 'horizontalCssClasses' => ['label' => 'col-sm-3', 'offset' => 'col-sm-offset-3', 'wrapper' => 'col-sm-9', 'error' => 'error-block', 'hint' => 'help-block']]]);
?>
    <!-- BEGIN CONTENIDO -->
    <div class="row">
        <div class="col-md-12">
            <div class="card-box">

                <?php 
echo Html::activeHiddenInput($model, 'idarticulo');
Ejemplo n.º 5
0
        <?php 
// Html::a(Html::img('/libreria/imagenes/defecto/logo.png'),Yii::$app->homeUrl, ['class'=>'logo']);
?>
        <?php 
echo Html::a(Yii::$app->params['app_nombre_html'], Yii::$app->urlManagerWeb->createUrl('/'), ['class' => 'logo']);
?>
    </div>
    <div class="m-t-40 card-box">
        <div class="text-center">
            <?php 
echo Html::tag('h4', Yii::t('app', 'Solicitud enviada'), ['class' => 'text-uppercase font-bold m-b-0']);
?>
        </div>
        <div class="panel-body text-center">
            <?php 
echo Html::img(ImagenHelper::obtenerImagenDefecto('correo_confirmacion.png'), ['alt' => 'img', 'class' => 'thumb-lg m-t-20 center-block']);
?>
            <p class="text-muted font-13 m-t-20"><?php 
echo Yii::t('app', 'Nos alegra que desees unirte a esta gran comunidad.<br>
                Pronto recibirás en <b>{correo}</b> los pasos para que actives tu cuenta una vez validemos tus datos.', ['correo' => $model->correo]);
?>
</p>
        </div>
    </div>

    <div class="row">
        <div class="col-sm-12 text-center">
            <p class="text-muted">Return to <a href="page-login.html" class="text-primary m-l-5"><b>Sign in</b></a></p>
        </div>
    </div>
Ejemplo n.º 6
0
 private function setBaseUrl()
 {
     $this->baseUrl = ImagenHelper::baseUrl() . 'usuarios/';
 }
Ejemplo n.º 7
0
                    <input id="' . $index . '_' . $name . '" type="radio" name="' . $name . '" value="' . $value . '" ' . $seleccion . '>
                    <label for="' . $index . '_' . $name . '">' . $label . '</label>
                 </div>';
    return $html;
}, 'itemOptions' => ['labelOptions' => []]];
$inputCheckBoxListOpciones = ['style' => 'margin-top: 10px;', 'tag' => 'div', 'class' => 'control-group', 'item' => function ($index, $label, $name, $checked, $value) {
    $seleccion = $checked == true ? 'checked' : '';
    $html = '<div class="checkbox checkbox-primary checkbox-inline">
                    <input id="' . $index . '_' . $name . '" type="checkbox" name="' . $name . '" value="' . $value . '" ' . $seleccion . '>
                    <label for="' . $index . '_' . $name . '">' . $label . '</label>
                 </div>';
    return $html;
}, 'itemOptions' => ['labelOptions' => []]];
$inputClase = 'form-control input-md';
$inputReadClase = 'form-control form-control-static';
$listadoImagenes = Yii::$app->controller->action->id != 'publicar-articulo' ? ImagenHelper::listaImagenesString([]) : [];
$ImagenPrincipal = Yii::$app->controller->action->id != 'publicar-articulo' ? $model->obtenerPosicionImagenPrincipal() : 0;
$session = Yii::$app->session;
?>

<?php 
$form = ActiveForm::begin(['id' => 'articulo', "enableClientValidation" => false, 'enableAjaxValidation' => true, 'validateOnChange' => false, 'options' => ['validateOnSubmit' => true, 'enctype' => 'multipart/form-data', 'class' => 'enviarForm form', 'role' => 'form'], 'fieldConfig' => ['template' => "{label}\n{beginWrapper}\n{input}\n{hint}\n{error}\n{endWrapper}", 'hintOptions' => ['tag' => 'span'], 'errorOptions' => ['tag' => 'span'], 'horizontalCssClasses' => ['label' => 'col-sm-3', 'offset' => 'col-sm-offset-3', 'wrapper' => 'col-sm-9', 'error' => 'error-block', 'hint' => 'help-block']]]);
?>
    <!-- BEGIN CONTENIDO -->
    <div class="row">
        <div class="col-md-12">
            <div class="card-box">


                    <div class="row">
                        <div class="col-xs-12">
Ejemplo n.º 8
0
 public function obtenerImagenPrincipalLg()
 {
     $imagen = $this->imagenPrincipal();
     return ImagenHelper::obtenerImagenArticulo($imagen, ImagenHelper::SIZE_LG);
 }
Ejemplo n.º 9
0
 public function obtenerImagenLg()
 {
     return ImagenHelper::obtenerImagenArticulo($this->nombre, ImagenHelper::SIZE_LG);
 }
Ejemplo n.º 10
0
 /**
  * Obtiene la foto del propietario de un articulo
  * @return string
  */
 public function imagenPropietario()
 {
     return ImagenHelper::obtenerImagenPerfil($this->foto);
 }
Ejemplo n.º 11
0
 /**
  * Updates an existing Usuarios model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionActualizar($id)
 {
     $model = $this->findModel($id);
     $articulo = $this->findModel($id);
     $session = Yii::$app->session;
     $idUsuario = Yii::$app->user->getId();
     $claveSession = ImagenHelper::SESSION_IMAGEN_ARTICULO . $idUsuario;
     $files = [];
     $imagenes = [];
     $imagenesEliminar = [];
     if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
         Yii::$app->response->format = Response::FORMAT_JSON;
         return ActiveForm::validate($model);
     }
     if ($session->has($claveSession)) {
         $files = $session->get($claveSession);
         $imagenesAgregar = $files['file'];
         $imagenesEliminar = $files['delete'];
     }
     if ($model->load(Yii::$app->request->post())) {
         $imagenPrincipal = Yii::$app->request->post('dropzone_imagen_principal');
         //actualizar imagen principal
         //guardamos la imagen principal
         if (isset($imagenPrincipal) || $imagenPrincipal == 0) {
             $imagenesArticulo = Archivos::findAll(['articulo' => $id]);
             $principal = '';
             foreach ($imagenesArticulo as $key => $imagen) {
                 if ($key == $imagenPrincipal) {
                     $principal = $imagen->idarchivo;
                 }
             }
             //si existe
             if (!empty($principal)) {
                 //seteamos todas las imagenes a 0
                 Archivos::updateAll(['principal' => Archivos::NO_ES_PRINCIPAL], ['articulo' => $id]);
                 //seteamos todas la principal a 1
                 $imagen = Archivos::findOne(['idarchivo' => $principal]);
                 $imagen->principal = Archivos::ES_PRINCIPAL;
                 $imagen->save();
             }
             $session->remove($claveSession);
             Yii::$app->session->setFlash('toasts', 'Se ha actualizado el articulo con exito');
         }
         if ($model->save() || !empty($files)) {
             //guardamos imagenes nuevas
             if (!empty($imagenesAgregar)) {
                 foreach ($imagenesAgregar as $key => $file) {
                     $file = (object) $file;
                     // the path to save file, you can set an uploadPath
                     $nombre = ImagenHelper::obtenerNombreArchivo(['usuario' => $idUsuario, 'articulo' => $model->idarticulo, 'imagen' => $file->name]);
                     $archivo = new Archivos();
                     $archivo->usuario = $idUsuario;
                     $archivo->articulo = $articulo->idarticulo;
                     $archivo->nombre = $nombre;
                     $archivo->tipo = $file->type;
                     $archivo->peso = $file->size;
                     $archivo->fechacreado = MetodosHelper::fechaHoy();
                     if ($archivo->save()) {
                         file_put_contents(ImagenHelper::rutaImagenesArticulos() . $nombre, base64_decode($file->base64));
                     }
                 }
             }
             //eliminamos imagenes
             if (!empty($imagenesEliminar)) {
                 $listaImagenes = [];
                 foreach ($model->archivos as $key => $imagen) {
                     $listaImagenes[$key] = $imagen->nombre;
                 }
                 $resultado = array_diff($listaImagenes, $imagenesEliminar);
                 if (empty($resultado)) {
                     Archivos::deleteAll(['articulo' => $model->idarticulo, 'usuario' => $idUsuario]);
                 } else {
                     foreach ($listaImagenes as $nombre) {
                         if (in_array($nombre, $imagenesEliminar)) {
                             Archivos::deleteAll(['nombre' => $nombre, 'articulo' => $model->idarticulo, 'usuario' => $idUsuario]);
                             ImagenHelper::eliminarImagen($nombre);
                         }
                     }
                 }
             }
             $session->remove($claveSession);
             Yii::$app->session->setFlash('toasts', 'Se ha actualizado el articulo con exito');
             //Yii::$app->session->setFlash('success', ['toast'=>'Se ha actualizado la categoria con exito'], true);
             return $this->redirect(['detalle', 'id' => $model->idarticulo]);
         }
     }
     $session->remove($claveSession);
     return $this->render('actualizar', ['model' => $model]);
 }
Ejemplo n.º 12
0
 /**
  * Guarda imagen perfil
  * @param Usuarios $user
  * @throws \Exception
  */
 private function guardarImagenPerfil(Usuarios $user)
 {
     $ruta = ImagenHelper::rutaImagenPerfil();
     $tiene_foto = isset($user->foto) ? true : false;
     $imagen_actual = $ruta . $user->foto;
     $imagen_nueva = $user->idusuario . '_' . uniqid() . '.png';
     $data = base64_decode($this->imagen);
     file_put_contents($ruta . $imagen_nueva, $data);
     if (file_exists($ruta)) {
         $user->foto = $imagen_nueva;
         //elimino imagenes fisicas antiguas
         if ($user->update()) {
             if ($tiene_foto & file_exists($imagen_actual)) {
                 unlink($imagen_actual);
             }
         }
     }
 }
Ejemplo n.º 13
0
 /**
  * Editar articulo existente
  * @return bool
  */
 public function editar()
 {
     $idUsuario = Yii::$app->user->getId();
     if ($this->validate()) {
         $model = $this->articulo;
         $model->nombre = ucfirst($this->nombre);
         $model->estado = $this->estado;
         $model->descripcion = ucfirst($this->descripcion);
         $model->categoria = $this->categoria;
         $model->precio = $this->precio;
         $model->transacciones = is_array($this->transacciones) ? implode(',', $this->transacciones) : Articulos::NO_ESPECIFICADO;
         //
         //$archivo = new Archivos();
         if ($model->update(false)) {
             if (!empty($this->imagenes)) {
                 foreach ($this->imagenes as $key => $file) {
                     $file = (object) $file;
                     // the path to save file, you can set an uploadPath
                     $nombre = ImagenHelper::obtenerNombreArchivo(['usuario' => $idUsuario, 'articulo' => $model->idarticulo, 'imagen' => $file->name]);
                     $archivo = new Archivos();
                     $archivo->usuario = $idUsuario;
                     $archivo->articulo = $model->idarticulo;
                     $archivo->nombre = $nombre;
                     $archivo->tipo = $file->type;
                     $archivo->peso = $file->size;
                     $archivo->fechacreado = MetodosHelper::fechaHoy();
                     //guardamos la imagen principal
                     $archivo->principal = count($this->imagenes) == 1 || $key == $this->principal ? 1 : 0;
                     if ($archivo->save()) {
                         file_put_contents(ImagenHelper::rutaImagenesArticulos() . $nombre, base64_decode($file->base64));
                         ImagenHelper::guardarImagenSize($nombre, 'articulos');
                     }
                 }
             }
             return true;
         } else {
             return false;
         }
     }
     return false;
 }
Ejemplo n.º 14
0
                </label>';
    return $html;
}, 'itemOptions' => ['labelOptions' => ['class' => 'radio-inline radio-styled']]];
$inputCheckBoxListOpciones = ['style' => 'margin-top: 10px;', 'tag' => 'div', 'item' => function ($index, $label, $name, $checked, $value) {
    $seleccion = $checked == true ? 'checked' : '';
    $html = '<label class="checkbox-inline checkbox-styled">
                    <input type="checkbox" name="' . $name . '" value="' . $value . '" ' . $seleccion . '><span>' . $label . '</span>
                </label>
                ';
    return $html;
}, 'itemOptions' => ['labelOptions' => ['class' => 'radio-inline radio-styled']]];
$inputClase = 'form-control input-md';
$inputReadClase = 'form-control form-control-static';
$avatar = '';
//$model->imagenCategoria();
$listadoImagenes = Yii::$app->controller->action->id != 'crear' ? ImagenHelper::listaImagenesString($model->archivos) : [];
$ImagenPrincipal = Yii::$app->controller->action->id != 'crear' ? $model->obtenerPosicionImagenPrincipal() : 0;
$session = Yii::$app->session;
?>


<?php 
$form = ActiveForm::begin(['id' => 'articulo', "enableClientValidation" => false, 'enableAjaxValidation' => true, 'validateOnChange' => false, 'options' => ['validateOnSubmit' => true, 'enctype' => 'multipart/form-data', 'class' => 'enviarForm form', 'role' => 'form']]);
?>

    <!-- BEGIN CONTENIDO -->
    <div class="row">
        <div class="col-lg-12">
            <h4>Información General</h4>
        </div><!--end .col -->
        <div class="col-lg-3 col-md-4">
Ejemplo n.º 15
0
use yii\helpers\Url;
use himiklab\thumbnail\EasyThumbnailImage;
use frontend\assets\UsuarioAsset;
use karpoff\icrop\CropImageUpload;
use common\components\ImagenHelper;
use common\extensions\cmsAB\mapaLocalizacion\MapLocalizacion;
/* @var $this yii\web\View */
/* @var $model */
/* @var $searchModel common\models\UsuariosBuscador */
/* @var $dataProvider yii\data\ActiveDataProvider */
$this->registerJsFile('libreria/plugins/crop/cropper.js', ['depends' => [UsuarioAsset::className()]]);
$this->registerJsFile('libreria/plugins/crop/main.js', ['depends' => [UsuarioAsset::className()]]);
$this->title = Yii::t('app', 'Mi Perfil');
$this->params['breadcrumbs'][] = $this->title;
$baseUrl = Yii::getAlias('@libreriaImg/');
$avatar = ImagenHelper::obtenerImagenPerfil($model->foto);
$inputOpciones = ['template' => "{input}\n{label}\n{hint}\n{error}\n", 'options' => ['class' => 'input-field']];
$inputRadioListOpciones = ['tag' => 'div', 'class' => 'col-sm-6', 'item' => function ($index, $label, $name, $checked, $value) {
    $seleccion = $checked == true ? 'checked' : '';
    $html = '<div class="radiobox checkbox-pink">
                 <input type="radio" name="' . $name . '" value="' . $value . '" ' . $seleccion . '>
                 <label class="radio-styled">' . $label . '</label>
                 </div>';
    return $html;
}, 'itemOptions' => ['labelOptions' => ['class' => 'radio-styled']]];
?>

<?php 
$identity = Yii::$app->getUser()->getIdentity();
if (isset($identity->perfil)) {
    VarDumper::dump($identity->perfil, 10, true);