Exemplo n.º 1
0
 public static function update($IDL, $EMAILS)
 {
     $RESULTATS['Afegits'] = 0;
     $RESULTATS['Esborrats'] = 0;
     $RESULTATS['Erronis'] = 0;
     $RESULTATS['Existents'] = 0;
     $EMAILS_NEW = array();
     $EMAILS_OLD = nl2br($EMAILS);
     $EMAILS_OLD = explode('<br />', $EMAILS_OLD);
     //Treiem els espais en blanc i sals buits.
     foreach ($EMAILS_OLD as $K => $E) {
         if (strlen($E) > 3) {
             $EMAILS_NEW[trim($E)] = trim($E);
             $RESULTATS['Existents']++;
         }
     }
     //Mirem els que hem d'afegir
     foreach ($EMAILS_NEW as $E) {
         $OE = self::retrieveByPK($IDL, $E);
         if (!$OE instanceof MissatgesEmails) {
             if (!self::checkEmail($E)) {
                 $RESULTATS['Erronis']++;
                 $RESULTATS['Existents']--;
             } else {
                 $OE = new MissatgesEmails();
                 $OE->setIdllista($IDL);
                 $OE->setEmail($E);
                 $OE->save();
                 $RESULTATS['Afegits']++;
                 $RESULTATS['Existents']--;
             }
         }
     }
     //Mirem els que hem d'esborrar
     $C = new Criteria();
     $C->add(self::IDLLISTA, $IDL);
     foreach (self::doSelect($C) as $OE) {
         if (!in_array($OE->getEmail(), $EMAILS_NEW)) {
             $OE->delete();
             $RESULTATS['Esborrats']++;
             $RESULTATS['Existents']--;
         }
     }
     return $RESULTATS;
 }