GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

Issues (389)

Branch: master

src/Traits/FormElements.php (2 issues)

1
<?php
2
3
namespace SleepingOwl\Admin\Traits;
4
5
use Illuminate\Database\Eloquent\Model;
6
use SleepingOwl\Admin\Contracts\Form\ElementsInterface;
7
use SleepingOwl\Admin\Contracts\Form\FormElementInterface;
8
use SleepingOwl\Admin\Contracts\Initializable;
9
use SleepingOwl\Admin\Contracts\Validable;
10
use SleepingOwl\Admin\Contracts\WithModelInterface;
11
use SleepingOwl\Admin\Form\Element\NamedFormElement;
12
use SleepingOwl\Admin\Form\FormElementsCollection;
13
14
trait FormElements
15
{
16
    use FormElementsRecursiveIterator;
17
18
    /**
19
     * @var FormElementsCollection
20
     */
21
    protected $elements;
22
23
    /**
24 5
     * @return void
25
     */
26
    public function initializeElements()
27 5
    {
28 5
        $this->getElements()->each(function ($element) {
29 5
            if ($element instanceof Initializable) {
30 5
                $element->initialize();
31 5
            }
32
        });
33
    }
34
35
    /**
36
     * @param \Closure $callback
37
     *
38
     * @return bool|void
39
     */
40
    public function recursiveIterateElements(\Closure $callback)
41
    {
42
        // If Callback function returns TRUE then recurse iterator should stop.
43
        $result = null;
44
45
        foreach ($this->getElements() as $element) {
46
            if ($element instanceof ElementsInterface) {
47
                $result = $element->recursiveIterateElements($callback);
0 ignored issues
show
The method recursiveIterateElements() does not exist on SleepingOwl\Admin\Contracts\Form\ElementsInterface. It seems like you code against a sub-type of said class. However, the method does not exist in SleepingOwl\Admin\Contracts\Form\FormInterface or SleepingOwl\Admin\Contra...Columns\ColumnInterface. Are you sure you never get one of those? ( Ignorable by Annotation )

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

47
                /** @scrutinizer ignore-call */ 
48
                $result = $element->recursiveIterateElements($callback);
Loading history...
48
            } else {
49
                $result = $callback($element);
50
            }
51
52
            if ($result === true) {
53
                break;
54
            }
55
        }
56
57
        return $result;
58 12
    }
59
60 12
    /**
61
     * @param string $path
62
     *
63
     * @return FormElementInterface|null
64
     */
65
    public function getElement($path)
66
    {
67
        $found = null;
0 ignored issues
show
The assignment to $found is dead and can be removed.
Loading history...
68 19
69
        foreach ($this->getElements() as $element) {
70 19
            if ($element instanceof ElementsInterface) {
71
                if (! is_null($found = $element->getElement($path))) {
72 19
                    return $found;
73
                }
74
            }
75
76
            if ($element instanceof NamedFormElement && $element->getPath() == $path) {
77
                return $element;
78
            }
79
        }
80
    }
81
82
    /**
83
     * @return FormElementsCollection
84
     */
85
    public function getElements()
86
    {
87
        return $this->elements;
88
    }
89
90
    /**
91
     * @param array $elements
92
     *
93
     * @return $this
94
     */
95
    public function setElements(array $elements)
96
    {
97
        $this->elements = new FormElementsCollection($elements);
98
99
        return $this;
100
    }
101
102
    /**
103
     * @param FormElementInterface $element
104
     *
105
     * @return $this
106
     */
107
    public function addElement($element)
108 2
    {
109
        $this->elements->push($element);
110 2
111
        return $this;
112
    }
113
114
    /**
115
     * @param Model $model
116 2
     *
117
     * @return $this
118 2
     */
119
    public function setModel(Model $model)
120
    {
121
        return $this->setModelForElements($model);
122
    }
123
124
    /**
125
     * @return array
126
     */
127
    public function getValidationRules()
128
    {
129
        return $this->getValidationRulesFromElements();
130
    }
131
132
    /**
133
     * @return array
134
     */
135
    public function getValidationMessages()
136
    {
137
        return $this->getValidationMessagesForElements();
138
    }
139
140
    /**
141
     * @return array
142
     */
143
    public function getValidationLabels()
144
    {
145
        return $this->getValidationLabelsForElements();
146 5
    }
147
148
    /**
149 5
     * @param \Illuminate\Http\Request $request
150
     *
151 5
     * @return void
152 5
     */
153 5
    public function save(\Illuminate\Http\Request $request)
154 5
    {
155
        $this->saveElements($request);
156 5
    }
157
158
    /**
159
     * @param \Illuminate\Http\Request $request
160
     *
161
     * @return void
162
     */
163
    public function afterSave(\Illuminate\Http\Request $request)
164 3
    {
165
        $this->afterSaveElements($request);
166
    }
167 3
168
    /**
169 3
     * @param Model $model
170 3
     *
171 3
     * @return $this
172 3
     */
173
    protected function setModelForElements(Model $model)
174 3
    {
175
        $this->getElements()->each(function ($element) use ($model) {
176
            $element = $this->getElementContainer($element);
177
178
            if ($element instanceof WithModelInterface) {
179
                $element->setModel($model);
180
            }
181
        });
182 2
183
        return $this;
184
    }
185 2
186
    /**
187 2
     * @param array $rules
188 2
     *
189 2
     * @return array
190 2
     */
191
    protected function getValidationRulesFromElements(array $rules = [])
192 2
    {
193
        $this->getElements()->onlyActive()->each(function ($element) use (&$rules) {
194
            $element = $this->getElementContainer($element);
195
196
            if ($element instanceof Validable) {
197
                $rules += $element->getValidationRules();
198
            }
199
        });
200 2
201
        return $rules;
202
    }
203 2
204
    /**
205 2
     * @param array $messages
206 2
     *
207 2
     * @return array
208 2
     */
209
    protected function getValidationMessagesForElements(array $messages = [])
210 2
    {
211
        $this->getElements()->onlyActive()->each(function ($element) use (&$messages) {
212
            $element = $this->getElementContainer($element);
213
214
            if ($element instanceof Validable) {
215
                $messages += $element->getValidationMessages();
216
            }
217
        });
218 2
219
        return $messages;
220
    }
221 2
222
    /**
223 2
     * @param array $labels
224 2
     *
225 2
     * @return array
226 2
     */
227 2
    protected function getValidationLabelsForElements(array $labels = [])
228
    {
229
        $this->getElements()->onlyActive()->each(function ($element) use (&$labels) {
230
            $element = $this->getElementContainer($element);
231
232
            if ($element instanceof Validable) {
233
                $labels += $element->getValidationLabels();
234
            }
235
        });
236 2
237 2
        return $labels;
238
    }
239 2
240 2
    /**
241 2
     * @param \Illuminate\Http\Request $request
242 2
     *
243 2
     * @return void
244
     */
245
    protected function saveElements(\Illuminate\Http\Request $request)
246
    {
247
        $this->getElements()->onlyActive()->each(function ($element) use ($request) {
248
            $element = $this->getElementContainer($element);
249
250 8
            if ($element instanceof FormElementInterface) {
251
                $element->save($request);
252 8
            }
253
        });
254
    }
255
256
    /**
257
     * @param \Illuminate\Http\Request $request
258
     *
259
     * @return void
260
     */
261
    protected function afterSaveElements(\Illuminate\Http\Request $request)
262
    {
263
        $this->getElements()->onlyActive()->each(function ($element) use ($request) {
264
            $element = $this->getElementContainer($element);
265
266
            if ($element instanceof FormElementInterface) {
267
                $element->afterSave($request);
268
            }
269
        });
270
    }
271
272
    /**
273
     * @param $object
274
     *
275
     * @return mixed
276
     */
277
    protected function getElementContainer($object)
278
    {
279
        return $object;
280
    }
281
}
282