Dotclear

Changeset 2729


Ignore:
Timestamp:
11/05/10 14:49:20 (13 years ago)
Author:
kwon
Message:

Newsletter :

' closes #578 : conformite rfc2822
' closes #583 : export contact list as a csv file or a txt file
' closes #595 : La recherche des billets ne fonctionne plus avec PostgreSQL

Location:
plugins/newsletter/trunk
Files:
6 edited

Legend:

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

    r2727 r2729  
    1616     /* Description*/    "Manage your newsletters in Dotclear 2", 
    1717     /* Author */        "Benoit de Marne", 
    18      /* Version */       "3.7.11_beta13", 
     18     /* Version */       "3.7.11_beta16", 
    1919     /* Permissions */   "usage,contentadmin", 
    2020     /* Priority */      null 
  • plugins/newsletter/trunk/changelog.txt

    r2727 r2729  
    22=========================================================== 
    33--- TODO 3.7.11 ---- 
    4 Ticket #578 : conformité rfc2822 
    5 Ticket #583 : export contact list as a csv file or a txt file 
    64Ticket #588 : ajouter la possibilité de définir les permissions 
    7 Ticket #595 : La recherche des billets ne fonctionne plus avec PostgreSQL 
    85------------- 
    9  
     6* Ticket #578 : conformité rfc2822 
     7* Ticket #583 : export contact list as a csv file or a txt file 
     8* Ticket #595 : La recherche des billets ne fonctionne plus avec PostgreSQL 
    109* Suppression de l'utilisation du fichier newsletter.txt au profit de newsletter.html 
    1110* Uniformise les mots-clés de la newsletter 
  • plugins/newsletter/trunk/inc/class.newsletter.admin.php

    r2685 r2729  
    3939     * export the schema content 
    4040     */ 
    41      public static function exportToBackupFile($onlyblog = true, $outfile = null) 
     41     public static function exportToBackupFile($onlyblog = true, $format = 'dat', $outfile = null) 
    4242     { 
    4343          global $core; 
     
    5050                    $filename = $outfile; 
    5151               } else { 
    52                     if ($onlyblog)  
    53                          $filename = $core->blog->public_path.'/'.$blogid.'-'.newsletterPlugin::pname().'.dat'; 
     52                    if ($onlyblog) 
     53                         $filename = $core->blog->public_path.'/'.$blogid.'-'.newsletterPlugin::pname().'.'.$format; 
    5454                    else  
    55                          $filename = $core->blog->public_path.'/'.newsletterPlugin::pname().'.dat'; 
     55                         $filename = $core->blog->public_path.'/'.newsletterPlugin::pname().'.'.$format; 
    5656               } 
    5757 
     
    6060               if (is_object($datas) !== FALSE) { 
    6161                    $datas->moveStart(); 
    62                     while ($datas->fetch()) 
    63                     { 
    64                          $elems = array(); 
    65  
    66                          // generate component 
    67                          $elems[] = $datas->subscriber_id; 
    68                          $elems[] = base64_encode($datas->blog_id); 
    69                          $elems[] = base64_encode($datas->email); 
    70                          $elems[] = base64_encode($datas->regcode); 
    71                          $elems[] = base64_encode($datas->state); 
    72                          $elems[] = base64_encode($datas->subscribed); 
    73                          $elems[] = base64_encode($datas->lastsent); 
    74                          $elems[] = base64_encode($datas->modesend); 
    75  
    76                          // génération de la ligne de données exportées(séparateur -> ;) 
    77                          $line = implode(";", $elems); 
    78                          $content .= "$line\n"; 
     62                     
     63                    if($format == 'txt') { 
     64                         while ($datas->fetch()) 
     65                         { 
     66                              $elems = array(); 
     67      
     68                              // generate component 
     69                              $elems[] = $datas->subscriber_id; 
     70                              $elems[] = $datas->blog_id; 
     71                              $elems[] = $datas->email; 
     72                              $elems[] = $datas->regcode; 
     73                              $elems[] = $datas->state; 
     74                              $elems[] = $datas->subscribed; 
     75                              $elems[] = $datas->lastsent; 
     76                              $elems[] = $datas->modesend; 
     77      
     78                              $line = implode(";", $elems); 
     79                         $content .= "$line\n"; 
     80                         } 
     81                    } else { 
     82                         while ($datas->fetch()) 
     83                         { 
     84                              $elems = array(); 
     85      
     86                              // generate component 
     87                              $elems[] = $datas->subscriber_id; 
     88                              $elems[] = base64_encode($datas->blog_id); 
     89                              $elems[] = base64_encode($datas->email); 
     90                              $elems[] = base64_encode($datas->regcode); 
     91                              $elems[] = base64_encode($datas->state); 
     92                              $elems[] = base64_encode($datas->subscribed); 
     93                              $elems[] = base64_encode($datas->lastsent); 
     94                              $elems[] = base64_encode($datas->modesend); 
     95      
     96                              $line = implode(";", $elems); 
     97                         $content .= "$line\n"; 
     98                         } 
    7999                    } 
    80100               } 
     
    10611081               $blogurl = &$blog->url; 
    10621082               $urlBase = http::concatURL($blogurl, $url->getBase('newsletter'));               
     1083                
     1084               $export_format_combo = array(__('text file') => 'txt', 
     1085                    __('data file') => 'dat'); 
     1086               $f_export_format = 'dat'; 
     1087                
    10631088               $core->themes = new dcThemes($core); 
    10641089               $core->themes->loadModules($core->blog->themes_path,null); 
    1065  
    10661090               $bthemes = array(); 
    10671091               foreach ($core->themes->getModules() as $k => $v) 
     
    10731097 
    10741098               $sadmin = (($auth->isSuperAdmin()) ? true : false); 
    1075            
     1099 
    10761100               echo 
    10771101               '<fieldset>'. 
    1078                     '<legend>'.__('Plugin state').'</legend>'.              
     1102                    '<legend>'.__('Plugin state').'</legend>'. 
    10791103                    '<form action="plugin.php" method="post" id="state">'. 
    10801104                         '<p class="field">'. 
     
    10991123                    '<legend>'.__('Import/Export subscribers list').'</legend>'. 
    11001124                         '<form action="plugin.php" method="post" id="export" name="export">'. 
     1125                              '<p class="field">'. 
     1126                                   '<label for="f_export_format" class="classic">'.__('Export format').'</label>'. 
     1127                                   form::combo('f_export_format',$export_format_combo,$f_export_format). 
     1128                              '</p>'.                             
    11011129                              '<p>'. 
    11021130                              '<label class="classic">'. 
     
    11071135                              form::radio(array('type'),'all',($sadmin) ? true : false,'','',(!$sadmin) ? true : false).__('All datas'). 
    11081136                              '</label>'. 
    1109                               '</p>'. 
    11101137                              '<p>'. 
    11111138                              '<input type="submit" value="'.__('Export').'" />'. 
  • plugins/newsletter/trunk/inc/class.newsletter.core.php

    r2727 r2729  
    389389 
    390390          $strReq .= 
    391           "WHERE N.blog_id = '".$blogid."' "; 
     391          'WHERE N.blog_id = \''.$blogid.'\' '; 
    392392 
    393393          if (!empty($params['state'])) { 
    394                $strReq .= "AND N.state = '".$con->escape($params['state'])."' "; 
     394               $strReq .= 'AND N.state = \''.$con->escape($params['state']).'\' '; 
    395395          } 
    396396 
     
    699699                              $now = date('Y-m-j H:i:s',time()); 
    700700                         } 
    701                                
     701 
     702                         /* 
    702703                         $params['sql'] = ' AND P.'.$newsletter_settings->getOrderDate().' BETWEEN "'.$date_previous_send.'" AND "'.$now.'" '; 
    703704                         if($debug) { 
    704705                              $core->blog->dcNewsletter->addMessage(' P.'.$newsletter_settings->getOrderDate().' BETWEEN "'.$date_previous_send.'" AND "'.$now.'" '); 
    705706                         } 
     707                         //*/ 
     708                         $params['sql'] = ' AND P.'.$newsletter_settings->getOrderDate().' BETWEEN \''.$date_previous_send.'\' AND \''.$now.'\' '; 
    706709                    } 
    707710               } 
     
    725728                         $rs = $con->select( 
    726729                              'SELECT cat_lft, cat_rgt FROM '.$core->prefix.'category '. 
    727                               "WHERE blog_id = '".$con->escape($blog->id)."' ". 
     730                              'WHERE blog_id = \''.$con->escape($blog->id).'\' '. 
    728731                              'AND cat_id='.(integer)$category 
    729732                         ); 
  • plugins/newsletter/trunk/inc/class.newsletter.mail.php

    r2390 r2729  
    2222     protected $x_blog_url; 
    2323     protected $x_originating_ip; 
     24     protected $date; 
    2425 
    2526     protected $email_from; 
     
    6465          //$this->x_originating_ip = http::realIP(); 
    6566          $this->x_originating_ip = (isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : null); 
     67 
     68          if (version_compare(DC_VERSION,'2.2-alpha','>=')) { 
     69               $system_settings =& $core->blog->settings->system; 
     70          } else { 
     71               $system_settings =& $core->blog->settings; 
     72          }               
     73          $this->date = date('r', time() + dt::getTimeOffset($system_settings->blog_timezone)); 
    6674           
    6775          $this->state = false; 
     
    154162                         'X-Blog-Url: '.$this->x_blog_url, 
    155163                         'X-Originating-IP: '.$this->x_originating_ip, 
     164                         'Date:'.$this->date, 
    156165                         (($f_check_notification) ? 'Disposition-Notification-To: '.$this->email_from : '') 
    157166                    ); 
  • plugins/newsletter/trunk/index.php

    r2727 r2729  
    612612          $m = 'maintenance'; 
    613613 
    614           $type = (!empty($_POST['type'])) ? $_POST['type'] : 'blog'; 
    615           $msg = newsletterAdmin::exportToBackupFile( ($type=='blog') ? true : false ); 
     614          $export_format = (!empty($_POST['f_export_format']) ? $_POST['f_export_format'] : 'dat'); 
     615          $type = (!empty($_POST['type']) ? $_POST['type'] : 'blog'); 
     616          $msg = newsletterAdmin::exportToBackupFile((($type=='blog') ? true : false), $export_format); 
    616617 
    617618          newsletterTools::redirection($m,$msg); 
Note: See TracChangeset for help on using the changeset viewer.

Sites map