Issues (45)

src/elements/db/TokensQuery.php (2 issues)

1
<?php
2
/**
3
 * Socializer plugin for Craft CMS 3.x
4
 *
5
 * @link      https://enupal.com/
6
 * @copyright Copyright (c) 2019 Enupal LLC
7
 */
8
9
namespace enupal\socializer\elements\db;
10
11
use craft\elements\db\ElementQuery;
12
use craft\helpers\Db;
13
14
class TokensQuery extends ElementQuery
15
{
16
17
    // General - Properties
18
    // =========================================================================
19
    public $userId;
20
    public $providerId;
21
    public $accessToken;
22
23
    /**
24
     * @inheritdoc
25
     */
26
    public function __set($name, $value)
27
    {
28
        parent::__set($name, $value);
29
    }
30
31
    /**
32
     * @inheritdoc
33
     */
34
    public function userId($value)
35
    {
36
        $this->userId = $value;
37
38
        return $this;
39
    }
40
41
    /**
42
     * @inheritdoc
43
     */
44
    public function getUserId()
45
    {
46
        return $this->userId;
47
    }
48
49
    /**
50
     * @inheritdoc
51
     */
52
    public function providerId($value)
53
    {
54
        $this->providerId = $value;
55
56
        return $this;
57
    }
58
59
    /**
60
     * @inheritdoc
61
     */
62
    public function getProviderId()
63
    {
64
        return $this->providerId;
65
    }
66
67
    /**
68
     * @inheritdoc
69
     */
70
    public function __construct($elementType, array $config = [])
71
    {
72
        // Default orderBy
73
        if (!isset($config['orderBy'])) {
74
            $config['orderBy'] = 'enupalsocializer_tokens.dateCreated';
75
        }
76
77
        parent::__construct($elementType, $config);
78
    }
79
80
81
    // Protected Methods
82
    // =========================================================================
83
84
    /**
85
     * @inheritdoc
86
     */
87
    protected function beforePrepare(): bool
88
    {
89
        $this->joinElementTable('enupalsocializer_tokens');
90
91
        if (is_null($this->query)){
92
            return false;
93
        }
94
95
        $this->query->select([
96
            'enupalsocializer_tokens.id',
97
            'enupalsocializer_tokens.userId',
98
            'enupalsocializer_tokens.accessToken',
99
            'enupalsocializer_tokens.providerId'
100
        ]);
101
102
        if ($this->userId) {
103
            $this->subQuery->andWhere(Db::parseParam(
0 ignored issues
show
The method andWhere() does not exist on null. ( Ignorable by Annotation )

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

103
            $this->subQuery->/** @scrutinizer ignore-call */ 
104
                             andWhere(Db::parseParam(

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
104
                'enupalsocializer_tokens.userId', $this->userId)
105
            );
106
        }
107
108
        if ($this->providerId) {
109
            $this->subQuery->andWhere(Db::parseParam(
110
                'enupalsocializer_tokens.providerId', $this->providerId)
111
            );
112
        }
113
114
        if ($this->orderBy !== null && empty($this->orderBy) && !$this->structureId && !$this->fixedOrder) {
115
            $this->orderBy = 'dateCreated desc';
0 ignored issues
show
Documentation Bug introduced by
It seems like 'dateCreated desc' of type string is incompatible with the declared type array|null of property $orderBy.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
116
        }
117
118
        return parent::beforePrepare();
119
    }
120
}
121