/** * 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; }
// --------------------------------------------------------------- define("APP_PATH", $_SERVER['DOCUMENT_ROOT'] . $app['path'] . "/"); include_once "../" . $app['framework'] . "Autoloader.class.php"; Autoloader::setCacheFilePath(APP_PATH . 'tmp/class_path_cache.txt'); Autoloader::excludeFolderNamesMatchingRegex('/^CVS|\\..*$/'); Autoloader::setClassPaths(array('../' . $app['framework'], '../entities/', '../lib/')); spl_autoload_register(array('Autoloader', 'loadClass')); $v = $_GET; $tabla = new FamiliasPropiedades(); $rows = $tabla->cargaCondicion("Id", "IDFamilia='{$v['idFamilia']}' and IDPropiedad='{$v['idPropiedad']}'"); $idRelacion = $rows[0]['Id']; if ($v['valor']) { // Hacer relacion if (!$idRelacion) { $relacion = new FamiliasPropiedades(); $relacion->setIDFamilia($v['idFamilia']); $relacion->setIDPropiedad($v['idPropiedad']); $relacion->setPublish(1); $relacion->create(); } } else { // Quitar la relación if ($idRelacion) { $relacion = new FamiliasPropiedades($idRelacion); $relacion->erase(); } } unset($tabla); unset($relacion); $tag = ""; echo $tag;
/** * Devuelve true o false según la familia tenga o no propiedades asociadas * * @return boolean True si la familia tiene propiedades */ public function TienePropiedades() { $propiedad = new FamiliasPropiedades(); $rows = $propiedad->cargaCondicion("Id", "IDFamilia='{$this->getPrimaryKeyValue()}'"); unset($propiedad); return count($rows) > 0; }
// ACTIVAR EL AUTOLOADER DE CLASES Y FICHEROS A INCLUIR // --------------------------------------------------------------- define("APP_PATH", $_SERVER['DOCUMENT_ROOT'] . $app['path'] . "/"); include_once "../" . $app['framework'] . "Autoloader.class.php"; Autoloader::setCacheFilePath(APP_PATH . 'tmp/class_path_cache.txt'); Autoloader::excludeFolderNamesMatchingRegex('/^CVS|\\..*$/'); Autoloader::setClassPaths(array('../' . $app['framework'], '../entities/', '../lib/')); spl_autoload_register(array('Autoloader', 'loadClass')); $v = $_GET; $tabla = new FamiliasPropiedades(); $rows = $tabla->cargaCondicion("Id", "IDFamilia='{$v['idFamilia']}' and IDPropiedad='{$v['idPropiedad']}'"); $idRelacion = $rows[0]['Id']; if (!$idRelacion) { // Hacer relacion if ($v['valor']) { $relacion = new FamiliasPropiedades(); $relacion->setIDFamilia($v['idFamilia']); $relacion->setIDPropiedad($v['idPropiedad']); $relacion->setFiltrable(1); $relacion->setPublish(1); $relacion->create(); } } else { $relacion = new FamiliasPropiedades($idRelacion); $relacion->setFiltrable($v['valor']); $relacion->save(); } unset($tabla); unset($relacion); $tag = ""; echo $tag;