Капча с рекламой, на которой можно заработать.
Работа с сайтом parrotify.com
Руководство
1 В папке /core/classes/ необходимо создать файл с именем parrotify.class.php со следующим кодом:
Код:<?php class parrotify { const validateURL = 'http://api.parrotify.com/validate'; public static function validate($value) { $cookie = $_COOKIE["_cpathca"]; $data = array( 'captcha[value]' => $value, 'captcha[key]' => $cookie ? $cookie : null, ); $data = http_build_query($data); $options = array( 'http'=> array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $data, ), ); $context = stream_context_create($options); $fp = fopen(self::validateURL, 'rb', false, $context); $result = stream_get_contents($fp); fclose($fp); return $result == 1; } }Класс будет проверять правильность пользовательского ввода.
2 Заменить содержимое файла /templates/_default_/special/captcha.php на следующий код:
Код:<div id="parrotify_captcha"></div> <script> parrotifyCaptcha.create('parrotify_captcha', {name:'<?= $input_name ?>'}); </script>Теперь вместо стандарной капчи будет выводиться Parrotify Captcha
3 В файле /templates/_default_/template.php после 35 строки необходимо добавить добавить 2 строки:
Код://подключаем parrotify captcha $this->addHead('<script src="http://api.parrotify.com/start_ajax.js"></script>');4 И наконец в файле /core/cms.php необходимо заменить тело функции checkCaptchaCode на код:
Код:cmsCore::loadClass('parrotify'); return parrotify::validate($code);Это и есть проверка правильности ввода.
5 В самый конец файла /languages/ru/components/registration.php добавить строку:
Код:$_LANG['SECUR_SPAM_TEXT'] = '';Удалим со страницы регистрации фразу Введите число, изображенное на картинке
После всех этих манипуляций при добавлении комментариев и регистрации пользователей будет отображаться капча Parrotify.
Не забывайте зарегистрироваться на parrotify.com и добавить свой домен
1 создать папку /system/sontrollers/parrotifyCaptcha, в ней создать два файла, frontend.php с содержимым:
Код:<?php class parrotifyCaptcha extends cmsController { const validateURL = 'http://api.parrotify.com/validate'; public function onCaptchaHtml($params=array()) { $html = '<div id="parrotify_captcha" style="padding-bottom:.5em"><script src="http://api.parrotify.com/start.js"></script></div>'; return $html; } public function onCaptchaValidate($request) { $cookie = $_COOKIE["_cpathca"]; $data = array( 'captcha[value]' => $request->get('captcha_name'), 'captcha[key]' => $cookie ? $cookie : null, ); $data = http_build_query($data); $options = array( 'http'=> array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $data, ), ); $context = stream_context_create($options); $fp = fopen(self::validateURL, 'rb', false, $context); $result = stream_get_contents($fp); fclose($fp); return $result == 1; } }и файл manufest.php с содержимым:
Код:<?php return array( 'hooks' => array( 'captcha_html', 'captcha_validate', ), );2 переименовать файл /system/controllers/recaptcha/manifest.php в manifest-kill.php. Данное действие полностью отключит рекапчу.
Не забывайте зарегистрироваться на parrotify.com и добавить свой домен
Теги: альтернатива,капче ,instantcms