コード例 #1
0
ファイル: Inmuebles.php プロジェクト: joksnet/php-old
 public static function allPaginas($where = null, $idioma = null)
 {
     $result = Db::fetchAssoc(Db::select(array('inmuebles.inmueble_id', 'inmuebles.codigo', 'inmuebles.activo', 'inmuebles_contenidos.inmueble_contenido_id', 'inmuebles_contenidos.idioma', 'inmuebles_contenidos.nombre', 'inmuebles_contenidos.url', 'inmuebles_paginas.inmueble_pagina_id', 'pagina_codigo' => 'inmuebles_paginas.codigo', 'pagina_tipo' => 'inmuebles_paginas.tipo', 'inmuebles_paginas_contenidos.inmueble_pagina_contenido_id', 'pagina_nombre' => 'inmuebles_paginas_contenidos.nombre', 'pagina_titulo' => 'inmuebles_paginas_contenidos.titulo', 'pagina_url' => 'inmuebles_paginas_contenidos.url'), 'inmuebles', $where, array('inmuebles.inmueble_id' => 'ASC', 'inmuebles_paginas.posicion' => 'ASC'), null, Db::join('inmuebles_contenidos', array('inmuebles_contenidos.inmueble_id' => 'inmuebles.inmueble_id')) . Db::join('inmuebles_paginas', array('inmuebles_paginas.inmueble_id' => 'inmuebles.inmueble_id')) . Db::join('inmuebles_paginas_contenidos', array('inmuebles_paginas_contenidos.inmueble_pagina_id' => 'inmuebles_paginas.inmueble_pagina_id', 'inmuebles_paginas_contenidos.idioma' => 'inmuebles_contenidos.idioma'))));
     if (!$result) {
         return array();
     }
     $inmuebles = array();
     $pos = 0;
     $len = sizeof($result);
     $row = $result[$pos];
     while ($pos < $len) {
         $id = $row['inmueble_id'];
         $codigo = $row['codigo'];
         $activo = $row['activo'];
         $contenidos = array();
         $paginas = array();
         while ($pos < $len && $id == $row['inmueble_id']) {
             $current = $row['idioma'];
             $contenido = new Inmuebles_Contenidos();
             $contenido->found(true);
             $contenido->import(array('inmueble_contenido_id' => $row['inmueble_contenido_id'], 'inmueble_id' => $row['inmueble_id'], 'idioma' => $row['idioma'], 'nombre' => $row['nombre'], 'url' => $row['url']));
             $contenidos[$current] = $contenido;
             $paginaID = $row['inmueble_pagina_id'];
             $paginaCodigo = $row['pagina_codigo'];
             $paginaTipo = $row['pagina_tipo'];
             $paginaContenidos = array();
             while ($pos < $len && $id == $row['inmueble_id'] && $paginaID == $row['inmueble_pagina_id']) {
                 $current = $row['idioma'];
                 $paginaContenido = new Inmuebles_Paginas_Contenidos();
                 $paginaContenido->found(true);
                 $paginaContenido->import(array('inmueble_pagina_contenido_id' => $row['inmueble_pagina_contenido_id'], 'inmueble_pagina_id' => $row['inmueble_pagina_id'], 'nombre' => $row['pagina_nombre'], 'titulo' => $row['pagina_titulo'], 'url' => $row['pagina_url']));
                 $paginaContenidos[$current] = $paginaContenido;
                 $pos++;
                 $row = isset($result[$pos]) ? $result[$pos] : array();
             }
             $paginaContenido = null;
             if (isset($paginaContenidos[$idioma])) {
                 $paginaContenido = $paginaContenidos[$idioma];
             }
             $pagina = new Inmuebles_Paginas();
             $pagina->found(true);
             $pagina->import(array('inmueble_pagina_id' => $paginaID, 'codigo' => $paginaCodigo, 'tipo' => $paginaTipo, 'contenidos' => $paginaContenidos, 'contenido' => $paginaContenido));
             $paginas[] = $pagina;
         }
         $contenido = null;
         if (isset($contenidos[$idioma])) {
             $contenido = $contenidos[$idioma];
         }
         $inmueble = new Inmuebles();
         $inmueble->found(true);
         $inmueble->import(array('inmueble_id' => $id, 'codigo' => $codigo, 'activo' => $activo, 'contenidos' => $contenidos, 'contenido' => $contenido, 'paginas' => $paginas));
         $inmuebles[] = $inmueble;
     }
     return $inmuebles;
 }
コード例 #2
0
ファイル: Paginas.php プロジェクト: joksnet/php-old
 public static function destroy($pagina)
 {
     if (!$pagina instanceof Inmuebles_Paginas) {
         $pagina = new Inmuebles_Paginas($pagina);
     }
     if (!$pagina->found()) {
         return false;
     }
     $contenidos = Inmuebles_Paginas_Contenidos::all(array('inmueble_pagina_id' => $pagina->id));
     foreach ($contenidos as $contenido) {
         Inmuebles_Paginas_Contenidos::destroy($contenido);
     }
     $datos = Inmuebles_Paginas_Datos::all(array('inmueble_pagina_id' => $pagina->id));
     foreach ($datos as $dato) {
         Inmuebles_Paginas_Datos::destroy($dato);
     }
     Db::execute("UPDATE `inmuebles_paginas`\n             SET `posicion` = `posicion` - 1\n             WHERE `posicion` > {$pagina->posicion}\n               AND `inmueble_id` = {$pagina->inmueble_id}");
     return $pagina->delete();
 }