/** * Devuelve array de id's de lotesweb * en los que se encuentra el artículo $idArticulo * * @param integer $idArticulo El id del artículo a buscas * @return array Array de id's de lotes */ public function getArrayLotesArticulo($idArticulo) { $relacion = new CpanRelaciones(); $lotes = $relacion->cargaCondicion("IdEntidadOrigen", "EntidadDestino='Articulos' AND IdEntidadDestino='{$idArticulo}' AND EntidadOrigen='LotesWeb'", "EntidadOrigen,SortOrder ASC"); unset($relacion); foreach ($lotes as $lote) { $array[] = $lote['IdEntidadOrigen']; } return $array; }
/** * Reordenada los elmentos * @return type */ public function ReordenarAction() { $relaciones = new CpanRelaciones(); $dbName = $relaciones->getDataBaseName(); $tableName = $relaciones->getTableName(); $filtro = "EntidadOrigen='{$this->entity}' and IdEntidadOrigen='{$this->request[$this->entity]['Id']}'"; $em = new EntityManager($relaciones->getConectionName()); if ($em->getDbLink()) { // Recorro los elementos que vienen en el acordeon, y los reordeno $orden = 0; foreach ($this->request['acordeon'] as $id => $elemento) { $query = "UPDATE {$dbName}.{$tableName} SET SortOrder = '{$orden}' WHERE ({$filtro}) AND (IdEntidadDestino = '{$id}')"; $em->query($query); $orden += 1; } $em->desConecta(); } unset($em); $this->request['METHOD'] = 'GET'; $boletin = new BolBoletines($this->request[$this->entity]['Id']); $this->request[2] = $boletin->getPrimaryKeyMD5(); unset($boletin); return $this->EditAction(); }
// --------------------------------------------------------------- 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); $relacion->erase(); } } unset($relacion); $tag = ""; echo $tag;
/** * 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]; }
/** * 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]; }
/** * Devuelve un array de objetos relacionados * con la entidad/idEntidad en curso * * @param string $entidadDestino EL nombre de la entidad destino. Por defecto todas. * @return array */ public function getObjetosRelacionados($entidadDestino = "") { $relaciones = new CpanRelaciones(); $objetos = $relaciones->getObjetosRelacionados($this->getClassName(), $this->getPrimaryKeyValue(), $entidadDestino); unset($relaciones); return $objetos; }
/** * 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; }
/** * Vacia las tablas de familias,fabricantes y articulos */ static function VaciarTablas() { $tabla = new CpanUrlAmigables(); $tabla->queryDelete("Controller='Familias' or Controller='Articulos' or Controller='Producto' or Controller='Fabricantes'"); $tabla = new Familias(); $tabla->queryDelete("1"); $tabla = new Fabricantes(); $tabla->queryDelete("1"); $tabla = new Articulos(); $tabla->queryDelete("1"); $tabla = new CpanRelaciones(); $tabla->queryDelete("EntidadOrigen='Familias' or EntidadOrigen='Fabricantes' or EntidadOrigen='Articulos'"); $tabla->queryDelete("EntidadDestino='Familias' or EntidadDestino='Fabricantes' or EntidadDestino='Articulos'"); unset($tabla); }