Пример #1
0
 /**
  * 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;
Пример #3
0
 /**
  * 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;