Issues (29)

src/base/PluginTrait.php (7 issues)

1
<?php
2
/**
3
 * @link      https://dukt.net/facebook/
4
 * @copyright Copyright (c) Dukt
5
 * @license   https://github.com/dukt/facebook/blob/master/LICENSE.md
6
 */
7
8
namespace dukt\facebook\base;
9
10
use Craft;
11
use dukt\facebook\Plugin as Facebook;
12
13
/**
14
 * PluginTrait implements the common methods and properties for plugin classes.
15
 *
16
 * @property \dukt\facebook\services\Api            $api            The api service
17
 * @property \dukt\facebook\services\Cache          $cache          The cache service
18
 * @property \dukt\facebook\services\Oauth          $oauth          The oauth service
19
 * @property \dukt\facebook\services\Reports        $reports        The reports service
20
 *
21
 * @author Dukt <[email protected]>
22
 * @since  2.0
23
 */
24
trait PluginTrait
25
{
26
    /**
27
     * Returns the accounts service.
28
     *
29
     * @return \dukt\facebook\services\Accounts The accounts service
30
     */
31
    public function getAccounts()
32
    {
33
        /** @var Facebook $this */
34
        return $this->get('accounts');
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->get('accounts') also could return the type mixed which is incompatible with the documented return type dukt\facebook\services\Accounts.
Loading history...
35
    }
36
37
    /**
38
     * Returns the api service.
39
     *
40
     * @return \dukt\facebook\services\Api The api service
41
     */
42
    public function getApi()
43
    {
44
        /** @var Facebook $this */
45
        return $this->get('api');
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->get('api') also could return the type mixed which is incompatible with the documented return type dukt\facebook\services\Api.
Loading history...
46
    }
47
48
    /**
49
     * Returns the cache service.
50
     *
51
     * @return \dukt\facebook\services\Cache The cache service
52
     */
53
    public function getCache()
54
    {
55
        /** @var Facebook $this */
56
        return $this->get('cache');
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->get('cache') also could return the type mixed which is incompatible with the documented return type dukt\facebook\services\Cache.
Loading history...
57
    }
58
59
    /**
60
     * Returns the oauth service.
61
     *
62
     * @return \dukt\facebook\services\Oauth The oauth service
63
     */
64
    public function getOauth()
65
    {
66
        /** @var Facebook $this */
67
        return $this->get('oauth');
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->get('oauth') also could return the type mixed which is incompatible with the documented return type dukt\facebook\services\Oauth.
Loading history...
68
    }
69
70
    /**
71
     * Returns the reports service.
72
     *
73
     * @return \dukt\facebook\services\Reports The reports service
74
     */
75
    public function getReports()
76
    {
77
        /** @var Facebook $this */
78
        return $this->get('reports');
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->get('reports') also could return the type mixed which is incompatible with the documented return type dukt\facebook\services\Reports.
Loading history...
79
    }
80
81
    /**
82
     * Returns `true` if client ID, client secret and token are defined.
83
     *
84
     * @return bool
85
     */
86
    public function isConfigured()
87
    {
88
        $oauthClientId = $this->getClientId();
89
        $oauthClientSecret = $this->getClientSecret();
90
91
        if(!empty($oauthClientId) && !empty($oauthClientSecret))
92
        {
93
            $token = Facebook::$plugin->getOauth()->getToken();
94
95
            if($token !== null)
96
            {
97
                return true;
98
            }
99
        }
100
101
        return false;
102
    }
103
104
    /**
105
     * Gets the OAuth client ID
106
     *
107
     * @param bool $parse
108
     * @return bool|mixed|string|null
109
     */
110
    public function getClientId(bool $parse = true)
111
    {
112
        $clientId = Facebook::$plugin->getSettings()->oauthClientId;
113
114
        if (!$clientId) {
115
            return null;
116
        }
117
118
        return $parse ? Craft::parseEnv($clientId) : $clientId;
0 ignored issues
show
Deprecated Code introduced by
The function Craft::parseEnv() has been deprecated: in 3.7.29. [[App::parseEnv()]] should be used instead. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

118
        return $parse ? /** @scrutinizer ignore-deprecated */ Craft::parseEnv($clientId) : $clientId;

This function has been deprecated. The supplier of the function has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed and what other function to use instead.

Loading history...
119
    }
120
121
    /**
122
     * Gets the OAuth client secret
123
     *
124
     * @param bool $parse
125
     * @return bool|mixed|string|null
126
     */
127
    public function getClientSecret(bool $parse = true)
128
    {
129
        $clientSecret = Facebook::$plugin->getSettings()->oauthClientSecret;
130
131
        if (!$clientSecret) {
132
            return null;
133
        }
134
135
        return $parse ? Craft::parseEnv($clientSecret) : $clientSecret;
0 ignored issues
show
Deprecated Code introduced by
The function Craft::parseEnv() has been deprecated: in 3.7.29. [[App::parseEnv()]] should be used instead. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

135
        return $parse ? /** @scrutinizer ignore-deprecated */ Craft::parseEnv($clientSecret) : $clientSecret;

This function has been deprecated. The supplier of the function has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed and what other function to use instead.

Loading history...
136
    }
137
}
138