Completed
Push — master ( 1a7a58...2c4c4b )
by Владислав
04:32 queued 02:20
created
tests/DeCaptchaAbstractTest.php 1 patch
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -19,7 +19,7 @@  discard block
 block discarded – undo
19 19
     public function testGetBaseUrl()
20 20
     {
21 21
         $abstract = $this->newInstance();
22
-        $getBaseUrlCaller = function () {
22
+        $getBaseUrlCaller = function() {
23 23
             $this->host = 'domain';
24 24
 
25 25
             return $this->getBaseUrl();
@@ -28,7 +28,7 @@  discard block
 block discarded – undo
28 28
         $this->assertEquals('http://domain/', $bound());
29 29
 
30 30
         $abstract = $this->newInstance();
31
-        $getBaseUrlCaller = function () {
31
+        $getBaseUrlCaller = function() {
32 32
             $this->host = 'domain';
33 33
             $this->scheme = 'https';
34 34
 
@@ -62,13 +62,13 @@  discard block
 block discarded – undo
62 62
     public function testGetFilePath()
63 63
     {
64 64
         $abstract = $this->newInstance();
65
-        $getFilePathCaller = function ($val) {
65
+        $getFilePathCaller = function($val) {
66 66
             return $this->getFilePath($val);
67 67
         };
68 68
         $bound = $getFilePathCaller->bindTo($abstract, $abstract);
69
-        $this->assertEquals(__DIR__.'/data/Captcha.jpg', $bound(__DIR__.'/data/Captcha.jpg'));
69
+        $this->assertEquals(__DIR__ . '/data/Captcha.jpg', $bound(__DIR__ . '/data/Captcha.jpg'));
70 70
         $filePathUpload = $bound('https://upload.wikimedia.org/wikipedia/commons/6/69/Captcha.jpg');
71
-        $file1 = file_get_contents(__DIR__.'/data/Captcha.jpg');
71
+        $file1 = file_get_contents(__DIR__ . '/data/Captcha.jpg');
72 72
         $file2 = file_get_contents($filePathUpload);
73 73
         $this->assertEquals($file1, $file2);
74 74
     }
@@ -80,11 +80,11 @@  discard block
 block discarded – undo
80 80
     public function testGetFilePathErrorFileNotFound()
81 81
     {
82 82
         $abstract = $this->newInstance();
83
-        $getFilePathCaller = function ($val) {
83
+        $getFilePathCaller = function($val) {
84 84
             return $this->getFilePath($val);
85 85
         };
86 86
         $bound = $getFilePathCaller->bindTo($abstract, $abstract);
87
-        $bound(__DIR__.'/data/Captcha1.jpg');
87
+        $bound(__DIR__ . '/data/Captcha1.jpg');
88 88
     }
89 89
 
90 90
     /**
@@ -95,7 +95,7 @@  discard block
 block discarded – undo
95 95
     public function testGetFilePathErrorFileIsNotLoaded()
96 96
     {
97 97
         $abstract = $this->newInstance();
98
-        $getFilePathCaller = function ($val) {
98
+        $getFilePathCaller = function($val) {
99 99
             return $this->getFilePath($val);
100 100
         };
101 101
         $bound = $getFilePathCaller->bindTo($abstract, $abstract);
@@ -117,7 +117,7 @@  discard block
 block discarded – undo
117 117
     public function testExecutionDelayed()
118 118
     {
119 119
         $abstract = $this->newInstance();
120
-        $executionDelayedCaller = function ($second, $call = null) {
120
+        $executionDelayedCaller = function($second, $call = null) {
121 121
             return $this->executionDelayed($second, $call);
122 122
         };
123 123
         $bound = $executionDelayedCaller->bindTo($abstract, $abstract);
@@ -128,7 +128,7 @@  discard block
 block discarded – undo
128 128
         $this->assertTrue(abs($timePassed - 0.1) < 0.035);
129 129
 
130 130
         $start = microtime(true);
131
-        $bound(0.15, function () {
131
+        $bound(0.15, function() {
132 132
             sleep(0.2);
133 133
         });
134 134
         $bound(0.1);
@@ -136,14 +136,14 @@  discard block
 block discarded – undo
136 136
         $this->assertTrue(abs($timePassed - 0.25) < 0.035);
137 137
 
138 138
         $start = microtime(true);
139
-        $bound(0.15, function () {
139
+        $bound(0.15, function() {
140 140
             sleep(0.2);
141 141
         });
142 142
         $bound(0.3);
143 143
         $timePassed = microtime(true) - $start;
144 144
         $this->assertTrue(abs($timePassed - 0.45) < 0.035);
145 145
 
146
-        $this->assertEquals(2, $bound(0, function () {
146
+        $this->assertEquals(2, $bound(0, function() {
147 147
             return 2;
148 148
         }));
149 149
         $this->assertEquals(null, $bound(0));
Please login to merge, or discard this patch.
tests/AnticaptchaTest.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
             \jumper423\decaptcha\services\Anticaptcha::PARAM_SPEC_API_KEY => '5464654645646',
12 12
         ]);
13 13
         $captcha->setErrorLang(\jumper423\decaptcha\core\DeCaptchaErrors::LANG_RU);
14
-        if ($captcha->recognize(__DIR__.'/data/Captcha.jpg')) {
14
+        if ($captcha->recognize(__DIR__ . '/data/Captcha.jpg')) {
15 15
             $this->assertEquals('11111111111111', $captcha->getCode());
16 16
         } else {
17 17
             $this->assertEquals('Использован несуществующий key', $captcha->getError());
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
25 25
             \jumper423\decaptcha\services\Anticaptcha::ACTION_FIELD_LANGUAGE => 'ru',
26 26
         ]);
27 27
         $captcha->setErrorLang(\jumper423\decaptcha\core\DeCaptchaErrors::LANG_RU);
28
-        if ($captcha->recognize(__DIR__.'/data/Captcha.jpg')) {
28
+        if ($captcha->recognize(__DIR__ . '/data/Captcha.jpg')) {
29 29
             $this->assertEquals('11111111111111', $captcha->getCode());
30 30
         } else {
31 31
             $this->assertEquals('Нет в допустимых значиниях поля: languagePool = ru', $captcha->getError());
Please login to merge, or discard this patch.
src/core/DeCaptchaAbstract.php 1 patch
Spacing   +6 added lines, -7 removed lines patch added patch discarded remove patch
@@ -101,8 +101,7 @@  discard block
 block discarded – undo
101 101
         }
102 102
         $decodeSetting = $this->decodeSettings[static::DECODE_ACTION][$action];
103 103
         $decodeFormat = array_key_exists(static::DECODE_FORMAT, $decodeSetting) ?
104
-            $decodeSetting[static::DECODE_FORMAT] :
105
-            $this->decodeSettings[static::DECODE_FORMAT];
104
+            $decodeSetting[static::DECODE_FORMAT] : $this->decodeSettings[static::DECODE_FORMAT];
106 105
         $values = [];
107 106
         switch ($decodeFormat) {
108 107
             case static::RESPONSE_TYPE_STRING:
@@ -179,7 +178,7 @@  discard block
 block discarded – undo
179 178
      */
180 179
     protected function getActionUrl($action)
181 180
     {
182
-        return $this->getBaseUrl().$this->actions[$action][static::ACTION_URI];
181
+        return $this->getBaseUrl() . $this->actions[$action][static::ACTION_URI];
183 182
     }
184 183
 
185 184
     /**
@@ -229,7 +228,7 @@  discard block
 block discarded – undo
229 228
                         return base64_encode(file_get_contents($this->params[$param]));
230 229
                 }
231 230
 
232
-                return (version_compare(PHP_VERSION, '5.5.0') >= 0) ? new \CURLFile($this->getFilePath($this->params[$param])) : '@'.$this->getFilePath($this->params[$param]);
231
+                return (version_compare(PHP_VERSION, '5.5.0') >= 0) ? new \CURLFile($this->getFilePath($this->params[$param])) : '@' . $this->getFilePath($this->params[$param]);
233 232
             case static::PARAM_SPEC_API_KEY:
234 233
                 return is_callable($this->params[$param]) ? $this->params[$param]() : $this->params[$param];
235 234
             case static::PARAM_SPEC_CAPTCHA:
@@ -296,7 +295,7 @@  discard block
 block discarded – undo
296 295
                         break;
297 296
                 }
298 297
                 if (array_key_exists(self::PARAM_SLUG_ENUM, $settings) && !in_array($value, $settings[static::PARAM_SLUG_ENUM])) {
299
-                    throw new DeCaptchaErrors(DeCaptchaErrors::ERROR_PARAM_ENUM, (array_key_exists($field, $this->paramsNames) ? $this->paramsNames[$field] : $field).' = '.$value, $this->errorLang);
298
+                    throw new DeCaptchaErrors(DeCaptchaErrors::ERROR_PARAM_ENUM, (array_key_exists($field, $this->paramsNames) ? $this->paramsNames[$field] : $field) . ' = ' . $value, $this->errorLang);
300 299
                 }
301 300
                 $params[$this->paramsNames[$field]] = $value;
302 301
             }
@@ -360,7 +359,7 @@  discard block
 block discarded – undo
360 359
             foreach ($data as $key => $value) {
361 360
                 $uri[] = "$key=$value";
362 361
             }
363
-            $url .= '?'.implode('&', $uri);
362
+            $url .= '?' . implode('&', $uri);
364 363
         }
365 364
         curl_setopt($ch, CURLOPT_URL, $url);
366 365
         if (!$isJson && version_compare(PHP_VERSION, '5.5.0') >= 0 && version_compare(PHP_VERSION, '7.0') < 0 && defined('CURLOPT_SAFE_UPLOAD')) {
@@ -378,7 +377,7 @@  discard block
 block discarded – undo
378 377
             curl_setopt($ch, CURLOPT_HTTPHEADER, [
379 378
                 'Content-Type: application/json; charset=utf-8',
380 379
                 'Accept: application/json',
381
-                'Content-Length: '.strlen($data),
380
+                'Content-Length: ' . strlen($data),
382 381
             ]);
383 382
         }
384 383
         $result = curl_exec($ch);
Please login to merge, or discard this patch.
tests/wiki.php 2 patches
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -1,14 +1,14 @@
 block discarded – undo
1 1
 <?php
2 2
 
3
-include_once __DIR__.'/../src/core/DeCaptchaErrors.php';
4
-include_once __DIR__.'/../src/core/DeCaptchaInterface.php';
5
-include_once __DIR__.'/../src/core/DeCaptchaAbstract.php';
6
-include_once __DIR__.'/../src/core/DeCaptchaBase.php';
7
-include_once __DIR__.'/../src/services/RuCaptcha.php';
8
-include_once __DIR__.'/../src/services/Anticaptcha.php';
9
-include_once __DIR__.'/../src/services/AnticaptchaReCaptchaProxeless.php';
10
-include_once __DIR__.'/../src/services/AnticaptchaReCaptcha.php';
11
-include_once __DIR__.'/../src/core/DeCaptchaWiki.php';
3
+include_once __DIR__ . '/../src/core/DeCaptchaErrors.php';
4
+include_once __DIR__ . '/../src/core/DeCaptchaInterface.php';
5
+include_once __DIR__ . '/../src/core/DeCaptchaAbstract.php';
6
+include_once __DIR__ . '/../src/core/DeCaptchaBase.php';
7
+include_once __DIR__ . '/../src/services/RuCaptcha.php';
8
+include_once __DIR__ . '/../src/services/Anticaptcha.php';
9
+include_once __DIR__ . '/../src/services/AnticaptchaReCaptchaProxeless.php';
10
+include_once __DIR__ . '/../src/services/AnticaptchaReCaptcha.php';
11
+include_once __DIR__ . '/../src/core/DeCaptchaWiki.php';
12 12
 
13 13
 $rr = new \jumper423\decaptcha\core\DeCaptchaWiki();
14 14
 $rr->view();
Please login to merge, or discard this patch.
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -12,8 +12,8 @@
 block discarded – undo
12 12
 
13 13
 foreach (['ru', 'en'] as $lang) {
14 14
     foreach ([
15
-                 new \jumper423\decaptcha\services\RuCaptcha([]),
16
-             ] as $class) {
15
+                    new \jumper423\decaptcha\services\RuCaptcha([]),
16
+                ] as $class) {
17 17
         $tt = $class->getWiki($lang);
18 18
         $tt->save();
19 19
     }
Please login to merge, or discard this patch.
src/core/DeCaptchaWiki.php 2 patches
Doc Comments   +10 added lines, -1 removed lines patch added patch discarded remove patch
@@ -14,11 +14,17 @@  discard block
 block discarded – undo
14 14
     private $class;
15 15
     private $lang = 'en';
16 16
 
17
+    /**
18
+     * @param string $lang
19
+     */
17 20
     public function setLang($lang)
18 21
     {
19 22
         $this->lang = $lang;
20 23
     }
21 24
 
25
+    /**
26
+     * @param DeCaptchaBase $class
27
+     */
22 28
     public function __construct($class)
23 29
     {
24 30
         $this->class = $class;
@@ -251,7 +257,7 @@  discard block
 block discarded – undo
251 257
     }
252 258
 
253 259
     /**
254
-     * @param string|array $name
260
+     * @param string[] $name
255 261
      * @param string       $separator
256 262
      *
257 263
      * @return string|array
@@ -397,6 +403,9 @@  discard block
 block discarded – undo
397 403
         return $str;
398 404
     }
399 405
 
406
+    /**
407
+     * @param string $keyMask
408
+     */
400 409
     private function getNameConst($keyMask, $value)
401 410
     {
402 411
         $constants = (new \ReflectionClass($this->class))->getConstants();
Please login to merge, or discard this patch.
Spacing   +132 added lines, -132 removed lines patch added patch discarded remove patch
@@ -31,160 +31,160 @@  discard block
 block discarded – undo
31 31
             'recognize_data'      => [
32 32
                 ($this->class)::ACTION_FIELD_FILE => 'http://site.com/captcha.jpg',
33 33
             ],
34
-            'field_main_name_'.($this->class)::ACTION_FIELD_KEY => [
34
+            'field_main_name_' . ($this->class)::ACTION_FIELD_KEY => [
35 35
                 'ru' => 'Ключ',
36 36
             ],
37
-            'field_main_desc_'.($this->class)::ACTION_FIELD_KEY => [
37
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_KEY => [
38 38
                 'ru' => 'Ключ от учетной записи',
39 39
             ],
40
-            'field_main_name_'.($this->class)::ACTION_FIELD_LANGUAGE => [
40
+            'field_main_name_' . ($this->class)::ACTION_FIELD_LANGUAGE => [
41 41
                 'ru' => 'Язык',
42 42
             ],
43
-            'field_main_desc_'.($this->class)::ACTION_FIELD_LANGUAGE => [
43
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_LANGUAGE => [
44 44
                 'ru' => 'На каком языке текст на капче',
45 45
             ],
46
-            'field_main_name_'.($this->class)::ACTION_FIELD_FILE => [
46
+            'field_main_name_' . ($this->class)::ACTION_FIELD_FILE => [
47 47
                 'ru' => 'Картинка',
48 48
             ],
49
-            'field_main_desc_'.($this->class)::ACTION_FIELD_FILE => [
49
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_FILE => [
50 50
                 'ru' => 'Путь на файл с картинкой или ссылка на него',
51 51
             ],
52
-            'field_main_name_'.($this->class)::ACTION_FIELD_PHRASE => [
52
+            'field_main_name_' . ($this->class)::ACTION_FIELD_PHRASE => [
53 53
                 'ru' => 'Несколько слов',
54 54
             ],
55
-            'field_main_desc_'.($this->class)::ACTION_FIELD_PHRASE => [
55
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_PHRASE => [
56 56
                 'ru' => 'Работник должен ввести текст с одним или несколькими пробелами',
57 57
             ],
58
-            'field_main_name_'.($this->class)::ACTION_FIELD_REGSENSE => [
58
+            'field_main_name_' . ($this->class)::ACTION_FIELD_REGSENSE => [
59 59
                 'ru' => 'Регистр',
60 60
             ],
61
-            'field_main_desc_'.($this->class)::ACTION_FIELD_REGSENSE => [
61
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_REGSENSE => [
62 62
                 'ru' => 'Работник должен ввсести ответ с учетом регистра',
63 63
             ],
64
-            'field_main_name_'.($this->class)::ACTION_FIELD_NUMERIC => [
64
+            'field_main_name_' . ($this->class)::ACTION_FIELD_NUMERIC => [
65 65
                 'ru' => 'Символы',
66 66
             ],
67
-            'field_main_desc_'.($this->class)::ACTION_FIELD_NUMERIC => [
67
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_NUMERIC => [
68 68
                 'ru' => 'Какие символы используется в капче',
69 69
             ],
70
-            'field_main_name_'.($this->class)::ACTION_FIELD_CALC => [
70
+            'field_main_name_' . ($this->class)::ACTION_FIELD_CALC => [
71 71
                 'ru' => 'Вычисление',
72 72
             ],
73
-            'field_main_desc_'.($this->class)::ACTION_FIELD_CALC => [
73
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_CALC => [
74 74
                 'ru' => 'На капче изображенно математичекая выражение и её необходимо решить',
75 75
             ],
76
-            'field_main_name_'.($this->class)::ACTION_FIELD_MIN_LEN => [
76
+            'field_main_name_' . ($this->class)::ACTION_FIELD_MIN_LEN => [
77 77
                 'ru' => 'Длина min',
78 78
             ],
79
-            'field_main_desc_'.($this->class)::ACTION_FIELD_MIN_LEN => [
79
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_MIN_LEN => [
80 80
                 'ru' => 'Минимальная длина капчи',
81 81
             ],
82
-            'field_main_name_'.($this->class)::ACTION_FIELD_MAX_LEN => [
82
+            'field_main_name_' . ($this->class)::ACTION_FIELD_MAX_LEN => [
83 83
                 'ru' => 'Длина max',
84 84
             ],
85
-            'field_main_desc_'.($this->class)::ACTION_FIELD_MAX_LEN => [
85
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_MAX_LEN => [
86 86
                 'ru' => 'Максимальная длина капчи',
87 87
             ],
88
-            'field_main_name_'.($this->class)::ACTION_FIELD_QUESTION => [
88
+            'field_main_name_' . ($this->class)::ACTION_FIELD_QUESTION => [
89 89
                 'ru' => 'Вопрос',
90 90
             ],
91
-            'field_main_desc_'.($this->class)::ACTION_FIELD_QUESTION => [
91
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_QUESTION => [
92 92
                 'ru' => 'На изображении задан вопрос, работник должен написать ответ',
93 93
             ],
94
-            'field_main_name_'.($this->class)::ACTION_FIELD_IS_RUSSIAN => [
94
+            'field_main_name_' . ($this->class)::ACTION_FIELD_IS_RUSSIAN => [
95 95
                 'ru' => 'Кириллица',
96 96
             ],
97
-            'field_main_desc_'.($this->class)::ACTION_FIELD_IS_RUSSIAN => [
97
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_IS_RUSSIAN => [
98 98
                 'ru' => 'На изображении присутствуют русские символы',
99 99
             ],
100
-            'field_main_name_'.($this->class)::ACTION_FIELD_LANGUAGE => [
100
+            'field_main_name_' . ($this->class)::ACTION_FIELD_LANGUAGE => [
101 101
                 'ru' => 'Язык',
102 102
             ],
103
-            'field_main_desc_'.($this->class)::ACTION_FIELD_LANGUAGE => [
103
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_LANGUAGE => [
104 104
                 'ru' => 'Символы какого языка размещенны на капче',
105 105
             ],
106
-            'field_main_name_'.($this->class)::ACTION_FIELD_HEADER_ACAO => [
106
+            'field_main_name_' . ($this->class)::ACTION_FIELD_HEADER_ACAO => [
107 107
                 'ru' => 'Кросс-доменный',
108 108
             ],
109
-            'field_main_desc_'.($this->class)::ACTION_FIELD_HEADER_ACAO => [
109
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_HEADER_ACAO => [
110 110
                 'ru' => 'Необходимо для кросс-доменных AJAX запросов в браузерных приложениях.',
111 111
             ],
112
-            'field_main_name_'.($this->class)::ACTION_FIELD_INSTRUCTIONS => [
112
+            'field_main_name_' . ($this->class)::ACTION_FIELD_INSTRUCTIONS => [
113 113
                 'ru' => 'Инструкция',
114 114
             ],
115
-            'field_main_desc_'.($this->class)::ACTION_FIELD_INSTRUCTIONS => [
115
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_INSTRUCTIONS => [
116 116
                 'ru' => 'Текстовая капча или инструкция для прохождения капчи.',
117 117
             ],
118
-            'field_main_name_'.($this->class)::ACTION_FIELD_PINGBACK => [
118
+            'field_main_name_' . ($this->class)::ACTION_FIELD_PINGBACK => [
119 119
                 'ru' => 'Ответ на',
120 120
             ],
121
-            'field_main_desc_'.($this->class)::ACTION_FIELD_PINGBACK => [
121
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_PINGBACK => [
122 122
                 'ru' => 'Указание для сервера, что после распознания изображения, нужно отправить ответ на указанный адрес.',
123 123
             ],
124
-            'field_main_name_'.($this->class)::ACTION_FIELD_LABEL => [
124
+            'field_main_name_' . ($this->class)::ACTION_FIELD_LABEL => [
125 125
                 'ru' => 'От куда',
126 126
             ],
127
-            'field_main_desc_'.($this->class)::ACTION_FIELD_LABEL => [
127
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_LABEL => [
128 128
                 'ru' => 'Пояснение от куда пришла капча ("vk", "google", "recaptcha", "yandex", "mailru", "yahoo" и т.д.).',
129 129
             ],
130
-            'field_main_name_'.($this->class)::ACTION_FIELD_PAGEURL => [
130
+            'field_main_name_' . ($this->class)::ACTION_FIELD_PAGEURL => [
131 131
                 'ru' => 'Адрес',
132 132
             ],
133
-            'field_main_desc_'.($this->class)::ACTION_FIELD_PAGEURL => [
133
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_PAGEURL => [
134 134
                 'ru' => 'Адрес страницы на которой решается капча.',
135 135
             ],
136
-            'field_main_name_'.($this->class)::ACTION_FIELD_GOOGLEKEY => [
136
+            'field_main_name_' . ($this->class)::ACTION_FIELD_GOOGLEKEY => [
137 137
                 'ru' => 'Google key',
138 138
             ],
139
-            'field_main_desc_'.($this->class)::ACTION_FIELD_GOOGLEKEY => [
139
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_GOOGLEKEY => [
140 140
                 'ru' => 'Ключ-индентификатор рекапчи на целевой странице. <div class="g-recaptcha" data-sitekey="ВОТ_ЭТОТ"></div>',
141 141
             ],
142
-            'field_main_name_'.($this->class)::ACTION_FIELD_GOOGLETOKEN => [
142
+            'field_main_name_' . ($this->class)::ACTION_FIELD_GOOGLETOKEN => [
143 143
                 'ru' => 'Google token',
144 144
             ],
145
-            'field_main_desc_'.($this->class)::ACTION_FIELD_GOOGLETOKEN => [
145
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_GOOGLETOKEN => [
146 146
                 'ru' => 'Секретный токен для предыдущей версии рекапчи. В большинстве случаев сайты используют новую версию и этот токен не требуется. Секретный токен генерируется на сервере Google и вставляется на страницу в атрибуте data-stoken. Выглядит это примерно так: <script type="text/javascript" src="...." data-type="normal"  data-ray="..." async data-sitekey="..." data-stoken="ВОТ_ЭТОТ"></script> Токен действует пару минут после генерации, затем нужно снова зайти на страницу и получить его.',
147 147
             ],
148
-            'field_main_name_'.($this->class)::ACTION_FIELD_PROXYTYPE => [
148
+            'field_main_name_' . ($this->class)::ACTION_FIELD_PROXYTYPE => [
149 149
                 'ru' => 'Тип прокси',
150 150
             ],
151
-            'field_main_desc_'.($this->class)::ACTION_FIELD_PROXYTYPE => [
151
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_PROXYTYPE => [
152 152
                 'ru' => 'Тип прокси (http, socks4, ...)',
153 153
             ],
154
-            'field_main_name_'.($this->class)::ACTION_FIELD_PROXY => [
154
+            'field_main_name_' . ($this->class)::ACTION_FIELD_PROXY => [
155 155
                 'ru' => 'Адрес прокси',
156 156
             ],
157
-            'field_main_desc_'.($this->class)::ACTION_FIELD_PROXY => [
157
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_PROXY => [
158 158
                 'ru' => 'IP адрес прокси ipv4/ipv6.',
159 159
             ],
160
-            'field_main_name_'.($this->class)::ACTION_FIELD_PROXYPORT => [
160
+            'field_main_name_' . ($this->class)::ACTION_FIELD_PROXYPORT => [
161 161
                 'ru' => 'Порт прокси',
162 162
             ],
163
-            'field_main_desc_'.($this->class)::ACTION_FIELD_PROXYPORT => [
163
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_PROXYPORT => [
164 164
                 'ru' => 'Порт прокси.',
165 165
             ],
166
-            'field_main_name_'.($this->class)::ACTION_FIELD_PROXYLOGIN => [
166
+            'field_main_name_' . ($this->class)::ACTION_FIELD_PROXYLOGIN => [
167 167
                 'ru' => 'Логин прокси',
168 168
             ],
169
-            'field_main_desc_'.($this->class)::ACTION_FIELD_PROXYLOGIN => [
169
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_PROXYLOGIN => [
170 170
                 'ru' => 'Логин от прокси-сервера.',
171 171
             ],
172
-            'field_main_name_'.($this->class)::ACTION_FIELD_PROXYPASS => [
172
+            'field_main_name_' . ($this->class)::ACTION_FIELD_PROXYPASS => [
173 173
                 'ru' => 'Пароль прокси',
174 174
             ],
175
-            'field_main_desc_'.($this->class)::ACTION_FIELD_PROXYPASS => [
175
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_PROXYPASS => [
176 176
                 'ru' => 'Пароль от прокси-сервера.',
177 177
             ],
178
-            'field_main_name_'.($this->class)::ACTION_FIELD_USERAGENT => [
178
+            'field_main_name_' . ($this->class)::ACTION_FIELD_USERAGENT => [
179 179
                 'ru' => 'User-Agent браузера',
180 180
             ],
181
-            'field_main_desc_'.($this->class)::ACTION_FIELD_USERAGENT => [
181
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_USERAGENT => [
182 182
                 'ru' => 'User-Agent браузера, используемый в эмуляции. Необходимо использовать подпись современного браузера, иначе Google будет возвращать ошибку, требуя обновить браузер.',
183 183
             ],
184
-            'field_main_name_'.($this->class)::ACTION_FIELD_COOKIES => [
184
+            'field_main_name_' . ($this->class)::ACTION_FIELD_COOKIES => [
185 185
                 'ru' => 'Куки',
186 186
             ],
187
-            'field_main_desc_'.($this->class)::ACTION_FIELD_COOKIES => [
187
+            'field_main_desc_' . ($this->class)::ACTION_FIELD_COOKIES => [
188 188
                 'ru' => 'Дополнительные cookies которые мы должны использовать во время взаимодействия с целевой страницей.',
189 189
             ],
190 190
             'table_th_name' => [
@@ -304,7 +304,7 @@  discard block
 block discarded – undo
304 304
      */
305 305
     public function getText($name, $separator = '; ')
306 306
     {
307
-        $getResult = function ($name, $texts) {
307
+        $getResult = function($name, $texts) {
308 308
             if (is_array($name)) {
309 309
                 $name = implode('_', $name);
310 310
             }
@@ -333,17 +333,17 @@  discard block
 block discarded – undo
333 333
 
334 334
     private function viewInstall()
335 335
     {
336
-        $str = "{$this->getText(['install', 'preferred'])} [composer](http://getcomposer.org/download/).".PHP_EOL;
336
+        $str = "{$this->getText(['install', 'preferred'])} [composer](http://getcomposer.org/download/)." . PHP_EOL;
337 337
         $str .= PHP_EOL;
338
-        $str .= "{$this->getText(['install', 'start'])}".PHP_EOL;
339
-        $str .= '```'.PHP_EOL;
340
-        $str .= 'php composer.phar require --prefer-dist jumper423/decaptcha "*"'.PHP_EOL;
341
-        $str .= '```'.PHP_EOL;
342
-        $str .= "{$this->getText(['install', 'add'])}".PHP_EOL;
343
-        $str .= '```'.PHP_EOL;
344
-        $str .= '"jumper423/decaptcha": "*"'.PHP_EOL;
345
-        $str .= '```'.PHP_EOL;
346
-        $str .= "{$this->getText(['install', 'add', 'file'])} `composer.json`.".PHP_EOL;
338
+        $str .= "{$this->getText(['install', 'start'])}" . PHP_EOL;
339
+        $str .= '```' . PHP_EOL;
340
+        $str .= 'php composer.phar require --prefer-dist jumper423/decaptcha "*"' . PHP_EOL;
341
+        $str .= '```' . PHP_EOL;
342
+        $str .= "{$this->getText(['install', 'add'])}" . PHP_EOL;
343
+        $str .= '```' . PHP_EOL;
344
+        $str .= '"jumper423/decaptcha": "*"' . PHP_EOL;
345
+        $str .= '```' . PHP_EOL;
346
+        $str .= "{$this->getText(['install', 'add', 'file'])} `composer.json`." . PHP_EOL;
347 347
 
348 348
         return $str;
349 349
     }
@@ -352,12 +352,12 @@  discard block
 block discarded – undo
352 352
     {
353 353
         $rc = (new \ReflectionClass($this->class));
354 354
 
355
-        $str = "#####{$this->getText(['example', 'initialization'])}".PHP_EOL;
356
-        $str .= "{$this->getText(['example', 'initialization', 'desc'])}".PHP_EOL;
357
-        $str .= '```'.PHP_EOL;
358
-        $str .= "use {$rc->getName()};".PHP_EOL;
359
-        $str .= ''.PHP_EOL;
360
-        $str .= '$captcha = new '.$rc->getShortName().'(['.PHP_EOL;
355
+        $str = "#####{$this->getText(['example', 'initialization'])}" . PHP_EOL;
356
+        $str .= "{$this->getText(['example', 'initialization', 'desc'])}" . PHP_EOL;
357
+        $str .= '```' . PHP_EOL;
358
+        $str .= "use {$rc->getName()};" . PHP_EOL;
359
+        $str .= '' . PHP_EOL;
360
+        $str .= '$captcha = new ' . $rc->getShortName() . '([' . PHP_EOL;
361 361
         foreach ($this->texts['constructor_data'] as $key => $val) {
362 362
             $str .= "    {$rc->getShortName()}::{$this->getNameConst('ACTION_FIELD_', $key)} => ";
363 363
             if (is_string($val)) {
@@ -365,14 +365,14 @@  discard block
 block discarded – undo
365 365
             } else {
366 366
                 $str .= "{$val}";
367 367
             }
368
-            $str .= ','.PHP_EOL;
368
+            $str .= ',' . PHP_EOL;
369 369
         }
370
-        $str .= ']);'.PHP_EOL;
371
-        $str .= '```'.PHP_EOL;
370
+        $str .= ']);' . PHP_EOL;
371
+        $str .= '```' . PHP_EOL;
372 372
 
373
-        $str .= "#####{$this->getText(['example', 'recognize'])}".PHP_EOL;
374
-        $str .= "{$this->getText(['example', 'recognize', 'desc'])}".PHP_EOL;
375
-        $str .= '```'.PHP_EOL;
373
+        $str .= "#####{$this->getText(['example', 'recognize'])}" . PHP_EOL;
374
+        $str .= "{$this->getText(['example', 'recognize', 'desc'])}" . PHP_EOL;
375
+        $str .= '```' . PHP_EOL;
376 376
         $str .= 'if ($captcha->recognize(';
377 377
         if ($this->texts['recognize_file']) {
378 378
             $str .= "'{$this->getText(['recognize', 'data', 'file'])}'";
@@ -381,7 +381,7 @@  discard block
 block discarded – undo
381 381
             if ($this->texts['recognize_file']) {
382 382
                 $str .= ', ';
383 383
             }
384
-            $str .= '['.PHP_EOL;
384
+            $str .= '[' . PHP_EOL;
385 385
             foreach ($this->texts['recognize_data'] as $key => $val) {
386 386
                 $str .= "    {$rc->getShortName()}::{$this->getNameConst('ACTION_FIELD_', $key)} => ";
387 387
                 if (is_string($val)) {
@@ -389,46 +389,46 @@  discard block
 block discarded – undo
389 389
                 } else {
390 390
                     $str .= "{$val}";
391 391
                 }
392
-                $str .= ','.PHP_EOL;
392
+                $str .= ',' . PHP_EOL;
393 393
             }
394 394
             $str .= ']';
395 395
         }
396
-        $str .= ')) {'.PHP_EOL;
397
-        $str .= '    $code = $captcha->getCode();'.PHP_EOL;
398
-        $str .= '} else {'.PHP_EOL;
399
-        $str .= '    $error = $captcha->getError());'.PHP_EOL;
400
-        $str .= '}'.PHP_EOL;
401
-        $str .= '```'.PHP_EOL;
396
+        $str .= ')) {' . PHP_EOL;
397
+        $str .= '    $code = $captcha->getCode();' . PHP_EOL;
398
+        $str .= '} else {' . PHP_EOL;
399
+        $str .= '    $error = $captcha->getError());' . PHP_EOL;
400
+        $str .= '}' . PHP_EOL;
401
+        $str .= '```' . PHP_EOL;
402 402
 
403 403
         if (in_array('notTrue', get_class_methods($this->class))) {
404
-            $str .= "#####{$this->getText(['example', 'nottrue'])}".PHP_EOL;
405
-            $str .= "{$this->getText(['example', 'nottrue', 'desc'])}".PHP_EOL;
406
-            $str .= '```'.PHP_EOL;
407
-            $str .= '$captcha->notTrue();'.PHP_EOL;
408
-            $str .= '```'.PHP_EOL;
404
+            $str .= "#####{$this->getText(['example', 'nottrue'])}" . PHP_EOL;
405
+            $str .= "{$this->getText(['example', 'nottrue', 'desc'])}" . PHP_EOL;
406
+            $str .= '```' . PHP_EOL;
407
+            $str .= '$captcha->notTrue();' . PHP_EOL;
408
+            $str .= '```' . PHP_EOL;
409 409
         }
410 410
 
411 411
         if (in_array('getBalance', get_class_methods($this->class))) {
412
-            $str .= "#####{$this->getText(['example', 'balance'])}".PHP_EOL;
413
-            $str .= '```'.PHP_EOL;
414
-            $str .= '$balance = $captcha->getBalance();'.PHP_EOL;
415
-            $str .= '```'.PHP_EOL;
412
+            $str .= "#####{$this->getText(['example', 'balance'])}" . PHP_EOL;
413
+            $str .= '```' . PHP_EOL;
414
+            $str .= '$balance = $captcha->getBalance();' . PHP_EOL;
415
+            $str .= '```' . PHP_EOL;
416 416
         }
417 417
 
418 418
         if ($this->getText(['example', 'error', 'lang', 'if'])) {
419
-            $str .= "#####{$this->getText(['example', 'error', 'lang'])}".PHP_EOL;
420
-            $str .= "{$this->getText(['example', 'error', 'lang', 'desc'])}".PHP_EOL;
421
-            $str .= '```'.PHP_EOL;
422
-            $str .= '$captcha->setErrorLang(\jumper423\decaptcha\core\DeCaptchaErrors::LANG_RU);'.PHP_EOL;
423
-            $str .= '```'.PHP_EOL;
419
+            $str .= "#####{$this->getText(['example', 'error', 'lang'])}" . PHP_EOL;
420
+            $str .= "{$this->getText(['example', 'error', 'lang', 'desc'])}" . PHP_EOL;
421
+            $str .= '```' . PHP_EOL;
422
+            $str .= '$captcha->setErrorLang(\jumper423\decaptcha\core\DeCaptchaErrors::LANG_RU);' . PHP_EOL;
423
+            $str .= '```' . PHP_EOL;
424 424
         }
425 425
 
426
-        $str .= "#####{$this->getText(['example', 'error', 'interception'])}".PHP_EOL;
427
-        $str .= "{$this->getText(['example', 'error', 'interception', 'desc'])}".PHP_EOL;
428
-        $str .= '```'.PHP_EOL;
429
-        $str .= '$captcha->setCauseAnError(true);'.PHP_EOL;
426
+        $str .= "#####{$this->getText(['example', 'error', 'interception'])}" . PHP_EOL;
427
+        $str .= "{$this->getText(['example', 'error', 'interception', 'desc'])}" . PHP_EOL;
428
+        $str .= '```' . PHP_EOL;
429
+        $str .= '$captcha->setCauseAnError(true);' . PHP_EOL;
430 430
         $str .= PHP_EOL;
431
-        $str .= 'try {'.PHP_EOL;
431
+        $str .= 'try {' . PHP_EOL;
432 432
         $str .= '    $captcha->recognize(';
433 433
         if ($this->texts['recognize_file']) {
434 434
             $str .= "'{$this->getText(['recognize', 'data', 'file'])}'";
@@ -437,7 +437,7 @@  discard block
 block discarded – undo
437 437
             if ($this->texts['recognize_file']) {
438 438
                 $str .= ', ';
439 439
             }
440
-            $str .= '['.PHP_EOL;
440
+            $str .= '[' . PHP_EOL;
441 441
             foreach ($this->texts['recognize_data'] as $key => $val) {
442 442
                 $str .= "       {$rc->getShortName()}::{$this->getNameConst('ACTION_FIELD_', $key)} => ";
443 443
                 if (is_string($val)) {
@@ -445,24 +445,24 @@  discard block
 block discarded – undo
445 445
                 } else {
446 446
                     $str .= "{$val}";
447 447
                 }
448
-                $str .= ','.PHP_EOL;
448
+                $str .= ',' . PHP_EOL;
449 449
             }
450 450
             $str .= '    ]';
451 451
         }
452
-        $str .= ');'.PHP_EOL;
453
-        $str .= '    $code = $captcha->getCode();'.PHP_EOL;
454
-        $str .= '} catch (\jumper423\decaptcha\core\DeCaptchaErrors $e) {'.PHP_EOL;
455
-        $str .= '    ...'.PHP_EOL;
456
-        $str .= '}'.PHP_EOL;
457
-        $str .= '```'.PHP_EOL;
452
+        $str .= ');' . PHP_EOL;
453
+        $str .= '    $code = $captcha->getCode();' . PHP_EOL;
454
+        $str .= '} catch (\jumper423\decaptcha\core\DeCaptchaErrors $e) {' . PHP_EOL;
455
+        $str .= '    ...' . PHP_EOL;
456
+        $str .= '}' . PHP_EOL;
457
+        $str .= '```' . PHP_EOL;
458 458
 
459 459
         return $str;
460 460
     }
461 461
 
462 462
     private function viewFields()
463 463
     {
464
-        $str = " {$this->getText(['table', 'th', 'name'])} | {$this->getText(['table', 'th', 'code'])} | {$this->getText(['table', 'th', 'type'])} | {$this->getText(['table', 'th', 'req'])} | {$this->getText(['table', 'th', 'def'])} | {$this->getText(['table', 'th', 'enum'])} | {$this->getText(['table', 'th', 'desc'])} ".PHP_EOL;
465
-        $str .= ' --- | --- | --- | --- | --- | --- | --- '.PHP_EOL;
464
+        $str = " {$this->getText(['table', 'th', 'name'])} | {$this->getText(['table', 'th', 'code'])} | {$this->getText(['table', 'th', 'type'])} | {$this->getText(['table', 'th', 'req'])} | {$this->getText(['table', 'th', 'def'])} | {$this->getText(['table', 'th', 'enum'])} | {$this->getText(['table', 'th', 'desc'])} " . PHP_EOL;
465
+        $str .= ' --- | --- | --- | --- | --- | --- | --- ' . PHP_EOL;
466 466
         foreach ($this->class->actions[($this->class)::ACTION_RECOGNIZE][($this->class)::ACTION_FIELDS] as $param => $setting) {
467 467
             if (array_key_exists(($this->class)::ACTION_FIELDS, $setting) && is_array($setting[($this->class)::ACTION_FIELDS])) {
468 468
                 foreach ($setting[($this->class)::ACTION_FIELDS] as $param1 => $setting1) {
@@ -485,9 +485,9 @@  discard block
 block discarded – undo
485 485
     {
486 486
         $str = " {$this->getText(['field', 'main', 'name', $param])} |";
487 487
         $str .= " {$this->getNameConst('ACTION_FIELD_', $param)} |";
488
-        $str .= ' '.substr($this->getNameConst('PARAM_FIELD_TYPE_', $setting[($this->class)::PARAM_SLUG_TYPE]), 17).' |';
489
-        $str .= ' '.(array_key_exists(($this->class)::PARAM_SLUG_REQUIRE, $setting) ? '+' : '-').' |';
490
-        $str .= ' '.(array_key_exists(($this->class)::PARAM_SLUG_DEFAULT, $setting) ? $setting[($this->class)::PARAM_SLUG_DEFAULT] : '').' |';
488
+        $str .= ' ' . substr($this->getNameConst('PARAM_FIELD_TYPE_', $setting[($this->class)::PARAM_SLUG_TYPE]), 17) . ' |';
489
+        $str .= ' ' . (array_key_exists(($this->class)::PARAM_SLUG_REQUIRE, $setting) ? '+' : '-') . ' |';
490
+        $str .= ' ' . (array_key_exists(($this->class)::PARAM_SLUG_DEFAULT, $setting) ? $setting[($this->class)::PARAM_SLUG_DEFAULT] : '') . ' |';
491 491
         $str .= " {$this->getText(['field', 'slug', ($this->class)::PARAM_SLUG_ENUM, $param])} |";
492 492
         $str .= " {$this->getText(['field', 'main', 'desc', $param])} |";
493 493
         $str .= PHP_EOL;
@@ -509,22 +509,22 @@  discard block
 block discarded – undo
509 509
 
510 510
     public function view()
511 511
     {
512
-        $str = $this->getText(['service', 'name']).PHP_EOL;
513
-        $str .= '=============='.PHP_EOL;
514
-        $str .= "###{$this->getText(['slug', 'link'])}".PHP_EOL;
515
-        $str .= "[{$this->getText(['slug', 'link', 'to_service'])} {$this->getText(['service', 'name'])}]({$this->getText(['service', 'href'])})".PHP_EOL.PHP_EOL;
516
-        $str .= "###{$this->getText(['slug', 'service', 'desc'])}".PHP_EOL;
517
-        $str .= "{$this->getText(['service', 'desc'])}".PHP_EOL.PHP_EOL;
518
-        $str .= "###{$this->getText(['slug', 'price'])}".PHP_EOL;
519
-        $str .= "{$this->getText(['recognize', 'price'])}".PHP_EOL.PHP_EOL;
520
-        $str .= "###{$this->getText(['slug', 'recognize', 'desc'])}".PHP_EOL;
521
-        $str .= "{$this->getText(['recognize', 'desc'])}".PHP_EOL.PHP_EOL;
522
-        $str .= "###{$this->getText(['install'])}".PHP_EOL;
523
-        $str .= "{$this->viewInstall()}".PHP_EOL.PHP_EOL;
524
-        $str .= "###{$this->getText(['example'])}".PHP_EOL;
525
-        $str .= "{$this->viewExamples()}".PHP_EOL.PHP_EOL;
526
-        $str .= "###{$this->getText(['slug', 'fields', 'desc'])}".PHP_EOL;
527
-        $str .= $this->viewFields().PHP_EOL;
512
+        $str = $this->getText(['service', 'name']) . PHP_EOL;
513
+        $str .= '==============' . PHP_EOL;
514
+        $str .= "###{$this->getText(['slug', 'link'])}" . PHP_EOL;
515
+        $str .= "[{$this->getText(['slug', 'link', 'to_service'])} {$this->getText(['service', 'name'])}]({$this->getText(['service', 'href'])})" . PHP_EOL . PHP_EOL;
516
+        $str .= "###{$this->getText(['slug', 'service', 'desc'])}" . PHP_EOL;
517
+        $str .= "{$this->getText(['service', 'desc'])}" . PHP_EOL . PHP_EOL;
518
+        $str .= "###{$this->getText(['slug', 'price'])}" . PHP_EOL;
519
+        $str .= "{$this->getText(['recognize', 'price'])}" . PHP_EOL . PHP_EOL;
520
+        $str .= "###{$this->getText(['slug', 'recognize', 'desc'])}" . PHP_EOL;
521
+        $str .= "{$this->getText(['recognize', 'desc'])}" . PHP_EOL . PHP_EOL;
522
+        $str .= "###{$this->getText(['install'])}" . PHP_EOL;
523
+        $str .= "{$this->viewInstall()}" . PHP_EOL . PHP_EOL;
524
+        $str .= "###{$this->getText(['example'])}" . PHP_EOL;
525
+        $str .= "{$this->viewExamples()}" . PHP_EOL . PHP_EOL;
526
+        $str .= "###{$this->getText(['slug', 'fields', 'desc'])}" . PHP_EOL;
527
+        $str .= $this->viewFields() . PHP_EOL;
528 528
 
529 529
         return $str;
530 530
     }
@@ -536,6 +536,6 @@  discard block
 block discarded – undo
536 536
 
537 537
     public function save()
538 538
     {
539
-        file_put_contents(__DIR__.'/../../docs/'.$this->getFileName().'-'.$this->lang.'.md', $this->view());
539
+        file_put_contents(__DIR__ . '/../../docs/' . $this->getFileName() . '-' . $this->lang . '.md', $this->view());
540 540
     }
541 541
 }
Please login to merge, or discard this patch.
tests/TwoCaptchaTest.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
         $captcha->setErrorLang(\jumper423\decaptcha\core\DeCaptchaErrors::LANG_RU);
19 19
         $captcha->setCauseAnError(true);
20 20
         try {
21
-            $captcha->recognize(__DIR__.'/data/Captcha.jpg');
21
+            $captcha->recognize(__DIR__ . '/data/Captcha.jpg');
22 22
         } catch (\jumper423\decaptcha\core\DeCaptchaErrors $e) {
23 23
         }
24 24
     }
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
             \jumper423\decaptcha\services\TwoCaptcha::ACTION_FIELD_KEY => '200a1ed2b6ca001d8171c655658086ed',
30 30
         ]);
31 31
         $captcha->setErrorLang(\jumper423\decaptcha\core\DeCaptchaErrors::LANG_RU);
32
-        if ($captcha->recognize(__DIR__.'/data/Captcha.jpg')) {
32
+        if ($captcha->recognize(__DIR__ . '/data/Captcha.jpg')) {
33 33
             $this->assertEquals('11111111111111', $captcha->getCode());
34 34
         } else {
35 35
             $this->assertEquals('Нулевой либо отрицательный баланс', $captcha->getError());
Please login to merge, or discard this patch.