) // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // // Minimalist Admin verion 0.6, Copyright (c) 2005-2014 High5! (Mischa Peters) // Minimalist Admin comes with ABSOLUTELY NO WARRANTY. // This is free software, and you are welcome to redistribute it // under certain conditions. // // High5!, hereby disclaims all copyright interest in the program // `Minimalist Admin' (which makes passes at Minimalist) written // by Vladimir Litovka. // //error_reporting(E_NOTICE | E_ERROR | E_WARNING | E_PARSE); // Read global config file include "config.inc"; // Minimalist Admin version $version = "0.7"; // Set some variables. $get_list = ""; $email = ""; $emailconfirm = ""; $writeonly = ""; $unsubscribe = ""; // _GET list to process if (!empty($_GET['l'])) { $get_list = $_GET['l']; if (!preg_match('/^([a-z0-9-])+$/i', trim($get_list))) { header("Location: index.php"); exit; } // Check if list config exists and include it if (file_exists("lists/$get_list-config.inc")) include "lists/$get_list-config.inc"; } // Set variables from config.inc and lists/$get_list-config.inc $minimalist_lists = $CONF['minimalist_lists']; $minimalist_email = $CONF['minimalist_email']; $minimalist_title = $CONF['minimalist_title']; $minimalist_list_title = $CONF['minimalist_list_title']; $list_name = $CONF['list_name']; $list_writers = $CONF['list_writers']; $list_subscribe = $CONF['list_subscribe']; $list_unsubscribe = $CONF['list_unsubscribe']; $error_email_nomatch = $CONF['error_email_nomatch']; $error_email_notvalid = $CONF['error_email_notvalid']; // Print the html header print_header(); // Test if REQUEST_METHOD is a GET request if ($_SERVER['REQUEST_METHOD'] == "GET") { // If $get_list is not empty print list form if (!empty($get_list)) { print_form(); print_footer(); } // If $get_list is empty process the $minimalist_lists file. else { if (file_exists("$minimalist_lists")) { $fh = file("$minimalist_lists"); print "\n"; for ($i = 0; $i < sizeof($fh); $i++) { list($list, $desc) = preg_split("/\t/", $fh[$i], 2); if (!empty($list)) print "\n"; } print "
$list$desc
\n"; } else { print "Unable to find minimalists file at: $minimalist_lists\n"; } print_footer(); } } // Test if REQUEST_METHOD is a GET request if ($_SERVER['REQUEST_METHOD'] == "POST") { if (!empty($_POST['email'])) $email = $_POST['email']; if (!empty($_POST['emailconfirm'])) $emailconfirm = $_POST['emailconfirm']; if (!empty($_POST['writeonly'])) $writeonly = $_POST['writeonly']; if (!empty($_POST['unsubscribe'])) $unsubscribe = $_POST['unsubscribe']; if ($email != $emailconfirm) { print "$error_email_nomatch\n"; print_form(); print_footer(); exit; } if (!preg_match('/^[-!#$%&\'*+\\.\/0-9=?A-Z^_{|}~]+' . '@' . '([-0-9A-Z]+\.)+' . '([0-9A-Z]){2,10}$/i', trim($email))) { print "$error_email_notvalid\n"; print_form(); print_footer(); exit; } if (!empty($writeonly)) { $get_list = $get_list . "-writers"; } if ($unsubscribe) { mail($minimalist_email, "unsubscribe $get_list $email", "", "From: $email"); print "$list_unsubscribe\n"; print_footer(); exit; } else { mail($minimalist_email, "subscribe $get_list $email", "", "From: $email"); print "$list_subscribe\n"; print_footer(); exit; } } function print_header() { global $get_list; global $minimalist_title; global $minimalist_list_title; global $list_name; global $list_writers; // Set the title_list_name to $list_name if $get_list is empty. $title_list_name = (empty($list_name)) ? $get_list : $list_name; // Set the title to $minimalist_title if $get_list is empty. $title = (empty($get_list)) ? $minimalist_title : "$minimalist_list_title $title_list_name"; print "\n"; print "\n"; print "\n"; print "\n"; if (file_exists(realpath("lists/$get_list-stylesheet.css"))) { print "\n"; } else { print "\n"; } print "$title\n"; print "\n"; print "\n"; print "

$title

\n"; } function print_form() { global $list_writers; print "
\n"; print "\n"; print "\n"; print "\n"; if (preg_match("/enable/", $list_writers)) { print "\n"; } print "\n"; print "\n"; print "
Email:
Email (verification):
Post Only (don't receive):
Unsubscribe:
\n"; print "
\n"; print "
\n"; print "Back\n"; } function print_footer() { global $version; print "
\n"; print "Copyright (c) 2005-2022 by High5! -- Minimalist Admin v$version\n"; print "
\n"; print "\n"; print "\n"; } ?>