linea21-modules
[ class tree: linea21-modules ] [ index: linea21-modules ] [ all elements ]

Source for file list.php

Documentation is available at list.php

  1. <?php
  2. /**
  3.  * @package linea21.modules
  4.  * @subpackage newsletter
  5.  * @author linea21 <info@linea21.com>
  6.  * @version $id SVN
  7.  * @access public
  8.  * @license http://opensource.org/licenses/gpl-3.0.html
  9.  */
  10.  
  11. // ////////// Check Inclusion de pages ////////////
  12. if (!class_exists('auth')) {
  13.   include_once("../lib/lib_common.php");
  14.   ReloadIndex('admin');
  15. }
  16. // //////////
  17.  
  18. //////////// Check Droits utilisateur ////////////
  19. if (!$l21auth->isSuperAdmin()) ReloadIndex('admin');
  20. ////////////
  21.  
  22. if (!isset($_GET['statut']|| $_GET['statut'== -1$statut = -1;
  23. elseif ($_GET['statut'!= -1$statut $_GET['statut'];
  24.  
  25. if (!isset($_GET['debut'])) $debut 0;
  26. else $debut $_GET['debut'];
  27.  
  28. $mask_statut_1 '';
  29. $mask_statut_2 '';
  30. $mask_statut_3 '';
  31.  
  32. if ($statut == 'public'$mask_statut_1 'selected="selected"';
  33. if ($statut == 'draft'$mask_statut_2 'selected="selected"';
  34. if ($statut == 'waiting'$mask_statut_3 'selected="selected"';
  35. // Nombre d'enregistrement total dans la bdd
  36. $result_nb_req $sql_object->DBSelect(SQL_getCountNewsletterList(-1));
  37. $bdd_nb_news $result_nb_req[0]['num_rows'];
  38. $bdd_nb_news_display $bdd_nb_news " " _t('newsletter','nb_total'"<br />\n";
  39.  
  40. if ($statut != -1{
  41.   $link_back "<div class=\"filter\"><a href=\"" $rub_link "&amp;todo=list\">" _t('newsletter','all'"</a></div>";
  42.   $req_count_news SQL_getCountNewsletterList($statut);
  43.   $result_nb_req $sql_object->DBSelect($req_count_news);
  44.   $count_request $result_nb_req[0]['num_rows'];
  45.   $req_list_newsletter SQL_getNewsletterList($debutSELECT_LIMIT$statut);
  46.   $result_newsletter_list $sql_object->DBSelect($req_list_newsletter);
  47. else {
  48.   $link_back '';
  49.   $count_request $bdd_nb_news;
  50.   $req_list_newsletter SQL_getNewsletterList($debutSELECT_LIMIT$statut);
  51.   $result_newsletter_list $sql_object->DBSelect($req_list_newsletter);
  52. }
  53.  
  54. if ($count_request <= 1$count_request_display _t('divers','query_result'" : " $count_request " " _t('divers','record'"<br />\n";
  55. else $count_request_display _t('divers','query_result'" : " $count_request " " _t('divers','records'"<br />\n";
  56.  
  57. $link_sup $rub_link "&amp;todo=sup&amp;id=";
  58. $link_mod $rub_link "&amp;todo=mod&amp;id=";
  59. $link_det $rub_link "&amp;todo=det&amp;id=";
  60. $link_statut $rub_link "&amp;todo=list&amp;statut=";
  61. $link_self $link_statut $statut;
  62. // Liste des statuts disponibles
  63. $select_statut "<select name=\"statut_filter\" id=\"statut_filter\">\n";
  64. $select_statut .= "<option value=\"-1\">" _t('newsletter','statut_filter'"</option>\n";
  65. $select_statut .= "<option value=\"" $link_statut "public\"" $mask_statut_1 ">"._t('statut','public')."</option>\n";
  66. $select_statut .= "<option value=\"" $link_statut "draft\"" $mask_statut_2 ">"._t('statut','draft')."</option>\n";
  67. $select_statut .= "<option value=\"" $link_statut "waiting\"" $mask_statut_3 ">"._t('statut','W')."</option>\n";
  68. $select_statut .= "</select>\n";
  69.  
  70. $js "    $('#statut_filter').change(function() {
  71.                     window.location = $(this).val();
  72.                 });";
  73.  
  74. ?>
  75. <div id="chemin">
  76. <ul>
  77.     <li><a href="index.php" class="chemin_home"><?php echo _t('way','home')?></a></li>
  78.     <li><a href="<?php echo $rub_link?>" id="chemin_<?php echo $rub?>" class="chemin_rub"><?php echo _t('menu','newsletter')?></a></li>
  79.     <li><span><?php echo formatNavTitle(_t('newsletter','list'))?></span></li>
  80. </ul>
  81. </div>
  82. <!--end barre haute -->
  83.     <?php
  84.     include_once(THEME_ADMIN_PATH."quickicons.php");
  85.     ?>
  86. <div class="contentcontainer">
  87. <?php 
  88. include_once(override($dir.'/menurub.php'THEME_ADMIN_PATH));
  89. ?>
  90. <div id="content">
  91. <div class="mod_link">
  92. <a title="<?php echo mb_ucfirst(_t('newsletter','subscribers_list'))?>" href="#subscribers-container" id="subscribers" class="cboxElement"><?php echo mb_ucfirst(_t('newsletter','subscribers_list'))?></a>
  93. </div>
  94. <?php
  95. echo $link_back;
  96. ?>
  97. <div class="filterselect"><?php echo $select_statut?></div>
  98. <p>
  99.     <?php
  100.     echo $bdd_nb_news_display;
  101.     echo $count_request_display;
  102.     ?>
  103. </p>
  104. <?php
  105. echo linkin_page($link_self$count_request$debut);
  106.  
  107. if ($result_newsletter_list != 0{
  108.   echo "<table cellspacing=\"0\" cellpadding=\"3\" class=\"multisort\">\n";
  109.   echo "<thead>\n";
  110.   echo "<tr>\n";
  111.   echo "<td>" mb_ucfirst(_t('newsletter','title')) "</td>\n";
  112.   echo "<td>".mb_ucfirst(_t('divers','date_crea'))."</td>\n";
  113.   echo "<td>".cutText(mb_ucfirst(_t('divers','date_publi'))131'')."</td>\n";
  114.   echo "<td class=\"sorter-false\">&nbsp;<span class=\"semnone\">" mb_ucfirst(_t('divers','actions')) "</span></td>\n";
  115.   echo "</tr>\n";
  116.   echo "</thead>\n";
  117.  
  118.  
  119.  
  120.   echo "<tbody>\n";
  121.   
  122.   for($i 0$i count($result_newsletter_list)$i++{
  123.     $newsletter_title formatText(cutText($result_newsletter_list[$i]['newsletter_title']53)'2HTML');
  124.     $newsletter_status $result_newsletter_list[$i]['newsletter_statut'];
  125.     $newsletter_published_date $newsletter_status=='P' $result_newsletter_list[$i]['newsletter_published_date_display'_t('statut','draft');
  126.     echo "<tr>\n";
  127.     echo "<td><a href=\"" $link_det $result_newsletter_list[$i]['newsletter_id'"\" title=\"" _t('newsletter','det'"\">" $newsletter_title "</a></td>\n";
  128.     echo "<td>" $result_newsletter_list[$i]['newsletter_date_crea_display'"</td>\n";
  129.     echo "<td>" $newsletter_published_date "</td>\n";
  130.     echo "<td style=\"width:80px\">\n";
  131.     if ($newsletter_status != 'P'{
  132.       echo "<div class=\"iconetab\">";
  133.       echo "\t<a href=\"" $link_sup $result_newsletter_list[$i]['newsletter_id'"\" class=\"ico_sup\" title=\"" _t('newsletter','sup'"\"><i class=\"icon-trash\"></i><span>" _t('newsletter','sup'"</span></a>\n";
  134.       echo "\t<a href=\"" $link_mod $result_newsletter_list[$i]['newsletter_id'"\" class=\"ico_mod\" title=\"" _t('newsletter','mod'"\"><i class=\"icon-pencil\"></i><span>" _t('newsletter','mod'"</span></a>\n";
  135.       echo "</div>";
  136.     else echo '&nbsp;';
  137.     echo "</td>\n";
  138.     echo "</tr>\n";
  139.     
  140.   }
  141.  
  142.   echo "</tbody>".PHP_EOL;
  143.   echo "</table>".PHP_EOL;
  144. else {
  145.   echo "<div class=\"info\">" _t('newsletter','noresult'"</div>".PHP_EOL;
  146. }
  147. echo linkin_page($link_self$count_request$debut);
  148.  
  149. // Get subscribers list for displaying in colorbox if link is clicked
  150. // récupération des emails
  151. $emails_batch $sql_object->DBSelect(SQL_GetEmails4Sending());
  152.  
  153. $count_emails_display _t('divers','query_result'" : " count($emails_batch" " _t('divers','records'"<br />".PHP_EOL;
  154.  
  155. $subscribers  '<div id="subscribers-container">'.PHP_EOL;
  156. $subscribers .=  "<h2>" mb_ucfirst(_t('newsletter','subscribers_list'))  "</h2>".PHP_EOL;
  157. $subscribers .=     "<p>".$count_emails_display."</p>".PHP_EOL;
  158.  
  159. if (count($emails_batch== && $emails_batch[0== false{
  160.  
  161.     $subscribers .=  "<div class=\"info\">" _t('divers','nodata'"</div>".PHP_EOL;
  162.  
  163. else {
  164.     
  165.  
  166.     // Calling JS directly into code 
  167.     // using footerAddInlineJS() creat an error
  168.     echo '<script type="text/javascript">
  169.                 $(function() { 
  170.                     $("#emailsearch").on("keyup", function() {
  171.                         var value = $(this).val().toLowerCase().trim();
  172.  
  173.                         $("#subscribers-container table tr").each(function(index) {
  174.                             if (index != 0) {
  175.                             
  176.                                 $row = $(this);
  177.                                 var id = $row.find("td:first").text().toLowerCase().trim();
  178.  
  179.                                 if (id.indexOf(value) != -1) {
  180.                                     $(this).show();
  181.                                 } else {
  182.                                     $(this).hide();
  183.                                 }
  184.                             }
  185.                         });
  186.                     });
  187.                 });
  188.                 </script>​'.PHP_EOL;
  189.     
  190.     
  191.     
  192.     
  193.     $subscribers .=  "<input type=\"text\" class=\"shorttextfield\" id=\"emailsearch\" value=\"\" placeholder=\"" mb_ucfirst(_t('newsletter','search_address'))  "\"></input>".PHP_EOL;
  194.     $subscribers .=  "<table cellspacing=\"0\" cellpadding=\"3\" class=\"multisort\">".PHP_EOL;
  195.     $subscribers .=  "<thead>".PHP_EOL;
  196.     $subscribers .=  "<tr>".PHP_EOL;
  197.     $subscribers .=  "<td>" mb_ucfirst(_t('newsletter','email_address')) "</td>\n";
  198.     $subscribers .=  "<td>".mb_ucfirst(_t('divers','date_crea'))."</td>\n";
  199.     $subscribers .=  "<td class=\"sorter-false\">&nbsp;<span class=\"semnone\">" mb_ucfirst(_t('divers','actions')) "</span></td>\n";
  200.     $subscribers .=  "</tr>\n";
  201.     $subscribers .=  "</thead>\n";
  202.  
  203.     $subscribers .=  "<tbody>\n";
  204.  
  205.     for($k 0$k count($emails_batch)$k++{
  206.         $email_id $emails_batch[$k]['emailcol_id'];
  207.         $email_recipient $emails_batch[$k]['emailcol_email'];
  208.         $email_date_crea $emails_batch[$k]['emailcol_date_crea_display'];
  209.         
  210.         // echo $email_id . ' '. $email_recipient. '<br />';
  211.  
  212.         $subscribers .=  "<tr id=\"email-".$email_id."\">".PHP_EOL;
  213.         $subscribers .=  "<td>".$email_recipient."</td>".PHP_EOL;
  214.         $subscribers .=  "<td>".$email_date_crea."</td>".PHP_EOL;
  215.         $subscribers .=  "<td width=\"10%\"><div class=\"iconetab subscriber-action\">".PHP_EOL;
  216.         $subscribers .=  "<a href=\"../newsletter/subscribe.php?newsletteremail=".$email_recipient."&amp;id=".$email_id."&amp;del_action=true\" title=\""._t('newsletter','unsubscribe')."\" class=\"ico_sup\"><i class=\"icon-trash\"></i><span>" _t('newsletter','unsubscribe'"</span></a>".PHP_EOL;
  217.         $subscribers .=  "</div></td>".PHP_EOL;
  218.         $subscribers .=  "</tr>".PHP_EOL;
  219.  
  220.     }
  221.  
  222.     $subscribers .=  "</tbody>".PHP_EOL;
  223.     $subscribers .=  "</table>".PHP_EOL;
  224. }
  225. $subscribers .= '</div>'.PHP_EOL;
  226.  
  227. echo $subscribers;
  228.  
  229. ?>
  230. </div> <!-- closing #content div -->
  231. <?php 
  232. // Ability to sort table
  233. addDynamicCSS('../lib/js/jquery.tablesorter/theme.default.css');
  234. footerAddJS('../lib/js/jquery.tablesorter/jquery.tablesorter.min.js');
  235. $str '$("table.multisort").tablesorter({    });';
  236.  
  237. // Newsletter Subscribers - Colorbox
  238. $str '$("#subscribers").colorbox({inline:true, width:"50%", height:"80%"});';
  239. $str     .= '$("#subscribers-container").wrap(\'<div style="display:none"><\/div>\');';
  240.  
  241. // 
  242.  
  243. // ajax code for unsubscribe user
  244. echo '<script type="text/javascript">
  245.                   $(function() {
  246.                       $(".subscriber-action a").click(function() {
  247.                       
  248.                           var url = $(this).attr("href");
  249.                           
  250.                           if($(this).hasClass("deleted")) {
  251.                               var extradata = "&restore";
  252.                           } else {
  253.                               var extradata = "";
  254.                           }
  255.  
  256.                                         $.ajax({
  257.                                 type: "GET",
  258.                               url: url,
  259.                               data: "call=ajax" + extradata,
  260.                               dataType: "json",
  261.                               success: function(data){
  262.                                   if(data.status == "confirm") {
  263.  
  264.                                       $(data.el).removeClass("deleted restored").addClass(data.action);
  265.                                       $(data.el).find("a").removeClass("deleted restored").addClass(data.action);
  266.                                       
  267.                                       if(data.action == "deleted") {
  268.                                           $(data.el).find("a > i").removeClass("icon-trash").addClass("icon-level-up");
  269.                                           $(data.el).find("a").attr("title", "'._t('btn''annul').'");
  270.                                       }
  271.                                       if(data.action == "restored") {
  272.                                           $(data.el).find("a > i").removeClass("icon-level-up").addClass("icon-trash");
  273.                                           $(data.el).find("a").attr("title", "'._t('newsletter''unsubscribe').'");
  274.                                       }
  275.                                   }
  276.                               }
  277.                             });
  278.                              
  279.                                             return false;
  280.                                             });
  281.                 
  282.                       });
  283.           </script>';
  284.  
  285. include_once(override($dir.'/help.php'THEME_ADMIN_PATH));
  286. ?>
  287. </div>

Documentation generated on Thu, 20 Mar 2014 16:48:39 +0100 by phpDocumentor 1.4.1