|
2 | 2 |
|
3 | 3 | /* For licensing terms, see /license.txt */ |
4 | 4 |
|
| 5 | +use GuzzleHttp\Client; |
| 6 | +use GuzzleHttp\Exception\GuzzleException; |
| 7 | +use Symfony\Component\HttpFoundation\Request; |
5 | 8 | use Symfony\Component\Mailer\Transport; |
6 | 9 | use Symfony\Component\Mailer\Mailer; |
7 | 10 | use Symfony\Component\Mime\Address; |
|
12 | 15 | */ |
13 | 16 | require_once __DIR__.'/../../../../vendor/autoload.php'; |
14 | 17 |
|
15 | | -$action = $_GET['a']; |
| 18 | +$request = Request::createFromGlobals(); |
| 19 | + |
| 20 | +$action = $request->query->getString('a'); |
16 | 21 |
|
17 | 22 | switch ($action) { |
18 | 23 | case 'send_contact_information': |
19 | | - if (!empty($_POST)) { |
| 24 | + if ($request->isXmlHttpRequest()) { |
20 | 25 | // get params from contact form |
21 | | - $person_name = $_POST['person_name']; |
22 | | - $person_email = $_POST['person_email']; |
23 | | - $person_role = $_POST['person_role']; |
24 | | - $financial_decision = $_POST['financial_decision']; |
25 | | - $contact_language = $_POST['language']; |
26 | | - $company_name = $_POST['company_name']; |
27 | | - $company_activity = $_POST['company_activity']; |
28 | | - $company_country = $_POST['company_country']; |
29 | | - $company_city = $_POST['company_city']; |
| 26 | + $person_name = $request->request->get('person_name'); |
| 27 | + $person_email = $request->request->get('person_email'); |
| 28 | + $person_role = $request->request->get('person_role'); |
| 29 | + $financial_decision = $request->request->get('financial_decision'); |
| 30 | + $contact_language = $request->request->get('language'); |
| 31 | + $company_name = $request->request->get('company_name'); |
| 32 | + $company_activity = $request->request->get('company_activity'); |
| 33 | + $company_country = $request->request->get('company_country'); |
| 34 | + $company_city = $request->request->get('company_city'); |
30 | 35 |
|
31 | 36 | // validating required fields |
32 | 37 | $a_required_fields = [$person_name, $person_role, $company_name, $company_activity, $company_country]; |
|
58 | 63 | if ('200' == $res->getStatusCode() || '301' == $res->getStatusCode()) { |
59 | 64 | $urlValidated = true; |
60 | 65 | } |
61 | | - } catch (Exception $e) { |
| 66 | + } catch (Exception|GuzzleException $e) { |
62 | 67 | error_log("Could not check $url from ".__FILE__); |
63 | 68 | break; |
64 | 69 | } |
|
75 | 80 | 'company_city' => $company_city, |
76 | 81 | ]; |
77 | 82 |
|
78 | | - $client = new GuzzleHttp\Client(); |
| 83 | + $client = new Client(); |
79 | 84 | $options['query'] = $data; |
80 | 85 | $res = $client->request('GET', $url, $options); |
81 | 86 | if ('200' == $res->getStatusCode()) { |
|
86 | 91 | break; |
87 | 92 |
|
88 | 93 | case 'test_mailer': |
89 | | - if (!empty($_POST)) { |
90 | | - $mailerDsn = $_POST['mailerDsn'] ?? ''; |
91 | | - $mailerFromEmail = $_POST['mailerFromEmail'] ?? ''; |
92 | | - $mailerFromName = $_POST['mailerFromName'] ?? ''; |
| 94 | + if ($request->isXmlHttpRequest()) { |
| 95 | + $mailerDsn = $request->request->get('mailerDsn'); |
| 96 | + $mailerTestFrom = $request->request->get('mailerTestFrom'); |
| 97 | + $mailerFromEmail = $request->request->get('mailerFromEmail'); |
| 98 | + $mailerFromName = $request->request->get('mailerFromName'); |
93 | 99 |
|
94 | 100 | try { |
95 | 101 | $transport = Transport::fromDsn($mailerDsn); |
96 | 102 |
|
97 | 103 | $mailer = new Mailer($transport); |
98 | 104 |
|
99 | 105 | $email = (new Email()) |
100 | | - ->from(new Address( |
101 | | - $mailerFromEmail ?: 'test@example.com', |
102 | | - $mailerFromName ?: 'Test Sender' |
103 | | - )) |
| 106 | + ->from(new Address($mailerTestFrom)) |
104 | 107 | ->to($mailerFromEmail ?: 'test@example.com') |
105 | 108 | ->subject('Chamilo Mail Test') |
106 | 109 | ->text('This is a test e-mail sent from Chamilo installation wizard.'); |
|
0 commit comments