Beispiel #1
0
 public function EnviaMissatgeGlobalHospici()
 {
     $ADMIN = OptionsPeer::getString('MAIL_ADMIN', $this->getSiteId());
     //Carreguem el correu de l'administrador
     $MAILS = UsuarisPeer::getAdminMails();
     //Carreguem els mails dels administradors
     $BODY = OptionsPeer::getString('BODY_MAIL_MISSATGE_GLOBAL', $this->getSiteId());
     $BODY = str_replace('{NOM}', $this->getUsuaris()->getNomComplet(), $BODY);
     $BODY = str_replace('{SITE}', $this->getSiteNom(), $BODY);
     $BODY = str_replace('{ENLLAC}', 'http://www.casadecultura.cat/gestio/gMissatges?accio=E&IDM=' . $this->getMissatgeid(), $BODY);
     $SUBJECT = 'Hospici : Nou missatge global';
     myUser::sendMail($ADMIN, $MAILS, $SUBJECT, $BODY);
 }
Beispiel #2
0
 public function executeGMissatges(sfWebRequest $request)
 {
     $this->setLayout('gestio');
     $this->IDS = $this->getUser()->getSessionPar('idS');
     $this->IDU = $this->getUser()->getSessionPar('idU');
     //Netegem cerca
     if ($request->getParameter('accio') == 'I') {
         $this->CERCA = $this->getUser()->setSessionPar('cerca', array('text' => ''));
         $this->PAGINA = $this->getUser()->setSessionPar('p', 1);
         $this->accio = $this->getUser()->setSessionPar('accio', "");
     }
     //Actualitzem el requadre de cerca
     $this->FCerca = new CercaForm();
     $this->FCerca->bind($request->getParameter('cerca'));
     $this->CERCA = $this->getUser()->ParReqSesForm($request, 'cerca', array('text' => ""));
     $this->PAGINA = $this->getUser()->ParReqSesForm($request, 'p', 1);
     $this->accio = $this->getUser()->ParReqSesForm($request, 'accio', "");
     $this->MODE = array();
     if ($request->isMethod('POST') || $request->isMethod('GET')) {
         $accio = $request->getParameter('accio');
         if ($request->hasParameter('BCERCA')) {
             $this->accio = 'C';
         }
         if ($request->hasParameter('BNOU')) {
             $this->accio = 'N';
         }
         if ($request->hasParameter('BSAVE')) {
             $this->accio = 'S';
         }
         if ($request->hasParameter('BDELETE')) {
             $this->accio = 'D';
         }
     }
     $this->getUser()->setSessionPar('accio', $this->accio);
     switch ($this->accio) {
         //Entrem per primer cop a aquest apartat
         case 'I':
             $this->MISSATGES = MissatgesPeer::doSearch($this->CERCA['text'], $this->PAGINA, false, $this->IDS);
             $this->getUser()->addLogAction('inside', 'gMissatges');
             break;
         case 'N':
             $this->MODE['NOU'] = true;
             $this->FMissatge = MissatgesPeer::inicialitza(0, $this->IDU, $this->IDS);
             $this->getUser()->setSessionPar('IDM', 0);
             $this->IDU = $this->getUser()->getSessionPar('idU');
             break;
         case 'E':
             $this->MODE['EDICIO'] = true;
             $IDM = $request->getParameter('IDM');
             $this->getUser()->setSessionPar('IDM', $IDM);
             $this->FMissatge = MissatgesPeer::inicialitza($IDM, $this->IDU, $this->IDS);
             $this->IDU = $this->getUser()->getSessionPar('idU');
             break;
         case 'S':
             $IDM = $this->getUser()->getSessionPar('IDM');
             $this->FMissatge = MissatgesPeer::inicialitza($IDM, $this->IDU, $this->IDS);
             $this->FMissatge->bind($request->getParameter('missatges'));
             if ($this->FMissatge->isValid()) {
                 $this->FMissatge->save();
                 $this->getUser()->addLogAction($accio, 'gMisatges', $this->FMissatge->getObject());
                 //Si el missatge és global, enviarem un mail a tothom.
                 if ($this->FMissatge->getObject()->getIsglobal()) {
                     $ADMIN = OptionsPeer::getString('MAIL_ADMIN', $this->IDS);
                     //Carreguem el correu de l'administrador
                     $OM = $this->FMissatge->getObject();
                     //Carreguem el missatge que hem entrat
                     $MAILS = UsuarisPeer::getAdminMails();
                     //Carreguem els mails dels administradors
                     $BODY = OptionsPeer::getString('BODY_MAIL_MISSATGE_GLOBAL', $this->IDS);
                     $BODY = str_replace('{NOM}', $OM->getUsuaris()->getNomComplet(), $BODY);
                     $BODY = str_replace('{SITE}', $OM->getSiteNom(), $BODY);
                     $BODY = str_replace('{ENLLAC}', $this->getController()->genUrl('gestio/gMissatges?accio=E&IDM=' . $OM->getMissatgeid(), true), $BODY);
                     $SUBJECT = 'Hospici : Nou missatge global';
                     self::sendMail($ADMIN, $MAILS, $SUBJECT, $BODY);
                     //Enviem el missatge.
                 }
                 $this->redirect('gestio/gMissatges?accio=I');
             }
             $this->MODE['EDICIO'] = true;
             break;
         case 'D':
             $this->IDM = $this->getUser()->getSessionPar('IDM');
             $M = MissatgesPeer::retrieveByPK($this->IDM);
             if ($M instanceof Missatges) {
                 $M->setActiu(false);
                 $M->save();
                 $this->getUser()->addLogAction($accio, 'gMisatges', $M);
             }
             $this->redirect('gestio/gMissatges?accio=I');
             break;
         case 'SF':
             $this->MISSATGES = MissatgesPeer::doSearch($this->CERCA['text'], $this->PAGINA, true, $this->IDS);
             break;
         default:
             $this->MISSATGE = new Missatges();
             $this->getUser()->setSessionPar('IDM', 0);
             $this->MISSATGES = MissatgesPeer::doSearch($this->CERCA['text'], $this->PAGINA, false, $this->IDS);
             break;
     }
 }