See file /home/gustavo/sites/ar.com.agendanegocios/web/protected/controller/MainController.php


+ Error on line 82

            $tmp $this->db()->fetchRow($qry);

<?php

include 'protected/plugin/tools.php';

class 
MainController extends DooController {

    public function 
index() {
        
$this->data['page title'] = 'Agenda Negocios';
        
$this->data['header']['meta'] = array(
            
'<meta name="title" content="Agenda Negocios" />'."\n",
            
'<meta name="description" content="" />'."\n",
            
'<meta name="keywords" content="" />'."\n"
        
);
        
$this->data['header']['js'] = array(
            
'<script type="text/javascript" src="/global/js/jquery-1.7.1.min.js"></script>'."\n",
            
'<script type="text/javascript" src="/global/js/agendanegocios-2.0.js"></script>'."\n"
        
);

        
$this->rubros_list();
        
$this->negocios_seleccionados();
        
$this->view()->renderc('index'$this->data);
    }


    public function 
buscar() {
        
$this->data['operation'] = 'search';
        
$this->rubros_list();
        
$this->pagination_begin();
        
$this->data['pagination']['urlBase'] = '/buscar';
        
$this->data['pagination']['breadcrumb'] = array();
        
$this->data['pagination']['breadcrumb'][] = array('title' => 'inicio''url' => '/');

        
$qryWhere "";

        if(isset(
$this->params['tag'])) {
            if(
$this->params['tag'] == 'tag') {
                
$this->data['pagination']['urlBase'] .= '/tag';
                
$this->data['operation'] = 'tag';
            } else {
                
header('Location: /error');
            }
        }

        if(isset(
$this->params['text'])) {
            
$this->data['search text'] = urldecode($this->params['text']);
            
$this->data['pagination']['urlBase'] .= '/'.$this->data['search text'];
            
$this->data['pagination']['breadcrumb'][] = array('title' => str_replace('/'''$this->data['pagination']['urlBase']), 'url' => $this->data['pagination']['urlBase'].'/1');

            if(isset(
$this->params['tag'])) {
                
$qryWhere "(articulos.TAGS like '%".$this->data['search text']."%') and ";
            } else {
                
// Palabras
                
$this->data['search words'] = explode(' '$this->data['search text']);
                
// Consulta
                //$words = count($this->data['search words']);
                
$c 0;
                
$qryWhere "(";
                foreach(
$this->data['search words'] as $word) {
                    if(
strlen($word) > && strlen($word) < 50) {
                        if(
$c 0$qryWhere .= ' or ';
                        
$qryWhere .= "negocios.NOMBRE like '%".$word."%' or articulos.DETALLES like '%".$word."%' or articulos.LOCALIDAD like '%".$word."%' ";
                        
$c ++;
                    }
                }
                
$qryWhere .= ") and ";
            }

            
// Cantidades
            
$qry "
                select
                    count(negocios.ID)
                from negocios, articulos, rubroart, rubroser, rubroope
                where
                    "
.$qryWhere."
                    negocios.ESTADO='PUBLICADO' and
                    articulos.ID=negocios.ARTICULO and
                    rubroart.ID=negocios.RUBROART and
                    rubroser.ID=negocios.RUBROSER and
                    rubroope.ID=negocios.RUBROOPE
            "
;
            
//$this->data['query'] = $qry;
            $tmp $this->db()->fetchRow($qry);

            
$this->data['pagination']['itemTotal'] = $tmp['count(negocios.ID)'];
            
$this->data['pagination']['pageTotal'] = ceil($this->data['pagination']['itemTotal'] / $this->data['pagination']['itemPage']);

            
$this->pagination_end();


            
$qry "
                select
                    negocios.ID,
                    negocios.NOMBRE,
                    negocios.RUBROOPE,
                    negocios.RUBROART,
                    negocios.RUBROSER,
                    negocios.F_ALTA,
                    negocios.F_BAJA,
                    negocios.DETALLES,
                    negocios.S_DETALLES,
                    negocios.ARTICULO,
                    negocios.OPORTUNIDAD,
                    substring_index(articulos.DETALLES, '#', 1) as articulos_DETALLES,
                    articulos.S_DETALLES as articulos_S_DETALLES,
                    articulos.TAGS,
                    articulos.LOCALIDAD,
                    substring_index(rubroart.NOMBRE, '#', 1) as rubroart_NOMBRE,
                    substring_index(rubroser.NOMBRE, '#', 1) as rubroser_NOMBRE,
                    substring_index(rubroope.NOMBRE, '#', 1) as rubroope_NOMBRE,
                    provincias.NOMBRE as PROVINCIA,
                    paises.NOMBRE as PAIS
                from negocios, articulos, rubroart, rubroser, rubroope, provincias, paises
                where
                    "
.$qryWhere."
                    negocios.ESTADO='PUBLICADO' and
                    articulos.ID=negocios.ARTICULO and
                    rubroart.ID=negocios.RUBROART and
                    rubroser.ID=negocios.RUBROSER and
                    rubroope.ID=negocios.RUBROOPE and
                    provincias.ID=articulos.PROVINCIA and
                    paises.ID=articulos.pais
                order by negocios.NOMBRE
                limit "
.$this->data['pagination']['itemActual'].", ".$this->data['pagination']['itemPage']."
            "
;
            
$this->data['db']['negocios'] = $this->db()->fetchAll($qry);

            if(
$this->data['db']['negocios']) {
                foreach(
$this->data['db']['negocios'] as $k => $row) {
                    
// url de cada negocio
                    
$url toAscii($this->data['db']['negocios'][$k]['NOMBRE']);
                    
$this->data['db']['negocios'][$k]['URL'] = '/negocio/'.$url.'_'.$this->data['db']['negocios'][$k]['ID'];
                    
// url de rubroart
                    
$url toAscii($this->data['db']['negocios'][$k]['rubroart_NOMBRE']);
                    
$rubroartURL $url;
                    
//$this->data['db']['negocios'][$k]['RUBROART URL'] = '/negocios/'.$url.'_'.$this->data['db']['negocios'][$k]['RUBROART'].'/1';
                    
$this->data['db']['negocios'][$k]['RUBROART URL'] = '/negocios/'.$url.'/1';
                    
// url de rubroser
                    
$url toAscii($this->data['db']['negocios'][$k]['rubroser_NOMBRE']);
                    
$this->data['db']['negocios'][$k]['RUBROSER URL'] = '/servicios/'.$url.'_'.$this->data['db']['negocios'][$k]['RUBROSER'].'/1';
                    
// url de rubroope
                    
$url toAscii($this->data['db']['negocios'][$k]['rubroope_NOMBRE']);
                    
$this->data['db']['negocios'][$k]['RUBROOPE URL'] = '/negocios/'.$rubroartURL.'/'.$url.'/1';
                    
// fotos
                    
$qry "select ID,TIPO,X,Y from fotos where ARTICULO='".$row['ARTICULO']."' && PRESENTA='CATALOGO' limit 1";
                    
$this->data['db']['negocios'][$k]['FOTO'] = $this->db()->fetchRow($qry);
                }

                if(isset(
$this->params['category'])) {
                    
$this->data['pagination']['breadcrumb'][] = array(
                        
'title' => strtolower($this->data['db']['negocios'][0]['rubroart_NOMBRE']),
                        
'url' => $this->data['pagination']['urlBase'].'/'.$this->params['category'].'/1');
                    if(isset(
$this->params['operation'])) {
                        
$this->data['pagination']['breadcrumb'][] = array(
                            
'title' => strtolower($this->data['db']['negocios'][0]['rubroope_NOMBRE']),
                            
'url' => $this->data['pagination']['urlBase'].'/'.$this->params['category'].'/'.$this->params['operation'].'/1');
                    }
                }
            }

        } 
//if(isset($this->params['text']))

        
$this->negocios_seleccionados();

        
$this->data['page title'] = 'Buscar - Agenda Negocios';
        if(isset(
$this->data['search text'])) {
            
$this->data['page title'] = $this->data['search text'].' (pag. '.$this->data['pagination']['pageActual'].') - '.$this->data['page title'];
        }
        
$this->data['header']['meta'] = array(
            
'<meta name="title" content="'.$this->data['page title'].'" />'."\n",
            
'<meta name="description" content="" />'."\n",
            
'<meta name="keywords" content="" />'."\n"
        
);
        
$this->data['header']['js'] = array(
            
'<script type="text/javascript" src="/global/js/jquery-1.7.1.min.js"></script>'."\n",
            
'<script type="text/javascript" src="/global/js/agendanegocios-2.0.js"></script>'."\n"
        
);

        
$this->view()->renderc('list'$this->data);
    }


    public function 
contact_send() {
        
$this->data['status'] = 'error';
        
$this->data['error'] = 'Error interno';

        
$siteName 'Agenda Negocios';

        if(isset(
$_POST['sm_email'])) {
            
// ---------- Datos recibidos del formulario
            
$sm_lname=$_POST['sm_lname']; // nombre
            
$sm_email=$_POST['sm_email']; // email
            
$sm_msg=$_POST['sm_msg']; // el mensaje

            
$sm_fmess "----- Mensaje desde web ".$siteName." -----\r\n\r\n";
            
$sm_fmess .= "URL origen: ".$_POST['sm_uri'].", desde IP: ".$_POST['sm_ip']."\r\n\r\n";

            if(isset(
$_POST['sm_negocioID'])) {
                
$sm_negocioID $_POST['sm_negocioID'];
                
$sm_negocioNOMBRE $_POST['sm_negocioNOMBRE'];
                
$sm_negocioPERSONA $_POST['sm_negocioPERSONA'];
                
$sm_articuloID $_POST['sm_articuloID'];
                
//
                
$sm_fmess .= "Consulta sobre negocio: ".$sm_negocioNOMBRE." (".$sm_negocioID.")\r\n";
                
$tmp $this->db()->fetchRow("select APELLIDO,NOMBRE from personas where ID='".$sm_negocioPERSONA."'");
                
$sm_fmess .= "Propietario: ".$tmp['APELLIDO'].', '.$tmp['NOMBRE']."\r\n\r\n";
                
//
                
$sm_mailto '[email protected]';
            } else {
                
$sm_mailto="[email protected]";
            }
            
// ---------- Datos locales
            
$sm_mailfrom="";
            
$sm_mailto_copy="[email protected]";
            
$sm_subject="Consulta desde web ".$siteName;
            
// reformateo del mensaje
            
$sm_fmess=$sm_fmess."Remitente: ".$sm_lname."\r\n";
            
$sm_fmess=$sm_fmess."e-Mail: ".$sm_email."\r\n\r\n";
            
$sm_fmess=$sm_fmess."Mensaje: \r\n".$sm_msg."\r\n\r\n";
            
$sm_fmess=$sm_fmess."----- Fin mensaje generado en web ".$siteName." -----\r\n";
            
//echo $sm_fmess;
            
if($sm_mailfrom == ""$sm_mailfrom=$sm_email;

            
mail($sm_mailto,$sm_subject,$sm_fmess,"Return-Path: $sm_mailfrom\nFrom$sm_mailfrom\nReply-To: $sm_mailfrom\nContent-Type: text/plain; charset=utf8\nContent-Transfer-Encoding: 8bit");

            if(
$sm_mailto_copy != "") {
                
mail($sm_mailto_copy,$sm_subject,$sm_fmess,"Return-Path: $sm_mailfrom\nFrom$sm_mailfrom\nReply-To: $sm_mailfrom\nContent-Type: text/plain; charset=utf8\nContent-Transfer-Encoding: 8bit");
            }

            
$this->data['status'] = 'ok';

        } else {
            
$this->data['status'] = 'error';
            
$this->data['error'] = 'Formulario mal enviado';
        }

        
$this->view()->renderc('contact_send'$this->data);
    }


    public function 
negocio() {
        
$tmp explode('_'$this->params['item']);
        if(
count($tmp) > 1) {
            
$id $tmp[1];
            
$qry "
                select
                    negocios.ID,
                    negocios.NOMBRE,
                    negocios.PERSONA,
                    negocios.RUBROOPE,
                    negocios.RUBROART,
                    negocios.RUBROSER,
                    negocios.F_ALTA,
                    negocios.F_BAJA,
                    negocios.DETALLES,
                    negocios.S_DETALLES,
                    negocios.ARTICULO,
                    negocios.OPORTUNIDAD,
                    negocios.V_PROPUESTO,
                    negocios.S_VPROPUESTO,
                    substring_index(articulos.DETALLES, '#', 1) as articulos_DETALLES,
                    articulos.S_DETALLES as articulos_S_DETALLES,
                    articulos.TAGS,
                    articulos.LOCALIDAD,
                    substring_index(rubroart.NOMBRE, '#', 1) as rubroart_NOMBRE,
                    substring_index(rubroser.NOMBRE, '#', 1) as rubroser_NOMBRE,
                    substring_index(rubroope.NOMBRE, '#', 1) as rubroope_NOMBRE,
                    provincias.NOMBRE as PROVINCIA,
                    paises.NOMBRE as PAIS
                from negocios, articulos, rubroart, rubroser, rubroope, provincias, paises
                where
                    negocios.ID='"
.$id."' and
                    negocios.ESTADO='PUBLICADO' and
                    articulos.ID=negocios.ARTICULO and
                    rubroart.ID=negocios.RUBROART and
                    rubroser.ID=negocios.RUBROSER and
                    rubroope.ID=negocios.RUBROOPE and
                    provincias.ID=articulos.PROVINCIA and
                    paises.ID=articulos.pais
            "
;
            if( 
$this->data['db']['negocio'] = $this->db()->fetchRow($qry) ) {
                
// url de rubroart
                
$url toAscii($this->data['db']['negocio']['rubroart_NOMBRE']);
                
$rubroartURL $url;
                
$this->data['db']['negocio']['RUBROART URL'] = '/negocios/'.$url.'/1';
                
// url de rubroser
                
$url toAscii($this->data['db']['negocio']['rubroser_NOMBRE']);
                
$this->data['db']['negocio']['RUBROSER URL'] = '/servicios/'.$url.'_'.$this->data['db']['negocio']['RUBROSER'].'/1';
                
// url de rubroope
                
$url toAscii($this->data['db']['negocio']['rubroope_NOMBRE']);
                
$this->data['db']['negocio']['RUBROOPE URL'] = '/negocios/'.$rubroartURL.'/'.$url.'/1';

                
$qry "select ID,TIPO,X,Y from fotos where ARTICULO='".$this->data['db']['negocio']['ARTICULO']."' and PRESENTA='FICHA' order by ORDEN asc";
                
$this->data['db']['negocio']['FOTOS'] = $this->db()->fetchAll($qry);
            } else {
                
header('Location: /error'); exit;
            }

            
$this->rubros_list();
            
$this->negocios_rank_set($id);

            
$this->data['page title'] = $this->data['db']['negocio']['NOMBRE'].' - '.$this->data['db']['negocio']['LOCALIDAD'].' - Agenda Negocios';
            
$this->data['header']['meta'] = array(
                
'<meta name="title" content="'.$this->data['db']['negocio']['NOMBRE'].' - Agenda Negocios" />'."\n",
                
'<meta name="description" content="'.$this->data['db']['negocio']['articulos_DETALLES'].'" />'."\n",
                
'<meta name="keywords" content="'.$this->data['db']['negocio']['TAGS'].'" />'."\n"
            
);
            
$this->data['header']['js'] = array(
                
'<script type="text/javascript" src="/global/js/jquery-1.7.1.min.js"></script>'."\n",
                
'<script type="text/javascript" src="/global/js/jcarousellite_1.0.1.min.js"></script>'."\n",
                
'<script type="text/javascript" src="/global/js/agendanegocios-2.0.js"></script>'."\n"
            
);

            
$this->view()->renderc('detail'$this->data);

        } else {
            
// 404...
        
}
    }


    public function 
negocios() {
            
$this->data['operation'] = 'category';
            
$this->data['rubro title'] = 'Art&iacute;culos';
            
$this->data['category title'] = 'Negocios - Agenda Negocios';

            
$this->pagination_begin();
            
$urlBase '/negocios';
            
$this->data['pagination']['urlBase'] = '/negocios';
            
$this->data['pagination']['breadcrumb'] = array();
            
$this->data['pagination']['breadcrumb'][] = array('title' => 'inicio''url' => '/');
            
$this->data['pagination']['breadcrumb'][] = array('title' => str_replace('/'''$this->data['pagination']['urlBase']), 'url' => $this->data['pagination']['urlBase'].'/1');

            if(isset(
$this->params['category'])) {
                
$this->data['category'] = $this->params['category'];
                
$this->data['category title'] = $this->params['category'];
                
$this->data['pagination']['urlBase'] .= '/'.$this->params['category'];
                
$qryWhere "substring_index(rubroart.NOMBRE, '#', 1)='".str_replace('-'' '$this->params['category'])."' and ";
                if(isset(
$this->params['operation'])) {
                    
$this->data['pagination']['urlBase'] .= '/'.$this->params['operation'];
                    
$qryWhere .= "substring_index(rubroope.NOMBRE, '#', 1)='".str_replace('-'' '$this->params['operation'])."' and ";
                }
            } else {
                
$qryWhere "";
            }

            
// Cantidades
            
$qry "
                select
                    count(negocios.ID)
                from negocios, articulos, rubroart, rubroser, rubroope
                where
                    "
.$qryWhere."
                    negocios.ESTADO='PUBLICADO' and
                    articulos.ID=negocios.ARTICULO and
                    rubroart.ID=negocios.RUBROART and
                    rubroser.ID=negocios.RUBROSER and
                    rubroope.ID=negocios.RUBROOPE
            "
;
            
$tmp $this->db()->fetchRow($qry);
            
$this->data['pagination']['itemTotal'] = $tmp['count(negocios.ID)'];
            
$this->data['pagination']['pageTotal'] = ceil($this->data['pagination']['itemTotal'] / $this->data['pagination']['itemPage']);

            
$this->pagination_end();

            
$this->rubros_list();

            
$qry "
                select
                    negocios.ID,
                    negocios.NOMBRE,
                    negocios.RUBROOPE,
                    negocios.RUBROART,
                    negocios.RUBROSER,
                    negocios.F_ALTA,
                    negocios.F_BAJA,
                    negocios.DETALLES,
                    negocios.S_DETALLES,
                    negocios.ARTICULO,
                    negocios.OPORTUNIDAD,
                    substring_index(articulos.DETALLES, '#', 1) as articulos_DETALLES,
                    articulos.S_DETALLES as articulos_S_DETALLES,
                    articulos.TAGS,
                    articulos.LOCALIDAD,
                    substring_index(rubroart.NOMBRE, '#', 1) as rubroart_NOMBRE,
                    substring_index(rubroser.NOMBRE, '#', 1) as rubroser_NOMBRE,
                    substring_index(rubroope.NOMBRE, '#', 1) as rubroope_NOMBRE,
                    provincias.NOMBRE as PROVINCIA,
                    paises.NOMBRE as PAIS
                from negocios, articulos, rubroart, rubroser, rubroope, provincias, paises
                where
                    "
.$qryWhere."
                    negocios.ESTADO='PUBLICADO' and
                    articulos.ID=negocios.ARTICULO and
                    rubroart.ID=negocios.RUBROART and
                    rubroser.ID=negocios.RUBROSER and
                    rubroope.ID=negocios.RUBROOPE and
                    provincias.ID=articulos.PROVINCIA and
                    paises.ID=articulos.pais
                order by negocios.NOMBRE
                limit "
.$this->data['pagination']['itemActual'].", ".$this->data['pagination']['itemPage']."
            "
;
            
$this->data['db']['negocios'] = $this->db()->fetchAll($qry);

            if(
$this->data['db']['negocios']) {

                if(isset(
$this->params['category'])) {
                    
$this->data['category title'] = $this->data['db']['negocios'][0]['rubroart_NOMBRE'];
                } else {
                    
$this->data['category title'] = 'Todas las categor&iacute;as';
                }

                foreach(
$this->data['db']['negocios'] as $k => $row) {
                    
// url de cada negocio
                    
$url toAscii($this->data['db']['negocios'][$k]['NOMBRE']);
                    
$this->data['db']['negocios'][$k]['URL'] = '/negocio/'.$url.'_'.$this->data['db']['negocios'][$k]['ID'];
                    
// url de rubroart
                    
$url toAscii($this->data['db']['negocios'][$k]['rubroart_NOMBRE']);
                    
$rubroartURL $url;
                    
//$this->data['db']['negocios'][$k]['RUBROART URL'] = '/negocios/'.$url.'_'.$this->data['db']['negocios'][$k]['RUBROART'].'/1';
                    
$this->data['db']['negocios'][$k]['RUBROART URL'] = '/negocios/'.$url.'/1';
                    
// url de rubroser
                    
$url toAscii($this->data['db']['negocios'][$k]['rubroser_NOMBRE']);
                    
$this->data['db']['negocios'][$k]['RUBROSER URL'] = '/servicios/'.$url.'_'.$this->data['db']['negocios'][$k]['RUBROSER'].'/1';
                    
// url de rubroope
                    
$url toAscii($this->data['db']['negocios'][$k]['rubroope_NOMBRE']);
                    
$this->data['db']['negocios'][$k]['RUBROOPE URL'] = '/negocios/'.$rubroartURL.'/'.$url.'/1';
                    
// fotos
                    
$qry "select ID,TIPO,X,Y from fotos where ARTICULO='".$row['ARTICULO']."' && PRESENTA='CATALOGO' limit 1";
                    
$this->data['db']['negocios'][$k]['FOTO'] = $this->db()->fetchRow($qry);
                }

                if(isset(
$this->params['category'])) {
                    
$this->data['pagination']['breadcrumb'][] = array(
                        
'title' => strtolower($this->data['db']['negocios'][0]['rubroart_NOMBRE']),
                        
'url' => $urlBase.'/'.$this->params['category'].'/1');
                    if(isset(
$this->params['operation'])) {
                        
$this->data['pagination']['breadcrumb'][] = array(
                            
'title' => strtolower($this->data['db']['negocios'][0]['rubroope_NOMBRE']),
                            
'url' => $urlBase.'/'.$this->params['category'].'/'.$this->params['operation'].'/1');
                    }
                }
            }

            
$this->negocios_seleccionados();

            
$this->data['page title'] = '';
            if(isset(
$this->params['category'])) {
                
$this->data['page title'] .= $this->data['category title'].' ';
            } else {
                
$this->data['page title'] .= 'Todas las categorias ';
            }
            
$this->data['page title'] .= '(pag. '.$this->data['pagination']['pageActual'].') - ';
            if(isset(
$this->params['operation'])) {
                
$this->data['page title'] .= ucfirst($this->params['operation']).' - ';
            }
            if(isset(
$this->params['category'])) {
                
$this->data['page title'] .= 'Categorias - ';
            }
            
$this->data['page title'] .= 'Agenda Negocios';
            
$this->data['header']['meta'] = array(
                
'<meta name="title" content="Agenda Negocios" />'."\n",
                
'<meta name="description" content="" />'."\n",
                
'<meta name="keywords" content="" />'."\n"
            
);
            
$this->data['header']['js'] = array(
                
'<script type="text/javascript" src="/global/js/jquery-1.7.1.min.js"></script>'."\n",
                
'<script type="text/javascript" src="/global/js/jcarousellite_1.0.1.min.js"></script>'."\n",
                
'<script type="text/javascript" src="/global/js/agendanegocios-2.0.js"></script>'."\n"
            
);

            
$this->view()->renderc('list'$this->data);
    }


    public function 
pagina() {
        
$this->rubros_list();

        
$this->data['page url'] = $this->params['pagename'];
        
$this->data['page name'] = ucfirst(str_replace('-'' '$this->data['page url']));

        
$this->data['page title'] = $this->data['page name'].' - Agenda Negocios';
        
$this->data['header']['meta'] = array(
            
'<meta name="title" content="'.$this->data['page name'].' - Agenda Negocios" />'."\n",
            
'<meta name="description" content="" />'."\n",
            
'<meta name="keywords" content="" />'."\n"
        
);
        
$this->data['header']['js'] = array(
            
'<script type="text/javascript" src="/global/js/jquery-1.7.1.min.js"></script>'."\n",
            
'<script type="text/javascript" src="/global/js/jcarousellite_1.0.1.min.js"></script>'."\n",
            
'<script type="text/javascript" src="/global/js/agendanegocios-2.0.js"></script>'."\n"
        
);

        
$this->view()->renderc('page'$this->data);
    }


    private function 
negocios_seleccionados() {
        
$qry "
            select
                negocios.ID,
                negocios.NOMBRE,
                negocios.RUBROOPE,
                negocios.RUBROART,
                negocios.RUBROSER,
                negocios.F_ALTA,
                negocios.F_BAJA,
                negocios.DETALLES,
                negocios.S_DETALLES,
                negocios.ARTICULO,
                negocios.OPORTUNIDAD,
                substring_index(articulos.DETALLES, '#', 1) as articulos_DETALLES,
                articulos.S_DETALLES as articulos_S_DETALLES,
                articulos.TAGS,
                articulos.LOCALIDAD,
                substring_index(rubroart.NOMBRE, '#', 1) as rubroart_NOMBRE,
                substring_index(rubroser.NOMBRE, '#', 1) as rubroser_NOMBRE,
                substring_index(rubroope.NOMBRE, '#', 1) as rubroope_NOMBRE,
                provincias.NOMBRE as PROVINCIA,
                paises.NOMBRE as PAIS
            from negocios, articulos, rubroart, rubroser, rubroope, provincias, paises
            where
                negocios.OPORTUNIDAD='SI' and
                negocios.ESTADO='PUBLICADO' and
                articulos.ID=negocios.ARTICULO and
                rubroart.ID=negocios.RUBROART and
                rubroser.ID=negocios.RUBROSER and
                rubroope.ID=negocios.RUBROOPE and
                provincias.ID=articulos.PROVINCIA and
                paises.ID=articulos.pais
            order by negocios.NOMBRE
        "
;
        
$this->data['db']['negocios seleccionados'] = $this->db()->fetchAll($qry);

        foreach(
$this->data['db']['negocios seleccionados'] as $k => $row) {
            
// url de cada negocio
            
$url toAscii($this->data['db']['negocios seleccionados'][$k]['NOMBRE']);
            
$this->data['db']['negocios seleccionados'][$k]['URL'] = '/negocio/'.$url.'_'.$this->data['db']['negocios seleccionados'][$k]['ID'];
            
// url de rubroart
            
$url toAscii($this->data['db']['negocios seleccionados'][$k]['rubroart_NOMBRE']);
            
$rubroartURL $url;
            
$this->data['db']['negocios seleccionados'][$k]['RUBROART URL'] = '/negocios/'.$url.'/1';
            
// url de rubroser
            
$url toAscii($this->data['db']['negocios seleccionados'][$k]['rubroser_NOMBRE']);
            
$this->data['db']['negocios seleccionados'][$k]['RUBROSER URL'] = '/servicios/'.$url.'/1';
            
// url de rubroope
            
$url toAscii($this->data['db']['negocios seleccionados'][$k]['rubroope_NOMBRE']);
            
$this->data['db']['negocios seleccionados'][$k]['RUBROOPE URL'] = '/negocios/'.$rubroartURL.'/'.$url.'/1';
            
// fotos
            
$qry "select ID,TIPO,X,Y from fotos where ARTICULO='".$row['ARTICULO']."' && PRESENTA='CATALOGO' limit 1";
            
$this->data['db']['negocios seleccionados'][$k]['FOTO'] = $this->db()->fetchRow($qry);
        }
    }


    private function 
negocios_rank_set($negocio) {
        
$this->db()->query("insert into negocios_rank (NEGOCIO,VISITAS,FECHA) values ('".$negocio."','1','".date('Y-m-d H:i:s')."') on duplicate key update VISITAS=VISITAS+1, FECHA='".date('Y-m-d H:i:s')."'");
    }


    private function 
negocios_rank_get() {
    }


    private function 
rubros_list() {
        
//$this->data['rubroart'] = $this->db()->find('rubroart', array('asc' => 'NOMBRE'));
        
$this->data['db']['rubroart'] = $this->db()->fetchAll("select rubroart.ID, rubroart.NOMBRE, count(negocios.RUBROART) as 'cnt' from rubroart,negocios where negocios.RUBROART=rubroart.ID and 'cnt'>'0' group by rubroart.ID order by rubroart.NOMBRE asc");
        
$this->data['db']['rubroser'] = $this->db()->fetchAll("select rubroser.ID, rubroser.NOMBRE, count(negocios.RUBROSER) as 'cnt' from rubroser,negocios where negocios.RUBROSER=rubroser.ID and 'cnt'>'0' group by rubroser.ID order by rubroser.NOMBRE asc");
        
$this->data['db']['rubroope'] = $this->db()->fetchAll("select rubroope.ID, rubroope.NOMBRE, count(negocios.RUBROOPE) as 'cnt' from rubroope,negocios where negocios.RUBROOPE=rubroope.ID and 'cnt'>'0' group by rubroope.ID order by rubroope.NOMBRE asc");
    }


    private function 
pagination_begin() {
        
$this->data['pagination'] = array(
            
'itemPage' => 10,        // items x pagina
            
'itemTotal' => 0,        // cantidad total de items (count)
            
'itemActual' => 0,        // item actual
            
'pageShowAll' => 9,        // cantidad de paginas a paginar
            
'pageShowLeft' => 4,    // cantidad de items a la izquierda del actual
            
'pageShowRight' => 4,    // cantidad de items a la derecha del actual
            
'pageTotal' => 0,        // cantidad total de paginas (= ultima pagina)
            
'pageActual' => $this->params['page']
        );
        
settype($this->data['pagination']['pageActual'], 'integer');

        if(
$this->data['pagination']['pageActual'] > 1) {
            
$this->data['pagination']['itemActual'] = ($this->data['pagination']['pageActual'] * $this->data['pagination']['itemPage']) - $this->data['pagination']['itemPage'];
        } else {
            
$this->data['pagination']['itemActual'] = 0;
        }
    }


    private function 
pagination_end() {
        if(
$this->data['pagination']['pageTotal'] > 1) {
            
$this->data['pagination']['pages'] = array();
            if(
$this->data['pagination']['pageTotal'] > $this->data['pagination']['pageShowAll']) {

                
$beginL $this->data['pagination']['pageActual'] - $this->data['pagination']['pageShowLeft'];
                
$endL $this->data['pagination']['pageActual'] - 1;
                
$beginR $this->data['pagination']['pageActual'] + 1;
                
$endR $this->data['pagination']['pageActual'] + $this->data['pagination']['pageShowRight'];

                if(
$beginL 1) {
                    
$diff $beginL * (-1);
                    
$beginL 1;
                    
$endR += $diff 1;
                }
                if(
$endR $this->data['pagination']['pageTotal']) {
                    
$diff $endR $this->data['pagination']['pageTotal'];
                    
$endR $this->data['pagination']['pageTotal'];
                    
$beginL -= $diff;
                }


                
// left...
                
for($c=$beginL$c<=$endL$c++) {
                    
$this->data['pagination']['pages'][] = $c;
                }
                
// actual...
                
$this->data['pagination']['pages'][] = $this->data['pagination']['pageActual'];
                
// right...
                
for($c=$beginR$c<=$endR$c++) {
                    
$this->data['pagination']['pages'][] = $c;
                }
            } else {
                for(
$c=1$c<=$this->data['pagination']['pageTotal']; $c++) {
                    
$this->data['pagination']['pages'][] = $c;
                }
            }
        }
    }

}
?>



* Stack Trace...


PDOException Object
(
    [
message:protected] => SQLSTATE[HY000]: General error1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_unicode_ci,COERCIBLE) for operation 'like'
    
[string:Exception:private] => 
    [
code:protected] => HY000
    
[file:protected] => /home/gustavo/sites/ar.com.agendanegocios/dooframework/db/DooSqlMagic.php
    
[line:protected] => 278
    
[trace:Exception:private] => Array
        (
            [
0] => Array
                (
                    [
file] => /home/gustavo/sites/ar.com.agendanegocios/dooframework/db/DooSqlMagic.php
                    
[line] => 278
                    
[function] => execute
                    
[class] => PDOStatement
                    
[type] => ->
                    [
args] => Array
                        (
                        )

                )

            [
1] => Array
                (
                    [
file] => /home/gustavo/sites/ar.com.agendanegocios/dooframework/db/DooSqlMagic.php
                    
[line] => 294
                    
[function] => query
                    
[class] => DooSqlMagic
                    
[type] => ->
                    [
args] => Array
                        (
                            [
0] => 
                
select
                    count
(negocios.ID)
                
from negociosarticulosrubroartrubroserrubroope
                where
                    
(negocios.NOMBRE like '%producci��n%' or articulos.DETALLES like '%producci��n%' or articulos.LOCALIDAD like '%producci��n%' ) and 
                    
negocios.ESTADO='PUBLICADO' and
                    
articulos.ID=negocios.ARTICULO and
                    
rubroart.ID=negocios.RUBROART and
                    
rubroser.ID=negocios.RUBROSER and
                    
rubroope.ID=negocios.RUBROOPE
            
                            
[1] => 
                        )

                )

            [
2] => Array
                (
                    [
file] => /home/gustavo/sites/ar.com.agendanegocios/web/protected/controller/MainController.php
                    
[line] => 82
                    
[function] => fetchRow
                    
[class] => DooSqlMagic
                    
[type] => ->
                    [
args] => Array
                        (
                            [
0] => 
                
select
                    count
(negocios.ID)
                
from negociosarticulosrubroartrubroserrubroope
                where
                    
(negocios.NOMBRE like '%producci��n%' or articulos.DETALLES like '%producci��n%' or articulos.LOCALIDAD like '%producci��n%' ) and 
                    
negocios.ESTADO='PUBLICADO' and
                    
articulos.ID=negocios.ARTICULO and
                    
rubroart.ID=negocios.RUBROART and
                    
rubroser.ID=negocios.RUBROSER and
                    
rubroope.ID=negocios.RUBROOPE
            
                        
)

                )

            [
3] => Array
                (
                    [
file] => /home/gustavo/sites/ar.com.agendanegocios/dooframework/app/DooWebApp.php
                    
[line] => 114
                    
[function] => buscar
                    
[class] => MainController
                    
[type] => ->
                    [
args] => Array
                        (
                        )

                )

            [
4] => Array
                (
                    [
file] => /home/gustavo/sites/ar.com.agendanegocios/dooframework/app/DooWebApp.php
                    
[line] => 34
                    
[function] => routeTo
                    
[class] => DooWebApp
                    
[type] => ->
                    [
args] => Array
                        (
                        )

                )

            [
5] => Array
                (
                    [
file] => /home/gustavo/sites/ar.com.agendanegocios/web/index.php
                    
[line] => 29
                    
[function] => run
                    
[class] => DooWebApp
                    
[type] => ->
                    [
args] => Array
                        (
                        )

                )

        )

    [
previous:Exception:private] => 
    [
errorInfo] => Array
        (
            [
0] => HY000
            
[1] => 1267
            
[2] => Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_unicode_ci,COERCIBLE) for operation 'like'
        
)

)


* Variables...  Conf .  GET  .  POST  .  Session  .  Cookie 


object(DooConfig)#1 (23) {
  
["AUTOLOAD"] => NULL
  
["SITE_PATH"] => string(46"/home/gustavo/sites/ar.com.agendanegocios/web/"
  
["PROTECTED_FOLDER"] => string(10"protected/"
  
["BASE_PATH"] => string(55"/home/gustavo/sites/ar.com.agendanegocios/dooframework/"
  
["LOG_PATH"] => NULL
  
["APP_URL"] => string(29"http://agendanegocios.com.ar/"
  
["SUBFOLDER"] => string(1"/"
  
["APP_MODE"] => string(4"prod"
  
["AUTOROUTE"] => bool(false)
  [
"DEBUG_ENABLED"] => bool(true)
  [
"ERROR_404_DOCUMENT"] => NULL
  
["ERROR_404_ROUTE"] => string(6"/error"
  
["CACHE_PATH"] => NULL
  
["AUTO_VIEW_RENDER_PATH"] => string(19"/buscar/:text/:page"
  
["MEMCACHE"] => NULL
  
["TEMPLATE_ENGINE"] => string(7"DooView"
  
["TEMPLATE_SHOW_COMMENT"] => NULL
  
["TEMPLATE_ALLOW_PHP"] => NULL
  
["TEMPLATE_COMPILE_ALWAYS"] => NULL
  
["TEMPLATE_GLOBAL_TAGS"] => NULL
  
["MODULES"] => NULL
  
["APP_NAMESPACE_ID"] => NULL
  
["general"] => array(1) {
    [
"images"] =>   array(4) {
      [
"path"] =>     string(16"articulos/fotos/"
      
["url"] =>     string(17"/articulos/fotos/"
      
["thumb width"] =>     int(150)
      [
"max width"] =>     int(590)
    }
  }
}
$_COOKIE Variables array(0) {
}

BACK TO TOP