Skip to content

Commit bd81dee

Browse files
committed
review
1 parent 2faee35 commit bd81dee

10 files changed

Lines changed: 49 additions & 33 deletions

File tree

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
},
77
"autoload": {
88
"files": [
9-
"src/Form2Email/functions.php"
9+
"src/functions.php"
1010
],
1111
"psr-4": {
12-
"justcoded\\form2email\\": "src/Form2Email/"
12+
"justcoded\\form2email\\": "src/"
1313
}
1414
},
1515
"license": "MIT",

examples/form.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@
22

33
require __DIR__.'/../vendor/autoload.php';
44

5-
use justcoded\form2email\Handler\FormHandler;
5+
6+
use justcoded\form2email\FormHandler;
67
use justcoded\form2email\Handler\MailHandler;
78
use justcoded\form2email\Message\Message;
89

10+
/*
11+
ini_set('display_errors', 1);
12+
error_reporting(E_ALL);*/
13+
914
$validation = [
1015
'rules' => [
1116
'required' => [
@@ -43,7 +48,7 @@
4348

4449
$mailerHandler = new MailHandler($mailerConfig, new Message($message));
4550

46-
$formHandler = new FormHandler($validation, $mailerHandler->getMailer());
51+
$formHandler = new FormHandler($validation, $mailerHandler);
4752

4853
if ($formHandler->validate($_POST)) {
4954
$formHandler->process();

src/Form2Email/Mailer/MailerInterface.php

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/Form2Email/functions.php

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
<?php
22

3-
namespace justcoded\form2email\Handler;
3+
namespace justcoded\form2email;
44

5-
use justcoded\form2email\Mailer\MailerInterface;
5+
6+
use justcoded\form2email\Handler\HandlerInterface;
67
use Valitron\Validator;
78

89
class FormHandler
@@ -19,7 +20,7 @@ class FormHandler
1920

2021
protected $formFields;
2122

22-
public function __construct(array $validation, MailerInterface $handler, string $response = 'json')
23+
public function __construct(array $validation, HandlerInterface $handler, string $response = 'json')
2324
{
2425
$this->validation = $validation;
2526

src/Handler/HandlerInterface.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
3+
namespace justcoded\form2email\Handler;
4+
5+
interface HandlerInterface
6+
{
7+
public function process($formFields);
8+
}
Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
namespace justcoded\form2email\Handler;
44

5-
use justcoded\form2email\Mailer\PhpMailerSend;
5+
use justcoded\form2email\Mailer\PhpHandlerSend;
66
use justcoded\form2email\Message\Message;
77

8-
class MailHandler
8+
class MailHandler implements HandlerInterface
99
{
1010
const USE_PHPMAILER = 1;
1111
const USE_POSTMARKAPP = 2;
@@ -26,10 +26,14 @@ public function getMailer()
2626

2727
switch ($mailerId) {
2828
case self::USE_PHPMAILER:
29-
return new PhpMailerSend($this->config, $this->message);
29+
return new PhpHandlerSend($this->config, $this->message);
3030
}
3131

3232
throw new \Exception('Bad config');
3333
}
3434

35+
public function process($data)
36+
{
37+
$this->getMailer()->send($data);
38+
}
3539
}
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22

33
namespace justcoded\form2email\Mailer;
44

5+
56
use justcoded\form2email\Message\Message;
67
use PHPMailer\PHPMailer\PHPMailer;
78
use PHPMailer\PHPMailer\Exception;
89

9-
class PhpMailerSend implements MailerInterface
10+
class PhpHandlerSend
1011
{
1112
protected $message;
1213

@@ -58,7 +59,7 @@ public function getPassword()
5859
}
5960

6061

61-
public function process($formFields)
62+
public function send($formFields)
6263
{
6364
$mail = new PHPMailer(true); // Passing `true` enables exceptions
6465
try {
@@ -94,7 +95,7 @@ public function process($formFields)
9495
//Content
9596
$mail->isHTML(true); // Set email format to HTML
9697
$mail->Subject = $this->message->getSubject();
97-
$mail->Body = $this->message->getTemplate($formFields);;
98+
$mail->Body = $this->message->getTemplate($formFields);
9899
$mail->AltBody = $this->message->getAltBody();
99100

100101
$mail->send();

src/functions.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
if (!function_exists('template')) {
4+
function template ($templateName, $data) {
5+
$wholePath = __DIR__ . '/../examples/' . $templateName;
6+
ob_start();
7+
require $wholePath;
8+
$templateString = ob_get_clean();
9+
10+
// return preg_replace("|{(\w*)}|e", '$data["$1"]', $templateString);
11+
foreach ($data as $key => $field) {
12+
$templateString = str_replace('{' . $key . '}', $field,$templateString);
13+
}
14+
15+
return $templateString;
16+
}
17+
}

0 commit comments

Comments
 (0)