/** * 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; }
/** * 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 LlistesEmails $value A LlistesEmails object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool(LlistesEmails $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getIdemail(); } // if key === null self::$instances[$key] = $obj; } }