Jump to content

sergeevizh

Пользователь
  • Content Count

    384
  • Joined

Everything posted by sergeevizh

  1. Значит дело у вас в другом и тут только вам искать причину или давайте доступ и причину выявить можно быстро.
  2. Если только, попробуйте изменить: if($type == 'string') { return strval(preg_replace('/[^\p{L}\p{Nd}\d\s_\-\.\%\s]/ui', '', $val)); } на if($type == 'string') { return preg_replace('/[^\p{L}\p{Nd}\d\s_\-\.\%\s]/ui', '', strval($val)); } и отпишитесь
  3. Это тут непричем, нужно искать причину в другом. Ваш код выше я проверил, там проблем нет. Нужно смотреть в сторону может JS в шаблоне или еще чего. Без видимости вашего сайта можно долго гадать.
  4. Ну тут вроде чисто все. Нужно смотреть, файлы которые отправляют данные и смотреть в базу, как там данные записываются.
  5. В view/CartView.php при отправке POST, видимо идет валидация и чистка полей textarea от параграфов.
  6. Вопрос решили, дело было в форме которая не отправляла токен.
  7. Я сейчас сделал проще, на основе api/UsersTelegram.php Добавил в api/Simpla.php класс 'telegram' => 'UsersTelegram' Потом в api/UsersTelegram.php после функции addUser дбавил //SEND public function sendBroadcast($message) { // Получаем всех подписчиков из базы данных $subscribers = $this->getSubscribers(); foreach ($subscribers as $subscriber) { $chatId = $subscriber->telegram_id; $postFields = [ 'chat_id' => $chatId, 'text' => $message ]; // Отправляем сообщение пользователю $this->botApiQuery("sendMessage", $postFields);
  8. Чтобы правильно ответить, нужно понять какие правила у вас уже указаны. Правило которое вы указали выше можно сократить в 2 строчки. Приложите свой файл .htaccess
  9. так не работает, нужно не создавать плагин в Smarty, а прописать функцию в api/Design.php по аналогии time_modifier
  10. Ну как-то так: 1. в корень кидаем webHook.php <?php // определим кодировку UTF-8 header("HTTP/1.1 200 OK"); header('Content-type: text/html; charset=utf-8'); // подключаем класс авторизации require_once("api/UsersTelegram.php"); // создаем объект авторизации $auth = new UsersTelegram(); // запускаем $auth->init(); ?> 2. Нужно зарегистрировать WebHook https://api.telegram.org/botВАШ_ТОКЕН/setwebhook?url=https://ВАШ_ДОМЕН/webHook.php 3. в api/UsersTelegram.php <?php require_once('Simpla.php'); class UsersTelegram extends Simpla { // Токен API BOT
  11. Все верно, ключ нужен только для проверки, что пользователь есть в базе и авторизовать его.
  12. В api/Users.php нужно добавить только новые поля где будут данные из Телеграмм, для вывода их пользователю и больше эту модель трогать не нужно. Для реализации вашей идеи вот ссылка https://imakebots.ru/article/avtorizaciya-na-sayt-cherez-telegram-bez-ispolzovaniya-oficialnogo-vidzheta Сделайте для начала как написано, потом по аналогии для Simpla. Сразу напишу, для вхождения у вас должно быть: 1. site.ru/bot.php - webhook 2. site.ru/api/UsersTelegram.php - данные из webhook больше ничего не нужно.
  13. api/Users.php нужен только для вывода данный в профиле пользователя или в админке. api/UsersTelegram.php нужен для фильтрации данных, проверки и записи данных пользователя из Телеграмм.
  14. Конечно, вебхук нужен обязательно. Логика должна быть такая: 1. Вебхук получает данные из бота 2. Отправляет данные в api/UsersTelegram.php 3. В api/UsersTelegram.php проверяем, что была нажата кнопка «/start», если что-то другое, то молчим. После фильтра берем из ответа Id пользователя и проверяем есть ли запись о нем. Если есть, отправляем пользователю сообщение «Ваши данные уже есть в базе», а если записи нет, то записываем в базу и отправляем сообщение «Спасибо, ваши данные добавлены».
  15. Откуда взялся, понятное дело, скопирован класс api/Users.php без изменения кода под задачу. Я вот спрашиваю код вебхука у ТС, чтобы понять, есть у него проверка ответа бота на нажатие кнопки «/start» или по барабану, чтобы пользователь не прислал будет новая запись в базу.
  16. Для авторизации и регистрации есть официальный виджет от Telegram https://core.telegram.org/widgets/login На счет кода, нужен webhook который будет получать команды от бота и в зависимости от пришедших данных решать, что ему делать. Записать данные пользователя: имя, аватар, телефон. И в ответ отправить ссылку для авторизации с записью кук в браузер.
  17. вью трогать не нужно, выше код для api/Products.php раздел add_product. url нужно создавать только в момент добавления товара, то есть в модели, а во вью нужно его только выводить. В случае, если нужно для товара задать уникальный url в модели есть проверка, если url пустой задать уникальный url, а если мы задали свой, то его и присвоить.
  18. if(empty($product['url'])) { $product['url'] = substr(md5(time()), 0, 10); } else { $product['url'] = $product['url']; }
  19. Ну или на край сделать добавление Id товара к url supersite.com/products/1234-kakoito-tovar
  20. Тогда на форте будет выводить товар и по его id по его url 1. supersite.com/products/1234 2. supersite.com/products/e47d1ce09e будет один товар
  21. А вообще, зачем ID товара впихивать в url товара, когда проще генерировать от времени хеш md5 будет так: supersite.com/products/e47d1ce09eeea6783300addf49551aeeb или урезать до 10 знаков supersite.com/products/e47d1ce09e
  22. Получение ID нового товара происходит на строке $id = $this->db->insert_id(); после нее идет присваивания позиции товара как ее id путем update. по аналогии можно сделать update у товара url как id
×
×
  • Create New...