/** * ADMIN STUFF * * @author Philipp Staender */ function send() { if (!$this->isAjax()) { exit("<h2>send() only via ajax-request</h2>Security issue..."); } $id = (int) Director::urlParam("ID"); $count = (int) Director::urlParam("OtherID"); if (!($id > 0 && $count > 0)) { exit('<h2>Syntax</h2>' . $this->URL() . '/send/$newsletter_campaign_id/$numbers_of_sendings_per_request/'); } if ($camp = DataObject::get_by_id("NewsletterCampaign", $id)) { $newsletterCategory = DataObject::get_by_id("NewsletterCategory", $camp->NewsletterCategoryID); if ($recievers = DataObject::get("NewsletterReciever", "NewsletterID = {$id} AND Send = 0")) { //send emails $i = 0; //to each reciever foreach ($recievers as $r) { if ($i < $count) { //send only, if sended items of this session are smaller than given in the url $content = NewsletterCampaign::getRenderedNewsletterContent($camp, $r); if (DataObject::get("NewsletterBlacklist", "Email LIKE '" . $r->Email . "' AND NewsletterCategoryID = " . $camp->NewsletterCategoryID)) { $r->Send = 2; $r->write(); //do not send } else { $email = new Email($camp->sendFromEmail(), $r->Email, $camp->Title, $content); if (NewsletterHolder::$emailBodyTemplate) { $email->setTemplate(NewsletterHolder::$emailBodyTemplate); } if ($email->send()) { $r->Send = 1; $r->write(); $i++; } } } } exit($i . ""); } } return array(); }
function index() { exit(NewsletterCampaign::getRenderedNewsletterContent($this->dataRecord)); }