コード例 #1
0
 /**
  * Afegeix un o més emails entrats amb \n als llistats de correu. 
  * */
 public static function addEmails($emails, $idL, $idS)
 {
     $RET = array('AFEGITS' => 0, 'ERRORS' => array());
     //Per cada correu
     foreach (explode("\n", $emails) as $MAIL) {
         $email = trim($MAIL);
         $C = new Criteria();
         $C->add(LlistesEmailsPeer::EMAIL, $email);
         $OM = LlistesEmailsPeer::doSelectOne($C);
         //Si el correu no existeix, el validem i l'entrem
         if (!$OM instanceof LlistesEmails) {
             if (ValidaMail($email)) {
                 //Creem el correu als mails generals
                 $OLE = new LlistesEmails();
                 $OLE->setEmail($email);
                 $OLE->setAlta(date('Y-m-d', time()));
                 $OLE->setActiu(true);
                 $OLE->setSiteid($idS);
                 $OLE->save();
                 //Lliguem el mail general amb la llista
                 $OLLE = new LlistesLlistesEmails();
                 $OLLE->setIdllista($idL);
                 $OLLE->setIdemail($OLE->getIdemail());
                 $OLLE->setAlta(date('Y-m-d', time()));
                 $OLLE->setActiu(true);
                 $OLLE->setSiteid($idS);
                 $OLLE->save();
             } else {
                 $RET['ERRORS'][] = trim($MAIL) . ' és invàlid. <br />';
             }
             //Si el correu ja existeix...
         } else {
             //Si no està actiu avisem...
             if ($OM->getActiu() == false) {
                 $RET['ERRORS'][] = trim($MAIL) . ' està marcat com inactiu. Contacta amb informatica@casadecultura.org. <br />';
                 //Si el correu existeix i està actiu, l'actualitzem a la llista actual...
             } else {
                 $C = new Criteria();
                 $C->add(self::IDLLISTA, $idL);
                 $C->add(self::IDEMAIL, $OM->getIdemail());
                 $OLLE = self::doSelectOne($C);
                 //Si no està a la llista actual, l'hi afegim...
                 if (!$OLLE instanceof LlistesLlistesEmails) {
                     $OLLE = new LlistesLlistesEmails();
                     $OLLE->setIdllista($idL);
                     $OLLE->setIdemail($OM->getIdemail());
                     $OLLE->setAlta(date('Y-m-d', time()));
                     $OLLE->setActiu(true);
                     $OLLE->setSiteid($idS);
                     $OLLE->save();
                     //Si ja hi és, l'activem...
                 } else {
                     $OLLE->setActiu(true);
                     $OLLE->save();
                 }
             }
         }
     }
     return $RET;
 }
コード例 #2
0
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      LlistesLlistesEmails $value A LlistesLlistesEmails object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(LlistesLlistesEmails $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = serialize(array((string) $obj->getIdllista(), (string) $obj->getIdemail()));
         }
         // if key === null
         self::$instances[$key] = $obj;
     }
 }