public function IndexAction() { $array = array(); $atributos = new Propiedades(); $rows = $atributos->fetchAll('Titulo', false); unset($atributos); foreach ($rows as $row) { $array[$row['Id']]['Titulo'] = $row['Value']; $valor = new PropiedadesValores(); $valores = $valor->getValores($row['Id']); unset($valor); foreach ($valores as $valor) { $array[$row['Id']]['Valores'][$valor['Id']] = $valor['Valor']; } } $articulo = new Articulos(); $rows = $articulo->cargaCondicion("IDArticulo", "BelongsTo='{$this->request[2]}'"); unset($articulo); foreach ($rows as $row) { $articulos[] = new Articulos($row['IDArticulo']); } $this->values['articulos'] = $articulos; $this->values['propiedadesValores'] = $array; $this->values['idArticulo'] = $this->request[2]; return array('template' => $this->entity . '/index.html.twig', 'values' => $this->values); }
<?php // 1. the current page number ($current_page) $page = !empty($_GET['page']) ? (int) $_GET['page'] : 1; // 2. records per page ($per_page) $per_page = 10; // 3. total record count ($total_count) $total_count = Propiedades::count_all(); $pagination = new Pagination($page, $per_page, $total_count); // Instead of finding all records, just find the records // for this page $sql = "SELECT * FROM propiedades ORDER BY id DESC "; $sql .= "LIMIT {$per_page} "; $sql .= "OFFSET {$pagination->offset()}"; $propiedades = Propiedades::find_by_sql($sql); ?> <table id="productos-listado" cellspacing="1" cellpadding="0" width="100%"> <tr> <th align="center" valign="middle" width="20%">Departamento</th> <th align="center" valign="middle" width="30%">Descripción</th> <th align="center" valign="middle" width="40%">Precio</th> <th align="center" valign="middle" width="40%">Fecha Ingreso</th> <th align="center" colspan="2" valign="middle" width="10%">Acciones</th>
/** * Devuelve un array con las propiedades que están definidas * para el artículo en curso. * * Cada elemento del array es: * * - Id: El id de la propiedad * - Titulo: El título de la propiedad * - IDTipo: el id de tipo de la propiedad * - IDValor: el id del valor actual de la propiedad * - Valores: array con los valores posibles para dicha propiedad * * @param boolean $valorAditional Si true añade el valor adicional "Indique un valor" en el subarray de valores. Por defato true * @return array */ public function getPropiedades($valorAditional = true) { $array = array(); switch ($this->TienePropiedades()) { case 0: break; case 1: $propiedades = new FamiliasPropiedades(); $rows = $propiedades->cargaCondicion("IDPropiedad", "IDFamilia='{$this->IDCategoria->getIDFamilia()}'"); break; case 2: $propiedades = new FamiliasPropiedades(); $rows = $propiedades->cargaCondicion("IDPropiedad", "IDFamilia='{$this->IDFamilia->getIDFamilia()}'"); break; case 3: $propiedades = new FamiliasPropiedades(); $rows = $propiedades->cargaCondicion("IDPropiedad", "IDFamilia='{$this->IDSubfamilia->getIDFamilia()}'"); break; } foreach ($rows as $row) { $propiedad = new Propiedades($row['IDPropiedad']); $propiedadesValores = new PropiedadesValores(); $propArticulo = new ArticulosPropiedades(); $propiedadesArticulo = $propArticulo->cargaCondicion("IDValor", "IDArticulo='{$this->IDArticulo}' and IDPropiedad='{$row['IDPropiedad']}'"); $array[$propiedad->getId()] = array('Id' => $propiedad->getId(), 'Titulo' => $propiedad->getTitulo(), 'IDTipo' => $propiedad->getIDTipo()->getIDTipo(), 'IDValor' => $propiedadesArticulo[0]['IDValor'], 'Valores' => $propiedadesValores->getValores($row['IDPropiedad'], $valorAditional)); } unset($propiedadesValores); unset($propiedades); unset($propiedad); return $array; }
<?php // verifica si está logueado require 'inc.seguridad.php'; // load config file first require_once '../includes/config.php'; // load basic functions next so that everything after can use them require_once '../includes/functions.php'; // load core objects require_once '../includes/database.php'; // load database-related classes require_once '../includes/propiedades.php'; // Elimina la noticia $propiedad = Propiedades::find_by_id($_GET['id']); if ($propiedad) { $propiedad->delete(); } header("Location: propiedades.php");
require_once '../includes/pagination.php'; // load database-related classes require_once '../includes/propiedades.php'; require_once '../includes/regiones.php'; // Tamaño máximo de la foto $max_file_size = 2097152; // expressed in bytes // 10240 = 10 KB // 102400 = 100 KB // 1048576 = 1 MB // 10485760 = 10 MB // Si envío el formulario, guardamos if (isset($_POST['enviar_nuevo'])) { $latitud = DMStoDEC(intval($_POST['la_grados']), intval($_POST['la_minutos']), intval($_POST['la_segundos'])); $longitud = DMStoDEC(intval($_POST['lo_grados']), intval($_POST['lo_minutos']), intval($_POST['lo_segundos'])); $propiedades = new Propiedades(); $propiedades->ref_alf = $_POST['ref_alf']; $propiedades->ref_num = $_POST['ref_num']; $propiedades->region = $_POST['region']; $propiedades->departamento = $_POST['departamento']; $propiedades->distrito = $_POST['distrito']; $propiedades->lugar = $_POST['lugar']; $propiedades->campo_urbano = $_POST['campo_urbano']; $propiedades->propietario = $_POST['propietario']; $propiedades->sin_uso = $_POST['sin_uso']; $propiedades->descripcion = $_POST['descripcion']; $propiedades->breve = $_POST['breve']; $propiedades->sin_uso2 = $_POST['sin_uso2']; $propiedades->superficie = $_POST['superficie']; $propiedades->unidad_medida = $_POST['unidad_medida']; $propiedades->moneda = $_POST['moneda'];
/** * Devuelve un array con las propiedades y valores asignadas * a la familia en curso. * * Si el parámetro $todas es false se incluyen todas las propiedades pero * con una marca a false para las propiedades que no están asignadas. * * Si el parámetro $todas es true se incluyen solo las propiedades asignadas * y con la marca a true * * El indice el array es el id de la propiedad y tiene dos elementos: * * - Titulo: el titulo de la propiedad * - Asignada: true o false * - Filtrable: true o false * - Valores: array de valores (Id,Value) * * @param boolean $todas * @return array */ public function getPropiedades($todas = false) { $propiedades = array(); $propiedad = new Propiedades(); // Cojo todas las propiedades $aux = $propiedad->fetchAll('Titulo', false); foreach ($aux as $item) { $propiedadesTodas[$item['Id']] = $item['Value']; } // Cojo las que están asignadas a la familia $familiaPropiedad = new FamiliasPropiedades(); $rows = $familiaPropiedad->cargaCondicion("IDPropiedad, Filtrable", "IDFamilia='{$this->IDFamilia}'"); $valores = new PropiedadesValores(); foreach ($rows as $row) { $propiedades[$row['IDPropiedad']] = array('Id' => $row['IDPropiedad'], 'Titulo' => $propiedadesTodas[$row['IDPropiedad']], 'Asignada' => true, 'Filtrable' => $row['Filtrable'], 'Valores' => $valores->getValores($row['IDPropiedad'])); } if ($todas) { foreach ($propiedadesTodas as $key => $titulo) { if (!isset($propiedades[$key])) { $propiedades[$key] = array('Id' => $key, 'Titulo' => $propiedadesTodas[$key], 'Asignada' => false, 'Valores' => $valores->getValores($key)); } } } return $propiedades; }