JqadmController::createAdmin()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 25
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 16
nc 1
nop 0
dl 0
loc 25
rs 9.7333
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * @license MIT, http://opensource.org/licenses/MIT
5
 * @copyright Aimeos (aimeos.org), 2015-2023
6
 */
7
8
9
namespace Aimeos\Shop\Controller;
10
11
use Illuminate\Support\Facades\View;
12
use Illuminate\Support\Facades\Route;
13
use Illuminate\Support\Facades\Request;
14
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
15
16
17
/**
18
 * Aimeos controller for the JQuery admin interface
19
 */
20
class JqadmController extends AdminController
21
{
22
	use AuthorizesRequests;
23
24
25
	/**
26
	 * Returns the JS file content
27
	 *
28
	 * @return \Illuminate\Http\Response Response object containing the generated output
29
	 */
30
	public function fileAction()
31
	{
32
		if( config( 'shop.authorize', true ) ) {
0 ignored issues
show
Unused Code introduced by
The call to config() has too many arguments starting with true. ( Ignorable by Annotation )

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

32
		if( /** @scrutinizer ignore-call */ config( 'shop.authorize', true ) ) {

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
Bug introduced by
'shop.authorize' of type string is incompatible with the type array expected by parameter $options of config(). ( Ignorable by Annotation )

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

32
		if( config( /** @scrutinizer ignore-type */ 'shop.authorize', true ) ) {
Loading history...
33
			$this->authorize( 'admin', [JqadmController::class, config( 'shop.roles', ['admin', 'editor'] )] );
34
		}
35
36
		$contents = '';
37
		$files = array();
38
		$aimeos = app( 'aimeos' )->get();
39
		$name = Route::input( 'name', Request::get( 'name' ) );
40
41
		foreach( $aimeos->getCustomPaths( 'admin/jqadm' ) as $base => $paths )
42
		{
43
			foreach( $paths as $path )
44
			{
45
				$jsbAbsPath = $base . '/' . $path;
46
				$jsb2 = new \Aimeos\MW\Jsb2\Standard( $jsbAbsPath, dirname( $jsbAbsPath ) );
47
				$files = array_merge( $files, $jsb2->getFiles( $name ) );
48
			}
49
		}
50
51
		foreach( $files as $file )
52
		{
53
			if( ( $content = file_get_contents( $file ) ) !== false ) {
54
				$contents .= $content;
55
			}
56
		}
57
58
		$response = response( $contents );
59
60
		if( str_ends_with( $name, 'js' ) ) {
61
			$response->header( 'Content-Type', 'application/javascript' );
62
		} elseif( str_ends_with( $name, 'css' ) ) {
63
			$response->header( 'Content-Type', 'text/css' );
64
		}
65
66
		return $response->header( 'Cache-Control', 'public, max-age=3600' );
67
	}
68
69
70
	/**
71
	 * Returns the HTML code for batch operations on a resource object
72
	 *
73
	 * @return string Generated output
74
	 */
75
	public function batchAction()
76
	{
77
		if( config( 'shop.authorize', true ) ) {
0 ignored issues
show
Bug introduced by
'shop.authorize' of type string is incompatible with the type array expected by parameter $options of config(). ( Ignorable by Annotation )

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

77
		if( config( /** @scrutinizer ignore-type */ 'shop.authorize', true ) ) {
Loading history...
Unused Code introduced by
The call to config() has too many arguments starting with true. ( Ignorable by Annotation )

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

77
		if( /** @scrutinizer ignore-call */ config( 'shop.authorize', true ) ) {

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
78
			$this->authorize( 'admin', [JqadmController::class, config( 'shop.roles', ['admin', 'editor'] )] );
79
		}
80
81
		$cntl = $this->createAdmin();
82
83
		if( ( $html = $cntl->batch() ) == '' ) {
84
			return $cntl->response();
85
		}
86
87
		return $this->getHtml( (string) $html );
88
	}
89
90
91
	/**
92
	 * Returns the HTML code for a copy of a resource object
93
	 *
94
	 * @return string Generated output
95
	 */
96
	public function copyAction()
97
	{
98
		if( config( 'shop.authorize', true ) ) {
0 ignored issues
show
Bug introduced by
'shop.authorize' of type string is incompatible with the type array expected by parameter $options of config(). ( Ignorable by Annotation )

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

98
		if( config( /** @scrutinizer ignore-type */ 'shop.authorize', true ) ) {
Loading history...
Unused Code introduced by
The call to config() has too many arguments starting with true. ( Ignorable by Annotation )

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

98
		if( /** @scrutinizer ignore-call */ config( 'shop.authorize', true ) ) {

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
99
			$this->authorize( 'admin', [JqadmController::class, config( 'shop.roles', ['admin', 'editor'] )] );
100
		}
101
102
		$cntl = $this->createAdmin();
103
104
		if( ( $html = $cntl->copy() ) == '' ) {
105
			return $cntl->response();
106
		}
107
108
		return $this->getHtml( (string) $html );
109
	}
110
111
112
	/**
113
	 * Returns the HTML code for a new resource object
114
	 *
115
	 * @return string Generated output
116
	 */
117
	public function createAction()
118
	{
119
		if( config( 'shop.authorize', true ) ) {
0 ignored issues
show
Bug introduced by
'shop.authorize' of type string is incompatible with the type array expected by parameter $options of config(). ( Ignorable by Annotation )

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

119
		if( config( /** @scrutinizer ignore-type */ 'shop.authorize', true ) ) {
Loading history...
Unused Code introduced by
The call to config() has too many arguments starting with true. ( Ignorable by Annotation )

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

119
		if( /** @scrutinizer ignore-call */ config( 'shop.authorize', true ) ) {

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
120
			$this->authorize( 'admin', [JqadmController::class, config( 'shop.roles', ['admin', 'editor'] )] );
121
		}
122
123
		$cntl = $this->createAdmin();
124
125
		if( ( $html = $cntl->create() ) == '' ) {
126
			return $cntl->response();
127
		}
128
129
		return $this->getHtml( (string) $html );
130
	}
131
132
133
	/**
134
	 * Deletes the resource object or a list of resource objects
135
	 *
136
	 * @return string Generated output
137
	 */
138
	public function deleteAction()
139
	{
140
		if( config( 'shop.authorize', true ) ) {
0 ignored issues
show
Unused Code introduced by
The call to config() has too many arguments starting with true. ( Ignorable by Annotation )

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

140
		if( /** @scrutinizer ignore-call */ config( 'shop.authorize', true ) ) {

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
Bug introduced by
'shop.authorize' of type string is incompatible with the type array expected by parameter $options of config(). ( Ignorable by Annotation )

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

140
		if( config( /** @scrutinizer ignore-type */ 'shop.authorize', true ) ) {
Loading history...
141
			$this->authorize( 'admin', [JqadmController::class, config( 'shop.roles', ['admin', 'editor'] )] );
142
		}
143
144
		$cntl = $this->createAdmin();
145
146
		if( ( $html = $cntl->delete() ) == '' ) {
147
			return $cntl->response();
148
		}
149
150
		return $this->getHtml( (string) $html );
151
	}
152
153
154
	/**
155
	 * Exports the data for a resource object
156
	 *
157
	 * @return string Generated output
158
	 */
159
	public function exportAction()
160
	{
161
		if( config( 'shop.authorize', true ) ) {
0 ignored issues
show
Unused Code introduced by
The call to config() has too many arguments starting with true. ( Ignorable by Annotation )

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

161
		if( /** @scrutinizer ignore-call */ config( 'shop.authorize', true ) ) {

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
Bug introduced by
'shop.authorize' of type string is incompatible with the type array expected by parameter $options of config(). ( Ignorable by Annotation )

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

161
		if( config( /** @scrutinizer ignore-type */ 'shop.authorize', true ) ) {
Loading history...
162
			$this->authorize( 'admin', [JqadmController::class, config( 'shop.roles', ['admin', 'editor'] )] );
163
		}
164
165
		$cntl = $this->createAdmin();
166
167
		if( ( $html = $cntl->export() ) == '' ) {
168
			return $cntl->response();
169
		}
170
171
		return $this->getHtml( (string) $html );
172
	}
173
174
175
	/**
176
	 * Returns the HTML code for the requested resource object
177
	 *
178
	 * @return string Generated output
179
	 */
180
	public function getAction()
181
	{
182
		if( config( 'shop.authorize', true ) ) {
0 ignored issues
show
Bug introduced by
'shop.authorize' of type string is incompatible with the type array expected by parameter $options of config(). ( Ignorable by Annotation )

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

182
		if( config( /** @scrutinizer ignore-type */ 'shop.authorize', true ) ) {
Loading history...
Unused Code introduced by
The call to config() has too many arguments starting with true. ( Ignorable by Annotation )

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

182
		if( /** @scrutinizer ignore-call */ config( 'shop.authorize', true ) ) {

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
183
			$this->authorize( 'admin', [JqadmController::class, config( 'shop.roles', ['admin', 'editor'] )] );
184
		}
185
186
		$cntl = $this->createAdmin();
187
188
		if( ( $html = $cntl->get() ) == '' ) {
189
			return $cntl->response();
190
		}
191
192
		return $this->getHtml( (string) $html );
193
	}
194
195
196
	/**
197
	 * Imports the data for a resource object
198
	 *
199
	 * @return string Generated output
200
	 */
201
	public function importAction()
202
	{
203
		if( config( 'shop.authorize', true ) ) {
0 ignored issues
show
Bug introduced by
'shop.authorize' of type string is incompatible with the type array expected by parameter $options of config(). ( Ignorable by Annotation )

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

203
		if( config( /** @scrutinizer ignore-type */ 'shop.authorize', true ) ) {
Loading history...
Unused Code introduced by
The call to config() has too many arguments starting with true. ( Ignorable by Annotation )

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

203
		if( /** @scrutinizer ignore-call */ config( 'shop.authorize', true ) ) {

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
204
			$this->authorize( 'admin', [JqadmController::class, config( 'shop.roles', ['admin', 'editor'] )] );
205
		}
206
207
		$cntl = $this->createAdmin();
208
209
		if( ( $html = $cntl->import() ) == '' ) {
210
			return $cntl->response();
211
		}
212
213
		return $this->getHtml( (string) $html );
214
	}
215
216
217
	/**
218
	 * Saves a new resource object
219
	 *
220
	 * @return string Generated output
221
	 */
222
	public function saveAction()
223
	{
224
		if( config( 'shop.authorize', true ) ) {
0 ignored issues
show
Unused Code introduced by
The call to config() has too many arguments starting with true. ( Ignorable by Annotation )

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

224
		if( /** @scrutinizer ignore-call */ config( 'shop.authorize', true ) ) {

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
Bug introduced by
'shop.authorize' of type string is incompatible with the type array expected by parameter $options of config(). ( Ignorable by Annotation )

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

224
		if( config( /** @scrutinizer ignore-type */ 'shop.authorize', true ) ) {
Loading history...
225
			$this->authorize( 'admin', [JqadmController::class, config( 'shop.roles', ['admin', 'editor'] )] );
226
		}
227
228
		$cntl = $this->createAdmin();
229
230
		if( ( $html = $cntl->save() ) == '' ) {
231
			return $cntl->response();
232
		}
233
234
		return $this->getHtml( (string) $html );
235
	}
236
237
238
	/**
239
	 * Returns the HTML code for a list of resource objects
240
	 *
241
	 * @return string Generated output
242
	 */
243
	public function searchAction()
244
	{
245
		if( config( 'shop.authorize', true ) ) {
0 ignored issues
show
Bug introduced by
'shop.authorize' of type string is incompatible with the type array expected by parameter $options of config(). ( Ignorable by Annotation )

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

245
		if( config( /** @scrutinizer ignore-type */ 'shop.authorize', true ) ) {
Loading history...
Unused Code introduced by
The call to config() has too many arguments starting with true. ( Ignorable by Annotation )

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

245
		if( /** @scrutinizer ignore-call */ config( 'shop.authorize', true ) ) {

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
246
			$this->authorize( 'admin', [JqadmController::class, config( 'shop.roles', ['admin', 'editor'] )] );
247
		}
248
249
		$cntl = $this->createAdmin();
250
251
		if( ( $html = $cntl->search() ) == '' ) {
252
			return $cntl->response();
253
		}
254
255
		return $this->getHtml( (string) $html );
256
	}
257
258
259
	/**
260
	 * Returns the resource controller
261
	 *
262
	 * @return \Aimeos\Admin\JQAdm\Iface JQAdm client
263
	 */
264
	protected function createAdmin() : \Aimeos\Admin\JQAdm\Iface
265
	{
266
		$site = Route::input( 'site', Request::get( 'site', config( 'shop.mshop.locale.site', 'default' ) ) );
0 ignored issues
show
Bug introduced by
'shop.mshop.locale.site' of type string is incompatible with the type array expected by parameter $options of config(). ( Ignorable by Annotation )

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

266
		$site = Route::input( 'site', Request::get( 'site', config( /** @scrutinizer ignore-type */ 'shop.mshop.locale.site', 'default' ) ) );
Loading history...
Unused Code introduced by
The call to config() has too many arguments starting with 'default'. ( Ignorable by Annotation )

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

266
		$site = Route::input( 'site', Request::get( 'site', /** @scrutinizer ignore-call */ config( 'shop.mshop.locale.site', 'default' ) ) );

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
267
		$lang = Request::get( 'locale', config( 'app.locale', 'en' ) );
268
		$resource = Route::input( 'resource' );
269
270
		$aimeos = app( 'aimeos' )->get();
271
272
		$context = app( 'aimeos.context' )->get( false, 'backend' );
273
		$context->setI18n( app( 'aimeos.i18n' )->get( array( $lang, 'en' ) ) );
274
		$context->setLocale( app( 'aimeos.locale' )->getBackend( $context, $site ) );
275
276
		$siteManager = \Aimeos\MShop::create( $context, 'locale/site');
277
		$context->config()->apply( $siteManager->find( $site )->getConfig() );
0 ignored issues
show
Bug introduced by
The method find() does not exist on Aimeos\MShop\Common\Manager\Iface. It seems like you code against a sub-type of said class. However, the method does not exist in Aimeos\MShop\Common\Manager\Decorator\Iface or Aimeos\MShop\Order\Manag...rvice\Transaction\Iface or Aimeos\MShop\Service\Manager\Lists\Type\Iface or Aimeos\MShop\Price\Manager\Iface or Aimeos\MShop\Attribute\Manager\Type\Iface or Aimeos\MShop\Order\Manager\Service\Iface or Aimeos\MShop\Review\Manager\Iface or Aimeos\MShop\Price\Manager\Lists\Type\Iface or Aimeos\MShop\Media\Manager\Type\Iface or Aimeos\MShop\Common\Manager\Property\Iface or Aimeos\MShop\Customer\Manager\Property\Iface or Aimeos\MShop\Price\Manager\Lists\Iface or Aimeos\MShop\Cms\Manager\Lists\Type\Iface or Aimeos\MShop\Supplier\Manager\Lists\Type\Iface or Aimeos\MShop\Service\Manager\Lists\Iface or Aimeos\MShop\Tag\Manager\Type\Iface or Aimeos\MShop\Text\Manager\Lists\Iface or Aimeos\MShop\Price\Manager\Type\Iface or Aimeos\MShop\Locale\Manager\Currency\Iface or Aimeos\MShop\Media\Manager\Lists\Type\Iface or Aimeos\MShop\Catalog\Manager\Lists\Iface or Aimeos\MShop\Tag\Manager\Iface or Aimeos\MShop\Coupon\Manager\Iface or Aimeos\MShop\Common\Manager\Lists\Iface or Aimeos\MShop\Service\Manager\Type\Iface or Aimeos\MShop\Order\Manager\Address\Iface or Aimeos\MShop\Product\Manager\Lists\Iface or Aimeos\MShop\Order\Manager\Product\Attribute\Iface or Aimeos\MShop\Order\Manager\Iface or Aimeos\MShop\Media\Manager\Iface or Aimeos\MShop\Rule\Manager\Type\Iface or Aimeos\MShop\Order\Manager\Coupon\Iface or Aimeos\MShop\Customer\Manager\Lists\Type\Iface or Aimeos\MShop\Attribute\Manager\Lists\Iface or Aimeos\MShop\Media\Manager\Lists\Iface or Aimeos\MShop\Plugin\Manager\Iface or Aimeos\MShop\Order\Manager\Service\Attribute\Iface or Aimeos\MShop\Product\Manager\Type\Iface or Aimeos\MShop\Supplier\Manager\Lists\Iface or Aimeos\MShop\Text\Manager\Iface or Aimeos\MAdmin\Job\Manager\Iface or Aimeos\MShop\Product\Manager\Lists\Type\Iface or Aimeos\MShop\Text\Manager\Lists\Type\Iface or Aimeos\MShop\Text\Manager\Type\Iface or Aimeos\MShop\Order\Manager\Status\Iface or Aimeos\MShop\Rule\Manager\Iface or Aimeos\MShop\Common\Manager\Address\Iface or Aimeos\MShop\Plugin\Manager\Type\Iface or Aimeos\MShop\Stock\Manager\Iface or Aimeos\MShop\Attribute\Manager\Property\Iface or Aimeos\MShop\Subscription\Manager\Iface or Aimeos\MShop\Product\Manager\Property\Iface or Aimeos\MShop\Locale\Manager\Language\Iface or Aimeos\MShop\Media\Manager\Property\Iface or Aimeos\MShop\Attribute\Manager\Lists\Type\Iface or Aimeos\MAdmin\Log\Manager\Iface or Aimeos\MShop\Cms\Manager\Lists\Iface or Aimeos\MShop\Locale\Manager\Iface or Aimeos\MAdmin\Cache\Manager\Iface or Aimeos\MShop\Order\Manager\Basket\Iface or Aimeos\MShop\Order\Manager\Product\Iface or Aimeos\MShop\Price\Manager\Property\Iface or Aimeos\MShop\Customer\Manager\Lists\Iface or Aimeos\MShop\Catalog\Manager\Lists\Type\Iface or Aimeos\MShop\Supplier\Manager\Address\Iface or Aimeos\MShop\Customer\Manager\Address\Iface. 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

277
		$context->config()->apply( $siteManager->/** @scrutinizer ignore-call */ find( $site )->getConfig() );
Loading history...
278
279
        	$paths = $aimeos->getTemplatePaths( 'admin/jqadm/templates', $context->locale()->getSiteItem()->getTheme() );
280
		$view = app( 'aimeos.view' )->create( $context, $paths, $lang );
281
282
		$view->aimeosType = 'Laravel';
283
		$view->aimeosVersion = app( 'aimeos' )->getVersion();
284
		$view->aimeosExtensions = implode( ',', $aimeos->getExtensions() );
285
286
		$context->setView( $view );
287
288
		return \Aimeos\Admin\JQAdm::create( $context, $aimeos, $resource );
289
	}
290
291
292
	/**
293
	 * Returns the generated HTML code
294
	 *
295
	 * @param string $content Content from admin client
296
	 * @return \Illuminate\Contracts\View\View View for rendering the output
297
	 */
298
	protected function getHtml( string $content )
299
	{
300
		$site = Route::input( 'site', Request::get( 'site', config( 'shop.mshop.locale.site', 'default' ) ) );
0 ignored issues
show
Bug introduced by
'shop.mshop.locale.site' of type string is incompatible with the type array expected by parameter $options of config(). ( Ignorable by Annotation )

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

300
		$site = Route::input( 'site', Request::get( 'site', config( /** @scrutinizer ignore-type */ 'shop.mshop.locale.site', 'default' ) ) );
Loading history...
Unused Code introduced by
The call to config() has too many arguments starting with 'default'. ( Ignorable by Annotation )

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

300
		$site = Route::input( 'site', Request::get( 'site', /** @scrutinizer ignore-call */ config( 'shop.mshop.locale.site', 'default' ) ) );

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
301
		$lang = Request::get( 'locale', config( 'app.locale', 'en' ) );
302
303
		return View::make( 'shop::jqadm.index', [
304
			'content' => $content,
305
			'site' => $site,
306
			'locale' => $lang,
307
			'localeDir' => in_array( $lang, ['ar', 'az', 'dv', 'fa', 'he', 'ku', 'ur'] ) ? 'rtl' : 'ltr',
308
			'theme' => ( $_COOKIE['aimeos_backend_theme'] ?? '' ) == 'dark' ? 'dark' : 'light'
309
		] );
310
	}
311
}
312