home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / phpnuke / PHP-Nuke-7.5.exe / html / admin / modules / newsletter.php < prev    next >
PHP Script  |  2004-07-24  |  9KB  |  224 lines

  1. <?php
  2.  
  3. /************************************************************************/
  4. /* PHP-NUKE: Web Portal System                                          */
  5. /* ===========================                                          */
  6. /*                                                                      */
  7. /* Copyright (c) 2002 by Francisco Burzi                                */
  8. /* http://phpnuke.org                                                   */
  9. /*                                                                      */
  10. /* This program is free software. You can redistribute it and/or modify */
  11. /* it under the terms of the GNU General Public License as published by */
  12. /* the Free Software Foundation; either version 2 of the License.       */
  13. /*                                                                      */
  14. /************************************************************************/
  15. /*         Additional security & Abstraction layer conversion           */
  16. /*                           2003 chatserv                              */
  17. /*      http://www.nukefixes.com -- http://www.nukeresources.com        */
  18. /************************************************************************/
  19.  
  20. if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }
  21. global $prefix, $db;
  22. $aid = substr("$aid", 0,25);
  23. $row = $db->sql_fetchrow($db->sql_query("SELECT radminsuper FROM " . $prefix . "_authors WHERE aid='$aid'"));
  24. if ($row['radminsuper'] == 1) {
  25.  
  26. /*********************************************************/
  27. /* Sections Manager Functions                            */
  28. /*********************************************************/
  29.  
  30. function newsletter() {
  31.     global $prefix, $user_prefix, $db, $sitename;
  32.     include("header.php");
  33.     GraphicAdmin();
  34.     $srow = $db->sql_numrows($db->sql_query("select * from " . $user_prefix . "_users where newsletter='1'"));
  35.     $urow = $db->sql_numrows($db->sql_query("select * from " . $user_prefix . "_users"));
  36.     $urow--;
  37.     OpenTable();
  38.     echo "<center><font class=\"title\"><b>" . _NEWSLETTER . "</b></font></center>";
  39.     CloseTable();
  40.     echo "<br>";
  41.     OpenTable();
  42.     echo "<center><font class=\"content\"><b>" . _NEWSLETTER . "</b></font></center>"
  43.     ."<br><br>"
  44.     ."<form method=\"post\" action=\"admin.php\">"
  45.     ."<b>From:</b> $sitename"
  46.     ."<br><br>"
  47.     ."<b>" . _SUBJECT . ":</b><br><input type=\"text\" name=\"subject\" size=\"50\">"
  48.     ."<br><br>"
  49.     ."<b>" . _CONTENT . ":</b><br><textarea name=\"content\" cols=\"50\" rows=\"10\"></textarea>"
  50.     ."<br><br>"
  51.     ."<b>" . _WHATTODO . "</b><br>"
  52.     ."<input type=\"radio\" name=\"type\" value=\"newsletter\" checked> " . _ANEWSLETTER . " ($srow " . _SUBSCRIBEDUSERS . ")<br>"
  53.     ."<input type=\"radio\" name=\"type\" value=\"massmail\"> " . _MASSMAIL . " ($urow " . _USERS . ")"
  54.     ."<br><br>"
  55.     ."<input type=\"hidden\" name=\"op\" value=\"check_type\">"
  56.     ."<input type=\"submit\" value=\"" . _PREVIEW . "\">"
  57.     ."</form>";
  58.     CloseTable();
  59.     include("footer.php");
  60. }
  61.  
  62. function check_type($subject, $content, $type) {
  63.     global $user_prefix, $db, $sitename;
  64.     include("header.php");
  65.     GraphicAdmin();
  66.     $srow = $db->sql_numrows($db->sql_query("select * from " . $user_prefix . "_users where newsletter='1'"));
  67.     $urow = $db->sql_numrows($db->sql_query("select * from " . $user_prefix . "_users"));
  68.     $urow--;
  69.     OpenTable();
  70.     echo "<center><font class=\"title\"><b>" . _NEWSLETTER . "</b></font></center>";
  71.     CloseTable();
  72.     echo "<br>";
  73.     OpenTable();
  74.     $content = stripslashes($content);
  75.     if ($type == "newsletter") {
  76.     echo "<center><font class=\"content\"><b>" . _NEWSLETTER . "</b></font>"
  77.         ."<br><br>"
  78.         ."<form action\"admin.php\" method=\"post\">"
  79.         ."" . _NYOUAREABOUTTOSEND . "<br>"
  80.         ."<b>$srow</b> " . _NUSERWILLRECEIVE . "<br><br>"
  81.         ."<b>" . _REVIEWTEXT . "</b></center><br><br>"
  82.         ."<b>" . _FROM . ":</b> $sitename<br><br>"
  83.         ."<b>" . _SUBJECT . ":</b><br><input type=\"text\" name=\"title\" value=\"$subject\" size=\"50\"><br><br>"
  84.         ."<b>" . _CONTENT . ":</b><br><textarea name=\"content\" cols=\"50\" rows=\"10\">$content</textarea><br><br><br><br>"
  85.         ."<b>" . _NAREYOUSURE2SEND . "</b><br><br>"
  86.         ."<input type=\"hidden\" name=\"op\" value=\"newsletter_send\">"
  87.         ."<input type=\"submit\" value=\"" . _SEND . "\">    " . _GOBACK . ""
  88.         ."</form>";
  89.     } elseif ($type == "massmail") {
  90.         echo "<center><font class=\"content\"><b>" . _MASSEMAIL . "</b></font>"
  91.         ."<br><br>"
  92.         ."<form action\"admin.php\" method=\"post\">"
  93.         ."" . _MYOUAREABOUTTOSEND . "<br>"
  94.         ."<b>$urow</b> " . _MUSERWILLRECEIVE . "<br>"
  95.         ."<i><b>" . _POSSIBLESPAM . "</b></i><br><br>"
  96.         ."<b>" . _REVIEWTEXT . "</b></center><br><br>"
  97.         ."<b>" . _FROM . ":</b> $sitename<br><br>"
  98.         ."<b>" . _SUBJECT . ":</b><br><input type=\"text\" name=\"title\" value=\"$subject\" size=\"50\"><br><br>"
  99.         ."<b>" . _CONTENT . ":</b><br><textarea name=\"content\" cols=\"50\" rows=\"10\">$content</textarea><br><br><br><br>"
  100.         ."<b>" . _MAREYOUSURE2SEND . "</b><br><br>"
  101.         ."<input type=\"hidden\" name=\"op\" value=\"massmail_send\">"
  102.         ."<input type=\"submit\" value=\"" . _SEND . "\">    " . _GOBACK . ""
  103.         ."</form>";
  104.     }
  105.     if (($type == "newsletter") AND ($srow > 500)) {
  106.     CloseTable();
  107.     echo "<br>";
  108.     OpenTable();
  109.     echo "<center><i>" . _MANYUSERSNOTE . "</i></center>";
  110.     } elseif (($type == "massmail") AND ($urow > 500)) {
  111.     CloseTable();
  112.     echo "<br>";
  113.     OpenTable();
  114.     echo "<center><i>" . _MANYUSERSNOTE . "</i></center>";
  115.     }
  116.     CloseTable();
  117.     include("footer.php");
  118. }
  119.  
  120. function newsletter_send($title, $content) {
  121.     global $user_prefix, $sitename, $db, $nukeurl, $adminmail;
  122.     $send_html_messages = "yes";
  123.     $from = $adminmail;
  124.     $subject = "[$sitename Newsletter]: " . stripslashes($title) . "";
  125.     $content = stripslashes($content);
  126.     $content = "$sitename " . _NEWSLETTER . "\n\n\n$content\n\n- $sitename " . _STAFF . "\n\n\n\n\n\n" . _NLUNSUBSCRIBE . "";
  127.     $result = $db->sql_query("SELECT user_email from " . $user_prefix . "_users where newsletter='1'");
  128.     while ($row = $db->sql_fetchrow($result)) {
  129.     $user_email = $row['user_email'];
  130.         $xheaders = "From: " . $sitename . " <" . $adminmail . ">\n";
  131.         $xheaders .= "X-Sender: <" . $adminmail . ">\n";
  132.         $xheaders .= "X-Mailer: PHP\n"; // mailer
  133.         $xheaders .= "X-Priority: 6\n"; // Urgent message!
  134.         if ($send_html_messages == "yes") {
  135.                 $xheaders .= "Content-Type: text/html; charset=iso-8859-1\n"; // Mime type
  136.         }
  137.         mail("$user_email","$subject","$content",$xheaders);
  138.     }
  139.     Header("Location: admin.php?op=newsletter_sent");
  140. }
  141.  
  142. function newsletter_sent() {
  143.     include("header.php");
  144.     GraphicAdmin();
  145.     OpenTable();
  146.     echo "<center><font class=\"title\"><b>" . _NEWSLETTER . "</b></font></center>";
  147.     CloseTable();
  148.     echo "<br>";
  149.     OpenTable();
  150.     echo "<center><font class=\"content\"><b>" . _NEWSLETTER . "</b></font><br><br>";
  151.     echo "<b>" . _NEWSLETTERSENT . "</b></center>";
  152.     CloseTable();
  153.     include("footer.php");
  154. }
  155.  
  156. function massmail_send($title, $content) {
  157.     global $user_prefix, $sitename, $db, $nukeurl, $adminmail;
  158.     $send_html_messages = "yes";
  159.     $from = $adminmail;
  160.     $subject = "[$sitename]: $title";
  161.     $content = stripslashes($content);
  162.     $content = "" . _FROM . ": $sitename\n\n\n\n$content\n\n\n\n- $sitename " . _STAFF . "\n\n\n\n" . _MASSEMAILMSG . "";
  163.     $result = $db->sql_query("SELECT user_email from " . $user_prefix . "_users where user_id != '1'");
  164.     while ($row = $db->sql_fetchrow($result)) {
  165.     $user_email = $row['user_email'];
  166.         $xheaders = "From: " . $sitename . " <" . $adminmail . ">\n";
  167.         $xheaders .= "X-Sender: <" . $adminmail . ">\n";
  168.         $xheaders .= "X-Mailer: PHP\n"; // mailer
  169.         $xheaders .= "X-Priority: 6\n"; // Urgent message!
  170.         if ($send_html_messages == "yes") {
  171.                 $xheaders .= "Content-Type: text/html; charset=iso-8859-1\n"; // Mime type
  172.         }
  173.         mail("$user_email","$subject","$content",$xheaders);
  174.     }
  175.     Header("Location: admin.php?op=massmail_sent");
  176. }
  177.  
  178. function massmail_sent() {
  179.     include("header.php");
  180.     GraphicAdmin();
  181.     OpenTable();
  182.     echo "<center><font class=\"title\"><b>" . _MASSEMAIL . "</b></font></center>";
  183.     CloseTable();
  184.     echo "<br>";
  185.     OpenTable();
  186.     echo "<center><font class=\"content\"><b>" . _MASSEMAIL . "</b></font><br><br>";
  187.     echo "<b>" . _MASSEMAILSENT . "</b></center>";
  188.     CloseTable();
  189.     include("footer.php");
  190. }
  191.  
  192. switch ($op) {
  193.  
  194.     case "newsletter":
  195.     newsletter();
  196.     break;
  197.  
  198.     case "newsletter_send":
  199.     newsletter_send($title, $content);
  200.     break;
  201.  
  202.     case "newsletter_sent":
  203.     newsletter_sent();
  204.     break;
  205.  
  206.     case "massmail_send":
  207.     massmail_send($title, $content);
  208.     break;
  209.  
  210.     case "massmail_sent":
  211.     massmail_sent();
  212.     break;
  213.  
  214.     case "check_type":
  215.     check_type($subject, $content, $type);
  216.     break;
  217.  
  218. }
  219.  
  220. } else {
  221.     echo "Access Denied";
  222. }
  223.  
  224. ?>