Skip to content

Commit 643a835

Browse files
authored
Merge pull request #4 from justcoded/feature/16410927_documentation
Feature/16410927 documentation
2 parents a9f1c5c + a36194e commit 643a835

13 files changed

Lines changed: 904 additions & 137 deletions

README.md

Lines changed: 490 additions & 1 deletion
Large diffs are not rendered by default.
Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
<?php
22

3-
// enable errors => debug mode.
4-
ini_set('display_errors', 1);
5-
error_reporting(E_ALL);
6-
73
// init autoload.
84
require __DIR__ . '/../vendor/autoload.php';
95

@@ -16,52 +12,62 @@
1612
'fields' => [
1713
'name' => ['required'],
1814
'email' => ['required', 'email'],
19-
'subject' => ['required'],
2015
'message' => [
2116
'required',
2217
['lengthMin', 5]
2318
],
24-
'cv_file' => [
19+
'cv' => [ // this is file field.
2520
[
2621
'required',
2722
'message' => 'Please upload {field}',
2823
],
2924
[
3025
'file',
31-
['jpeg', 'jpg', 'png'], // types.
32-
2000000, // size limit 2 MB.
26+
['jpeg', 'jpg', 'png', 'pdf'], // types.
27+
2000000, // size limit 2 MB.
3328
'message' => '{field} should be up to 2MB and allows only file types jpeg, png.',
3429
],
3530
],
31+
'links.*' => ['url'],
3632
], // according to Valitron doc for mapFieldsRules.
3733
'labels' => [
3834
'name' => 'Name',
39-
'email' => 'Email address'
35+
'email' => 'Email address',
36+
'message' => 'About you',
37+
'cv' => 'CV',
38+
'links.*' => 'Links',
4039
] // according to Valitron doc.
4140
];
4241

4342
// Mandrill config.
4443
$mailerConfig = [
45-
'mailer' => MailHandler::USE_MANDRILL, // (or USE_POSTMARKAPP, USE_MANDRILL)
46-
'apiKey' => '_5mPSvb39BQqnA7G_dOaAA',
44+
'mailer' => MailHandler::USE_PHPMAILER,
45+
'host' => 'SMTP HOST', // set your smtp host.
46+
'user' => 'YOUR EMAIL', // set email.
47+
'password' => 'YOUR PASSWORD', // set password.
48+
'protocol' => 'tls', // 'tls', 'ssl' or FALSE for not secure protocol/
49+
'port' => 587, // your port.
50+
4751
'attachmentsSizeLimit' => 8000000, // around 8MB.
4852
];
4953

54+
// File manager config.
5055
$fileManager = new FileManager([
5156
'uploadPath' => __DIR__ . '/attachments',
5257
'uploadUrl' => 'http://MY-DOMAIN.COM/attachments',
5358
]);
5459

5560
$message = [
56-
'from' => ['hello@justcoded.co.uk' => 'FROM NAME'],
57-
'to' => ['kostant21@yahoo.com' => 'TO NAME'],
58-
// 'cc' => ['email' => 'name'],
59-
// 'bcc' => ['email' => 'name'],
61+
'from' => ['FROM.EMAIL@DOMAIN.COM' => 'FROM NAME'], // set correct FROM.
62+
'to' => ['TO.EMAIL@DOMAIN.COM' => 'TO NAME'], // set correct TO.
63+
'cc' => ['CC@DOMAIN.COM' => 'CC NAME'],
64+
'bcc' => ['BCC@DOMAIN.COM'],
65+
6066
'subject' => 'Contact request from {name}',
6167
'bodyTemplate' => __DIR__ . '/template-html.php',
6268
'altBodyTemplate' => __DIR__ . '/template-plain.php',
6369
'attachments' => $fileManager->upload([
64-
'cv_file', 'image_file'
70+
'cv',
6571
])
6672
];
6773

@@ -73,4 +79,7 @@
7379
$formHandler->process();
7480
}
7581

76-
echo json_encode($formHandler->response());
82+
// write errors and return back.
83+
setcookie('advanced_response', $formHandler->response());
84+
header('Location: index.php');
85+
exit;

examples/basic.php

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<?php
2+
3+
// init autoload.
4+
require __DIR__ . '/../vendor/autoload.php';
5+
6+
use JustCoded\FormHandler\FormHandler;
7+
use JustCoded\FormHandler\Handlers\MailHandler;
8+
use JustCoded\FormHandler\DataObjects\MailMessage;
9+
10+
$validationRules = [
11+
'fields' => [
12+
'name' => ['required'],
13+
'email' => ['required', 'email'],
14+
'message' => [
15+
'required',
16+
['lengthMin', 5]
17+
],
18+
], // according to Valitron doc for mapFieldsRules.
19+
'labels' => [
20+
'name' => 'Name',
21+
'email' => 'Email address',
22+
'message' => 'Message',
23+
] // according to Valitron doc.
24+
];
25+
26+
// SMTP config.
27+
$mailerConfig = [
28+
'mailer' => MailHandler::USE_PHPMAILER,
29+
'host' => 'SMTP HOST', // set your smtp host.
30+
'user' => 'YOUR EMAIL', // set email.
31+
'password' => 'YOUR PASSWORD', // set password.
32+
'protocol' => 'tls', // 'tls', 'ssl' or FALSE for not secure protocol/
33+
'port' => 587, // your port.
34+
];
35+
36+
// Message settings.
37+
$messageConfig = [
38+
'from' => ['FROM.EMAIL@DOMAIN.COM' => 'FROM NAME'], // set correct FROM.
39+
'to' => ['TO.EMAIL@DOMAIN.COM' => 'TO NAME'], // set correct TO.
40+
'subject' => 'Contact request from {name}',
41+
'bodyTemplate' => __DIR__ . '/template-html.php',
42+
'altBodyTemplate' => __DIR__ . '/template-plain.php',
43+
];
44+
45+
// Run processing.
46+
$mailer = new MailHandler($mailerConfig, new MailMessage($messageConfig));
47+
$form = new FormHandler($validationRules, $mailer);
48+
49+
if ($form->validate($_POST)) {
50+
$form->process();
51+
}
52+
53+
// write errors and return back.
54+
setcookie('basic_response', $form->response());
55+
header('Location: index.php');
56+
exit;

examples/form2email-basic.php

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

0 commit comments

Comments
 (0)