Conditions | 1 |
Paths | 1 |
Total Lines | 364 |
Code Lines | 272 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | <?php |
||
22 | public function __construct($class) |
||
23 | { |
||
24 | $this->class = $class; |
||
25 | $this->texts = [ |
||
26 | 'constructor_data' => [ |
||
27 | $class::ACTION_FIELD_KEY => '94f39af4bb295c40546fba5c932e0d32', |
||
28 | ], |
||
29 | 'recognize_file' => true, |
||
30 | 'recognize_data_file' => 'http://site.com/captcha.jpg', |
||
31 | 'recognize_data' => [], |
||
32 | 'field_main_name_'.$class::ACTION_FIELD_KEY => [ |
||
33 | 'ru' => 'Ключ', |
||
34 | 'en' => 'Key', |
||
35 | ], |
||
36 | 'field_main_desc_'.$class::ACTION_FIELD_KEY => [ |
||
37 | 'ru' => 'Ключ от учетной записи', |
||
38 | 'en' => 'Key account', |
||
39 | ], |
||
40 | 'field_main_name_'.$class::ACTION_FIELD_LANGUAGE => [ |
||
41 | 'ru' => 'Язык', |
||
42 | 'en' => 'Language', |
||
43 | ], |
||
44 | 'field_main_desc_'.$class::ACTION_FIELD_LANGUAGE => [ |
||
45 | 'ru' => 'На каком языке текст на капче', |
||
46 | 'en' => 'What language the text on the captcha', |
||
47 | ], |
||
48 | 'field_main_name_'.$class::ACTION_FIELD_FILE => [ |
||
49 | 'ru' => 'Картинка', |
||
50 | 'en' => 'Picture', |
||
51 | ], |
||
52 | 'field_main_desc_'.$class::ACTION_FIELD_FILE => [ |
||
53 | 'ru' => 'Путь на файл с картинкой или ссылка на него', |
||
54 | 'en' => 'The path to the picture file or link to it', |
||
55 | ], |
||
56 | 'field_main_name_'.$class::ACTION_FIELD_PHRASE => [ |
||
57 | 'ru' => 'Несколько слов', |
||
58 | 'en' => 'A few words', |
||
59 | ], |
||
60 | 'field_main_desc_'.$class::ACTION_FIELD_PHRASE => [ |
||
61 | 'ru' => 'Работник должен ввести текст с одним или несколькими пробелами', |
||
62 | 'en' => 'The worker must enter text with one or more spaces', |
||
63 | ], |
||
64 | 'field_main_name_'.$class::ACTION_FIELD_REGSENSE => [ |
||
65 | 'ru' => 'Регистр', |
||
66 | 'en' => 'Register', |
||
67 | ], |
||
68 | 'field_main_desc_'.$class::ACTION_FIELD_REGSENSE => [ |
||
69 | 'ru' => 'Работник должен ввести ответ с учетом регистра', |
||
70 | 'en' => 'The worker must enter the answer case sensitive', |
||
71 | ], |
||
72 | 'field_main_name_'.$class::ACTION_FIELD_NUMERIC => [ |
||
73 | 'ru' => 'Символы', |
||
74 | 'en' => 'Characters', |
||
75 | ], |
||
76 | 'field_main_desc_'.$class::ACTION_FIELD_NUMERIC => [ |
||
77 | 'ru' => 'Какие символы используется в капче', |
||
78 | 'en' => 'What are the symbols used in captcha', |
||
79 | ], |
||
80 | 'field_main_name_'.$class::ACTION_FIELD_CALC => [ |
||
81 | 'ru' => 'Вычисление', |
||
82 | 'en' => 'Calculation', |
||
83 | ], |
||
84 | 'field_main_desc_'.$class::ACTION_FIELD_CALC => [ |
||
85 | 'ru' => 'На капче изображенно математичекая выражение и её необходимо решить', |
||
86 | 'en' => 'The captcha shows matematicheskaya expression and must be addressed', |
||
87 | ], |
||
88 | 'field_main_name_'.$class::ACTION_FIELD_MIN_LEN => [ |
||
89 | 'ru' => 'Длина min', |
||
90 | 'en' => 'Length min', |
||
91 | ], |
||
92 | 'field_main_desc_'.$class::ACTION_FIELD_MIN_LEN => [ |
||
93 | 'ru' => 'Минимальная длина капчи', |
||
94 | 'en' => 'The minimum length of captcha', |
||
95 | ], |
||
96 | 'field_main_name_'.$class::ACTION_FIELD_MAX_LEN => [ |
||
97 | 'ru' => 'Длина max', |
||
98 | 'en' => 'Length max', |
||
99 | ], |
||
100 | 'field_main_desc_'.$class::ACTION_FIELD_MAX_LEN => [ |
||
101 | 'ru' => 'Максимальная длина капчи', |
||
102 | 'en' => 'The maximum length of the captcha', |
||
103 | ], |
||
104 | 'field_main_name_'.$class::ACTION_FIELD_QUESTION => [ |
||
105 | 'ru' => 'Вопрос', |
||
106 | 'en' => 'Question', |
||
107 | ], |
||
108 | 'field_main_desc_'.$class::ACTION_FIELD_QUESTION => [ |
||
109 | 'ru' => 'На изображении задан вопрос, работник должен написать ответ', |
||
110 | 'en' => 'The image asked, the employee must write the answer', |
||
111 | ], |
||
112 | 'field_main_name_'.$class::ACTION_FIELD_IS_RUSSIAN => [ |
||
113 | 'ru' => 'Кириллица', |
||
114 | 'en' => 'Cyrillic', |
||
115 | ], |
||
116 | 'field_main_desc_'.$class::ACTION_FIELD_IS_RUSSIAN => [ |
||
117 | 'ru' => 'На изображении присутствуют русские символы', |
||
118 | 'en' => 'In the image there are Russian characters', |
||
119 | ], |
||
120 | 'field_main_name_'.$class::ACTION_FIELD_LANGUAGE => [ |
||
121 | 'ru' => 'Язык', |
||
122 | 'en' => 'Language', |
||
123 | ], |
||
124 | 'field_main_desc_'.$class::ACTION_FIELD_LANGUAGE => [ |
||
125 | 'ru' => 'Символы какого языка размещенны на капче', |
||
126 | 'en' => 'The symbols of the language posted on the captcha', |
||
127 | ], |
||
128 | 'field_main_name_'.$class::ACTION_FIELD_HEADER_ACAO => [ |
||
129 | 'ru' => 'Кросс-доменный', |
||
130 | 'en' => 'Cross-domain', |
||
131 | ], |
||
132 | 'field_main_desc_'.$class::ACTION_FIELD_HEADER_ACAO => [ |
||
133 | 'ru' => 'Необходимо для кросс-доменных AJAX запросов в браузерных приложениях.', |
||
134 | 'en' => 'Need for cross-domain AJAX requests in browser-based applications.', |
||
135 | ], |
||
136 | 'field_main_name_'.$class::ACTION_FIELD_INSTRUCTIONS => [ |
||
137 | 'ru' => 'Инструкция', |
||
138 | 'en' => 'Manual', |
||
139 | ], |
||
140 | 'field_main_desc_'.$class::ACTION_FIELD_INSTRUCTIONS => [ |
||
141 | 'ru' => 'Текстовая капча или инструкция для прохождения капчи.', |
||
142 | 'en' => 'Text captcha or manual to pass the captcha.', |
||
143 | ], |
||
144 | 'field_main_name_'.$class::ACTION_FIELD_PINGBACK => [ |
||
145 | 'ru' => 'Ответ на', |
||
146 | 'en' => 'Response to', |
||
147 | ], |
||
148 | 'field_main_desc_'.$class::ACTION_FIELD_PINGBACK => [ |
||
149 | 'ru' => 'Указание для сервера, что после распознания изображения, нужно отправить ответ на указанный адрес.', |
||
150 | 'en' => 'Note to server, after recognizing the image, you need to send a reply to the specified address.', |
||
151 | ], |
||
152 | 'field_main_name_'.$class::ACTION_FIELD_LABEL => [ |
||
153 | 'ru' => 'От куда', |
||
154 | 'en' => 'From where', |
||
155 | ], |
||
156 | 'field_main_desc_'.$class::ACTION_FIELD_LABEL => [ |
||
157 | 'ru' => 'Пояснение от куда пришла капча ("vk", "google", "recaptcha", "yandex", "mailru", "yahoo" и т.д.).', |
||
158 | 'en' => 'Clarification from where came the captcha ("vk", "google", "recaptcha", "yandex", "Google", "yahoo", etc.).', |
||
159 | ], |
||
160 | 'field_main_name_'.$class::ACTION_FIELD_PAGEURL => [ |
||
161 | 'ru' => 'Адрес', |
||
162 | 'en' => 'Link', |
||
163 | ], |
||
164 | 'field_main_desc_'.$class::ACTION_FIELD_PAGEURL => [ |
||
165 | 'ru' => 'Адрес страницы на которой решается капча.', |
||
166 | 'en' => 'The address of the page where the captcha is solved.', |
||
167 | ], |
||
168 | 'field_main_name_'.$class::ACTION_FIELD_GOOGLEKEY => [ |
||
169 | 'ru' => 'Google key', |
||
170 | 'en' => 'Google key', |
||
171 | ], |
||
172 | 'field_main_desc_'.$class::ACTION_FIELD_GOOGLEKEY => [ |
||
173 | 'ru' => 'Ключ-индентификатор рекапчи на целевой странице. <div class="g-recaptcha" data-sitekey="ВОТ_ЭТОТ"></div>', |
||
174 | 'en' => 'Key-the identifier of the recaptcha on the landing page. <div class="g-recaptcha" data-sitekey="THIS"></div>', |
||
175 | ], |
||
176 | 'field_main_name_'.$class::ACTION_FIELD_GOOGLETOKEN => [ |
||
177 | 'ru' => 'Google token', |
||
178 | 'en' => 'Google token', |
||
179 | ], |
||
180 | 'field_main_desc_'.$class::ACTION_FIELD_GOOGLETOKEN => [ |
||
181 | 'ru' => 'Секретный токен для предыдущей версии рекапчи. В большинстве случаев сайты используют новую версию и этот токен не требуется. Секретный токен генерируется на сервере Google и вставляется на страницу в атрибуте data-stoken. Выглядит это примерно так: <script type="text/javascript" src="...." data-type="normal" data-ray="..." async data-sitekey="..." data-stoken="ВОТ_ЭТОТ"></script> Токен действует пару минут после генерации, затем нужно снова зайти на страницу и получить его.', |
||
182 | 'en' => 'The secret token for the previous version of recaptcha. In most cases, sites use the new version and this token is not required. The secret token is generated on a Google server and inserted into the page in the attribute data-stoken. It looks like this: <script type="text/javascript" src="...." data-type="normal" data-ray="..." async data-sitekey="..." data-stoken="THIS"></script> the Token is valid a few minutes after generation, then you need to go back to the page and get it.', |
||
183 | ], |
||
184 | 'field_main_name_'.$class::ACTION_FIELD_PROXYTYPE => [ |
||
185 | 'ru' => 'Тип прокси', |
||
186 | 'en' => 'The proxy type', |
||
187 | ], |
||
188 | 'field_main_desc_'.$class::ACTION_FIELD_PROXYTYPE => [ |
||
189 | 'ru' => 'Тип прокси (http, socks4, ...)', |
||
190 | 'en' => 'The proxy type (http, socks4, ...)', |
||
191 | ], |
||
192 | 'field_main_name_'.$class::ACTION_FIELD_PROXY => [ |
||
193 | 'ru' => 'Адрес прокси', |
||
194 | 'en' => 'The proxy address', |
||
195 | ], |
||
196 | 'field_main_desc_'.$class::ACTION_FIELD_PROXY => [ |
||
197 | 'ru' => 'IP адрес прокси ipv4/ipv6.', |
||
198 | 'en' => 'IP address of the proxy ipv4/ipv6.', |
||
199 | ], |
||
200 | 'field_main_name_'.$class::ACTION_FIELD_PROXYPORT => [ |
||
201 | 'ru' => 'Порт прокси', |
||
202 | 'en' => 'Proxy port', |
||
203 | ], |
||
204 | 'field_main_desc_'.$class::ACTION_FIELD_PROXYPORT => [ |
||
205 | 'ru' => 'Порт прокси.', |
||
206 | 'en' => 'Proxy port.', |
||
207 | ], |
||
208 | 'field_main_name_'.$class::ACTION_FIELD_PROXYLOGIN => [ |
||
209 | 'ru' => 'Логин прокси', |
||
210 | 'en' => 'Login proxy', |
||
211 | ], |
||
212 | 'field_main_desc_'.$class::ACTION_FIELD_PROXYLOGIN => [ |
||
213 | 'ru' => 'Логин от прокси-сервера.', |
||
214 | 'en' => 'Login from proxy server.', |
||
215 | ], |
||
216 | 'field_main_name_'.$class::ACTION_FIELD_PROXYPASS => [ |
||
217 | 'ru' => 'Пароль прокси', |
||
218 | 'en' => 'Password proxy', |
||
219 | ], |
||
220 | 'field_main_desc_'.$class::ACTION_FIELD_PROXYPASS => [ |
||
221 | 'ru' => 'Пароль от прокси-сервера.', |
||
222 | 'en' => 'The password for the proxy server.', |
||
223 | ], |
||
224 | 'field_main_name_'.$class::ACTION_FIELD_USERAGENT => [ |
||
225 | 'ru' => 'User-Agent браузера', |
||
226 | 'en' => 'User-Agent browser', |
||
227 | ], |
||
228 | 'field_main_desc_'.$class::ACTION_FIELD_USERAGENT => [ |
||
229 | 'ru' => 'User-Agent браузера, используемый в эмуляции. Необходимо использовать подпись современного браузера, иначе Google будет возвращать ошибку, требуя обновить браузер.', |
||
230 | 'en' => 'User-Agent browser used in emulation. You must use the signature modern browser, otherwise Google will return an error requiring you to upgrade your browser.', |
||
231 | ], |
||
232 | 'field_main_name_'.$class::ACTION_FIELD_COOKIES => [ |
||
233 | 'ru' => 'Куки', |
||
234 | 'en' => 'Cookies', |
||
235 | ], |
||
236 | 'field_main_desc_'.$class::ACTION_FIELD_COOKIES => [ |
||
237 | 'ru' => 'Дополнительные cookies которые мы должны использовать во время взаимодействия с целевой страницей.', |
||
238 | 'en' => 'Additional cookies which we should use during the interaction with the target page.', |
||
239 | ], |
||
240 | 'table_th_name' => [ |
||
241 | 'ru' => 'Название', |
||
242 | 'en' => 'Name', |
||
243 | ], |
||
244 | 'table_th_code' => [ |
||
245 | 'ru' => 'Код', |
||
246 | 'en' => 'Code', |
||
247 | ], |
||
248 | 'table_th_type' => [ |
||
249 | 'ru' => 'Тип', |
||
250 | 'en' => 'Type', |
||
251 | ], |
||
252 | 'table_th_req' => [ |
||
253 | 'ru' => 'Обяз.', //Обязательное |
||
254 | 'en' => 'Req.', //Required |
||
255 | ], |
||
256 | 'table_th_def' => [ |
||
257 | 'ru' => 'По ум.', //По умолчания |
||
258 | 'en' => 'By def.', //By default |
||
259 | ], |
||
260 | 'table_th_enum' => [ |
||
261 | 'ru' => 'Возможные значения', |
||
262 | 'en' => 'Possible values', |
||
263 | ], |
||
264 | 'table_th_desc' => [ |
||
265 | 'ru' => 'Описание', |
||
266 | 'en' => 'Description', |
||
267 | ], |
||
268 | 'slug_link' => [ |
||
269 | 'ru' => 'Ссылка', |
||
270 | 'en' => 'Link', |
||
271 | ], |
||
272 | 'slug_link_to_service' => [ |
||
273 | 'ru' => 'Ссылка на сервис', |
||
274 | 'en' => 'The link to the service', |
||
275 | ], |
||
276 | 'slug_price' => [ |
||
277 | 'ru' => 'Цены', |
||
278 | 'en' => 'Prices', |
||
279 | ], |
||
280 | 'slug_service_desc' => [ |
||
281 | 'ru' => 'Описание сервиса', |
||
282 | 'en' => 'The description of the service', |
||
283 | ], |
||
284 | 'slug_recognize_desc' => [ |
||
285 | 'ru' => 'Описание распознания', |
||
286 | 'en' => 'Description recognition', |
||
287 | ], |
||
288 | 'slug_fields_desc' => [ |
||
289 | 'ru' => 'Описание полей', |
||
290 | 'en' => 'A description of the fields', |
||
291 | ], |
||
292 | 'example' => [ |
||
293 | 'ru' => 'Примеры', |
||
294 | 'en' => 'Examples', |
||
295 | ], |
||
296 | 'example_initialization' => [ |
||
297 | 'ru' => 'Инициализация', |
||
298 | 'en' => 'Initialization', |
||
299 | ], |
||
300 | 'example_initialization_desc' => [ |
||
301 | 'ru' => 'Указываем ключ, обязательные и дополнительные параметры. Старайтесь по максимуму их заполнить это способствует более быстрому распознанию капчи.', |
||
302 | 'en' => 'Specify the key mandatory and optional parameters. Try the best to fill this promotes more rapid recognition of captcha.', |
||
303 | ], |
||
304 | 'example_recognize' => [ |
||
305 | 'ru' => 'Распознавание', |
||
306 | 'en' => 'Recognition', |
||
307 | ], |
||
308 | 'example_recognize_desc' => [ |
||
309 | 'ru' => 'В первом параметре передаём ссылку или путь на файл с картинкой, во второй параметры распознания при необходимости переопределения тех которые были переданы при инициализации.', |
||
310 | 'en' => 'In the first parameter, pass the link or path to the picture file in the second parameters of the recognition if necessary, override those which were transferred during the initialization.', |
||
311 | ], |
||
312 | 'example_nottrue' => [ |
||
313 | 'ru' => 'Не верно распознано', |
||
314 | 'en' => 'Not correctly recognized', |
||
315 | ], |
||
316 | 'example_nottrue_desc' => [ |
||
317 | 'ru' => 'Если Вы сможете понять что ответ которые пришёл не верные. Обязательно добавьте ниже написанный код. Это Вам съекономит деньги.', |
||
318 | 'en' => 'If You can understand that the answer which did not come true. Be sure to add below written code. It will save You money.', |
||
319 | ], |
||
320 | 'example_balance' => [ |
||
321 | 'ru' => 'Баланс', |
||
322 | 'en' => 'Balance', |
||
323 | ], |
||
324 | 'example_error_lang_if' => [ |
||
325 | 'ru' => true, |
||
326 | 'en' => false, |
||
327 | ], |
||
328 | 'example_error_lang' => [ |
||
329 | 'ru' => 'Язык ошибки', |
||
330 | 'en' => 'Language errors', |
||
331 | ], |
||
332 | 'example_error_lang_desc' => [ |
||
333 | 'ru' => 'По умолчанию ошибки на англиском языке, если необходимо переоперелить, сделайте следующее', |
||
334 | 'en' => 'Default error in English, if you want to properlyt, do the following', |
||
335 | ], |
||
336 | 'example_error_interception' => [ |
||
337 | 'ru' => 'Перехват ошибки', |
||
338 | 'en' => 'Intercept errors', |
||
339 | ], |
||
340 | 'example_error_interception_desc' => [ |
||
341 | 'ru' => 'При желании Вы можете перехватывать ошибку, но для этого надо вызвать setCauseAnError', |
||
342 | 'en' => 'If you wish, You can catch the error, but you need to call setCauseAnError', |
||
343 | ], |
||
344 | 'install' => [ |
||
345 | 'ru' => 'Установка', |
||
346 | 'en' => 'Installation', |
||
347 | ], |
||
348 | 'install_preferred' => [ |
||
349 | 'ru' => 'Предпочтительный способ установить это расширение через', |
||
350 | 'en' => 'The preferred way to install this extension via', |
||
351 | ], |
||
352 | 'install_start' => [ |
||
353 | 'ru' => 'Либо запустить', |
||
354 | 'en' => 'Or you can run', |
||
355 | ], |
||
356 | 'install_add' => [ |
||
357 | 'ru' => 'или добавить', |
||
358 | 'en' => 'or add', |
||
359 | ], |
||
360 | 'install_add_file' => [ |
||
361 | 'ru' => 'в файл', |
||
362 | 'en' => 'in file', |
||
363 | ], |
||
364 | 'slug_menu' => [ |
||
365 | 'ru' => 'Меню', |
||
366 | 'en' => 'Menu', |
||
367 | ], |
||
368 | 'slug_menu_main' => [ |
||
369 | 'ru' => 'Главная', |
||
370 | 'en' => 'Main', |
||
371 | ], |
||
372 | 'slug_menu_another' => [ |
||
373 | 'ru' => 'Documentation in English language', |
||
374 | 'en' => 'Документация на русском языке', |
||
375 | ], |
||
376 | 'slug_menu_anchor' => [ |
||
377 | 'ru' => 'Якоря', |
||
378 | 'en' => 'Anchor', |
||
379 | ], |
||
380 | 'slug_menu_from_service' => [ |
||
381 | 'ru' => 'Другой функционал от сервиса', |
||
382 | 'en' => 'Other functionality from the service', |
||
383 | ], |
||
384 | ]; |
||
385 | } |
||
386 | |||
679 |