Email::sendSignUpNotification()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
nc 2
nop 1
dl 0
loc 19
rs 9.6333
c 0
b 0
f 0
1
<?php
2
3
use conf\Config;
4
use Asymptix\core\Validator;
5
6
/**
7
 * Email class example.
8
 *
9
 * @category Asymptix PHP Framework
10
 * @author Dmytro Zarezenko <[email protected]>
11
 * @copyright (c) 2015, Dmytro Zarezenko
12
 *
13
 * @git https://github.com/Asymptix/Framework
14
 * @license http://opensource.org/licenses/MIT
15
 */
16
class Email extends \Asymptix\mail\Email {
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
17
18
    /**
19
     * Send e-mail notification about user signup to the admin.
20
     *
21
     * @global Language $_LANG Global language object.
22
     * @param User $user Registered User object.
23
     *
24
     * @return boolean Returns TRUE if the mail was successfully accepted for
25
     *           delivery, FALSE otherwise.
26
     */
27
    public function sendSignUpAdminNotification($user) {
28
        global $_LANG;
0 ignored issues
show
Compatibility Best Practice introduced by
Use of global functionality is not recommended; it makes your code harder to test, and less reusable.

Instead of relying on global state, we recommend one of these alternatives:

1. Pass all data via parameters

function myFunction($a, $b) {
    // Do something
}

2. Create a class that maintains your state

class MyClass {
    private $a;
    private $b;

    public function __construct($a, $b) {
        $this->a = $a;
        $this->b = $b;
    }

    public function myFunction() {
        // Do something
    }
}
Loading history...
29
30
        return $this->sendNotification(
31
            Config::EMAIL_ADMIN,
32
            "New user signup: '" . $user->username . "'",
33
            $_LANG->code,
34
            "signup_admin_email",
35
            array(
36
                'user_id' => $user->id,
37
                'username' => $user->username
38
            ),
39
            Email::FORMAT_HTML
40
        );
41
    }
42
43
    /**
44
     * Send e-mail notification about user signup.
45
     *
46
     * @global Language $_LANG Global language object.
47
     * @param User $user Registered User object.
48
     *
49
     * @return boolean Returns TRUE if the mail was successfully accepted for
50
     *           delivery, FALSE otherwise.
51
     * @throws \Exception If users e-mail is invalid.
52
     */
53
    public function sendSignUpNotification($user) {
54
        global $_LANG;
0 ignored issues
show
Compatibility Best Practice introduced by
Use of global functionality is not recommended; it makes your code harder to test, and less reusable.

Instead of relying on global state, we recommend one of these alternatives:

1. Pass all data via parameters

function myFunction($a, $b) {
    // Do something
}

2. Create a class that maintains your state

class MyClass {
    private $a;
    private $b;

    public function __construct($a, $b) {
        $this->a = $a;
        $this->b = $b;
    }

    public function myFunction() {
        // Do something
    }
}
Loading history...
55
56
        if (!Validator::isEmail($user->email)) {
57
            throw new \Exception("Invalid email: '" . $user->email . "'");
58
        }
59
60
        return $this->sendNotification(
61
            $user->email,
62
            "You registered successfully",
63
            $_LANG->code,
64
            "signup_email",
65
            array(
66
                'user_id' => $user->id,
67
                'username' => $user->username
68
            ),
69
            Email::FORMAT_HTML
70
        );
71
    }
72
73
}
74