Dotclear

Changeset 2395


Ignore:
Timestamp:
06/25/10 10:38:04 (13 years ago)
Author:
kwon
Message:
  • closes #481 : Proc d'import en masse des emails améliorée
Location:
plugins/newsletter/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • plugins/newsletter/trunk/_define.php

    r2390 r2395  
    1616     /* Description*/    "Manage your newsletters in Dotclear 2", 
    1717     /* Author */        "Benoit de Marne", 
    18      /* Version */       "3.7.2a002", 
     18     /* Version */       "3.7.2a009", 
    1919     /* Permissions */   "usage,contentadmin", 
    2020     /* Priority */      null 
  • plugins/newsletter/trunk/_install.php

    r2390 r2395  
    5757           
    5858          // activate plugin 
    59           $GLOBALS['newsletter_settings']->put('newsletter_flag',false,'boolean','Newsletter plugin enabled'); 
    60  
     59          $newsletter_flag = (boolean)$GLOBALS['newsletter_settings']->newsletter_flag; 
     60          //$GLOBALS['newsletter_settings']->put('newsletter_flag',true,'boolean','Newsletter plugin enabled'); 
     61          $GLOBALS['newsletter_settings']->put('newsletter_flag',$newsletter_flag,'boolean','Newsletter plugin enabled'); 
     62           
    6163          // Prise en compte de la nouvelle version 
    6264          $core->setVersion('newsletter', $this_version); 
  • plugins/newsletter/trunk/_public.php

    r2390 r2395  
    8282               case 'about': 
    8383                    $msg = __('About Newsletter ...'); 
    84                     //$msg = __('About'). ' ' . newsletterPlugin::dcName() . ' ...' ; 
    85                     $msg .= '<br />'. __('Version'). ' : ' . newsletterPlugin::dcVersion(); 
    86                     $msg .= '<br />'. __('Authors'). ' : ' . newsletterPlugin::dcAuthor(); 
    87                     $msg .= '<br />'. __('Description'). ' : ' . newsletterPlugin::dcDesc(); 
     84                    $msg .= '<br />'.__('Version').' : ' . newsletterPlugin::dcVersion(); 
     85                    $msg .= '<br />'.__('Author').' : ' . newsletterPlugin::dcAuthor(); 
     86                    $msg .= '<br />'.__('Description').' : ' . newsletterPlugin::dcDesc(); 
    8887                    break; 
    8988 
  • plugins/newsletter/trunk/changelog.txt

    r2390 r2395  
    22* RAF -- mise à niveau de la traduction 
    33* RAF -- mise à niveau de l'aide en ligne 
    4 * RAF -- Ticket #481 : amélioration de la procédure d'import en masse des emails 
    54* RAF -- Ticket #452 : suppression des url relatives dans la newsletter 
    65 
    76Newsletter 3.7.2 - 2009-06-xx 
    87=========================================================== 
     8* Ticket #481 : amélioration de la procédure d'import en masse des emails 
    99* mise à niveau de la licence de l'extension 
    10 * Ticket #480 : stop import si une adresse est invalide 
     10* Ticket #480 : continue l'import meme si une adresse est invalide 
    1111* Ticket #382 : avec le mot clé LINK_VISU_ONLINE le lien n'apparait pas si aucun post n'est sélectionné  
    1212* Suppression du choix du format dans le widget si on utilise le mode par défaut 
  • plugins/newsletter/trunk/inc/class.newsletter.admin.php

    r2390 r2395  
    180180               $counter_ignore=0; 
    181181               $counter_failed=0; 
     182               $tab_mail=array(); 
    182183                
    183184               $newsletter_settings = new newsletterSettings($core); 
    184185               $modesend = $newsletter_settings->getSendMode(); 
    185186                 
    186                if (!empty($infile)){ 
     187               if (!empty($infile)){ 
    187188                     
    188                     //$core->error->add('Traitement du fichier ' . $infile['name']); 
     189               //$core->error->add('Traitement du fichier ' . $infile['name']); 
    189190                    files::uploadStatus($infile); 
    190191                    $filename = $infile['tmp_name']; 
    191192                
    192193                    if(file_exists($filename) && is_readable($filename)) { 
    193  
     194                         $file_content = file($filename); 
     195 
     196                         foreach($file_content as $ligne) { 
     197                              $tab_mail=newsletterTools::extractEmailsFromString($ligne); 
     198                               
     199                              foreach($tab_mail as $an_email) { 
     200                                   $email = trim($an_email); 
     201                                   if (!text::isEmail($email)) { 
     202                                        $core->error->add(html::escapeHTML($email).' '.__('is not a valid email address.')); 
     203                                        $counter_failed++; 
     204                                   } else { 
     205                                        $regcode = newsletterTools::regcode(); 
     206                                        try { 
     207                                        if(newsletterCore::add($email, $blog_id, $regcode, $modesend)) 
     208                                             $counter++; 
     209                                        else 
     210                                             $counter_ignore++; 
     211                                        } catch (Exception $e) {  
     212                                              $counter_ignore++; 
     213                                        }  
     214                                   } 
     215                              } 
     216                         } 
     217                          
     218                         /* 
    194219                         // ouverture du fichier 
    195220                         $fh = @fopen($filename, "r"); 
     
    220245                         // fermeture du fichier 
    221246                         @fclose($fh); 
    222                           
     247                         //*/ 
     248                                                   
    223249                         // message de retour 
    224250                         if(0 == $counter || 1 == $counter) { 
  • plugins/newsletter/trunk/inc/class.newsletter.tools.php

    r2390 r2395  
    3131 
    3232     /** 
    33      * génère un code d'enregistrement 
     33     * génère un code d'enregistrement 
    3434     */ 
    3535     public static function regcode()  
     
    108108     } 
    109109      
     110     /** 
     111      * Extrait les adresses e-mails présentes dans une chaine. 
     112      * La fonction retourne un tableau des adresses e-mails. Si 
     113      * des adresses e-mails se trouvent en doublon dans la chaine, 
     114      * alors la fonction ne gardera dans le tableau qu'un seul exemplaire 
     115      * des adresses e-mails. 
     116      * 
     117      * @author Hugo HAMON <webmaster@apprendre-php.com> 
     118      * @licence LGPL 
     119      * @param string $sChaine la chaine contenant les e-mails 
     120      * @return array $aEmails[0] Tableau dédoublonné des e-mails 
     121      */   
     122     public static function extractEmailsFromString($sChaine) { 
     123       
     124          if(false !== preg_match_all('`\w(?:[-_.]?\w)*@\w(?:[-_.]?\w)*\.(?:[a-z]{2,4})`', $sChaine, $aEmails)) { 
     125               if(is_array($aEmails[0]) && sizeof($aEmails[0])>0) { 
     126                    return array_unique($aEmails[0]); 
     127               } 
     128          } 
     129          return null; 
     130     }     
    110131 
    111132} 
Note: See TracChangeset for help on using the changeset viewer.

Sites map