ps-simpla Posted August 26, 2015 Report Share Posted August 26, 2015 (edited) http://s7.hostingkartinok.com/uploads/images/2015/08/4e8ceb61320d1cf55f973ff0cd65fe59.png Новая капча (reCAPTCHA 2.0) взамен старой капчи от Simpla CMS 1 Заходим на сайт https://www.google.com/recaptcha/adminПолучаем ключи, которые потом будет записывать в админке в разделе "Настройки" 1.1 Загружаем файлы в папку captcha2. Открываем файл \simpla\SettingsAdmin.phpдобавляем: /* ReCaptcha */ $this->settings->site_code = $this->request->post('site_code'); $this->settings->secret_code = $this->request->post('secret_code'); // Простые звонки 3. открываем файл simpla\design\html\settings.tplдобавляем: <h2>Управление <a href="https://www.google.com/recaptcha/admin">ключами ReCaptcha API</a></h2> <ul> <li><label class=property>Ключ</label><input name="site_code" class="simpla_inp" type="text" value="{$settings->site_code|escape}" /></li> <li><label class=property>Секретный ключ</label><input name="secret_code" class="simpla_inp" type="text" value="{$settings->secret_code|escape}" /></li> </ul> <h2>Интеграция с <a href="http://prostiezvonki.ru">простыми звонками</a></h2> 4. Открываем файл \view\View.phpвставляем: require_once('api/Simpla.php'); require_once('captcha/autoload.php'); 5. Открываем файл \view\CartView.php | BlogView.php | FeedbackView.php | ProductView.php | RegisterView.phpдобавляем: class *НАЗВАНИЕ МОДУЛЯ* extends View { $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); ищем: $captcha_code = $this->request->post('captcha_code', 'string'); заменяем на: $captcha_code = $this->request->post('g-recaptcha-response'); $response = $reCaptcha->verify($captcha_code, $order->ip); *ищем: elseif($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code)) *заменяем на: elseif($response->getErrorCodes()) ------ ИНФОРМАЦИЯ -----------------------------------------------------------------------------------------------------------------------* в некоторых случаях будет elseif(empty($_SESSION['captcha_code']) || $_SESSION['captcha_code'] != $captcha_code || empty($captcha_code)) заменяем на: elseif($response->getErrorCodes()) или if ($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code)) заменяем на: if($response->getErrorCodes())------ ИНФОРМАЦИЯ ----------------------------------------------------------------------------------------------------------------------- удаляем (если есть): unset($_SESSION['captcha_code']); 6. Открываем файл design\[ваш шаблон]\html\index.tplдобавляем: <script src='https://www.google.com/recaptcha/api.js'></script> </head> 7. Открываем файлы design\[ваш шаблон]\html\cart | feedback | post | product | register.tpl, ищем: <div class="captcha"><img src="captcha/image.php?{math equation='rand(10,10000)'}" alt='captcha'/></div> <input class="input_captcha" id="comment_captcha" type="text" name="captcha_code" value="" data-format="\d\d\d\d" data-notice="Введите капчу"/> заменяем на: <div class="g-recaptcha" data-sitekey="{$settings->site_code|escape}"></div> http://images.vfl.ru/ii/1463592914/35dbd686/12710030.pnghttp://images.vfl.ru/ii/1463592915/b95e440f/12710031.png Edited May 19, 2016 by ps-simpla Quote Link to post Share on other sites
Julius123 Posted October 21, 2015 Report Share Posted October 21, 2015 Не могу сказать на этом сайте, пишет нет прав доступа, хотя я зарегестрирован Quote Link to post Share on other sites
Eddy Posted February 2, 2016 Report Share Posted February 2, 2016 посмотреть Не могу открыть - сайт заблокирован Quote Link to post Share on other sites
Axotn1k Posted February 26, 2016 Report Share Posted February 26, 2016 А что делать если у меня нет файла settings.tpl создать его самому ? Или что должно быть в файле по умолчанию ? Quote Link to post Share on other sites
Kors Posted February 26, 2016 Report Share Posted February 26, 2016 Скачать дистрибутив с http://simplacms.ru/, разархивировать и там взять нужный файл. А вообще очень маловероятно, что его нет. Проверьте еще раз и обратите внимание на путь к файлу... Quote Link to post Share on other sites
mishanya Posted February 26, 2016 Report Share Posted February 26, 2016 А что делать если у меня нет файла settings.tpl создать его самому ? Или что должно быть в файле по умолчанию ?какая версия симплы? он там должен быть. может вы папки перепутали?simpla/design/html/settings.tpl Quote Link to post Share on other sites
Axotn1k Posted February 26, 2016 Report Share Posted February 26, 2016 какая версия симплы? он там должен быть. может вы папки перепутали?simpla/design/html/settings.tplТаки да перепутал, не внимательный, спасибо! Quote Link to post Share on other sites
Axotn1k Posted February 26, 2016 Report Share Posted February 26, 2016 (edited) Сдесь не понятно if ($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code)) у меня же код такой, без if, как сдесь заменить правильно ?elseif(empty($_SESSION['captcha_code']) || $_SESSION['captcha_code'] != $captcha_code || empty($captcha_code))А в разрыв кода это удалять старый кусок кода заменив на новый, или добавляьть ниже ? Edited February 26, 2016 by Axotn1k Quote Link to post Share on other sites
Suprun4uk Posted May 13, 2016 Report Share Posted May 13, 2016 Поделитесь пожалуйста, ссылка битая. Quote Link to post Share on other sites
Suprun4uk Posted May 25, 2016 Report Share Posted May 25, 2016 Новая капча (reCAPTCHA 2.0) взамен старой капчи от Simpla CMS 1 Заходим на сайт https://www.google.com/recaptcha/adminПолучаем ключи, которые потом будет записывать в админке в разделе "Настройки" 1.1 Загружаем файлы в папку captcha2. Открываем файл \simpla\SettingsAdmin.phpдобавляем: /* ReCaptcha */ $this->settings->site_code = $this->request->post('site_code'); $this->settings->secret_code = $this->request->post('secret_code'); // Простые звонки 3. открываем файл simpla\design\html\settings.tplдобавляем: <h2>Управление <a href="https://www.google.com/recaptcha/admin">ключами ReCaptcha API</a></h2> <ul> <li><label class=property>Ключ</label><input name="site_code" class="simpla_inp" type="text" value="{$settings->site_code|escape}" /></li> <li><label class=property>Секретный ключ</label><input name="secret_code" class="simpla_inp" type="text" value="{$settings->secret_code|escape}" /></li> </ul> <h2>Интеграция с <a href="http://prostiezvonki.ru">простыми звонками</a></h2> 4. Открываем файл \view\View.phpвставляем: require_once('api/Simpla.php'); require_once('captcha/autoload.php'); 5. Открываем файл \view\CartView.php | BlogView.php | FeedbackView.php | ProductView.php | RegisterView.phpдобавляем: class *НАЗВАНИЕ МОДУЛЯ* extends View { $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); ищем: $captcha_code = $this->request->post('captcha_code', 'string'); заменяем на: $captcha_code = $this->request->post('g-recaptcha-response'); $response = $reCaptcha->verify($captcha_code, $order->ip); *ищем: elseif($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code)) *заменяем на: elseif($response->getErrorCodes()) ------ ИНФОРМАЦИЯ -----------------------------------------------------------------------------------------------------------------------* в некоторых случаях будет elseif(empty($_SESSION['captcha_code']) || $_SESSION['captcha_code'] != $captcha_code || empty($captcha_code)) заменяем на: elseif($response->getErrorCodes()) или if ($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code)) заменяем на: if($response->getErrorCodes())------ ИНФОРМАЦИЯ ----------------------------------------------------------------------------------------------------------------------- удаляем (если есть): unset($_SESSION['captcha_code']); 6. Открываем файл design\[ваш шаблон]\html\index.tplдобавляем: <script src='https://www.google.com/recaptcha/api.js'></script> </head> 7. Открываем файлы design\[ваш шаблон]\html\cart | feedback | post | product | register.tpl, ищем: <div class="captcha"><img src="captcha/image.php?{math equation='rand(10,10000)'}" alt='captcha'/></div> <input class="input_captcha" id="comment_captcha" type="text" name="captcha_code" value="" data-format="\d\d\d\d" data-notice="Введите капчу"/> заменяем на: <div class="g-recaptcha" data-sitekey="{$settings->site_code|escape}"></div> Здравствуйте, проблема с пунктом 5. class *НАЗВАНИЕ МОДУЛЯ* extends View { $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); Если я правильно понял если к примеру это файл ProductView.php то выходит так: class ProductView extends View { $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); function fetch() { Но в результате ошибка на сайте: (Parse error: syntax error, unexpected '$response' (T_VARIABLE), expecting function (T_FUNCTION) in /home/goldnm/.../www/view/ProductView.php on line 9) что то пошло не так, не подскажите что ? Quote Link to post Share on other sites
snagovskiy Posted June 13, 2016 Report Share Posted June 13, 2016 Здравствуйте, проблема с пунктом 5. class *НАЗВАНИЕ МОДУЛЯ* extends View { $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); Если я правильно понял если к примеру это файл ProductView.php то выходит так: class ProductView extends View { $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); function fetch() { Но в результате ошибка на сайте: (Parse error: syntax error, unexpected '$response' (T_VARIABLE), expecting function (T_FUNCTION) in /home/goldnm/.../www/view/ProductView.php on line 9) что то пошло не так, не подскажите что ? Присоединяюсь к вопросу, точно такая же ошибка вылезает Quote Link to post Share on other sites
Noxter Posted June 14, 2016 Report Share Posted June 14, 2016 Присоединяюсь к вопросу, точно такая же ошибка вылезаетПроблема в руках. Quote Link to post Share on other sites
Suprun4uk Posted June 14, 2016 Report Share Posted June 14, 2016 Проблема в руках. небольшая невнимательность, ответ кроется в : $captcha_code = $this->request->post('g-recaptcha-response'); $response = $reCaptcha->verify($captcha_code, $order->ip); Quote Link to post Share on other sites
Suprun4uk Posted June 14, 2016 Report Share Posted June 14, 2016 Присоединяюсь к вопросу, точно такая же ошибка вылезает $captcha_code = $this->request->post('g-recaptcha-response'); $response = $reCaptcha->verify($captcha_code, $order->ip); $order->ip это пример для CartView.php Quote Link to post Share on other sites
ps-simpla Posted June 14, 2016 Author Report Share Posted June 14, 2016 На выходных перепроверю все сам и обновлю инструкцию. Прошу прощение за неудобства. Quote Link to post Share on other sites
Netrea Posted June 24, 2016 Report Share Posted June 24, 2016 Лично у меня вот так заработало:ProductView и подобные файлы------------------------------------class ProductView extends View{ function fetch() { $response = null;$reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); $product_url = $this->request->get('product_url', 'string');--------------------------------------------------в случае с продукт вместо: $captcha_code = $this->request->post('g-recaptcha-response');$response = $reCaptcha->verify($captcha_code, $order->ip);ЭТО:$comment->ip = $_SERVER['REMOTE_ADDR']; $captcha_code = $this->request->post('g-recaptcha-response');$response = $reCaptcha->verify($captcha_code, $comment->ip );------------------------и не забываемif($response->getErrorCodes()) Quote Link to post Share on other sites
Julius123 Posted June 25, 2016 Report Share Posted June 25, 2016 После выполнения всех действий в корзину перестало заходить. "веб сайт не может обработать запрос" Quote Link to post Share on other sites
mishanya Posted June 27, 2016 Report Share Posted June 27, 2016 После выполнения всех действий в корзину перестало заходить. "веб сайт не может обработать запрос" где-то ошибка, посмотрите логи, и включите отображение ошибок Quote Link to post Share on other sites
Ven Posted September 7, 2016 Report Share Posted September 7, 2016 Блин, делал делал, а оказалось, что тема не до конца раскрыта. Автор, ну как так? Теперь мне откатывать назад все придется. Quote Link to post Share on other sites
zikkit Posted September 12, 2016 Report Share Posted September 12, 2016 Извините, так способ рабочий или нет? Quote Link to post Share on other sites
filth Posted September 25, 2016 Report Share Posted September 25, 2016 Извините, так способ рабочий или нет?Рабочий. Quote Link to post Share on other sites
mx009 Posted January 8, 2017 Report Share Posted January 8, 2017 Господа обновите пож инструкциюЧто то не работает на 2.2.4 ! Спасибо Quote Link to post Share on other sites
baarseek Posted January 8, 2017 Report Share Posted January 8, 2017 Тоже достали кучи спам-комментариев?) Quote Link to post Share on other sites
Gandalf Posted January 9, 2017 Report Share Posted January 9, 2017 Господа обновите пож инструкциюЧто то не работает на 2.2.4 ! СпасибоВсе работает Quote Link to post Share on other sites
Nanco Posted January 13, 2017 Report Share Posted January 13, 2017 Так и не нашол ответа по 5-тому пункту. 5. Открываем файл \view\CartView.php | BlogView.php | FeedbackView.php | ProductView.php | RegisterView.phpдобавляем:class *НАЗВАНИЕ МОДУЛЯ* extends View{$response = null;$reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); В примере с \view\CartView.phpполучаю ошибку: Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /var/www/.../view/CartView.php on line 19Код вставил сюда: class CartView extends View{ $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); public function __construct() { parent::__construct(); Что не так чего он сыпется ? Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.