public function executeGLlistes(sfWebRequest $request) { $this->setLayout('gestio'); $this->IDS = $this->getUser()->getSessionPar('idS'); $this->CERCA = $this->getUser()->ParReqSesForm($request, 'cerca', array('text' => '')); $this->FCerca = new CercaForm(); //Per si venim d'una cerca uqe no toca. if (!is_array($this->CERCA)) { $this->CERCA = $this->getUser()->setSessionPar('cerca', array('text' => '')); } $this->FCerca->bind($this->CERCA); $this->IDL = $request->getParameter('IDL', 0); $this->IDM = $request->getParameter('IDM', 0); $this->PAGINA = $request->getParameter('PAGINA'); $this->MODE = ""; $accio = $request->getParameter('accio'); if ($request->hasParameter('BCERCA')) { $accio = 'U'; $this->PAGINA = 1; } if ($request->hasParameter('BSAVE')) { $accio = 'S'; } if ($request->hasParameter('BDELETE')) { $accio = 'D'; } if ($request->hasParameter('BSAVE_MISSATGE')) { $accio = 'SM'; } if ($request->hasParameter('BSEGUEIX_LLISTES')) { $accio = 'LM'; } if ($request->hasParameter('BSAVE_LLISTES')) { $accio = 'SLM'; } if ($request->hasParameter('BSEGUEIX_ENVIAMENT')) { $accio = 'SLEE'; } if ($request->hasParameter('BSEND_PROVA')) { $accio = 'SP'; } if ($request->hasParameter('BSEND_TOTHOM')) { $accio = 'SMT'; } if ($request->hasParameter('BFI')) { $accio = 'SFI'; } if ($request->hasParameter('BSEND')) { $accio = 'SEND'; } if ($request->hasParameter('BVINCULA')) { $accio = 'VINCULA'; } if ($request->hasParameter('BDESVINCULA')) { $accio = 'DESVINCULA'; } if ($request->hasParameter('BACTUALITZAEMAILS')) { $accio = 'UPDATE_EMAILS'; } switch ($accio) { //Edito un missatge o en creo un de nou. case 'EM': $this->FMissatge = MissatgesmailingPeer::initialize($this->IDM, $this->IDS); $this->MODE = 'MISSATGES'; break; //Guardo un missatge editat. //Guardo un missatge editat. case 'SM': if ($this->saveMissatge($request)) { $this->MODE = 'MISSATGES'; } else { $this->MODE = 'MISSATGES'; } break; //Esborro un missatge guardat //Esborro un missatge guardat case 'DM': $OM = MissatgesmailingPeer::initialize($this->IDM, $this->IDS)->getObject(); $OM->setActiu(false); $OM->save(); $this->getUser()->addLogAction($accio, 'gLlistes', null, $this->FHtml->getObject()); $this->redirect('gestio/gLlistes?accio=C'); break; //Mostro les llistes a les que puc enviar el missatge //Mostro les llistes a les que puc enviar el missatge case 'LM': if ($this->saveMissatge($request)) { $this->LLISTES_ENVIAMENT = MissatgesllistesPeer::getLlistesArray($this->IDM, $this->IDS); $this->MODE = 'MISSATGES_LLISTES'; } else { $this->MODE = 'MISSATGES'; } break; //Guardo les llistes a les que enviaré el missatge //Guardo les llistes a les que enviaré el missatge case 'SLM': $this->saveMissatgeLlistes($request); $this->LLISTES_ENVIAMENT = MissatgesllistesPeer::getLlistes($this->IDM); $this->MODE = 'MISSATGES_LLISTES'; break; //Segueixo amb l'enviament del missatge //Segueixo amb l'enviament del missatge case 'SLEE': $this->saveMissatgeLlistes($request); $this->MODE = "FER_PROVA"; break; //Envio un missatge de prova a l'adreça que digui l'usuari //Envio un missatge de prova a l'adreça que digui l'usuari case 'SP': $this->SendProvaMissatge($this->IDM, $request->getParameter('email'), $this->IDS); $this->MODE = "FER_PROVA"; break; //Envio el missatge a tothom //Envio el missatge a tothom case 'SMT': $this->sendTothomMissatge($this->IDM, $this->IDS); $this->MODE = "FER_PROVA"; break; //Hem acabat l'edició... no fem res, només tornem a les llistes //Hem acabat l'edició... no fem res, només tornem a les llistes case 'SFI': $this->redirect('gestio/gLlistes'); break; case 'N': $this->FLlista = LlistesPeer::initialize(0, $this->IDS); $this->MODE = 'NOU'; break; case 'E': $this->IDL = $request->getParameter('IDL'); $this->FLlista = LlistesPeer::initialize($this->IDL, $this->IDS); $this->MODE = 'EDICIO'; break; case 'VINCULA': $ALTA_USUARI = $request->getParameter('ALTA_USUARI'); UsuarisllistesPeer::Vincula($ALTA_USUARI, $this->IDL); $this->execLlistesUpdateUsers($request, array(), $this->IDS); break; case 'DESVINCULA': $BAIXA_USUARI = $request->getParameter('BAIXA_USUARI'); UsuarisllistesPeer::Desvincula($BAIXA_USUARI, $this->IDL); $this->execLlistesUpdateUsers($request, array(), $this->IDS); break; case 'UPDATE_EMAILS': $EMAILS = $request->getParameter('EMAILS'); $R = MissatgesEmailsPeer::update($this->IDL, $EMAILS); $M = array('Actualitzat correctament. ', 'Afegits: ' . $R['Afegits'], 'Esborrats: ' . $R['Esborrats'], 'Incorrectes: ' . $R['Erronis'], 'Existents: ' . $R['Existents']); $this->execLlistesUpdateUsers($request, $M, $this->IDS); break; /* case 'MV': $this->IDM = $request->getParameter('IDM'); $this->LLISTA_MISSATGES = LlistesPeer::getMissatges( $this->IDL , LlistesPeer::TOTS , $this->PAGINA3 , $this->IDS ); $this->MISSATGE = MissatgesllistesPeer::initialize($request->getParameter('IDM'),null,$this.->IDS); $this->MODE = 'MISSATGES'; break; */ /* case 'MV': $this->IDM = $request->getParameter('IDM'); $this->LLISTA_MISSATGES = LlistesPeer::getMissatges( $this->IDL , LlistesPeer::TOTS , $this->PAGINA3 , $this->IDS ); $this->MISSATGE = MissatgesllistesPeer::initialize($request->getParameter('IDM'),null,$this.->IDS); $this->MODE = 'MISSATGES'; break; */ case 'S': $RP = $request->getParameter('llistes'); $this->IDL = $RP['idLlistes']; $this->FLlista = LlistesPeer::initialize($this->IDL, $this->IDS); $this->FLlista->bind($RP); if ($this->FLlista->isValid()) { $this->FLlista->save(); } $this->MODE = 'EDICIO'; break; case 'L': $this->LLISTA = LlistesPeer::initialize($this->IDL, $this->IDS)->getObject(); $this->LMISSATGES = LlistesPeer::getMissatges($this->IDL, null, $this->PAGINA, $this->IDS); $this->MODE = 'LLISTAT'; break; case 'SEND': $this->IDM = $request->getParameter('IDM'); $this->MAILS = LlistesPeer::EnviaMissatge($this->IDM, $this->IDS); $this->ENVIAT = true; break; case 'U_EMAIL': break; case 'U': $this->execLlistesUpdateUsers($request, array(), $this->IDS); break; //Imprimeix etiquetes //Imprimeix etiquetes case 'P': return $this->printEtiquetes($this->IDL); break; } //Inicialitzem els valors comuns $this->LLISTES = LlistesPeer::getLlistesAll($this->IDS); $this->MISSATGES = MissatgesmailingPeer::getMissatges($this->IDL, $this->PAGINA, $this->IDS); }