home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / unitednuke / unitednuke.exe / html / admin / modules / newsletter.php < prev    next >
PHP Script  |  2004-07-28  |  9KB  |  223 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. if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }
  16. global $prefix, $db;
  17. $aid = substr(trim($aid), 0,25);
  18. $row = $db->sql_fetchrow($db->sql_query("SELECT radminnewsletter, radminsuper FROM ".$prefix."_authors WHERE aid='$aid'"));
  19. if (($row['radminnewsletter'] == 1) OR ($row['radminsuper'] == 1)) {
  20.  
  21. /*********************************************************/
  22. /* Sections Manager Functions                            */
  23. /*********************************************************/
  24.  
  25. function newsletter() {
  26.     global $prefix, $user_prefix, $db, $sitename;
  27.     include("header.php");
  28.     GraphicAdmin();
  29.     $srow = $db->sql_numrows($db->sql_query("select * from ".$user_prefix."_users where newsletter='1'"));
  30.     $urow = $db->sql_numrows($db->sql_query("select * from ".$user_prefix."_users"));
  31.     $urow--;
  32.     OpenTable();
  33.     echo "<center><font class=\"title\"><b>"._NEWSLETTER."</b></font></center>";
  34.     CloseTable();
  35.     echo "<br>";
  36.     OpenTable();
  37.     echo "<center><font class=\"content\"><b>"._NEWSLETTER."</b></font></center>"
  38.     ."<br><br>"
  39.     ."<form method=\"post\" action=\"admin.php\">"
  40.     ."<b>From:</b> $sitename"
  41.     ."<br><br>"
  42.     ."<b>"._SUBJECT.":</b><br><input type=\"text\" name=\"subject\" size=\"50\">"
  43.     ."<br><br>"
  44.     ."<b>"._CONTENT.":</b><br><textarea name=\"content\" cols=\"50\" rows=\"10\"></textarea>"
  45.     ."<br><br>"
  46.     ."<b>"._WHATTODO."</b><br>"
  47.     ."<input type=\"radio\" name=\"type\" value=\"newsletter\" checked> "._ANEWSLETTER." ($srow "._SUBSCRIBEDUSERS.")<br>"
  48.     ."<input type=\"radio\" name=\"type\" value=\"massmail\"> "._MASSMAIL." ($urow "._USERS.")"
  49.     ."<br><br>"
  50.     ."<input type=\"hidden\" name=\"op\" value=\"check_type\">"
  51.     ."<input type=\"submit\" value=\""._PREVIEW."\">"
  52.     ."</form>";
  53.     CloseTable();
  54.     include("footer.php");
  55. }
  56.  
  57. function check_type($subject, $content, $type) {
  58.     global $user_prefix, $db, $sitename;
  59.     include("header.php");
  60.     GraphicAdmin();
  61.     $srow = $db->sql_numrows($db->sql_query("select * from ".$user_prefix."_users where newsletter='1'"));
  62.     $urow = $db->sql_numrows($db->sql_query("select * from ".$user_prefix."_users"));
  63.     $urow--;
  64.     OpenTable();
  65.     echo "<center><font class=\"title\"><b>"._NEWSLETTER."</b></font></center>";
  66.     CloseTable();
  67.     echo "<br>";
  68.     OpenTable();
  69.     $content = stripslashes($content);
  70.     if ($type == "newsletter") {
  71.     echo "<center><font class=\"content\"><b>"._NEWSLETTER."</b></font>"
  72.         ."<br><br>"
  73.         ."<form action\"admin.php\" method=\"post\">"
  74.         .""._NYOUAREABOUTTOSEND."<br>"
  75.         ."<b>$srow</b> "._NUSERWILLRECEIVE."<br><br>"
  76.         ."<b>"._REVIEWTEXT."</b></center><br><br>"
  77.         ."<b>"._FROM.":</b> $sitename<br><br>"
  78.         ."<b>"._SUBJECT.":</b><br><input type=\"text\" name=\"title\" value=\"$subject\" size=\"50\"><br><br>"
  79.         ."<b>"._CONTENT.":</b><br><textarea name=\"content\" cols=\"50\" rows=\"10\">$content</textarea><br><br><br><br>"
  80.         ."<b>"._NAREYOUSURE2SEND."</b><br><br>"
  81.         ."<input type=\"hidden\" name=\"op\" value=\"newsletter_send\">"
  82.         ."<input type=\"submit\" value=\""._SEND."\">    "._GOBACK.""
  83.         ."</form>";
  84.     } elseif ($type == "massmail") {
  85.         echo "<center><font class=\"content\"><b>"._MASSEMAIL."</b></font>"
  86.         ."<br><br>"
  87.         ."<form action\"admin.php\" method=\"post\">"
  88.         .""._MYOUAREABOUTTOSEND."<br>"
  89.         ."<b>$urow</b> "._MUSERWILLRECEIVE."<br>"
  90.         ."<i><b>"._POSSIBLESPAM."</b></i><br><br>"
  91.         ."<b>"._REVIEWTEXT."</b></center><br><br>"
  92.         ."<b>"._FROM.":</b> $sitename<br><br>"
  93.         ."<b>"._SUBJECT.":</b><br><input type=\"text\" name=\"title\" value=\"$subject\" size=\"50\"><br><br>"
  94.         ."<b>"._CONTENT.":</b><br><textarea name=\"content\" cols=\"50\" rows=\"10\">$content</textarea><br><br><br><br>"
  95.         ."<b>"._MAREYOUSURE2SEND."</b><br><br>"
  96.         ."<input type=\"hidden\" name=\"op\" value=\"massmail_send\">"
  97.         ."<input type=\"submit\" value=\""._SEND."\">    "._GOBACK.""
  98.         ."</form>";
  99.     }
  100.     if (($type == "newsletter") AND ($srow > 500)) {
  101.     CloseTable();
  102.     echo "<br>";
  103.     OpenTable();
  104.     echo "<center><i>"._MANYUSERSNOTE."</i></center>";
  105.     } elseif (($type == "massmail") AND ($urow > 500)) {
  106.     CloseTable();
  107.     echo "<br>";
  108.     OpenTable();
  109.     echo "<center><i>"._MANYUSERSNOTE."</i></center>";
  110.     }
  111.     CloseTable();
  112.     include("footer.php");
  113. }
  114.  
  115. function newsletter_send($title, $content) {
  116.     global $user_prefix, $sitename, $db, $nukeurl, $adminmail;
  117.     $send_html_messages = "yes";
  118.     $from = $adminmail;
  119.     $subject = "[$sitename Newsletter]: ".stripslashes($title)."";
  120.     $content = stripslashes($content);
  121.     $content = "$sitename "._NEWSLETTER."\n\n\n$content\n\n- $sitename "._STAFF."\n\n\n\n\n\n"._NLUNSUBSCRIBE."";
  122.     $result = $db->sql_query("SELECT user_email from " . $user_prefix . "_users where newsletter='1'");
  123.     while ($row = $db->sql_fetchrow($result)) {
  124.     $user_email = $row['user_email'];
  125.         $xheaders = "From: " . $sitename . " <" . $adminmail . ">\n";
  126.         $xheaders .= "X-Sender: <" . $adminmail . ">\n";
  127.         $xheaders .= "X-Mailer: PHP\n"; // mailer
  128.         $xheaders .= "X-Priority: 6\n"; // Urgent message!
  129.         if ($send_html_messages == "yes") {
  130.                 $xheaders .= "Content-Type: text/html; charset=\""._CHARSET."\"\n"; // Mime type
  131.         } else {
  132.             $xheaders .= "Content-Type: text/plain; charset=\""._CHARSET."\"\n"; // Mime type
  133.     }
  134.         mail("$user_email","$subject","$content",$xheaders);
  135.     }
  136.     Header("Location: admin.php?op=newsletter_sent");
  137. }
  138.  
  139. function newsletter_sent() {
  140.     include("header.php");
  141.     GraphicAdmin();
  142.     OpenTable();
  143.     echo "<center><font class=\"title\"><b>"._NEWSLETTER."</b></font></center>";
  144.     CloseTable();
  145.     echo "<br>";
  146.     OpenTable();
  147.     echo "<center><font class=\"content\"><b>"._NEWSLETTER."</b></font><br><br>";
  148.     echo "<b>"._NEWSLETTERSENT."</b></center>";
  149.     CloseTable();
  150.     include("footer.php");
  151. }
  152.  
  153. function massmail_send($title, $content) {
  154.     global $user_prefix, $sitename, $db, $nukeurl, $adminmail;
  155.     $send_html_messages = "yes";
  156.     $from = $adminmail;
  157.     $subject = "[$sitename]: $title";
  158.     $content = stripslashes($content);
  159.     $content = ""._FROM.": $sitename\n\n\n\n$content\n\n\n\n- $sitename "._STAFF."\n\n\n\n"._MASSEMAILMSG."";
  160.     $result = $db->sql_query("SELECT user_email from " . $user_prefix . "_users where user_id != '1'");
  161.     while ($row = $db->sql_fetchrow($result)) {
  162.     $user_email = $row['user_email'];
  163.         $xheaders = "From: " . $sitename . " <" . $adminmail . ">\n";
  164.         $xheaders .= "X-Sender: <" . $adminmail . ">\n";
  165.         $xheaders .= "X-Mailer: PHP\n"; // mailer
  166.         $xheaders .= "X-Priority: 6\n"; // Urgent message!
  167.         if ($send_html_messages == "yes") {
  168.                 $xheaders .= "Content-Type: text/html; charset=\""._CHARSET."\"\n"; // Mime type
  169.         } else {
  170.             $xheaders .= "Content-Type: text/plain; charset=\""._CHARSET."\"\n"; // Mime type
  171.     }
  172.         mail("$user_email","$subject","$content",$xheaders);
  173.     }
  174.     Header("Location: admin.php?op=massmail_sent");
  175. }
  176.  
  177. function massmail_sent() {
  178.     include("header.php");
  179.     GraphicAdmin();
  180.     OpenTable();
  181.     echo "<center><font class=\"title\"><b>"._MASSEMAIL."</b></font></center>";
  182.     CloseTable();
  183.     echo "<br>";
  184.     OpenTable();
  185.     echo "<center><font class=\"content\"><b>"._MASSEMAIL."</b></font><br><br>";
  186.     echo "<b>"._MASSEMAILSENT."</b></center>";
  187.     CloseTable();
  188.     include("footer.php");
  189. }
  190.  
  191. switch ($op) {
  192.  
  193.     case "newsletter":
  194.     newsletter();
  195.     break;
  196.  
  197.     case "newsletter_send":
  198.     newsletter_send($title, $content);
  199.     break;
  200.  
  201.     case "newsletter_sent":
  202.     newsletter_sent();
  203.     break;
  204.  
  205.     case "massmail_send":
  206.     massmail_send($title, $content);
  207.     break;
  208.  
  209.     case "massmail_sent":
  210.     massmail_sent();
  211.     break;
  212.  
  213.     case "check_type":
  214.     check_type($subject, $content, $type);
  215.     break;
  216.  
  217. }
  218.  
  219. } else {
  220.     echo "Access Denied";
  221. }
  222.  
  223. ?>