Интеграция MS2 и Prodamus
1 1
Нужно настроить интеграцию MS2 с Prodamus
Документация по интеграции: help.prodamus.ru/payform.ru-onlain-oplaty/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov
Документация по интеграции: help.prodamus.ru/payform.ru-onlain-oplaty/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov
Необходимо доработать API сделанное на modx, добавить блокировку по IP при частых запросах.
Добрый день.
Отвечать буду только людям с рейтингом на modx.
Описание
Есть мобильное приложение. В данный момент ошибочно (спам) было разослано более 50.000 смсок с приложения на различные номера телефонов.
Задачи
№1) Ограничения по IP backend
Первые 3 запроса с одного IP — раз в минуту.
После этого — раз в час.
И после 3-х в час — блокировка на день.
Нужно будет обновить UI, чтобы показывать ошибку 429 (слишком много запросов) и объяснять пользователю, что нужно подождать перед следующей попыткой.
№2) Ограничения по телефону — То же самое, только по номеру телефона.
В UI тоже нужно показывать ошибку 429, чтобы пользователи понимали, что нужно подождать.
Отвечать буду только людям с рейтингом на modx.
Описание
Есть мобильное приложение. В данный момент ошибочно (спам) было разослано более 50.000 смсок с приложения на различные номера телефонов.
Задачи
№1) Ограничения по IP backend
Первые 3 запроса с одного IP — раз в минуту.
После этого — раз в час.
И после 3-х в час — блокировка на день.
Нужно будет обновить UI, чтобы показывать ошибку 429 (слишком много запросов) и объяснять пользователю, что нужно подождать перед следующей попыткой.
№2) Ограничения по телефону — То же самое, только по номеру телефона.
В UI тоже нужно показывать ошибку 429, чтобы пользователи понимали, что нужно подождать.
Какие права доступа нужно давать пользователям для удаление своих записей
Всем привет, сделал добавление и изменения записей со стороны фронтенда и хотел сделать еще удаление записей, но проблема в том, что у админа удаление работает, а у пользователей нет. В журнале ошибок выскакивает ошибка, что у пользователя нет прав на удаление. Когда пользователь нажимает на ссылку «Удалить», то появляется просто текст Array. Сейчас стоит web, member-9999, load,list and view, но пробовал ставить разные политики доступа, ничего не меняется.
Код сниппета
Код сниппета
<?php
if (!empty($_GET['action']) && $_GET['action'] === 'delete' && !empty($_GET['resourceId'])) {
$resourceId = intval($_GET['resourceId']);
$resource = $modx->getObject('modResource', $resourceId);
// Проверка, существует ли ресурс
if (!$resource) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Ошибка: Ресурс с ID ' . $resourceId . ' не найден.');
return $modx->error->failure('Ресурс не найден.');
}
// Проверка прав доступа
if (!$modx->hasPermission('delete_document')) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Ошибка: У пользователя нет прав на удаление ресурса с ID ' . $resourceId);
return $modx->error->failure('У вас нет прав на удаление этого ресурса.');
}
// Проверка, является ли текущий пользователь создателем ресурса
$userId = $modx->user->get('id');
if ($resource->get('createdby') != $userId) {
$modx->log(modX::LOG_LEVEL_ERROR, 'Ошибка: Пользователь с ID ' . $userId . ' пытался удалить чужой ресурс с ID ' . $resourceId);
return $modx->error->failure('Вы можете удалять только свои записи.');
}
// Удаление ресурса
if ($resource->remove()) {
$modx->log(modX::LOG_LEVEL_INFO, 'Ресурс с ID ' . $resourceId . ' успешно удален пользователем с ID ' . $userId);
// Перенаправление после успешного удаления
$modx->sendRedirect($modx->makeUrl($modx->getOption('site_start'), '', '', 'full'));
} else {
$modx->log(modX::LOG_LEVEL_ERROR, 'Ошибка: Не удалось удалить ресурс с ID ' . $resourceId);
return $modx->error->failure('Не удалось удалить ресурс.');
}
}
Ссылка на удалениеa href="[[~[[*id]]]]?action=delete&resourceId=[[+id]]" onclick="return confirm('Вы уверены, что хотите удалить этот ресурс?');">Удалить ресурс</a>
Может кто в курсе какие права доступа вставлять или может я вообще неправильно все делаю. Как импортировать msProductOptions данные через miniShop2 утилиту Импорт?
Как импортировать msProductOptions данные через miniShop2 утилиту Импорт? Будет ли работать это решение?
modx.pro/solutions/12280
Если да, что нужно добавить в файлы csv.php и importCSV.php, чтобы работало через утилиту?
Спасибо
modx.pro/solutions/12280
Если да, что нужно добавить в файлы csv.php и importCSV.php, чтобы работало через утилиту?
Спасибо
Вывод полей в таблице заказов minishop2
Приветствую!
Столкнулся с задачей изменить таблицу заказов minishop2.
Но на просторах интернета, так и не нашел подобного решения.
Существуют внятные и понятные (даже для моего уровня программирования) статьи о том как добавить новое поле, к примеру в закладку адрес, но вот по работе с самой таблицей, информации очень мало.
Если более детально описать, то требуется в таблицу с заказами вывести любое поле из таблицы ms2_order_addresses.
У меня получилось добавить новые колонки в таблице, но они пусты. На сколько я понимаю, в момент генерации таблицы нет запроса к ms2_order_addresses, сама таблица работает с ms2_orders.

На скрине колонка «Адрес получателя» живет аккурат в таблице ms2_order_addresses и пуста.
Буду благодарен помощи!
Столкнулся с задачей изменить таблицу заказов minishop2.
Но на просторах интернета, так и не нашел подобного решения.
Существуют внятные и понятные (даже для моего уровня программирования) статьи о том как добавить новое поле, к примеру в закладку адрес, но вот по работе с самой таблицей, информации очень мало.
Если более детально описать, то требуется в таблицу с заказами вывести любое поле из таблицы ms2_order_addresses.
У меня получилось добавить новые колонки в таблице, но они пусты. На сколько я понимаю, в момент генерации таблицы нет запроса к ms2_order_addresses, сама таблица работает с ms2_orders.

На скрине колонка «Адрес получателя» живет аккурат в таблице ms2_order_addresses и пуста.
Буду благодарен помощи!
MODX RSC | Telegram Karma Bot
Всем привет, хочу поделиться телеграм ботом, который был разработан для нашего основного чата.
🤖 Telegram-бот для управления кармой пользователей в чате. Бот добавляет или убирает карму, банит пользователей за рекламу и отображает топ пользователей по карме.

Бот создаёт и управляет пользователями в MODX.
Не стал особо придумывать велосипедов, но если вам будет нужно как то иначе его подстроить под сайт, думаю разберётесь.
А так же я интегрировал в бота OpenAI GPT-3.5

Что бы он ответил, при написании вопроса в любом порядке пишем «ИИ ответь тоже»
Все подробности на Github
🤖 Telegram-бот для управления кармой пользователей в чате. Бот добавляет или убирает карму, банит пользователей за рекламу и отображает топ пользователей по карме.

Бот создаёт и управляет пользователями в MODX.
Не стал особо придумывать велосипедов, но если вам будет нужно как то иначе его подстроить под сайт, думаю разберётесь.
А так же я интегрировал в бота OpenAI GPT-3.5

Что бы он ответил, при написании вопроса в любом порядке пишем «ИИ ответь тоже»
Все подробности на Github
Не выводятся данные пользователя в профиле
Всем привет!
Сделал регистрацию и авторизацию с Login, затем сделал личный кабинет и все это работает. Захотел сделать страницу профиль пользователя, чтобы другие могли посмотреть.
Сделал регистрацию и авторизацию с Login, затем сделал личный кабинет и все это работает. Захотел сделать страницу профиль пользователя, чтобы другие могли посмотреть.
Получить ALT изображения в сниппете ms2GalleryResources на fenom
Не могу на fenom получить alt или name изображения ms2Gallery в сниппете ms2GalleryResources.
{$file['name']} даёт пустое значение. Без fenom работает [[+small.alt]], по аналогии {$small['alt']} — даёт / (слэш)
Прикреплю код сниппета. Если тыкнете в строчку, где подсказка, буду рад. Сам нашел $thumb.alt на 69 строке, но ребус разгадать все-равно не могу.
{$file['name']} даёт пустое значение. Без fenom работает [[+small.alt]], по аналогии {$small['alt']} — даёт / (слэш)
Прикреплю код сниппета. Если тыкнете в строчку, где подсказка, буду рад. Сам нашел $thumb.alt на 69 строке, но ребус разгадать все-равно не могу.
MIGx. Listbox. Fenom. Вставка label вместо value.
Имеется список listbox с данными:
Библиотека №3 == library_3 || Библиотека №15 == library_15.
В одном месте в чанке нужно вставить label, то есть название, например «Библиотека №3»:
Библиотека №3 == library_3 || Библиотека №15 == library_15.
В одном месте в чанке нужно вставить label, то есть название, например «Библиотека №3»:
{$row.calendarEventsPlace}
А вдругом месте вставить соответствующее label value, library_3:data-lib="{$row.calendarEventsPlace}"
Value вставляется по-умолчанию, а как вставить название в код, чтобы не создавть дополнительное поле в конфигурации?