Dotclear


Ignore:
Timestamp:
10/01/09 10:47:10 (14 years ago)
Author:
kwon
Message:

Newsletter 3.6.0rc1 :

  • closes #117 : retourne les billets des catégories filles
  • closes #156 : prise en compte de l'export / import
  • closes #233 : choix de la date de tri des billets
  • many others things ...
File:
1 edited

Legend:

Unmodified
Added
Removed
  • plugins/newsletter/trunk/inc/class.newsletter.admin.php

    r1442 r1532  
    1818{ 
    1919     /** 
    20      * installation du plugin 
    21      */ 
    22      public static function Install() 
    23      { 
    24           // test de possibilité d'installation 
    25           if (!newsletterCore::isAllowed())  
    26                return false; 
    27  
    28           // création du schéma 
    29           global $core; 
    30           try { 
    31                // création du schéma de la table 
    32                $_s = new dbStruct($core->con, $core->prefix); 
    33                require dirname(__FILE__).'/db-schema.php'; 
    34  
    35                $si = new dbStruct($core->con, $core->prefix); 
    36                $changes = $si->synchronize($_s); 
    37           } catch (Exception $e) {  
    38                $core->error->add($e->getMessage());  
    39           } 
    40  
    41           // activation des paramètres par défaut 
    42           newsletterPlugin::defaultsSettings(); 
    43  
    44           return true; 
    45      } 
    46  
    47      /** 
    4820     * désinstallation du plugin 
    4921     */ 
    50      public static function Uninstall() 
     22     public static function uninstall() 
    5123     { 
    52           // désactivation du plugin 
    53           newsletterPlugin::Inactivate(); 
    54           //newsletterAdmin::Export(false); 
    55  
    5624          // suppression du schéma 
    5725          global $core; 
    5826          try { 
     27               // désactivation du plugin 
     28               newsletterPlugin::inactivate(); 
     29                
     30               // suppression des paramètres par défaut 
     31               newsletterPlugin::deleteSettings(); 
     32               newsletterPlugin::delete_version(); 
     33 
    5934               $con = &$core->con; 
    6035 
     
    6439 
    6540               $rs = $con->execute($strReq); 
     41 
    6642          } catch (Exception $e) {  
    6743               $core->error->add($e->getMessage());  
    6844          } 
    69  
    70           // suppression des paramètres par défaut 
    71           newsletterPlugin::deleteSettings(); 
    72           newsletterPlugin::delete_version(); 
    7345     } 
    7446 
     
    11890 
    11991               // écrire le contenu dans le fichier 
    120                @file_put_contents($filename, $content); 
     92               if(@file_put_contents($filename, $content)) { 
     93                    return $msg = __('Datas exported in file').' '.$filename; 
     94               } else { 
     95                    throw new Exception(__('Error during export')); 
     96               } 
     97                
     98                
    12199          } catch (Exception $e) {  
    122100               $core->error->add($e->getMessage());  
     
    130108     { 
    131109          global $core; 
    132           try { 
    133                $blog = &$core->blog; 
    134                $blogid = (string)$blog->id; 
     110 
     111          $blog = &$core->blog; 
     112          $blogid = (string)$blog->id; 
    135113         
    136                // lire le contenu du fichier à partir des données 
    137                if (isset($infile))  
    138                     $filename = $infile; 
    139                else { 
    140                     if ($onlyblog)  
    141                          $filename = $core->blog->public_path.'/'.$blogid.'-'.newsletterPlugin::pname().'.dat'; 
    142                     else  
    143                          $filename = $core->blog->public_path.'/'.newsletterPlugin::pname().'.dat'; 
    144                } 
    145  
    146                // ouverture du fichier 
    147                $fh = @fopen($filename, "r"); 
    148                if ($fh === FALSE)  
    149                     return false; 
    150                else { 
    151                     // boucle de lecture sur les lignes du fichier 
    152                     $err = false; 
    153                     while (!feof($fh)) { 
    154                          // lecture d'une ligne du fichier 
    155                          $l = @fgetss($fh, 4096); 
    156                          if ($l != FALSE) { 
    157                               // sécurisation du contenu de la ligne et décomposition en élements (séparateur -> ;) 
    158                               $line = (string) html::clean((string) $l); 
    159                               $elems = explode(";", $line); 
    160  
    161                               // traitement des données lues 
    162                               $subscriber_id = $elems[0]; 
    163                               $blog_id = base64_decode($elems[1]); 
    164                               $email = base64_decode($elems[2]); 
    165                               $regcode = base64_decode($elems[3]); 
    166                               $state = base64_decode($elems[4]); 
    167                               $subscribed = base64_decode($elems[5]); 
    168                               $lastsent = base64_decode($elems[6]); 
    169                               $modesend = base64_decode($elems[7]); 
    170  
    171                               newsletterCore::add($email, $blog_id, $regcode, $modesend); 
    172  
    173                               $subscriber = newsletterCore::getEmail($email); 
    174                               if ($subscriber != null) { 
    175                                    //$core->error->add('id : '.$subscriber->subscriber_id); 
    176                                    newsletterCore::update($subscriber->subscriber_id, $email, $state, $regcode, $subscribed, $lastsent, $modesend); 
    177                               } 
     114          // lire le contenu du fichier à partir des données 
     115          if (isset($infile))  
     116               $filename = $infile; 
     117          else { 
     118               if ($onlyblog)  
     119                    $filename = $core->blog->public_path.'/'.$blogid.'-'.newsletterPlugin::pname().'.dat'; 
     120               else  
     121                    $filename = $core->blog->public_path.'/'.newsletterPlugin::pname().'.dat'; 
     122          } 
     123 
     124          // ouverture du fichier 
     125          $fh = @fopen($filename, "r"); 
     126          if ($fh === FALSE)  
     127               throw new Exception(__('File not readable').' '.$filename); 
     128          else { 
     129               // boucle de lecture sur les lignes du fichier 
     130               $err = false; 
     131               while (!feof($fh)) { 
     132                    // lecture d'une ligne du fichier 
     133                    $l = @fgetss($fh, 4096); 
     134                    if ($l != FALSE) { 
     135                         // sécurisation du contenu de la ligne et décomposition en élements (séparateur -> ;) 
     136                         $line = (string) html::clean((string) $l); 
     137                         $elems = explode(";", $line); 
     138 
     139                         // traitement des données lues 
     140                         $subscriber_id = $elems[0]; 
     141                         $blog_id = base64_decode($elems[1]); 
     142                         $email = base64_decode($elems[2]); 
     143                         $regcode = base64_decode($elems[3]); 
     144                         $state = base64_decode($elems[4]); 
     145                         $subscribed = base64_decode($elems[5]); 
     146                         $lastsent = base64_decode($elems[6]); 
     147                         $modesend = base64_decode($elems[7]); 
     148 
     149                         newsletterCore::add($email, $blog_id, $regcode, $modesend); 
     150 
     151                         $subscriber = newsletterCore::getEmail($email); 
     152                         if ($subscriber != null) { 
     153                              //$core->error->add('id : '.$subscriber->subscriber_id); 
     154                              newsletterCore::update($subscriber->subscriber_id, $email, $state, $regcode, $subscribed, $lastsent, $modesend); 
    178155                         } 
    179156                    } 
    180  
    181                     // fermeture du fichier 
    182                     @fclose($fh); 
    183  
    184                     if ($err)  
    185                          return false; 
    186                     else  
    187                          return true; 
    188157               } 
    189           } catch (Exception $e) {  
    190                $core->error->add($e->getMessage());  
     158 
     159               // fermeture du fichier 
     160               @fclose($fh); 
     161                     
     162               if ($err)  
     163                    throw new Exception(__('Error to import file').' '.$filename); 
     164               else  
     165                    return $msg = __('Datas imported from file').' '.$filename; 
    191166          } 
    192167     } 
     
    204179               $counter_ignore=0; 
    205180               $counter_failed=0; 
    206                $modesend = newsletterPlugin::getSendMode(); 
     181                
     182               $newsletter_settings = new newsletterSettings($core); 
     183               $modesend = $newsletter_settings->getSendMode(); 
    207184                 
    208185               if (!empty($infile)){ 
     
    224201                                   $email = trim($l); 
    225202                                   if (!text::isEmail($email)) { 
    226                                         $core->error->add(sprintf(__('%s is not a valid e-mail address.'),html::escapeHTML($email))); 
     203                                        $core->error->add(html::escapeHTML($email).' '.__('is not a valid email address.')); 
    227204                                        $counter_failed++; 
    228205                                   } else { 
     
    271248     * formulaire d'adaptation de template 
    272249     */ 
    273      public static function Adapt($theme = null) 
     250     public static function adapt($theme = null) 
    274251     { 
    275252          // prise en compte du plugin installé 
     
    416393               $mode_combo = array(__('text') => 'text', 
    417394                                   __('html') => 'html'); 
     395               $date_combo = array(__('creation date') => 'post_creadt', 
     396                                   __('update date') => 'post_dt', 
     397                                   __('publication date') => 'post_upddt' 
     398                                   ); 
    418399 
    419400               $sadmin = (($auth->isSuperAdmin()) ? true : false); 
    420401 
    421402               if (newsletterPlugin::isActive()) { 
    422  
     403                     
     404                    $newsletter_settings = new newsletterSettings($core); 
     405                     
    423406                    // initialisation des variables 
    424                     $feditorname = newsletterPlugin::getEditorName(); 
    425                     $feditoremail = newsletterPlugin::getEditorEmail(); 
    426                     $fcaptcha = newsletterPlugin::getCaptcha(); 
    427                     $fmode = newsletterPlugin::getSendMode(); 
    428                     $f_use_default_format = newsletterPlugin::getUseDefaultFormat(); 
    429                     $fmaxposts = newsletterPlugin::getMaxPosts(); 
    430                     $fminposts = newsletterPlugin::getMinPosts(); 
    431                     $f_view_content_post = newsletterPlugin::getViewContentPost(); 
    432                     $f_size_content_post = newsletterPlugin::getSizeContentPost(); 
    433                     $fautosend = newsletterPlugin::getAutosend(); 
    434                     $f_check_notification = newsletterPlugin::getCheckNotification(); 
    435                     $f_check_use_suspend = newsletterPlugin::getCheckUseSuspend(); 
     407                    $feditorname = $newsletter_settings->getEditorName(); 
     408                    $feditoremail = $newsletter_settings->getEditorEmail(); 
     409                    $fcaptcha = $newsletter_settings->getCaptcha(); 
     410                    $fmode = $newsletter_settings->getSendMode(); 
     411                    $f_use_default_format = $newsletter_settings->getUseDefaultFormat(); 
     412                    $fmaxposts = $newsletter_settings->getMaxPosts(); 
     413                    $fminposts = $newsletter_settings->getMinPosts(); 
     414                    $f_view_content_post = $newsletter_settings->getViewContentPost(); 
     415                    $f_size_content_post = $newsletter_settings->getSizeContentPost(); 
     416                    $fautosend = $newsletter_settings->getAutosend(); 
     417                    $f_check_notification = $newsletter_settings->getCheckNotification(); 
     418                    $f_check_use_suspend = $newsletter_settings->getCheckUseSuspend(); 
     419                    $f_order_date = $newsletter_settings->getOrderDate(); 
    436420 
    437421                    $rs = $core->blog->getCategories(array('post_type'=>'post')); 
     
    440424                         $categories[str_repeat('  ',$rs->level-1).'• '.html::escapeHTML($rs->cat_title)] = $rs->cat_id; 
    441425                    } 
    442                     $f_category = newsletterPlugin::getCategory(); 
     426                    $f_category = $newsletter_settings->getCategory(); 
     427                    $f_check_subcategories = $newsletter_settings->getCheckSubCategories(); 
    443428 
    444429                    // gestion des paramètres du plugin 
    445430                    echo  
    446                     '<form action="plugin.php" method="post" id="settings">'. 
     431                    '<form action="plugin.php?p=newsletter&amp;m=settings" method="post" id="settings">'. 
    447432                         '<fieldset id="advanced">'. 
    448433                              '<legend>'.__('Advanced Settings').'</legend>'. 
     
    496481                              '</p>'. 
    497482                              '<p class="field">'. 
     483                                   '<label for="f_check_subcategories" class="classic">'.__('Include sub-categories').'</label>'. 
     484                                   form::checkbox('f_check_subcategories',1,$f_check_subcategories). 
     485                              '</p>'. 
     486                              '<p class="field">'. 
    498487                                   '<label for="f_check_use_suspend" class="classic">'.__('Use suspend option').'</label>'. 
    499488                                   form::checkbox('f_check_use_suspend',1,$f_check_use_suspend). 
    500489                              '</p>'. 
     490                              '<p class="field">'. 
     491                                   '<label for="f_order_date" class="classic">'.__('Date selection for sorting posts').'</label>'. 
     492                                   form::combo('f_order_date',$date_combo,$f_order_date). 
     493                              '</p>'.                             
    501494                         '</fieldset>'. 
    502495                         // boutons du formulaire 
     
    504497                              '<input type="submit" name="save" value="'.__('Save').'" /> '. 
    505498                              '<input type="reset" name="reset" value="'.__('Cancel').'" /> '. 
    506                               '<input type="button" value="'.__('Defaults').'" onclick="pdefaults(); return false" />'. 
    507499                         '</p>'. 
    508500                         '<p>'. 
     
    540532 
    541533               if (newsletterPlugin::isActive()) { 
     534                    $newsletter_settings = new newsletterSettings($core); 
    542535 
    543536                    // newsletter 
    544                     $f_newsletter_subject = newsletterPlugin::getNewsletterSubject(); 
    545                     $f_introductory_msg = newsletterPlugin::getIntroductoryMsg(); 
    546                     $f_concluding_msg = newsletterPlugin::getConcludingMsg(); 
    547                     $f_msg_presentation_form = newsletterPlugin::getMsgPresentationForm(); 
    548                     $f_presentation_msg = newsletterPlugin::getPresentationMsg(); 
    549                     $f_presentation_posts_msg = newsletterPlugin::getPresentationPostsMsg(); 
     537                    $f_newsletter_subject = $newsletter_settings->getNewsletterSubject(); 
     538                    $f_introductory_msg = $newsletter_settings->getIntroductoryMsg(); 
     539                    $f_concluding_msg = $newsletter_settings->getConcludingMsg(); 
     540                    $f_msg_presentation_form = $newsletter_settings->getMsgPresentationForm(); 
     541                    $f_presentation_msg = $newsletter_settings->getPresentationMsg(); 
     542                    $f_presentation_posts_msg = $newsletter_settings->getPresentationPostsMsg(); 
    550543 
    551544                    // confirm 
    552                     $f_confirm_subject = newsletterPlugin::getConfirmSubject(); 
    553                     $f_txt_intro_confirm = newsletterPlugin::getTxtIntroConfirm(); 
    554                     $f_txtConfirm = newsletterPlugin::getTxtConfirm(); 
    555                     $f_confirm_msg = newsletterPlugin::getConfirmMsg(); 
    556                     $f_concluding_confirm_msg = newsletterPlugin::getConcludingConfirmMsg(); 
     545                    $f_confirm_subject = $newsletter_settings->getConfirmSubject(); 
     546                    $f_txt_intro_confirm = $newsletter_settings->getTxtIntroConfirm(); 
     547                    $f_txtConfirm = $newsletter_settings->getTxtConfirm(); 
     548                    $f_confirm_msg = $newsletter_settings->getConfirmMsg(); 
     549                    $f_concluding_confirm_msg = $newsletter_settings->getConcludingConfirmMsg(); 
    557550 
    558551                    // disable 
    559                     $f_disable_subject = newsletterPlugin::getDisableSubject(); 
    560                     $f_txt_intro_disable = newsletterPlugin::getTxtIntroDisable(); 
    561                     $f_txtDisable = newsletterPlugin::getTxtDisable(); 
    562                     $f_disable_msg = newsletterPlugin::getDisableMsg(); 
    563                     $f_concluding_disable_msg = newsletterPlugin::getConcludingDisableMsg(); 
    564                     $f_txt_disabled_msg = newsletterPlugin::getTxtDisabledMsg(); 
     552                    $f_disable_subject = $newsletter_settings->getDisableSubject(); 
     553                    $f_txt_intro_disable = $newsletter_settings->getTxtIntroDisable(); 
     554                    $f_txtDisable = $newsletter_settings->getTxtDisable(); 
     555                    $f_disable_msg = $newsletter_settings->getDisableMsg(); 
     556                    $f_concluding_disable_msg = $newsletter_settings->getConcludingDisableMsg(); 
     557                    $f_txt_disabled_msg = $newsletter_settings->getTxtDisabledMsg(); 
    565558 
    566559                    // enable 
    567                     $f_txt_intro_enable = newsletterPlugin::getTxtIntroEnable(); 
    568                     $f_txtEnable = newsletterPlugin::getTxtEnable(); 
    569                     $f_enable_subject = newsletterPlugin::getEnableSubject(); 
    570                     $f_enable_msg = newsletterPlugin::getEnableMsg(); 
    571                     $f_concluding_enable_msg = newsletterPlugin::getConcludingEnableMsg(); 
    572                     $f_txt_enabled_msg = newsletterPlugin::getTxtEnabledMsg(); 
     560                    $f_txt_intro_enable = $newsletter_settings->getTxtIntroEnable(); 
     561                    $f_txtEnable = $newsletter_settings->getTxtEnable(); 
     562                    $f_enable_subject = $newsletter_settings->getEnableSubject(); 
     563                    $f_enable_msg = $newsletter_settings->getEnableMsg(); 
     564                    $f_concluding_enable_msg = $newsletter_settings->getConcludingEnableMsg(); 
     565                    $f_txt_enabled_msg = $newsletter_settings->getTxtEnabledMsg(); 
    573566 
    574567                    // suspend 
    575                     $f_suspend_subject = newsletterPlugin::getSuspendSubject(); 
    576                     $f_suspend_msg = newsletterPlugin::getSuspendMsg(); 
    577                     $f_txt_suspended_msg = newsletterPlugin::getTxtSuspendedMsg(); 
    578                     $f_concluding_suspend_msg = newsletterPlugin::getConcludingSuspendMsg(); 
    579                     $f_txt_intro_suspend = newsletterPlugin::getTxtIntroSuspend(); 
    580                     $f_txtSuspend = newsletterPlugin::getTxtSuspend(); 
     568                    $f_suspend_subject = $newsletter_settings->getSuspendSubject(); 
     569                    $f_suspend_msg = $newsletter_settings->getSuspendMsg(); 
     570                    $f_txt_suspended_msg = $newsletter_settings->getTxtSuspendedMsg(); 
     571                    $f_concluding_suspend_msg = $newsletter_settings->getConcludingSuspendMsg(); 
     572                    $f_txt_intro_suspend = $newsletter_settings->getTxtIntroSuspend(); 
     573                    $f_txtSuspend = $newsletter_settings->getTxtSuspend(); 
    581574 
    582575                    // changemode 
    583                     $f_change_mode_subject = newsletterPlugin::getChangeModeSubject(); 
    584                     $f_header_changemode_msg = newsletterPlugin::getHeaderChangeModeMsg(); 
    585                     $f_footer_changemode_msg = newsletterPlugin::getFooterChangeModeMsg(); 
    586                     $f_changemode_msg = newsletterPlugin::getChangeModeMsg(); 
     576                    $f_change_mode_subject = $newsletter_settings->getChangeModeSubject(); 
     577                    $f_header_changemode_msg = $newsletter_settings->getHeaderChangeModeMsg(); 
     578                    $f_footer_changemode_msg = $newsletter_settings->getFooterChangeModeMsg(); 
     579                    $f_changemode_msg = $newsletter_settings->getChangeModeMsg(); 
    587580 
    588581                    // resume 
    589                     $f_resume_subject = newsletterPlugin::getResumeSubject(); 
    590                     $f_header_resume_msg = newsletterPlugin::getHeaderResumeMsg(); 
    591                     $f_footer_resume_msg = newsletterPlugin::getFooterResumeMsg(); 
     582                    $f_resume_subject = $newsletter_settings->getResumeSubject(); 
     583                    $f_header_resume_msg = $newsletter_settings->getHeaderResumeMsg(); 
     584                    $f_footer_resume_msg = $newsletter_settings->getFooterResumeMsg(); 
    592585                     
    593586                    // subscribe 
    594                     $f_form_title_page = newsletterPlugin::getFormTitlePage(); 
    595                     $f_txt_subscribed_msg = newsletterPlugin::getTxtSubscribedMsg();                 
     587                    $f_form_title_page = $newsletter_settings->getFormTitlePage(); 
     588                    $f_txt_subscribed_msg = $newsletter_settings->getTxtSubscribedMsg();                  
    596589 
    597590                    // gestion des paramètres du plugin 
    598591                    echo  
    599592                    '<form action="plugin.php" method="post" id="messages">'. 
     593                     
     594                         // boutons du formulaire 
     595                         '<fieldset>'. 
     596                         '<p>'. 
     597                         __('Update messages'). 
     598                         '</p>'. 
     599                         '<p>'. 
     600                              '<input type="submit" name="save" value="'.__('Update').'" /> '. 
     601                              '<input type="reset" name="reset" value="'.__('Cancel').'" /> '. 
     602                         '</p>'. 
     603                         '</fieldset>'. 
     604                     
    600605                         '<fieldset id="define_newsletter">'. 
    601606                              '<legend>'.__('Define message content Newsletter').'</legend>'. 
     
    620625                                   form::textarea('f_concluding_msg',30,4, html::escapeHTML($f_concluding_msg)). 
    621626                              '</p>'. 
    622                          '</fieldset>'.                      
     627                         '</fieldset>'. 
    623628                         '<fieldset id="define_confirm">'. 
    624629                              '<legend>'.__('Define message content Confirm').'</legend>'. 
     
    776781 
    777782                         // boutons du formulaire 
    778                          '<p>'. 
    779                               '<input type="submit" name="save" value="'.__('Save').'" /> '. 
     783                         '<fieldset>'. 
     784                         '<p>'. 
     785                         __('Update messages'). 
     786                         '</p>'.                        
     787                         '<p>'. 
     788                              '<input type="submit" name="save" value="'.__('Update').'" /> '. 
    780789                              '<input type="reset" name="reset" value="'.__('Cancel').'" /> '. 
    781790                         '</p>'. 
     791                         '</fieldset>'. 
    782792                         '<p>'. 
    783793                              form::hidden(array('p'),newsletterPlugin::pname()). 
     
    827837                         if (isset($blog->dcCron)) { 
    828838                              $newsletter_cron=new newsletterCron($core); 
    829  
    830                               $f_check_schedule = newsletterPlugin::getCheckSchedule(); 
     839                              $newsletter_settings = new newsletterSettings($core); 
     840 
     841                              $f_check_schedule = $newsletter_settings->getCheckSchedule(); 
    831842                              $f_interval = ($newsletter_cron->getTaskInterval() ? $newsletter_cron->getTaskInterval() : 604800); 
    832843                              $f_first_run = ($newsletter_cron->getFirstRun() ? $newsletter_cron->getFirstRun() : ''); 
     
    856867                                        form::hidden(array('op'),(($f_check_schedule)?'unschedule':'schedule')). 
    857868                                        $core->formNonce(). 
    858                                         '</form>'. 
     869                                   '</form>'. 
    859870                              '</fieldset>'. 
    860871                              ''; 
     
    912923                                   ''; 
    913924                              }                         
    914                           
    915925                         } else { 
    916926                              echo 
     
    977987               else  
    978988                    $pactive = ''; 
    979                 
     989 
    980990               echo 
    981                '<form action="plugin.php" method="post" id="state">'. 
    982                     '<fieldset>'. 
    983                          '<legend>'.__('Plugin state').'</legend>'. 
     991               '<fieldset>'. 
     992                    '<legend>'.__('Plugin state').'</legend>'.              
     993                    '<form action="plugin.php" method="post" id="state">'. 
    984994                         '<p class="field">'. 
    985                          '<label class="classic" for="active">'.__('Activate plugin').'</label>'. 
     995                         '<label for="active" class="classic">'.__('Activate plugin').'</label>'. 
    986996                         form::checkbox('active', 1, $pactive). 
    987997                         '</p>'. 
    988                     '</fieldset>'. 
    989                     '<p>'. 
    990                          '<input type="submit" value="'.__('Save').'" /> '. 
    991                          '<input type="reset" value="'.__('Cancel').'" /> '. 
    992                     '</p>'. 
    993                     '<p>'. 
     998                         '<p>'. 
     999                              '<input type="submit" value="'.__('Save').'" /> '. 
     1000                              '<input type="reset" value="'.__('Cancel').'" /> '. 
     1001                         '</p>'. 
    9941002                         form::hidden(array('p'),newsletterPlugin::pname()). 
    9951003                         form::hidden(array('op'),'state'). 
    9961004                         $core->formNonce(). 
    997                     '</p>'. 
    998                '</form>'. 
     1005                    '</form>'. 
     1006               '</fieldset>'. 
    9991007               ''; 
    10001008 
     
    10021010                    echo 
    10031011                    // export/import pour le blog 
    1004                     '<form action="plugin.php" method="post" id="impexp" name="impexp">'. 
    1005                          '<fieldset>'. 
    1006                               '<legend>'.__('Import/Export subscribers list').'</legend>'. 
     1012                    '<fieldset>'. 
     1013                    '<legend>'.__('Import/Export subscribers list').'</legend>'. 
     1014                         '<form action="plugin.php" method="post" id="export" name="export">'. 
    10071015                              '<p>'. 
    10081016                              '<label class="classic">'. 
     
    10161024                              '<p>'. 
    10171025                              '<input type="submit" value="'.__('Export').'" />'. 
    1018                               '<input type="button" value="'.__('Import').'" onclick="pimport(); return false" />'. 
     1026                              '</p>'. 
    10191027                              form::hidden(array('p'),newsletterPlugin::pname()). 
    10201028                              form::hidden(array('op'),'export'). 
    1021                               $core->formNonce().                      
    1022                               '</p>'. 
    1023                          '</fieldset>'. 
    1024                     '</form>'. 
     1029                              $core->formNonce().                                                    
     1030                         '</form>'. 
     1031                          
     1032                         '<form action="plugin.php" method="post" id="import" name="import">'. 
     1033                              '<p>'. 
     1034                              '<label class="classic">'. 
     1035                              form::radio(array('type'),'blog',(!$sadmin) ? true : false).__('This blog only'). 
     1036                              '</label>'. 
     1037                              '<br />'. 
     1038                              '<label class="classic">'. 
     1039                              form::radio(array('type'),'all',($sadmin) ? true : false,'','',(!$sadmin) ? true : false).__('All datas'). 
     1040                              '</label>'. 
     1041                              '</p>'. 
     1042                              '<p>'. 
     1043                              '<input type="submit" value="'.__('Import').'" />'. 
     1044                              '</p>'. 
     1045                              form::hidden(array('p'),newsletterPlugin::pname()). 
     1046                              form::hidden(array('op'),'import'). 
     1047                              $core->formNonce().                                                    
     1048                         '</form>'.                          
     1049                          
     1050                    '</fieldset>'. 
    10251051                    ''; 
    10261052 
    10271053                    echo 
    10281054                    // reprise d'une liste d'adresse email 
    1029                     '<form action="plugin.php" method="post" id="reprise" name="reprise" enctype="multipart/form-data">'. 
    1030                          '<fieldset>'. 
    1031                               '<legend>'.__('Importing a subscribers list from a file text in the current blog').'</legend>'. 
     1055                    '<fieldset>'. 
     1056                    '<legend>'.__('Importing a subscribers list from a file text in the current blog').'</legend>'.                     
     1057                         '<form action="plugin.php" method="post" id="reprise" name="reprise" enctype="multipart/form-data">'. 
    10321058                              '<p>'. 
    10331059                              '<label class="classic required" title="'.__('Required field').'">'. 
     
    10421068                              '<p>'. 
    10431069                              '<input type="submit" value="'.__('Launch reprise').'" />'. 
     1070                              '</p>'. 
    10441071                              form::hidden(array('p'),newsletterPlugin::pname()). 
    10451072                              form::hidden(array('op'),'reprise'). 
    1046                               $core->formNonce().                      
    1047                               '</p>'. 
    1048                          '</fieldset>'. 
    1049                     '</form>'. 
     1073                              $core->formNonce(). 
     1074                         '</form>'. 
     1075                    '</fieldset>'. 
    10501076                    ''; 
    10511077                     
    10521078                    echo 
    10531079                    // adaptation du template 
    1054                     ///* 
    1055                     '<form action="plugin.php" method="post" id="adapt">'. 
    10561080                         '<fieldset>'. 
    1057                               '<legend>'.__('Adapt the template for the theme').'</legend>'. 
    1058                               '<p><label class="classic" for="fthemes">'.__('Theme name').' : '. 
    1059                               form::combo('fthemes', $bthemes, $theme). 
    1060                               '</label></p>'. 
    1061                               '<p>'. 
    1062                               '<input type="submit" value="'.__('Adapt').'" />'. 
    1063                               form::hidden(array('p'),newsletterPlugin::pname()). 
    1064                               form::hidden(array('op'),'adapt'). 
    1065                               $core->formNonce().                      
    1066                               '</p>'. 
    1067                               '<p>'. 
    1068                               '<a href="'.$urlBase.'/test'.'">'.__('Clic here to test the template.').'</a>'. 
    1069                               '</p>'. 
    1070                          '</fieldset>'. 
    1071                     '</form>'. 
    1072                     ''; 
    1073                     //*/ 
    1074                      
    1075                     // gestion de la mise à jour 
    1076                     /* désactivée => redondance avec dotaddict : à supprimer 
    1077                     if ($sadmin) 
    1078                     { 
    1079                        echo 
    1080                          '<fieldset>'. 
    1081                          '<legend>'.__('Check for plugin update').'</legend>'. 
    1082                               '<form action="plugin.php" method="post" name="update">'. 
    1083                              $core->formNonce(). 
     1081                         '<legend>'.__('Adapt the template for the theme').'</legend>'. 
     1082                              '<form action="plugin.php" method="post" id="adapt">'. 
     1083                                   '<p><label class="classic" for="fthemes">'.__('Theme name').' : '. 
     1084                                   form::combo('fthemes', $bthemes, $theme). 
     1085                                   '</label></p>'. 
     1086                                   '<p>'. 
     1087                                   '<input type="submit" value="'.__('Adapt').'" />'. 
     1088                                   '</p>'. 
     1089                                   '<p>'. 
     1090                                   '<a href="'.$urlBase.'/test'.'" target="_blank">'.__('Clic here to test the template.').'</a>'. 
     1091                                   '</p>'. 
    10841092                                   form::hidden(array('p'),newsletterPlugin::pname()). 
    1085                                    form::hidden(array('op'),'update'). 
    1086                                    '<p></p>'. 
    1087                                    '<p>'. 
    1088                                         '<input type="submit" value="'.__('Check').'" />'. 
    1089                                    '</p>'. 
     1093                                   form::hidden(array('op'),'adapt'). 
     1094                                   $core->formNonce(). 
    10901095                              '</form>'. 
    10911096                         '</fieldset>'. 
    1092                          ''; 
    1093                     } 
    1094                     //*/                 
     1097                    ''; 
    10951098 
    10961099                    echo 
    10971100                    // Nettoyage de la base 
    1098                     '<form action="plugin.php" method="post" id="erasingnewsletter">'. 
    1099                          '<fieldset>'. 
    1100                               '<legend>'.__('Erasing all informations about newsletter in database').'</legend>'. 
     1101                    '<fieldset>'. 
     1102                    '<legend>'.__('Erasing all informations about newsletter in database').'</legend>'. 
     1103                         '<form action="plugin.php" method="post" id="erasingnewsletter">'. 
    11011104                              '<p>'.__('Be careful, please backup your database before erasing'). 
    11021105                              '</p>'. 
    11031106                              '<p>'. 
    1104                               '<input type="submit" value="'.__('Erasing').'" name="delete" class="delete" onclick="erasingnewsletterConfirm(); return false" />'. 
     1107                              //'<input type="submit" value="'.__('Erasing').'" name="delete" class="delete" onclick="erasingnewsletterConfirm(); return false" />'. 
     1108                              '<input type="submit" value="'.__('Erasing').'" name="delete" class="delete"/>'. 
     1109                              '</p>'. 
    11051110                              form::hidden(array('p'),newsletterPlugin::pname()). 
    11061111                              form::hidden(array('op'),'erasingnewsletter'). 
    1107                               $core->formNonce().                      
    1108                               '</p>'. 
    1109                          '</fieldset>'. 
    1110                     '</form>'. 
     1112                              $core->formNonce(). 
     1113                         '</form>'. 
     1114                    '</fieldset>'. 
    11111115                    ''; 
    11121116 
    1113                } else { 
    1114                     echo 
    1115                     '<fieldset>'. 
    1116                          '<p>'. 
    1117                               '<label class="classic">'.__('Activate the plugin in the Maintenance tab to view all options').'</label>'. 
    1118                          '</p>'. 
    1119                     '</fieldset>'; 
    1120                } 
    1121  
    1122           } catch (Exception $e) {  
    1123                $core->error->add($e->getMessage());  
    1124           } 
    1125      } 
    1126  
    1127      /** 
    1128      * liste des abonnés du blog 
    1129      */ 
    1130      public static function ListBlog() 
    1131      { 
    1132           // prise en compte du plugin installé 
    1133           if (!newsletterCore::isInstalled()) { 
    1134                return; 
    1135           } 
    1136  
    1137           global $core; 
    1138           try { 
    1139                if (newsletterPlugin::isActive()) { 
    1140                     $datas = newsletterCore::getlist(); 
    1141                     if (!is_object($datas)) { 
    1142                          echo __('No subscriber for this blog.'); 
    1143                     } else { 
    1144                          $blog = &$core->blog; 
    1145                          $settings = &$blog->settings; 
    1146                                     
    1147                          // début du tableau et en-têtes 
    1148                          echo 
    1149                          '<form action="plugin.php" method="post" id="listblog"><p>' . 
    1150                               $core->formNonce(). 
    1151                               form::hidden(array('p'),newsletterPlugin::pname()). 
    1152                               form::hidden(array('op'),'remove'). 
    1153                               form::hidden(array('id'),'')."</p>\n". 
    1154                               '<table class="clear" id="userslist">'. 
    1155                                    '<tr>'. 
    1156                                         '<th>&nbsp;</th>'. 
    1157                                         '<th class="nowrap">'.__('Subscriber').'</th>' . 
    1158                                         '<th class="nowrap">'.__('Subscribed').'</th>' . 
    1159                                         '<th class="nowrap">'.__('Status').'</th>' . 
    1160                                         '<th class="nowrap">'.__('Last sent').'</th>' . 
    1161                                         '<th class="nowrap">'.__('Mode send').'</th>' . 
    1162                                         '<th class="nowrap" colspan="2">'.__('Edit').'</th>'. 
    1163                                    '</tr>'; 
    1164  
    1165                          // parcours la liste pour l'affichage 
    1166                          $datas->moveStart(); 
    1167                          while ($datas->fetch()) { 
    1168                               $k = (integer)$datas->subscriber_id; 
    1169                               $editlink = 'onclick="ledit('.$k.'); return false"'; 
    1170                               $guilink = '<a href="#" '.$editlink.' title="'.__('Edit subscriber').'"><img src="images/edit-mini.png" alt="'.__('Edit subscriber').'" /></a>'; 
    1171  
    1172                               if ($datas->subscribed != null)  
    1173                                    $subscribed = dt::dt2str('%d/%m/%Y', $datas->subscribed).' '.dt::dt2str('%H:%M', $datas->subscribed); 
    1174                               else  
    1175                                    $subscribed = __('Never'); 
    1176                                
    1177                               if ($datas->lastsent != null)  
    1178                                    $lastsent = dt::dt2str('%d/%m/%Y', $datas->lastsent).' '.dt::dt2str('%H:%M', $datas->lastsent); 
    1179                               else  
    1180                                    $lastsent = __('Never'); 
    1181  
    1182                               echo 
    1183                               '<tr class="line">'. 
    1184                                    '<td>'.form::checkbox(array('subscriber['.html::escapeHTML($k).']'), 1).'</td>'. 
    1185                                    '<td class="maximal nowrap">'.html::escapeHTML(text::cutString($datas->email, 50)).'</td>'. 
    1186                                    '<td class="minimal nowrap">'.html::escapeHTML(text::cutString($subscribed, 50)).'</td>'. 
    1187                                    '<td class="minimal nowrap">'.html::escapeHTML(text::cutString(__($datas->state), 50)).'</td>'. 
    1188                                    '<td class="minimal nowrap">'.html::escapeHTML(text::cutString($lastsent, 50)).'</td>'. 
    1189                                    '<td class="minimal nowrap">'.html::escapeHTML(text::cutString(__($datas->modesend), 10)).'</td>'. 
    1190                                    '<td class="status">'.$guilink.'</td>'. 
    1191                               '</tr>'; 
    1192                          } 
    1193  
    1194                          $bstates = array(); 
    1195                          $bstates['-'] = '-'; 
    1196                          if (newsletterPlugin::getCheckUseSuspend()) { 
    1197                               $bstates[__('Suspend')] = 'suspend'; 
    1198                          } 
    1199                          $bstates[__('Disable')] = 'disable'; 
    1200                          $bstates[__('Enable')] = 'enable'; 
    1201                          $bstates[__('Last sent')] = 'lastsent'; 
    1202  
    1203                          $bmails = array(); 
    1204                          $bmails[__('Newsletter')] = 'send'; 
    1205                          $bmails[__('Confirmation')] = 'sendconfirm'; 
    1206                          if (newsletterPlugin::getCheckUseSuspend()) { 
    1207                               $bmails[__('Suspension')] = 'sendsuspend'; 
    1208                          } 
    1209                          $bmails[__('Deactivation')] = 'senddisable'; 
    1210                          $bmails[__('Activation')] = 'sendenable'; 
    1211                          //$bmails[__('Changing format')] = 'sendchangemode'; 
    1212  
    1213                          $bmodes = array(); 
    1214                          $bmodes['-'] = '-'; 
    1215                          $bmodes[__('html')] = 'changemodehtml'; 
    1216                          $bmodes[__('text')] = 'changemodetext'; 
    1217  
    1218                          // fermeture du tableau 
    1219                          echo 
    1220                          '</table>'. 
    1221                          '<p>'. 
    1222                               '<a class="small" href="'.html::escapeHTML(newsletterPlugin::admin()).'">'.__('refresh').'</a> - ' . 
    1223                               '<a class="small" href="#" onclick="checkAll(\'userslist\'); return false">'.__('check all').'</a> - ' . 
    1224                               '<a class="small" href="#" onclick="uncheckAll(\'userslist\'); return false">'.__('uncheck all').'</a> - ' . 
    1225                               '<a class="small" href="#" onclick="invertcheckAll(\'userslist\'); return false">'.__('toggle check all').'</a>'. 
    1226                          '</p>'. 
    1227                          '<p>'. 
    1228                               '<input type="submit" value="'.__('Delete').'" onclick="deleteUsersConfirm(); return false" /><br /><br />'. 
    1229                          '</p>'. 
    1230                          '<fieldset id="modifyUsers">'. 
    1231                          '<p class="field">'. 
    1232                               '<label for="fstates" class="classic">'.__('Set state').'&nbsp;:&nbsp;</label>'. 
    1233                               form::combo('fstates', $bstates). 
    1234                               '<input type="button" value="'.__('Set').'" onclick="lset(); return false" />'. 
    1235                          '</p>'. 
    1236                          '<p class="field">'. 
    1237                               '<label for="fmodes" class="classic">'.__('Set format').'&nbsp;:&nbsp;</label>'. 
    1238                               form::combo('fmodes', $bmodes). 
    1239                               '<input type="button" value="'.__('Change').'" onclick="lchangemode(); return false" />'. 
    1240                          '</p>'. 
    1241                          '<p class="field">'. 
    1242                               '<label for="fmails" class="classic">'.__('Mail to send').'&nbsp;:&nbsp;</label>'. 
    1243                               form::combo('fmails', $bmails). 
    1244                               '<input type="button" value="'.__('Send').'" onclick="lsend(); return false" />'. 
    1245                          '</p>'. 
    1246                          '</form>'. 
    1247                          '</fieldset>'. 
    1248                          ''; 
    1249                     } 
    12501117               } else { 
    12511118                    echo 
     
    12891156 
    12901157                    // test si ajout ou édition 
    1291                     if (!empty($_POST['id'])) 
     1158                    if (!empty($_GET['id'])) 
    12921159                    { 
    1293                          $id = (integer)$_POST['id']; 
     1160                         $id = (integer)$_GET['id']; 
    12941161                         $datas = newsletterCore::get($id); 
    12951162                         if ($datas == null) { 
     
    13591226                    } else { 
    13601227                         echo  
    1361                          '<form action="plugin.php" method="post" id="addedit">'. 
     1228                         '<form action="plugin.php?p=newsletter&amp;m=subscribers" method="post" id="addedit">'. 
    13621229                         '<fieldset id="addedit">'. 
    13631230                              '<legend>'.$form_title.'</legend>'. 
Note: See TracChangeset for help on using the changeset viewer.

Sites map