Changeset 2729
- Timestamp:
- 11/05/10 14:49:20 (13 years ago)
- Location:
- plugins/newsletter/trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/newsletter/trunk/_define.php
r2727 r2729 16 16 /* Description*/ "Manage your newsletters in Dotclear 2", 17 17 /* Author */ "Benoit de Marne", 18 /* Version */ "3.7.11_beta1 3",18 /* Version */ "3.7.11_beta16", 19 19 /* Permissions */ "usage,contentadmin", 20 20 /* Priority */ null -
plugins/newsletter/trunk/changelog.txt
r2727 r2729 2 2 =========================================================== 3 3 --- TODO 3.7.11 ---- 4 Ticket #578 : conformité rfc28225 Ticket #583 : export contact list as a csv file or a txt file6 4 Ticket #588 : ajouter la possibilité de définir les permissions 7 Ticket #595 : La recherche des billets ne fonctionne plus avec PostgreSQL8 5 ------------- 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 10 9 * Suppression de l'utilisation du fichier newsletter.txt au profit de newsletter.html 11 10 * Uniformise les mots-clés de la newsletter -
plugins/newsletter/trunk/inc/class.newsletter.admin.php
r2685 r2729 39 39 * export the schema content 40 40 */ 41 public static function exportToBackupFile($onlyblog = true, $ outfile = null)41 public static function exportToBackupFile($onlyblog = true, $format = 'dat', $outfile = null) 42 42 { 43 43 global $core; … … 50 50 $filename = $outfile; 51 51 } 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; 54 54 else 55 $filename = $core->blog->public_path.'/'.newsletterPlugin::pname().'. dat';55 $filename = $core->blog->public_path.'/'.newsletterPlugin::pname().'.'.$format; 56 56 } 57 57 … … 60 60 if (is_object($datas) !== FALSE) { 61 61 $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 } 79 99 } 80 100 } … … 1061 1081 $blogurl = &$blog->url; 1062 1082 $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 1063 1088 $core->themes = new dcThemes($core); 1064 1089 $core->themes->loadModules($core->blog->themes_path,null); 1065 1066 1090 $bthemes = array(); 1067 1091 foreach ($core->themes->getModules() as $k => $v) … … 1073 1097 1074 1098 $sadmin = (($auth->isSuperAdmin()) ? true : false); 1075 1099 1076 1100 echo 1077 1101 '<fieldset>'. 1078 '<legend>'.__('Plugin state').'</legend>'. 1102 '<legend>'.__('Plugin state').'</legend>'. 1079 1103 '<form action="plugin.php" method="post" id="state">'. 1080 1104 '<p class="field">'. … … 1099 1123 '<legend>'.__('Import/Export subscribers list').'</legend>'. 1100 1124 '<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>'. 1101 1129 '<p>'. 1102 1130 '<label class="classic">'. … … 1107 1135 form::radio(array('type'),'all',($sadmin) ? true : false,'','',(!$sadmin) ? true : false).__('All datas'). 1108 1136 '</label>'. 1109 '</p>'.1110 1137 '<p>'. 1111 1138 '<input type="submit" value="'.__('Export').'" />'. -
plugins/newsletter/trunk/inc/class.newsletter.core.php
r2727 r2729 389 389 390 390 $strReq .= 391 "WHERE N.blog_id = '".$blogid."' ";391 'WHERE N.blog_id = \''.$blogid.'\' '; 392 392 393 393 if (!empty($params['state'])) { 394 $strReq .= "AND N.state = '".$con->escape($params['state'])."' ";394 $strReq .= 'AND N.state = \''.$con->escape($params['state']).'\' '; 395 395 } 396 396 … … 699 699 $now = date('Y-m-j H:i:s',time()); 700 700 } 701 701 702 /* 702 703 $params['sql'] = ' AND P.'.$newsletter_settings->getOrderDate().' BETWEEN "'.$date_previous_send.'" AND "'.$now.'" '; 703 704 if($debug) { 704 705 $core->blog->dcNewsletter->addMessage(' P.'.$newsletter_settings->getOrderDate().' BETWEEN "'.$date_previous_send.'" AND "'.$now.'" '); 705 706 } 707 //*/ 708 $params['sql'] = ' AND P.'.$newsletter_settings->getOrderDate().' BETWEEN \''.$date_previous_send.'\' AND \''.$now.'\' '; 706 709 } 707 710 } … … 725 728 $rs = $con->select( 726 729 '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).'\' '. 728 731 'AND cat_id='.(integer)$category 729 732 ); -
plugins/newsletter/trunk/inc/class.newsletter.mail.php
r2390 r2729 22 22 protected $x_blog_url; 23 23 protected $x_originating_ip; 24 protected $date; 24 25 25 26 protected $email_from; … … 64 65 //$this->x_originating_ip = http::realIP(); 65 66 $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)); 66 74 67 75 $this->state = false; … … 154 162 'X-Blog-Url: '.$this->x_blog_url, 155 163 'X-Originating-IP: '.$this->x_originating_ip, 164 'Date:'.$this->date, 156 165 (($f_check_notification) ? 'Disposition-Notification-To: '.$this->email_from : '') 157 166 ); -
plugins/newsletter/trunk/index.php
r2727 r2729 612 612 $m = 'maintenance'; 613 613 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); 616 617 617 618 newsletterTools::redirection($m,$msg);
Note: See TracChangeset
for help on using the changeset viewer.