RequestEmailHelper::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
dl 0
loc 3
rs 10
c 1
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
/******************************************************************************
3
 * Wikipedia Account Creation Assistance tool                                 *
4
 *                                                                            *
5
 * All code in this file is released into the public domain by the ACC        *
6
 * Development Team. Please see team.json for a list of contributors.         *
7
 ******************************************************************************/
8
9
namespace Waca\Helpers;
10
11
use Waca\DataObjects\Domain;
12
use Waca\DataObjects\Request;
13
use Waca\DataObjects\User;
14
use Waca\Helpers\Interfaces\IEmailHelper;
15
16
class RequestEmailHelper
17
{
18
    /**
19
     * @var IEmailHelper
20
     */
21
    private $emailHelper;
22
23
    /**
24
     * RequestEmailHelper constructor.
25
     *
26
     * @param IEmailHelper $emailHelper
27
     */
28
    public function __construct(IEmailHelper $emailHelper)
29
    {
30
        $this->emailHelper = $emailHelper;
31
    }
32
33
    /**
34
     * @param Request $request
35
     * @param string  $mailText
36
     * @param User    $currentUser
37
     * @param boolean $ccMailingList
38
     */
39
    public function sendMail(Request $request, $mailText, User $currentUser, $ccMailingList)
40
    {
41
        $headers = array(
42
            'X-ACC-Request' => $request->getId(),
43
            'X-ACC-UserID'  => $currentUser->getId(),
44
        );
45
46
        // FIXME: domains!
47
        /** @var Domain $domain */
48
        $domain = Domain::getById(1, $request->getDatabase());
49
50
        if ($ccMailingList) {
51
            $headers['Cc'] = $domain->getEmailReplyAddress();
52
        }
53
54
        $helper = $this->emailHelper;
55
56
        $emailSig = $currentUser->getEmailSig();
57
        if ($emailSig !== '' || $emailSig !== null) {
0 ignored issues
show
introduced by
The condition $emailSig !== null is always true.
Loading history...
58
            $emailSig = "\n\n" . $emailSig;
59
        }
60
61
        $subject = "RE: [ACC #{$request->getId()}] English Wikipedia Account Request";
62
        $content = $mailText . $emailSig;
63
64
        $helper->sendMail($domain->getEmailReplyAddress(), $request->getEmail(), $subject, $content, $headers);
65
66
        $request->setEmailSent(true);
67
    }
68
}
69