diff options
Diffstat (limited to 'utils/newsletter.php')
-rw-r--r-- | utils/newsletter.php | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/utils/newsletter.php b/utils/newsletter.php deleted file mode 100644 index 049e3f5..0000000 --- a/utils/newsletter.php +++ /dev/null @@ -1,146 +0,0 @@ -<?php - -/** - * CONFIG - */ -$subject_prefix = "DIE Newsletter"; -$sender = "DIE <info@executionroom.com>"; -$replyto = $sender; -$footer = " - -Stay Brutal! -// DIE -http://www.executionroom.com -info@executionroom.com -"; - -class Email { - public $timestamp; - public $email; - - public function Email($email, $timestamp) - { - $this->email = $email; - $this->timestamp = $timestamp; - } - - function send($subject, $message) { - global $subject_prefix; - global $sender; - global $replyto; - global $footer; - - $message .= $footer; - $message .= "\nTo stop receiving this newsletter, click the following link: http://www.executionroom.com/?page=news&action=unsubscribe&email=". $this->email . "\n"; - $headers = "From: " . $sender . "\r\n"; - $headers .= "Reply-To: " . $replyto . "\r\n"; - $headers .= "Content-Type: text/plain; charset=iso-8859-1\r\n"; - $headers .= "X-Mailer: PHP/" . phpversion(); - $subject = "[".$subject_prefix."] " . $subject; - - $ret = mail($this->email, $subject, $message, $headers); - if(!$ret) echo "Fail(".$this->email.")"; - - //usleep(100000); - } -} - -class Mailinglist { - private $file; - private $mailinglist = array(); - - public function add($email) { - $key = $email->email; - $this->mailinglist[$key] = $email; - } - - public function remove($email) { - if(array_key_exists($email, $this->mailinglist)) { - unset($this->mailinglist[$email]); - } - } - - public function write() - { - $fp = fopen($this->file, "w"); - fwrite($fp, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); - - fwrite($fp, "<mailinglist>\n"); - foreach($this->mailinglist as $email) { - fwrite($fp, " <email email=\"" . - htmlspecialchars($email->email, ENT_QUOTES, "UTF-8") . "\"\n"); - fwrite($fp, " timestamp=\"" . $email->timestamp . "\">\n"); - fwrite($fp, " </email>\n"); - } - fwrite($fp, "</mailinglist>\n"); - - fclose($fp); - } - - private function read() - { - $dom = new DomDocument; - $dom->preserveWhiteSpace = FALSE; - $dom->load($this->file); - $params = $dom->getElementsByTagName('email'); - - foreach ($params as $param) { - $email = new Email($param->getAttribute('email'), - $param->getAttribute('timestamp')); - $this->add($email); - } - } - - public function subscribe($email) - { - $email = new EMail($email, time()); - $this->add($email); - $this->write(); - } - - public function unsubscribe($email) - { - $this->remove($email); - $this->write(); - } - - public function post($subject, $message) - { - $sz = sizeof($this->mailinglist); - - echo "<div style=\"text-align: center; padding-top: 120px; padding-bottom: 100px; position: absolute; top: 25%; left: 0px; width: 99.4%; height: 150px; border: solid #0000ff 3px; background: #fff; color: #000;\">Sending ". $sz ." mails <br/>\n<"; - ob_flush(); - flush(); - - $num = 0; - $lvl = 0; - $steps = floor($sz / 10) + 1; - - foreach($this->mailinglist as $email) { - $email->send($subject, $message); - $pct = $num / $sz * 100; - if($pct >= $lvl) { - printf("<font style=\"font-size: 9px;\">%.0f%%</font>", $lvl); - $lvl += 100/$steps; - } else { - echo "."; - } - ob_flush(); - flush(); - $num++; - } - echo "<font style=\"font-size: 9px;\">[100%]</font>>\n<br/>done<br/>\n"; - echo "<a style=\"font-size: 20px; font-weight: bold;\" href=\"?page=admin&module=newsletter\">[CLOSE]</a>"; - echo "</div>\n"; - ob_flush(); - flush(); - } - - public function Mailinglist($file) - { - $this->file = $file; - $this->read(); - } -} - -?>
\ No newline at end of file |