jamaica Опубликовано 19 января, 2017 Жалоба Поделиться Опубликовано 19 января, 2017 Так и не нашол ответа по 5-тому пункту.Я пока поставил на регистрацию. Работает View.php <?PHP require_once('View.php'); class RegisterView extends View { function fetch() { $default_status = 1; // Активен ли пользователь сразу после регистрации (0 или 1) if($this->request->method('post') && $this->request->post('register')) { $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); $name = $this->request->post('name'); $email = $this->request->post('email'); $password = $this->request->post('password'); $captcha_code = $this->request->post('g-recaptcha-response'); $response = $reCaptcha->verify($captcha_code, $order->ip); $this->design->assign('name', $name); $this->design->assign('email', $email); $this->db->query('SELECT count(*) as count FROM __users WHERE email=?', $email); $user_exists = $this->db->result('count'); ... register.tpl <form method="post"> <fieldset class="form"> <div class="form-group"> <label class="form-group__label" for="register-name">Имя</label> <input id="register-name" class="form-field form-group__input" type="text" name="name" data-format=".+" data-notice="Введите имя" value="{$name|escape}" maxlength="255" /> </div> <div class="form-group"> <label class="form-group__label" for="register-email">Email</label> <input id="register-email" class="form-field form-group__input" type="text" name="email" data-format="email" data-notice="Введите email" value="{$email|escape}" maxlength="255" /> </div> <div> <label class="form-group__label" for="register-password">Пароль</label> <input id="register-password" class="form-field form-group__input" type="password" name="password" data-format=".+" data-notice="Введите пароль" value="" /> </div> <div class="g-recaptcha" data-sitekey="{$settings->site_code|escape}"></div> <input type="submit" class="button reg-btn" name="register" value="Зарегистрироваться" /> </fieldset> </form> Цитата Ссылка на сообщение Поделиться на другие сайты
Лена Опубликовано 22 января, 2017 Жалоба Поделиться Опубликовано 22 января, 2017 Новая капча (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> Большое спасибо. Все просто отлично работает!!! Цитата Ссылка на сообщение Поделиться на другие сайты
makim925 Опубликовано 28 января, 2017 Жалоба Поделиться Опубликовано 28 января, 2017 У МЕНЯ ТОЖЕ ПРОБЛЕМА НА 5 ПУНКТЕ ? КАКИЕ РЕШЕНИЯ ? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 28 января, 2017 Жалоба Поделиться Опубликовано 28 января, 2017 У МЕНЯ ТОЖЕ ПРОБЛЕМА НА 5 ПУНКТЕ ? КАКИЕ РЕШЕНИЯ ?Для начала отключить капслок и перестать писать как блондинко. Цитата Ссылка на сообщение Поделиться на другие сайты
makim925 Опубликовано 29 января, 2017 Жалоба Поделиться Опубликовано 29 января, 2017 Я понимаю что проблема может быть руках но в 5 пункте делаю все по списку на главной странице все хорошо она работает когда захожу в карточку товара то сайт не работает Прошу помощи т.к. понять не могу из-за чего Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 29 января, 2017 Жалоба Поделиться Опубликовано 29 января, 2017 $response = null;$reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); Вот это надо вставлять не после class а в ФУНКЦИЮ Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 31 января, 2017 Жалоба Поделиться Опубликовано 31 января, 2017 (изменено) может кому пригодится. Сделал тоже самое но для vqmod установка:1) распаковать содержимое архива в папку vqmod/mod2) пройти по ссылке ВАШ_САЙТ/vqmod/recaptcha/install3) выполнить пункты 1 и 7 из инструкции recaptcha.zip Изменено 13 февраля, 2017 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
playboy Опубликовано 1 февраля, 2017 Жалоба Поделиться Опубликовано 1 февраля, 2017 (изменено) Всем приветВыдает ошибкуParse error: syntax error, unexpected T_FUNCTION, expecting ')' in /home/playboy/public_html/captcha/autoload.php on line 8 Все делал по инструкции, проверил еще раз, Кто то может подсказать где ошибка ?капча родная не работает изначально, может сама сборка говно ? Изменено 1 февраля, 2017 пользователем playboy Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 4 февраля, 2017 Жалоба Поделиться Опубликовано 4 февраля, 2017 Всем приветВыдает ошибкуParse error: syntax error, unexpected T_FUNCTION, expecting ')' in /home/playboy/public_html/captcha/autoload.php on line 8 Все делал по инструкции, проверил еще раз, Кто то может подсказать где ошибка ?капча родная не работает изначально, может сама сборка говно ? Полагаю у вас наверное php < 5.3 версии Цитата Ссылка на сообщение Поделиться на другие сайты
simpler Опубликовано 7 февраля, 2017 Жалоба Поделиться Опубликовано 7 февраля, 2017 Сделал по инструкции в первом посте - всё заработало. Но теперь комментарии к товарам оставляются без модерации, подскажите куда копать? Цитата Ссылка на сообщение Поделиться на другие сайты
Julius123 Опубликовано 9 февраля, 2017 Жалоба Поделиться Опубликовано 9 февраля, 2017 Выдаёт такую ошибку Parse error: syntax error, unexpected '$response' (T_VARIABLE), expecting function (T_FUNCTION) in /home/www/view/FeedbackView.php on line 75 Скажите что сделал не так?FeedbackView.phpSettingsAdmin.phpView.php Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 9 февраля, 2017 Жалоба Поделиться Опубликовано 9 февраля, 2017 Выдаёт такую ошибку Parse error: syntax error, unexpected '$response' (T_VARIABLE), expecting function (T_FUNCTION) in /home/www/view/FeedbackView.php on line 75 Скажите что сделал не так? все не так. class FeedbackView extends View { $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); } class FeedbackView extends View уже вверху есть зачем вы дублируете это нужно было вставить $response = null; $reCaptcha = new \ReCaptcha\ReCaptcha($this->settings->secret_code); перед $feedback = new stdClass; Цитата Ссылка на сообщение Поделиться на другие сайты
Julius123 Опубликовано 12 февраля, 2017 Жалоба Поделиться Опубликовано 12 февраля, 2017 (изменено) Выдаёт такую ошибку Fatal error: Uncaught exception 'RuntimeException' with message 'No secret provided' in /home/captcha/ReCaptcha/ReCaptcha.php:61 Stack trace: #0 /home/view/RegisterView.php(9): ReCaptcha\ReCaptcha->__construct(NULL) #1 /home/view/IndexView.php(92): RegisterView->fetch() #2 /home/index.php(18): IndexView->fetch() #3 {main} thrown in /home/captcha/ReCaptcha/ReCaptcha.php on line 61 Разобрался, не ввел ключи в админке Изменено 12 февраля, 2017 пользователем Julius123 Цитата Ссылка на сообщение Поделиться на другие сайты
Julius123 Опубликовано 12 февраля, 2017 Жалоба Поделиться Опубликовано 12 февраля, 2017 Еще пытаюсь поставить но второй магазин на котором стоит OkayТам например в RegisterView строка выглядит так: } elseif($this->settings->captcha_register && (($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code)) || empty($_SESSION['captcha_code']))) { $this->design->assign('error', 'captcha'); заменяю на: elseif($response->getErrorCodes())и при отправке формы ошибка Fatal error: Call to a member function getErrorCodes() on null in /home/view/RegisterView.php on line 37 Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 12 февраля, 2017 Жалоба Поделиться Опубликовано 12 февраля, 2017 По вопросам окея идите на соответствующий форум. Этот форум посвящен вопросам симплы. Цитата Ссылка на сообщение Поделиться на другие сайты
Lavvod Опубликовано 13 февраля, 2017 Жалоба Поделиться Опубликовано 13 февраля, 2017 Еще пытаюсь поставить но второй магазин на котором стоит OkayТам например в RegisterView строка выглядит так: } elseif($this->settings->captcha_register && (($_SESSION['captcha_code'] != $captcha_code || empty($captcha_code)) || empty($_SESSION['captcha_code']))) { $this->design->assign('error', 'captcha'); заменяю на: elseif($response->getErrorCodes())и при отправке формы ошибка Fatal error: Call to a member function getErrorCodes() on null in /home/view/RegisterView.php on line 37 У вас не создана функция getErrorCodes Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 13 февраля, 2017 Жалоба Поделиться Опубликовано 13 февраля, 2017 У вас не создана функция getErrorCodes эту ф-ю не нужно создавать она находится в подключаемом класе апи. просто не правильно подключили Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 3 марта, 2017 Жалоба Поделиться Опубликовано 3 марта, 2017 (изменено) Друзья, подключил на локальном. reCAPTCHA выходит. отправляю например комментарии к товару, то после нажатие Отправить выдает предупреждение : Warning: file_get_contents() [function.file-get-contents]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in W:\home\plama.loc\www\captcha\ReCaptcha\RequestMethod\Post.php on line 68 Warning: file_get_contents(https://www.google.com/recaptcha/api/siteverify) [function.file-get-contents]: failed to open stream: Invalid argument in W:\home\plama.loc\www\captcha\ReCaptcha\RequestMethod\Post.php on line 68 Warning: Cannot modify header information - headers already sent by (output started at W:\home\plama.loc\www\captcha\ReCaptcha\RequestMethod\Post.php:68) in W:\home\plama.loc\www\view\ProductView.php on line 275 Warning: Cannot modify header information - headers already sent by (output started at W:\home\plama.loc\www\captcha\ReCaptcha\RequestMethod\Post.php:68) in W:\home\plama.loc\www\index.php on line 33 и там где форма пишет: Неверно введена капча это с чем связано? быть может из-за того что сайт на локальном? Изменено 3 марта, 2017 пользователем DarAmal Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 3 марта, 2017 Жалоба Поделиться Опубликовано 3 марта, 2017 Разобрался. на хосте разобрался подробно. Спасибо большое за reCAPTCHA Цитата Ссылка на сообщение Поделиться на другие сайты
vziker Опубликовано 9 марта, 2017 Жалоба Поделиться Опубликовано 9 марта, 2017 (изменено) DarAmalТак в чём проблема была? У меня такая-же ошибка Изменено 9 марта, 2017 пользователем vziker Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 9 марта, 2017 Жалоба Поделиться Опубликовано 9 марта, 2017 на локальном не сработало, а вот после переноса на хостинг тоже не сразу заработало.файлы, что были ранее описаны настроил немного по другому. Потом все пошло как надо.Если кому надо, вот нужные файлы:SettingsAdmin.phpView.phpBlogView.phpCartView.phpFeedbackView.phpProductView.phpRegisterView.php Цитата Ссылка на сообщение Поделиться на другие сайты
crfxtr123 Опубликовано 20 апреля, 2017 Жалоба Поделиться Опубликовано 20 апреля, 2017 У меня тоже проблема, как и в одном предыдущем посте. Сделал по инструкции - всё заработало. Но теперь комментарии к товарам и отзывы оставляются без модерации, подскажите куда копать? HELP! Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 20 апреля, 2017 Жалоба Поделиться Опубликовано 20 апреля, 2017 Но теперь комментарии к товарам и отзывы оставляются без модерации, подскажите куда копать?странно, такого не должно быть. Цитата Ссылка на сообщение Поделиться на другие сайты
crfxtr123 Опубликовано 20 апреля, 2017 Жалоба Поделиться Опубликовано 20 апреля, 2017 странно, такого не должно быть. ситуация такая: модерации требует только первая запись. ее одобряю и для остальных уже модерация ненужна, добавляются записи сами. Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 20 апреля, 2017 Жалоба Поделиться Опубликовано 20 апреля, 2017 ситуация такая: модерации требует только первая запись. ее одобряю и для остальных уже модерация ненужна, добавляются записи сами.ну по идее - такое изначально было в Simpla. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.