/** * @param array $aVariable * @returns array */ private function llenarVariables($aVariable) { $aDato = array(); foreach ($aVariable as $idx => $result) { //Recorrer las variables switch ($idx) { // me fijo que variables debo enviar al template de resultado case 'cuenta': if (array_key_exists('loop', $result) and $result['loop'] == 1) { $criteria = new Criteria(); $cuentas = CuentaPeer::doSelect($criteria); foreach ($cuentas as $cuenta) { $aDato['cuenta'][] = $cuenta->toArray(); } } else { if ($this->getRequestParameter('cuenta_id')) { $cuenta = CuentaPeer::retrieveByPk($this->getRequestParameter('cuenta_id')); $aDato['cuenta'] = $cuenta->toArray(); } } break; case 'responsable': if (array_key_exists('loop', $result) and $result['loop'] == 1) { $criteria = new Criteria(); if ($this->getRequestParameter('fk_cuenta_id')) { $criteria->add(ResponsablePeer::FK_CUENTA_ID, $this->getRequestParameter('fk_cuenta_id')); } $responsables = ResponsablePeer::doSelect($criteria); foreach ($responsables as $responsable) { $aDato['responsable'][] = $responsable->toArray(); } } else { if ($this->getRequestParameter('responsable_id')) { $responsable = ResponsablePeer::retrieveByPk($this->getRequestParameter('responsable_id')); $aDato['responsable'] = $responsable->toArray(); } } break; case 'alumno': //dependiendo si es una variables de cilcos if (array_key_exists('loop', $result) and $result['loop'] == 1) { $criteria = new Criteria(); if ($this->getRequestParameter('division_id')) { $criteria->add(DivisionPeer::ID, $this->getRequestParameter('division_id')); } if ($this->getRequestParameter('fk_cuenta_id')) { $criteria->add(AlumnoPeer::FK_CUENTA_ID, $this->getRequestParameter('fk_cuenta_id')); } $criteria->addJoin(RelAlumnoDivisionPeer::FK_ALUMNO_ID, AlumnoPeer::ID); $criteria->addJoin(RelAlumnoDivisionPeer::FK_DIVISION_ID, DivisionPeer::ID); $criteria->addAscendingOrderByColumn(AlumnoPeer::APELLIDO); $alumnos = AlumnoPeer::doSelect($criteria); foreach ($alumnos as $alumno) { $aDato['alumno'][] = $alumno->toArrayInforme(); } } else { if ($this->getRequestParameter('alumno_id')) { $alumno = AlumnoPeer::retrieveByPk($this->getRequestParameter('alumno_id')); $aDato['alumno'] = $alumno->toArrayInforme(); } } break; case 'division': if ($this->getRequestParameter('division_id')) { $d = DivisionPeer::retrieveByPK($this->getRequestParameter('division_id')); } else { $c = new Criteria(); $c->add(RelAlumnoDivisionPeer::FK_ALUMNO_ID, $this->getRequestParameter('alumno_id')); $relAlumnoDivision = RelAlumnoDivisionPeer::doSelectOne($c); $d = $relAlumnoDivision->getDivision(); } $aDato['division'] = $d->toArrayInforme(); break; case 'establecimiento': if ($this->getUser()->getAttribute('fk_establecimiento_id')) { $establecimiento = EstablecimientoPeer::retrieveByPk($this->getUser()->getAttribute('fk_establecimiento_id')); $aDato['establecimiento'] = $establecimiento->toArrayInforme(); } break; case 'ciclolectivo': if ($this->getUser()->getAttribute('fk_ciclolectivo_id')) { $ciclolectivo_id = $this->getUser()->getAttribute('fk_ciclolectivo_id'); $ciclolectivo = CiclolectivoPeer::retrieveByPk($ciclolectivo_id); $aDato['ciclolectivo'] = $ciclolectivo->toArray(); } break; case 'locacion': if (array_key_exists('loop', $result) and $result['loop'] == 1 and $this->getUser()->getAttribute('fk_establecimiento_id')) { $c = new Criteria(); $c->add(RelEstablecimientoLocacionPeer::FK_ESTABLECIMIENTO_ID, $this->getUser()->getAttribute('fk_establecimiento_id')); $c->addJoin(RelEstablecimientoLocacionPeer::FK_LOCACION_ID, LocacionPeer::ID); $locaciones = LocacionPeer::doSelect($c); foreach ($locaciones as $locacion) { $aDato['locacion'][] = $locacion->toArray(); } } else { if ($this->getRequestParameter('locacion_id')) { $c = new Criteria(); $c->add(LocacionPeer::ID, $this->getRequestParameter('locacion_id')); $locacion = LocacionPeer::doSelect($c); $aDato['locacion'] = $locacion->toArray(); } } break; case 'espacio': if (array_key_exists('loop', $result) and $result['loop'] == 1 and $this->getUser()->getAttribute('fk_establecimiento_id')) { $c = new Criteria(); $c->add(RelEstablecimientoLocacionPeer::FK_ESTABLECIMIENTO_ID, $this->getUser()->getAttribute('fk_establecimiento_id')); $c->addJoin(RelEstablecimientoLocacionPeer::FK_LOCACION_ID, LocacionPeer::ID); if ($this->getRequestParameter('locacion_id')) { $c->add(LocacionPeer::ID, $this->getRequestParameter('locacion_id')); } $c->addJoin(EspacioPeer::FK_LOCACION_ID, LocacionPeer::ID); $espacios = EspacioPeer::doSelect($c); foreach ($espacios as $espacio) { $aDato['espacio'][] = $espacio->toArray(); } } else { if ($this->getRequestParameter('espacio_id')) { $c = new Criteria(); $c->add(EspacioPeer::ID, $this->getRequestParameter('espacio_id')); $espacio = EspacioPeer::doSelect($c); $aDato['espacio'] = $espacio->toArray(); } } break; case 'organizacion': if ($this->getUser()->getAttribute('fk_establecimiento_id')) { $c = new Criteria(); $c->add(EstablecimientoPeer::ID, $this->getUser()->getAttribute('fk_establecimiento_id')); $c->addJoin(EstablecimientoPeer::FK_ORGANIZACION_ID, OrganizacionPeer::ID); $organizacion = OrganizacionPeer::doSelectOne($c); $aDato['organizacion'] = $organizacion->toArray(); } break; case 'usuario': if ($this->getUser()->getAttribute('id')) { $usuario = UsuarioPeer::retrieveByPk($this->getUser()->getAttribute('id')); $aUsuario = $usuario->toArray(); //por seguridad: para no mostrar otros datos del usuario como clave, preguntas, etc $aDato['usuario'] = array('Usuario' => $aUsuario['Usuario'], 'Email' => $aUsuario['Email']); } break; case 'docente': if (array_key_exists('loop', $result) and $result['loop'] == 1) { $c = new Criteria(); $docentes = DocentePeer::doSelect($c); foreach ($docentes as $docente) { $aDato['docente'][] = $docente->toArray(); } } else { if ($this->getRequestParameter('docente_id')) { $docente = DocentePeer::retrieveByPK($this->getRequestParameter('docente_id')); $aDato['docente'] = $docente->toArray(); } } break; case 'boletin': break; default: } } return $aDato; }