Source of file ShopEmailPreviewTask.php
Size: 1,841 Bytes - Last Modified: 2021-12-24T06:35:03+00:00
/var/www/docs.ssmods.com/process/src/src/Tasks/ShopEmailPreviewTask.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | <?php namespace SilverShop\Tasks; use SilverShop\Checkout\OrderEmailNotifier; use SilverShop\Model\Order; use SilverStripe\Control\Director; use SilverStripe\Control\HTTPRequest; use SilverStripe\Dev\BuildTask; /** * ShopEmailPreviewTask * * @author Anselm Christophersen <ac@anselm.dk> * @date September 2016 * @package shop * @subpackage tasks */ /** * ShopEmailPreviewTask */ class ShopEmailPreviewTask extends BuildTask { protected $title = 'Preview Shop Emails'; protected $description = 'Previews shop emails'; protected $previewableEmails = array( 'Confirmation', 'Receipt', 'AdminNotification' ); /** * @param HTTPRequest $request */ public function run($request) { $email = $request->remaining(); $params = $request->allParams(); $url = Director::absoluteURL("dev/{$params['Action']}/{$params['TaskName']}", true); $debug = true; if ($request->getVar('debug')) { $debug = $request->getVar('debug'); } echo '<h2>Choose Email</h2>'; echo '<ul>'; foreach ($this->previewableEmails as $key => $method) { echo '<li><a href="' . $url . '/' . $method . '">' . $method . '</a></li>'; } echo '</ul><hr>'; if ($email && in_array($email, $this->previewableEmails)) { $order = Order::get()->first(); $notifier = OrderEmailNotifier::create($order); if ($debug) { $notifier->setDebugMode(true); } $method = "send$email"; echo $notifier->$method(); } //this is a little hardcore way of ending the party, //but as it's only used for styling, it works for now die; } } |