home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 May / INTERNET103.ISO / pc / software / windows / building / php_nuke / html / admin / modules / newsletter.php < prev    next >
Encoding:
PHP Script  |  2002-09-16  |  7.7 KB  |  201 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", $PHP_SELF)) { die ("Access Denied"); }
  16.  
  17. $result = sql_query("select radminnewsletter, radminsuper from ".$prefix."_authors where aid='$aid'", $dbi);
  18. list($radminnewsletter, $radminsuper) = sql_fetch_row($result, $dbi);
  19. if (($radminnewsletter==1) OR ($radminsuper==1)) {
  20.  
  21. /*********************************************************/
  22. /* Sections Manager Functions                            */
  23. /*********************************************************/
  24.  
  25. function newsletter() {
  26.     global $prefix, $user_prefix, $dbi, $sitename;
  27.     include("header.php");
  28.     GraphicAdmin();
  29.     $srow = sql_num_rows(sql_query("select * from ".$user_prefix."_users where newsletter='1'", $dbi), $dbi);
  30.     $urow = sql_num_rows(sql_query("select * from ".$user_prefix."_users", $dbi), $dbi);
  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, $dbi, $sitename;
  59.     include("header.php");
  60.     GraphicAdmin();
  61.     $srow = sql_num_rows(sql_query("select * from ".$user_prefix."_users where newsletter='1'", $dbi), $dbi);
  62.     $urow = sql_num_rows(sql_query("select * from ".$user_prefix."_users", $dbi), $dbi);
  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>"._MASSIVEEMAIL."</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, $dbi, $nukeurl, $adminmail;
  117.     $from = $adminmail;
  118.     $subject = "[$sitename Newsletter]: ".stripslashes($title)."";
  119.     $content = stripslashes($content);
  120.     $content = "$sitename "._NEWSLETTER."\n\n\n$content\n\n- $sitename "._STAFF."\n\n\n\n\n\n"._NLUNSUBSCRIBE."";
  121.     $result = sql_query("select email from ".$user_prefix."_users where newsletter='1'", $dbi);
  122.     while(list($email) = sql_fetch_row($result, $dbi)) {
  123.     mail($email, $subject, $content, "From: $from\nX-Mailer: PHP/" . phpversion());
  124.     }
  125.     Header("Location: admin.php?op=newsletter_sent");
  126. }
  127.  
  128. function newsletter_sent() {
  129.     include("header.php");
  130.     GraphicAdmin();
  131.     OpenTable();
  132.     echo "<center><font class=\"title\"><b>"._NEWSLETTER."</b></font></center>";
  133.     CloseTable();
  134.     echo "<br>";
  135.     OpenTable();
  136.     echo "<center><font class=\"content\"><b>"._NEWSLETTER."</b></font><br><br>";
  137.     echo "<b>"._NEWSLETTERSENT."</b></center>";
  138.     CloseTable();
  139.     include("footer.php");
  140. }
  141.  
  142. function massmail_send($title, $content) {
  143.     global $user_prefix, $sitename, $dbi, $nukeurl, $adminmail;
  144.     $from = $adminmail;
  145.     $subject = "[$sitename]: $title";
  146.     $content = stripslashes($content);
  147.     $content = ""._FROM.": $sitename\n\n\n\n$content\n\n\n\n- $sitename "._STAFF."\n\n\n\n"._MASSEMAILMSG."";
  148.     $result = sql_query("select email from ".$user_prefix."_users where uid != '1'", $dbi);
  149.     while(list($email) = sql_fetch_row($result, $dbi)) {
  150.     mail($email, $subject, $content, "From: $from\nX-Mailer: PHP/" . phpversion());
  151.     }
  152.     Header("Location: admin.php?op=massmail_sent");
  153. }
  154.  
  155. function massmail_sent() {
  156.     include("header.php");
  157.     GraphicAdmin();
  158.     OpenTable();
  159.     echo "<center><font class=\"title\"><b>"._MASSEMAIL."</b></font></center>";
  160.     CloseTable();
  161.     echo "<br>";
  162.     OpenTable();
  163.     echo "<center><font class=\"content\"><b>"._MASSEMAIL."</b></font><br><br>";
  164.     echo "<b>"._MASSEMAILSENT."</b></center>";
  165.     CloseTable();
  166.     include("footer.php");
  167. }
  168.  
  169. switch ($op) {
  170.  
  171.     case "newsletter":
  172.     newsletter();
  173.     break;
  174.  
  175.     case "newsletter_send":
  176.     newsletter_send($title, $content);
  177.     break;
  178.  
  179.     case "newsletter_sent":
  180.     newsletter_sent();
  181.     break;
  182.  
  183.     case "massmail_send":
  184.     massmail_send($title, $content);
  185.     break;
  186.  
  187.     case "massmail_sent":
  188.     massmail_sent();
  189.     break;
  190.  
  191.     case "check_type":
  192.     check_type($subject, $content, $type);
  193.     break;
  194.  
  195. }
  196.  
  197. } else {
  198.     echo "Access Denied";
  199. }
  200.  
  201. ?>