// CARGO LOS PARAMETROS DE CONFIGURACION. // --------------------------------------------------------------- $config = sfYaml::load('../config/config.yml'); $app = $config['config']['app']; // --------------------------------------------------------------- // 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; $relacion = new CpanRelaciones(); $idRelacion = $relacion->getIdRelacion($v['entidadOrigen'], $v['idOrigen'], $v['entidadDestino'], $v['idDestino']); if ($v['onOff']) { // Hacer relacion if (!$idRelacion) { $relacion = new CpanRelaciones(); $relacion->setEntidadOrigen($v['entidadOrigen']); $relacion->setIdEntidadOrigen($v['idOrigen']); $relacion->setEntidadDestino($v['entidadDestino']); $relacion->setIdEntidadDestino($v['idDestino']); $relacion->setPublish(1); $relacion->create(); } } else { // Quitar la relación if ($idRelacion) { $relacion = new CpanRelaciones($idRelacion);
/** * Generar un árbol genealógico con las entidades hijas * de la entidad cuyo id es $idPadre * * @param integer $idPadre El id de la entidad padre * @return array Array con los objetos hijos */ private function getChildrens($idPadre, $conServicios, $entidadRelacionada, $idEntidadRelacionada) { // Obtener todos los hijos del padre actual $hijos = $this->cargaCondicion('Id,PrimaryKeyMD5,NivelJerarquico,Publish,BelongsTo', "BelongsTo='{$idPadre}'", "SortOrder ASC"); foreach ($hijos as $hijo) { $aux = new $this($hijo['Id']); $arrayServicios = $conServicios ? $this->getServicios($hijo['Id']) : array(); $arrayHijos = $this->getChildrens($hijo['Id'], $conServicios, $entidadRelacionada, $idEntidadRelacionada); $this->_hijos[$idPadre][$hijo['PrimaryKeyMD5']] = array('id' => $hijo['Id'], 'titulo' => $aux->getTitulo(), 'nivelJerarquico' => $hijo['NivelJerarquico'], 'publish' => $hijo['Publish'], 'belongsTo' => $hijo['BelongsTo'], 'nHijos' => count($arrayHijos), 'hijos' => $arrayHijos, 'nServicios' => count($arrayServicios), 'servicios' => $arrayServicios); if ($entidadRelacionada) { $relacion = new CpanRelaciones(); $this->_hijos[$idPadre][$hijo['PrimaryKeyMD5']]['estaRelacionado'] = $relacion->getIdRelacion($entidadRelacionada, $idEntidadRelacionada, 'ServFamilias', $hijo['Id']); } unset($hijo); } return $this->_hijos[$idPadre]; }
/** * Generar un árbol genealógico con las entidades hijas * de la entidad cuyo id es $idPadre * * @param integer $idPadre El id de la entidad padre * @param array $optArticulos Array de opciones de articulos * @return array Array con los objetos hijos */ private function getChildrens($idPadre, $optArticulos, $entidadRelacionada, $idEntidadRelacionada, $aditionalFilter = '1', $sortOrder = "SortOrder ASC") { // Obtener todos los hijos del padre actual $hijos = $this->cargaCondicion('IDFamilia as Id,PrimaryKeyMD5,NivelJerarquico,Publish,BelongsTo', "(BelongsTo='{$idPadre}') and ({$aditionalFilter})", $sortOrder); foreach ($hijos as $hijo) { $aux = new $this($hijo['Id']); $arrayArticulos = $optArticulos["conArticulos"] ? $this->getArticulos($hijo['Id'], $optArticulos, $entidadRelacionada, $idEntidadRelacionada) : array(); $arrayHijos = $this->getChildrens($hijo['Id'], $optArticulos, $entidadRelacionada, $idEntidadRelacionada); $this->_hijos[$idPadre][$hijo['PrimaryKeyMD5']] = array('id' => $hijo['Id'], 'titulo' => $aux->__toString(), 'nivelJerarquico' => $hijo['NivelJerarquico'], 'publish' => $hijo['Publish'], 'belongsTo' => $hijo['BelongsTo'], 'nHijos' => count($arrayHijos), 'hijos' => $arrayHijos, 'nArticulos' => count($arrayArticulos), 'articulos' => $arrayArticulos); if ($entidadRelacionada) { $relacion = new CpanRelaciones(); $this->_hijos[$idPadre][$hijo['PrimaryKeyMD5']]['estaRelacionado'] = $relacion->getIdRelacion($entidadRelacionada, $idEntidadRelacionada, 'Familias', $hijo['Id']); } unset($hijo); } return $this->_hijos[$idPadre]; }
/** * Devuelve array de dos dimensiones con los * boletines a los que está suscrito el cliente en curso. * * @return array */ public function getSuscripciones() { $array = array(); $tipoBoletines = new BolTipos(); $tipos = $tipoBoletines->cargaCondicion("Id,Titulo"); foreach ($tipos as $tipo) { $boletin = new BolBoletines(); $boletines = $boletin->cargaCondicion("Id,Titulo", "IDTipo='{$tipo['Id']}'"); foreach ($boletines as $boletin) { $relaciones = new CpanRelaciones(); $idRelacion = $relaciones->getIdRelacion("Clientes", $this->IDCliente, "BolBoletines", $boletin['Id']); $array[$tipo['Titulo']][$boletin['Id']] = array('titulo' => $boletin['Titulo'], 'suscrito' => $idRelacion); } } return $array; }