Роман Воропаев (Volk)
С нами с 03 декабря 2015; Место в рейтинге пользователей: #80[msBonus] Бонусная система miniShop2
[informMe] Подписка на поступление товара
informMe даёт возможность пользователю подписаться на товар (или ещё что-то) которого нет в наличии, с уведомлением его при поступлении товара. Разрабатывался он под miniShop2, но должен работать со всеми ресурсами. Приглашаю на alpha-тестирование.
[ajaxLogin] Регистрация, Авторизация, Сброс пароля
Компонент ajaxLogin для MODX revolution реализует регистрацию, авторизацию и сброс пароля на сайте через AJAX, содержит в себе один сниппет и кучу чанков. Обязательно должен быть установлен пакет Login, автоматическая загрузка, пока, не реализована. Из пакета Login работает только с тремя сниппетами, это: Login, Register и ForgotPassword.
[CurrencyCalc] Калькулятор валют
Парсер и конвертер курсов валют.
- Выбор источника парсинга: ЦБ РФ, НацБанк Казахстана или YahooApis.
- Источники ЦБ РФ и НацБанк Казахстана написаны таким образом, что рубль/тенге не является обязательной валютой, скрипт конвертирует любую, существующую в списке, валюту.
- YahooApis обновляет данные в реальном времени. Также там есть курс биткоин.
- Возможность вывести список валют в виде калькулятора.
- Возможность обновлять, как вручную пачкой/единично, так и cron скриптом, хоть раз в минуту.
smsGate-1.0.0. Авторизация через sms
На самом деле компонент предназначен не только для авторизации через sms, а в принципе для отправки sms. Но в первую очередь он нужен был именно для настройки двухфакторной авторизации. И вот как раз в плане вклинивания в процесс авторизации я узнал много нового (хотя и так знал не мало). Был немного расстроен…
Критическая уязвимость в MODX Revolution
Сильно в детали лезть не буду, просто скажу, что сейчас любой MODX Revo сайт потенциально уязвим. Дыра позволяет выполнить SQL-инъекции, в том числе с созданием на сайте привилегированных пользователей.
Базовые методы противодействия: подмена дефолтных системных папок (особенно connectors) и, главное — смена префикса таблиц. Так как далеко не все это делают, то можно сказать, большинство сайтов в зоне опасности. Кто хочет ощутить это на себе, может в комментах написать ссылку на сайт.
Если кто на уже рабочем сайте хочет префиксы сменить, я описывал метод здесь.
P.S. И еще заповедь: не пускайте никого в админку, даже с самыми минимальными правами. Это практически 100% гарантия взлома при желании.
Базовые методы противодействия: подмена дефолтных системных папок (особенно connectors) и, главное — смена префикса таблиц. Так как далеко не все это делают, то можно сказать, большинство сайтов в зоне опасности. Кто хочет ощутить это на себе, может в комментах написать ссылку на сайт.
Если кто на уже рабочем сайте хочет префиксы сменить, я описывал метод здесь.
P.S. И еще заповедь: не пускайте никого в админку, даже с самыми минимальными правами. Это практически 100% гарантия взлома при желании.
Массовый импорт модификации продуктов [miniShop2]
В поддержке задали вопрос как можно массово добавлять модификации для продуктов (разные цены для разных размеров, артикулы уникальны для каждого размера).
Ниже привожу пример…
Ниже привожу пример…
Выборка пользователей по определенным параметрам
Здравствуйте.
Нужно получить выборку активных (не забаненых и т.д.) пользователей, со всеми их полями, принадлежащих группе с id 4, от имени которых (createdby) существуют ресурсы, принадлежащие контексту moscow и опубликованные в данный момент.
Нужен нормальный запрос с $modx->newQuery(). Что бы потом можно было foreach $users… $user->get('username') получил имя пользователя, или например дополнительное поле пользователя extended.specialisation и другие.
Я вроде верно написал запрос в обычном синтаксисе, помогите пожалуйста с xPDO или как его зовут))
Нужно получить выборку активных (не забаненых и т.д.) пользователей, со всеми их полями, принадлежащих группе с id 4, от имени которых (createdby) существуют ресурсы, принадлежащие контексту moscow и опубликованные в данный момент.
Нужен нормальный запрос с $modx->newQuery(). Что бы потом можно было foreach $users… $user->get('username') получил имя пользователя, или например дополнительное поле пользователя extended.specialisation и другие.
Я вроде верно написал запрос в обычном синтаксисе, помогите пожалуйста с xPDO или как его зовут))
SELECT u.username, ua.* FROM `modx_users` as u
LEFT JOIN modx_member_groups as g ON g.member = u.id
LEFT JOIN modx_site_content as c ON c.createdby = u.id
LEFT JOIN modx_user_attributes as ua ON ua.internalKey = u.id
WHERE g.user_group = 4
AND c.published = 1
AND u.active = 1
AND c.context_key = 'moscow'
GROUP BY u.id
Спасибо заранее! Вывод сгруппированных опций товара
Регистрационные данные на почту клиента, miniShop2
Появилась задача: после заказа клиентом товаров в интернет-магазине, реализованном на miniShop2, высылать регистрационные данные (логин/пароль) на указанную почту клиента. Из коробки почему то такого функционала нет, хотя регистрация проходит. Получается так, что пользователь после оформления заказа даже и не подозревает что только что зарегистрировался на сайте. Как-то это не правильно. Собственно отсюда и появилась такая задача.