Code Duplication    Length = 101-101 lines in 2 locations

src/HiamClient.php 1 location

@@ 39-139 (lines=101) @@
36
 * ]
37
 * ```
38
 */
39
class HiamClient extends \yii\authclient\OAuth2
40
{
41
    /**
42
     * Site for urls generation.
43
     */
44
    public $site;
45
46
    public function buildUrl($path, array $params = [])
47
    {
48
        $url = $this->site . '/' . $path;
49
50
        return $params ? $this->composeUrl($url, $params) : $url;
51
    }
52
53
    /**
54
     * {@inheritdoc}
55
     */
56
    public function buildAuthUrl(array $params = [])
57
    {
58
        $params['language'] = \Yii::$app->language;
59
60
        return parent::buildAuthUrl($params);
61
    }
62
63
    /**
64
     * Inits Urls based on $site.
65
     */
66
    public function init()
67
    {
68
        parent::init();
69
        if (!$this->site) {
70
            $this->site = 'hiam.hipanel.com';
71
        }
72
        if (strpos($this->site, '://') === false) {
73
            $this->site = 'https://' . $this->site;
74
        }
75
        $defaults = [
76
            'authUrl' => 'oauth/authorize',
77
            'tokenUrl' => 'oauth/token',
78
            'apiBaseUrl' => 'api',
79
        ];
80
        foreach ($defaults as $k => $v) {
81
            if (!$this->{$k}) {
82
                $this->{$k} = $this->buildUrl($v);
83
            }
84
        }
85
    }
86
87
    /** {@inheritdoc} */
88
    protected function initUserAttributes()
89
    {
90
        return $this->getAccessToken()->getParam('user_attributes');
91
    }
92
93
    /** {@inheritdoc} */
94
    protected function apiInternal($accessToken, $url, $method, array $params, array $headers)
95
    {
96
        if (!isset($params['format'])) {
97
            $params['format'] = 'json';
98
        }
99
        $params['oauth_token'] = $accessToken->getToken();
100
101
        return $this->sendRequest($method, $url, $params, $headers);
102
    }
103
104
    /** {@inheritdoc} */
105
    protected function defaultName()
106
    {
107
        return 'hiam';
108
    }
109
110
    /** {@inheritdoc} */
111
    protected function defaultTitle()
112
    {
113
        return 'hiam';
114
    }
115
116
    /**
117
     * {@inheritdoc}
118
     */
119
    public function setState($key, $value)
120
    {
121
        return parent::setState($key, $value);
122
    }
123
124
    /**
125
     * {@inheritdoc}
126
     */
127
    public function getState($key)
128
    {
129
        return parent::getState($key);
130
    }
131
132
    /**
133
     * {@inheritdoc}
134
     */
135
    public function removeState($key)
136
    {
137
        return parent::removeState($key);
138
    }
139
}
140

src/NopeClient.php 1 location

@@ 39-139 (lines=101) @@
36
 * ]
37
 * ```
38
 */
39
class NopeClient extends \yii\authclient\OAuth2
40
{
41
    /**
42
     * Site for urls generation.
43
     */
44
    public $site;
45
46
    public function buildUrl($path, array $params = [])
47
    {
48
        $url = $this->site . '/' . $path;
49
50
        return $params ? $this->composeUrl($url, $params) : $url;
51
    }
52
53
    /**
54
     * {@inheritdoc}
55
     */
56
    public function buildAuthUrl(array $params = [])
57
    {
58
        $params['language'] = \Yii::$app->language;
59
60
        return parent::buildAuthUrl($params);
61
    }
62
63
    /**
64
     * Inits Urls based on $site.
65
     */
66
    public function init()
67
    {
68
        parent::init();
69
        if (!$this->site) {
70
            throw new \Exception('Nope site must not be empty!');
71
        }
72
        if (strpos($this->site, '://') === false) {
73
            $this->site = 'https://' . $this->site;
74
        }
75
        $defaults = [
76
            'authUrl' => 'oauth/authorize',
77
            'tokenUrl' => 'oauth/token',
78
            'apiBaseUrl' => 'api',
79
        ];
80
        foreach ($defaults as $k => $v) {
81
            if (!$this->{$k}) {
82
                $this->{$k} = $this->buildUrl($v);
83
            }
84
        }
85
    }
86
87
    /** {@inheritdoc} */
88
    protected function initUserAttributes()
89
    {
90
        return $this->getAccessToken()->getParam('user_attributes');
91
    }
92
93
    /** {@inheritdoc} */
94
    protected function apiInternal($accessToken, $url, $method, array $params, array $headers)
95
    {
96
        if (!isset($params['format'])) {
97
            $params['format'] = 'json';
98
        }
99
        $params['oauth_token'] = $accessToken->getToken();
100
101
        return $this->sendRequest($method, $url, $params, $headers);
102
    }
103
104
    /** {@inheritdoc} */
105
    protected function defaultName()
106
    {
107
        return 'nope';
108
    }
109
110
    /** {@inheritdoc} */
111
    protected function defaultTitle()
112
    {
113
        return 'nope';
114
    }
115
116
    /**
117
     * {@inheritdoc}
118
     */
119
    public function setState($key, $value)
120
    {
121
        return parent::setState($key, $value);
122
    }
123
124
    /**
125
     * {@inheritdoc}
126
     */
127
    public function getState($key)
128
    {
129
        return parent::getState($key);
130
    }
131
132
    /**
133
     * {@inheritdoc}
134
     */
135
    public function removeState($key)
136
    {
137
        return parent::removeState($key);
138
    }
139
}
140