Пример #1
0
 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);
 }