Exemple #1
0
 /**
  * VISTA CATEGORIA
  * @param $categoria
  * @param null $pp
  * @param null $p
  * @return mixed
  */
 public function run($categoria, $pp = null, $p = null)
 {
     $parametros = Yii::$app->request->post();
     $modelCategoria = new Categorias();
     $modelArticulo = new Articulos();
     $modelProvincia = new Provincias();
     if (!empty(Yii::$app->request->get('ca'))) {
         Yii::$app->request->get('ca');
         $categoria = $modelCategoria->obtenerSlug(Yii::$app->request->get('ca'));
         $provincia = strtolower($modelProvincia->obtenerProvincia(Yii::$app->request->get('ps')));
         $estado = strtolower($modelArticulo->obtenerEstado(Yii::$app->request->get('estado')));
         $estado = MetodosHelper::terminacionEsPlural($categoria) == true ? $estado . 's' : $estado;
         $this->controller->redirect(Yii::$app->urlManager->createUrl(['articulo/categoria-provincia', 'provincia' => $provincia, 'categoria' => $categoria, 'estado' => $estado]));
     }
     $model = Articulos::obtenerArticulosPorCategoria($categoria);
     $datos = new ArticulosBuscador();
     $datos->cs = $categoria;
     $dataProvider = $datos->buscador($parametros, $pp, $p, 'categoria');
     if (!empty($model)) {
         $this->controller->view->params['breadcrumbs'][] = $model[0]->categorias->nombre;
         return $this->controller->render('categoria', ['model' => $model, 'dataProvider' => $dataProvider]);
         echo '<pre>';
         print_r(array('categoria', $categoria, $model[0]->categorias->slug, $model));
     }
     echo '<pre>';
     print_r(array('categoria', $categoria, 'articulo no existe'));
 }
Exemple #2
0
 * Time: 13:55
 */
use yii\helpers\Url;
use yii\helpers\Html;
use common\extensions\cmsAB\mapaUbicacion\MapaUbicacion;
use common\extensions\cmsAB\redesCompartir\Compartir;
use common\components\MetodosHelper;
/* @var $model common\models\Articulos */
/* @var $mensaje common\models\forms\EnviarMensajeForm */
//galeria
$galeria = $model->archivos;
//propietario
$totalArticulosPropietario = $model->usuarios->totalArticulosUsuario();
//Ver sus <?= $model->usuarios->totalArticulosUsuario(); <!-- productos-->
$textoAnunciosPropietario = $totalArticulosPropietario == 1 ? 'Ver sus anuncios' : 'Ver sus ' . $totalArticulosPropietario . ' anuncios';
$idUsuario = MetodosHelper::codificar_base36($model->usuario);
$tipoUsuario = strtolower($model->usuarios->tipoUsuario());
$tipoUsuario = $tipoUsuario == 'autor' ? 'particular' : $tipoUsuario;
$lnkPropietario = Html::a($textoAnunciosPropietario, Url::to(['articulo/' . $tipoUsuario, $tipoUsuario => $idUsuario]));
$lnkDenuncia = Html::a('Denuncia este anuncio', Url::to(['articulo/denuncia', 'articulo' => $model->idarticulo]), ['class' => 'btn btn-primary waves-effect waves-teal btn-flat btn-block pull-right']);
?>

<div class="pb-right-column col-xs-12 col-sm-6">
    <?php 
echo Html::tag('h1', $model->nombre, ['class' => 'product-name']);
?>
    <div class="product-comments">
        <div class="product-star">
            <i class="fa fa-star"></i>
            <i class="fa fa-star"></i>
            <i class="fa fa-star"></i>
Exemple #3
0
                    <ul class="dropdown-menu animation-dock">
                        <li class="dropdown-header">Config</li>
                        <li><a href="../../html/pages/profile.html">My profile</a></li>
                        <li><a href="../../html/pages/blog/post.html">My blog <span class="badge style-danger pull-right">16</span></a></li>
                        <li><a href="../../html/pages/calendar.html">My appointments</a></li>
                        <li class="divider"></li>
                        <li><a href="../../html/pages/locked.html"><i class="fa fa-fw fa-lock"></i> Lock</a></li>
                        <li><a id="cerrarSesion" data-url="<?php 
echo Yii::$app->urlManager->createUrl(['oficina/salir']);
?>
"><i class="fa fa-fw fa-power-off text-danger"></i> Logout</a></li>
                    </ul><!--end .dropdown-menu -->
                </li><!--end .dropdown -->
            </ul><!--end .header-nav-profile -->
            <?php 
if (MetodosHelper::ocultarEnVista($ocultarAcciones)) {
    ?>
                <ul class="header-nav header-nav-toggle">
                    <li>
                        <a class="btn btn-icon-toggle btn-default" href="#offcanvas-search" data-toggle="offcanvas" data-backdrop="false">
                            <i class="fa fa-ellipsis-v"></i>
                        </a>
                    </li>
                </ul><!--end .header-nav-toggle -->
            <?php 
}
?>
        </div><!--end #header-navbar-collapse -->
    </div>
</header>
<!-- END HEADER-->
Exemple #4
0
 /**
  * Obtiene el detalle de un articulo por slug y municipio
  * @param $municipio
  * @param $articulo
  * @return array|null|ActiveRecord
  */
 public static function obtenerArticulosEnProvincia($articulo, $provincia)
 {
     $array = MetodosHelper::dividir_texto($articulo, '-', true);
     $like = '';
     foreach ($array as $palabra) {
         $like .= "lower(articulos.nombre) like '%" . $palabra . "%'\n                    or articulos.slug like '%" . $palabra . "%' or ";
     }
     //busqueda general
     if ($articulo == self::ANUNCIOS && $provincia == Provincias::TODA_REP_DOM) {
         return Articulos::find()->all();
     } else {
         if ($articulo == self::ANUNCIOS && $provincia != Provincias::TODA_REP_DOM) {
             return Articulos::find()->joinWith(['categorias', 'usuarios.municipios.provincias'])->leftJoin('referencias', 'articulos.referencia = referencias.idreferencia')->where('provincias.slug = :provincia', [':provincia' => $provincia])->all();
         }
     }
     //busqueda especifica
     if ($provincia == Provincias::TODA_REP_DOM) {
         return Articulos::find()->leftJoin('referencias', 'articulos.referencia = referencias.idreferencia')->where($like . ' articulos.slug like :articulo or referencias.slug like :articulo', [':articulo' => '%' . $articulo . '%'])->all();
     }
     return Articulos::find()->joinWith(['categorias', 'usuarios.municipios.provincias'])->leftJoin('referencias', 'articulos.referencia = referencias.idreferencia')->where($like . ' articulos.slug like :articulo or referencias.slug like :articulo', [':articulo' => '%' . $articulo . '%'])->andWhere('provincias.slug = :provincia', [':provincia' => $provincia])->all();
     //        $debug = $articulos->prepare(Yii::$app->db->queryBuilder)->createCommand()->rawSql;
     //        echo '<pre>';print_r([$articulo, $provincia, $debug]);die();
     //        echo '<pre>';print_r([$articulo, $provincia, count($articulos), $articulos]);die();
 }
Exemple #5
0
/* @var $buscador common\models\forms\BuscadorForm */
use yii\helpers\Url;
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use common\models\Provincias;
use common\models\Referencias;
use common\models\forms\BuscadorForm;
use common\components\MetodosHelper;
$buscador = empty($buscador) ? new BuscadorForm() : $buscador;
$provincias = new Provincias();
$referencias = new Referencias();
$accion = Yii::$app->controller->action->id;
$comodin = $accion == 'index' ? '' : 'anuncios';
$parametros = !empty(Yii::$app->request->queryParams) ? Yii::$app->request->queryParams : ['articulo' => '', 'provincia' => Provincias::TODA_REP_DOM];
$provincia = !empty($parametros['provincia']) ? $parametros['provincia'] : Provincias::TODA_REP_DOM;
$articulo = !empty($parametros['articulo']) ? MetodosHelper::dividir_texto(ucfirst($parametros['articulo']), '-', false, ' ') : '';
?>

<div class="block-search">
    <?php 
$form = ActiveForm::begin(['id' => 'buscador-articulos-form', 'action' => 'buscador', 'options' => ['class' => 'form-inline']]);
?>
        <?php 
echo Html::activeHiddenInput($buscador, 'referencia', ['class' => 'buscador-referencia']);
?>
        <?php 
echo Html::activeHiddenInput($buscador, 'provincia', ['class' => 'buscador-lugar']);
?>


    <div class="form-group input-serach">
Exemple #6
0
?>
                    <?php 
//btn guardar anuncio
if (MetodosHelper::mostrarEnVista($publicarAcciones)) {
    ?>
                        <li class="hidden-xs">
                            <?php 
    echo Html::submitButton(Yii::t('app', 'Publicar') . ' <i class="zmdi zmdi-check-all"></i>', ['id' => 'enviarFormulario', 'name' => 'publicar', 'class' => 'btn btn-success btn-rounded btn-guardar waves-effect w-md waves-light m-b-5']);
    ?>
                        </li>
                    <?php 
}
?>
                    <?php 
//btn volver a listado mensajes
if (MetodosHelper::mostrarEnVista($volverAcciones)) {
    ?>
                        <li class="hidden-xs">
                            <?php 
    echo Html::a(Yii::t('app', 'Volver atrás') . ' <i class="zmdi zmdi-long-arrow-return"></i>', Yii::$app->request->referrer, ['class' => 'btn btn-primary btn-rounded btn-volver w-md waves-effect waves-light m-b-5']);
    ?>
                        </li>
                    <?php 
}
?>
                </ul>

            </div><!-- end container -->
        </div><!-- end navbar -->
    </div>
    <!-- Top Bar End -->
Exemple #7
0
                    <ul class="dropdown-menu animation-dock">
                        <li class="dropdown-header">Config</li>
                        <li><a href="../../html/pages/profile.html">My profile</a></li>
                        <li><a href="../../html/pages/blog/post.html">My blog <span class="badge style-danger pull-right">16</span></a></li>
                        <li><a href="../../html/pages/calendar.html">My appointments</a></li>
                        <li class="divider"></li>
                        <li><a href="../../html/pages/locked.html"><i class="fa fa-fw fa-lock"></i> Lock</a></li>
                        <li><a id="cerrarSesion" data-url="<?php 
echo Yii::$app->urlManager->createUrl(['oficina/salir']);
?>
"><i class="fa fa-fw fa-power-off text-danger"></i> Logout</a></li>
                    </ul><!--end .dropdown-menu -->
                </li><!--end .dropdown -->
            </ul><!--end .header-nav-profile -->
            <?php 
if (MetodosHelper::ocultarEnVista('portada')) {
    ?>
                <ul class="header-nav header-nav-toggle">
                    <li>
                        <a class="btn btn-icon-toggle btn-default" href="#offcanvas-search" data-toggle="offcanvas" data-backdrop="false">
                            <i class="fa fa-ellipsis-v"></i>
                        </a>
                    </li>
                </ul><!--end .header-nav-toggle -->
            <?php 
}
?>
        </div><!--end #header-navbar-collapse -->
    </div>
</header>
<!-- END HEADER-->
 /**
  * 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]);
 }
Exemple #9
0
$lnk_paginas_portada = MetodosHelper::enlaceActivo('paginas', 'portada');
$lnk_paginas_articulo = MetodosHelper::enlaceActivo('paginas', 'articulo');
$lnk_paginas_blog = MetodosHelper::enlaceActivo('paginas', 'blog');
$lnk_paginas_estatica = MetodosHelper::enlaceActivo('paginas', 'estatica');
$lnk_paginas_contacto = MetodosHelper::enlaceActivo('paginas', 'contacto');
$lnk_paginas_todas = MetodosHelper::enlaceActivo('paginas', 'todas');
$lnk_usuarios = MetodosHelper::enlaceActivo('usuarios', 'actualizar');
$lnk_usuarios_todos = MetodosHelper::enlaceActivo('usuarios', 'index');
$lnk_usuarios_crear = MetodosHelper::enlaceActivo('usuarios', 'crear');
$lnk_categorias = MetodosHelper::enlaceActivo('categorias', 'todas');
$lnk_articulos = MetodosHelper::enlaceActivo('articulos', 'todos');
$lnk_articulos_pendientes = MetodosHelper::enlaceActivo('articulos', 'pendientes');
$lnk_articulos_crear = MetodosHelper::enlaceActivo('articulos', 'crear');
$lnk_empresa = MetodosHelper::enlaceActivo('empresas', 'index');
$lnk_empresa_index = MetodosHelper::enlaceActivo('empresas', 'index');
$lnk_empresa_inactivas = MetodosHelper::enlaceActivo('empresas', 'inactivas');
//labels
$label_empresa = Html::tag('span', Yii::t('backend', 'Empresas'), []);
$label_empresa_index = Html::tag('span', Yii::t('backend', 'Todas'), []);
$label_empresa_inactivos = Html::tag('span', Yii::t('backend', 'Inactivas'), []);
//urls
$url_empresa = Yii::$app->urlManager->createUrl('empresas/');
$url_empresa_index = Yii::$app->urlManager->createUrl('empresas/');
$url_empresa_inactivos = Yii::$app->urlManager->createUrl('empresas/inactivas');
//clases
$opciones_link = ['class' => "waves-effect"];
?>
<div id="menubar" class="menubar-inverse ">
    <div class="menubar-fixed-panel">
        <div>
            <a class="btn btn-icon-toggle btn-default menubar-toggle" data-toggle="menubar" href="javascript:void(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;
 }
 /**
  * Busca articulos en base a articulo y categoria
  * @param array $params
  * @return ActiveDataProvider
  */
 public function buscadorArticuloProvincia($params, $page_size = 18, $pagina = 0)
 {
     $query = Articulos::find();
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['page' => $pagina, 'pageSize' => $page_size, 'pageParam' => 'p', 'pageSizeParam' => 'pp', 'defaultPageSize' => '18', 'pageSizeLimit' => [1, 50]], 'sort' => ['defaultOrder' => ['fechacreado' => SORT_DESC]]]);
     $this->load($params);
     $query->leftJoin('categorias', 'categorias.idcategoria = articulos.categoria');
     $query->leftJoin('usuarios', 'usuarios.idusuario = articulos.usuario');
     $query->leftJoin('municipios', 'municipios.idmunicipio = usuarios.municipio');
     $query->leftJoin('provincias', 'provincias.idprovincia = municipios.provincia');
     $query->leftJoin('referencias', 'articulos.referencia = referencias.idreferencia');
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     //busqueda especifica
     if (strcmp($this->na, self::ANUNCIOS) !== 0) {
         $array = MetodosHelper::dividir_texto($this->na, '-', true);
         foreach ($array as $palabra) {
             $query->orWhere(['like', 'articulos.nombre', $palabra]);
             $query->orWhere(['like', 'articulos.slug', $palabra]);
             $query->orWhere(['like', 'referencias.slug', $palabra]);
             $buscador = new Buscador();
             $ids = $buscador->obtenerIdsResultadosIndexados($palabra);
             $query->orWhere(['in', 'articulos.referencia', $ids]);
         }
     }
     if (!empty($this->ps) && $this->ps != Provincias::TODA_REP_DOM) {
         $query->andwhere('provincias.slug = :provincia', [':provincia' => $this->ps]);
     }
     return $dataProvider;
 }