These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | /** |
||
3 | * HiPanel API client made with HiART. |
||
4 | * |
||
5 | * @link https://github.com/hiqdev/hipanel-hiart |
||
6 | * @package hipanel-hiart |
||
7 | * @license BSD-3-Clause |
||
8 | * @copyright Copyright (c) 2017, HiQDev (http://hiqdev.com/) |
||
9 | */ |
||
10 | |||
11 | namespace hipanel\hiart; |
||
12 | |||
13 | use hiqdev\hiart\AbstractResponse; |
||
14 | use yii\helpers\Json; |
||
15 | |||
16 | /** |
||
17 | * Command for HiPanel API. |
||
18 | */ |
||
19 | class Command extends \hiqdev\hiart\Command |
||
20 | { |
||
21 | public function search($options = []) |
||
22 | { |
||
23 | /** @var AbstractResponse $response */ |
||
24 | $response = parent::search($options); |
||
25 | |||
26 | if ($this->request->getQuery()->getOption('batch')) { |
||
27 | return $response; |
||
28 | } |
||
29 | |||
30 | if ($response->getData() === []) { |
||
31 | return $this->fakeResponseWithData($response, ''); |
||
32 | } |
||
33 | |||
34 | return $this->fakeResponseWithData($response, Json::encode(reset($response->getData()))); |
||
0 ignored issues
–
show
Bug
introduced
by
Loading history...
|
|||
35 | } |
||
36 | |||
37 | private function fakeResponseWithData(AbstractResponse $response, $data) |
||
38 | { |
||
39 | $newResponse = clone $response; |
||
40 | $newResponseReflection = new \ReflectionObject($newResponse); |
||
41 | |||
42 | $isDecodedProperty = $newResponseReflection->getProperty('isDecoded'); |
||
43 | $isDecodedProperty->setAccessible(true); |
||
44 | $isDecodedProperty->setValue($newResponse, false); |
||
45 | $isDecodedProperty->setAccessible(false); |
||
46 | |||
47 | $rawDataProperty = $newResponseReflection->getProperty('rawData'); |
||
48 | $rawDataProperty->setAccessible(true); |
||
49 | $rawDataProperty->setValue($newResponse, $data); |
||
50 | $rawDataProperty->setAccessible(false); |
||
51 | |||
52 | return $newResponse; |
||
53 | } |
||
54 | } |
||
55 |