sergeevizh
Пользователь-
Content Count
378 -
Joined
Everything posted by sergeevizh
-
Я сейчас сделал проще, на основе 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);
-
Убираем слэш(и) в конце url и избавляемся от дублей
sergeevizh replied to Gregar's topic in Готовые решения
Чтобы правильно ответить, нужно понять какие правила у вас уже указаны. Правило которое вы указали выше можно сократить в 2 строчки. Приложите свой файл .htaccess -
так не работает, нужно не создавать плагин в Smarty, а прописать функцию в api/Design.php по аналогии time_modifier
-
Ну как-то так: 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
-
В 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 больше ничего не нужно.
-
Конечно, вебхук нужен обязательно. Логика должна быть такая: 1. Вебхук получает данные из бота 2. Отправляет данные в api/UsersTelegram.php 3. В api/UsersTelegram.php проверяем, что была нажата кнопка «/start», если что-то другое, то молчим. После фильтра берем из ответа Id пользователя и проверяем есть ли запись о нем. Если есть, отправляем пользователю сообщение «Ваши данные уже есть в базе», а если записи нет, то записываем в базу и отправляем сообщение «Спасибо, ваши данные добавлены».
-
Для авторизации и регистрации есть официальный виджет от Telegram https://core.telegram.org/widgets/login На счет кода, нужен webhook который будет получать команды от бота и в зависимости от пришедших данных решать, что ему делать. Записать данные пользователя: имя, аватар, телефон. И в ответ отправить ссылку для авторизации с записью кук в браузер.
-
Индивидуальные URL при добавлении товара.
sergeevizh replied to interyes's topic in Общие вопросы по функционалу и дизайну
вью трогать не нужно, выше код для api/Products.php раздел add_product. url нужно создавать только в момент добавления товара, то есть в модели, а во вью нужно его только выводить. В случае, если нужно для товара задать уникальный url в модели есть проверка, если url пустой задать уникальный url, а если мы задали свой, то его и присвоить. -
Индивидуальные URL при добавлении товара.
sergeevizh replied to interyes's topic in Общие вопросы по функционалу и дизайну
if(empty($product['url'])) { $product['url'] = substr(md5(time()), 0, 10); } else { $product['url'] = $product['url']; } -
Индивидуальные URL при добавлении товара.
sergeevizh replied to interyes's topic in Общие вопросы по функционалу и дизайну
Ну или на край сделать добавление Id товара к url supersite.com/products/1234-kakoito-tovar -
Индивидуальные URL при добавлении товара.
sergeevizh replied to interyes's topic in Общие вопросы по функционалу и дизайну
Тогда на форте будет выводить товар и по его id по его url 1. supersite.com/products/1234 2. supersite.com/products/e47d1ce09e будет один товар -
Индивидуальные URL при добавлении товара.
sergeevizh replied to interyes's topic in Общие вопросы по функционалу и дизайну
А вообще, зачем ID товара впихивать в url товара, когда проще генерировать от времени хеш md5 будет так: supersite.com/products/e47d1ce09eeea6783300addf49551aeeb или урезать до 10 знаков supersite.com/products/e47d1ce09e -
Индивидуальные URL при добавлении товара.
sergeevizh replied to interyes's topic in Общие вопросы по функционалу и дизайну
Получение ID нового товара происходит на строке $id = $this->db->insert_id(); после нее идет присваивания позиции товара как ее id путем update. по аналогии можно сделать update у товара url как id -
Вредоносный скрипт Modification.php в папке api
sergeevizh replied to Dmitry86's topic in Безопасность
Кто-то вам бяку подложил, стандартно backend/uploader/* такого пути нет в simpla. -
Вопрос решился
-
Вот этот кусок замените на # Redirect to HTTPS: RewriteCond %{HTTPS} =off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] # Redirect from www to without www: RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
-
Пришлите сюда файл .htaccess
-
Пожалуйста, но советую в ближайшее время подправить БД