1+ <?php
2+ namespace Craft \Plugins \Postmaster \ParcelTypes ;
3+
4+ use Craft \Event ;
5+ use Craft \Postmaster_TransportModel ;
6+ use Craft \PostmasterHelper ;
7+ use Craft \Plugins \Postmaster \Components \BaseParcelType ;
8+
9+ class EmailFormParcelType extends BaseParcelType {
10+
11+ public $ name = 'Frontend Email Form ' ;
12+
13+ public $ id = 'emailForm ' ;
14+
15+ public function init ()
16+ {
17+ $ parcelType = $ this ;
18+
19+ $ this ->craft ()->on ('postmaster_forms.emailFormSend ' , function (Event $ event ) use ($ parcelType )
20+ {
21+ $ parcelType ->parcel ->parse (array_merge ($ event ->params , array (
22+ 'post ' => $ this ->craft ()->request ->getPost ()
23+ )));
24+
25+ if ($ parcelType ->validate ())
26+ {
27+ $ obj = new Postmaster_TransportModel (array (
28+ 'service ' => $ parcelType ->parcel ->service ,
29+ 'settings ' => $ parcelType ->settings ,
30+ 'data ' => $ event ->params
31+ ));
32+
33+ $ parcelType ->parcel ->send ($ obj );
34+ }
35+ });
36+ }
37+
38+ public function validate ()
39+ {
40+ return PostmasterHelper::validateExtraConditionals ($ this ->settings ->extraConditionals );
41+ }
42+
43+ public function getInputHtml (Array $ data = array ())
44+ {
45+ return $ this ->craft ()->templates ->render ('postmaster/parcel_types/email_form/fields ' , $ data );
46+ }
47+
48+ public function getSettingsInputHtml (Array $ data = array ())
49+ {
50+ return $ this ->craft ()->templates ->render ('postmaster/parcel_types/email_form/settings ' , $ data );
51+ }
52+
53+ public function getSettingsModelClassName ()
54+ {
55+ return '\Craft\Postmaster_EmailFormParcelTypeSettingsModel ' ;
56+ }
57+ }
0 commit comments