public function getNom() { $OF = FormularisPeer::retrieveByPK($this->getIdformularis()); if ($OF instanceof Formularis) { return $OF->getNom(); } else { return 'n/d'; } }
public static function getFormulariDetall($idU, $idF) { //Carreguem el formulari formulari $OF = FormularisPeer::retrieveByPK($idF); if ($OF instanceof Formularis) { $FORM = $OF->getFormulari(); } else { $FORM = "No s'ha trobat el formulari. "; } //Mirem si l'usuari ja en té algun de creat. $C = new Criteria(); $C->add(FormularisRespostesPeer::IDUSUARIS, $idU); $C->add(FormularisRespostesPeer::IDFORMULARIS, $idF); $C->addDescendingOrderByColumn(FormularisRespostesPeer::IDFORMULARISRESPOSTES); $OFR = FormularisRespostesPeer::doSelectOne($C); //Analitzo el formulari i canvio els codis per inputs pertinents. $ARR = array(); preg_match_all("/#@@(.*)@@#/", $FORM, $ARR); //Serà l'array amb els valors a carregar $A_D = array(); //Si ja hi ha una resposta, reomplim el formulari if ($OFR instanceof FormularisRespostes) { $A_D = unserialize($OFR->getDades()); //Si no hi ha cap registre previ, posem les dades de registre per estalviar feina. } else { $OU = UsuarisPeer::retrieveByPK($idU); if ($OU instanceof Usuaris) { $A_D = array('NOM' => $OU->getNom(), 'COGNOMS' => $OU->getCog1() . ' ' . $OU->getCog2(), 'DNI' => $OU->getDni(), 'POBLACIO' => $OU->getPoblacioString(), 'TELEFON' => $OU->getTelefonString(), 'EMAIL' => $OU->getEmail(), 'ENTITAT' => $OU->getEntitat(), 'ADRECA' => $OU->getAdreca(), 'CODI_POSTAL' => $OU->getCodipostal()); } } //Construim el formulari amb els valors que hem extret del formulari foreach ($ARR[1] as $K => $V) { $A = explode("@@", $V); if ($A[0] == 'text') { if (isset($A_D[$A[1]])) { $FORM = str_replace($ARR[0][$K], '<input type="text" value="' . $A_D[$A[1]] . '" name="formulari[' . $A[1] . ']" ' . $A[2] . ' />', $FORM); } else { $FORM = str_replace($ARR[0][$K], '<input type="text" value="" name="formulari[' . $A[1] . ']" ' . $A[2] . ' />', $FORM); } } elseif ($A[0] == 'checkbox') { if (isset($A_D[$A[1]])) { $FORM = str_replace($ARR[0][$K], '<input type="checkbox" checked="checked" name="formulari[' . $A[1] . ']" ' . $A[2] . ' />', $FORM); } else { $FORM = str_replace($ARR[0][$K], '<input type="checkbox" name="formulari[' . $A[1] . ']" ' . $A[2] . ' />', $FORM); } } } return $FORM; }
/** * hospiciActions::executeFormularis() * * Part de mostra dels formularis a l'hospici * * @param mixed $request * @return void */ public function executeForms(sfWebRequest $request) { $this->setLayout('hospici'); $this->setTemplate('indexFormularis'); $this->accio = $request->getParameter('accio', 'index'); //Carrego la cerca $this->CERCA = $this->getUser()->getSessionPar('cerca', array()); $this->DESPLEGABLES = array(); $this->AUTH = $this->getUser()->isAuthenticated(); $this->IDU = $this->getUser()->getSessionPar('idU'); if ($this->accio == 'cerca_formularis' || $this->accio == 'inici') { //Agafo els paràmetres if ($request->getMethod() == 'POST') { $C = $request->getParameter('cerca', array()); } $C['P'] = $request->getParameter('P', 1); //Si em trobo el paràmetre SITE, implica que he entrat per llistat d'entitats i vull veure els formularis. if ($request->hasParameter('SITE')) { $C['SITE'] = $request->getParameter('SITE'); } $C2 = $this->getCercaFormularisComplet($C); //La cerca hauria de tornar el llistat dels formularis que compleixen. $this->LLISTAT_FORMS = FormularisPeer::getFormularisCercaHospici($C2); $this->DESPLEGABLES['SELECT_ENTITATS'] = FormularisPeer::getEntitatsHospici($C2); //Guardem a sessió la cerca "actual" $this->CERCA = $C2; $this->getUser()->setSessionPar('cerca', $this->CERCA); $this->MODE = 'CERCA'; } elseif ($this->accio == 'detall_formularis') { $idU = $this->getUser()->getSessionPar('idU', 0); $idF = $request->getParameter('idF', 0); $this->FORM = FormularisPeer::retrieveByPK($idF); $this->FORM_TEXT = FormularisRespostesPeer::getFormulariDetall($idU, $idF); $this->MODE = 'DETALL'; } }