Сергей Водолагин
С нами с 22 марта 2014; Место в рейтинге пользователей: #199Функции хелперы для MODX
Анонс интеграции с AmoCRM и опрос по функционалу

Совместно с MODSTORE.PRO принято решение о создании компонента для интеграции с AmoCRM. Чтобы сделать компонент наиболее полезным, нам необходимо услышать мнение потенциальных пользователей о желаемом функционале — напишите в комментариях свои ожидания.
Что такое AmoCRM?
Если вкратце, то AmoCRM — это простая и понятная система учета потенциальных клиентов и сделок, которая поможет контролировать и увеличивать ваши продажи. С помощью нее вы не только с легкостью сможете контролировать сделки, но и не потеряете ни одной заявки от потенциальных клиентов.
Автоматически разбивать sitemap.xml на файлы
Всем привет!
У меня сайте сейчас 15000 страниц, sitemap.xml формирую через pdoSitemap. Но сервер не позволяет вывести такое количество ссылок сразу, менять сервер на более мощный пока тоже не хочу.
Может есть решение автоматического разбиения sitemap.xml в формате www.sitemaps.org/ru/protocol.html#index на определенное задаваемое количество выводимых ссылок в каждом файле?
У меня сайте сейчас 15000 страниц, sitemap.xml формирую через pdoSitemap. Но сервер не позволяет вывести такое количество ссылок сразу, менять сервер на более мощный пока тоже не хочу.
Может есть решение автоматического разбиения sitemap.xml в формате www.sitemaps.org/ru/protocol.html#index на определенное задаваемое количество выводимых ссылок в каждом файле?
Потенциальная уязвимость при получении объекта xPDO
Привет, друзья! Настало время подвести некоторые итоги по новости недельной давности.
Если кто не в курсе, в xPDO, а соотвественно, и в MODX обнаружилась уязвимость, позволяющая проводить слепые SQL инъекции и ломать сайты. Точнее как, обнаружилась… Всегда там была, и кому нужно — давно это знали.
Суть в том, что при получении объекта xPDO можно указать вторым параметром любую строку, и она не фильтруется.
Правда, про эту фичу нет ни слова в документации, где говорят только о
Если кто не в курсе, в xPDO, а соотвественно, и в MODX обнаружилась уязвимость, позволяющая проводить слепые SQL инъекции и ломать сайты. Точнее как, обнаружилась… Всегда там была, и кому нужно — давно это знали.
Суть в том, что при получении объекта xPDO можно указать вторым параметром любую строку, и она не фильтруется.
$modx->getObject('modResource', 'тут любой SQL код')Этот код выполнит произвольный SQL запрос, потому что «фича, а не бага».Правда, про эту фичу нет ни слова в документации, где говорят только о
The criteria can be a primary key value, an array of primary key values (for multiple primary key objects) or an xPDOCriteria object.и никаких сырых SQL выражений.
msOneClick - «Купить в один клик»
Приложение создает заказ в интернет-магазине minishop2, а так же может отправлять заказ в виде письма на указанный e-mail адрес.
Для работы необходимо вставить сниппет на страницу с товаром [[!msOneClick]] и у вас появится кнопка Купить в 1 клик
![]() | ![]() |
Для работы необходимо вставить сниппет на страницу с товаром [[!msOneClick]] и у вас появится кнопка Купить в 1 клик
Демо сайта
Критическая уязвимость в MODX Revolution
Сильно в детали лезть не буду, просто скажу, что сейчас любой MODX Revo сайт потенциально уязвим. Дыра позволяет выполнить SQL-инъекции, в том числе с созданием на сайте привилегированных пользователей.
Базовые методы противодействия: подмена дефолтных системных папок (особенно connectors) и, главное — смена префикса таблиц. Так как далеко не все это делают, то можно сказать, большинство сайтов в зоне опасности. Кто хочет ощутить это на себе, может в комментах написать ссылку на сайт.
Если кто на уже рабочем сайте хочет префиксы сменить, я описывал метод здесь.
P.S. И еще заповедь: не пускайте никого в админку, даже с самыми минимальными правами. Это практически 100% гарантия взлома при желании.
Базовые методы противодействия: подмена дефолтных системных папок (особенно connectors) и, главное — смена префикса таблиц. Так как далеко не все это делают, то можно сказать, большинство сайтов в зоне опасности. Кто хочет ощутить это на себе, может в комментах написать ссылку на сайт.
Если кто на уже рабочем сайте хочет префиксы сменить, я описывал метод здесь.
P.S. И еще заповедь: не пускайте никого в админку, даже с самыми минимальными правами. Это практически 100% гарантия взлома при желании.
Fenom + pdoMenu и динамический parent
Добрый вечер,
можете подсказать, почему не работает такой вывод?
можете подсказать, почему не работает такой вывод?
<ul class="subcategories">
{$_modx->runSnippet('!pdoMenu', [
'parents' => '{if $_modx->resource.parent|in:[10,20,30]}{$_modx->resource.parent}{else}{$_modx->resource.id}{/if}',
'showHidden' => '0',
'level' => '1',
'tplOuter' => '@INLINE {$wrapper}',
'tpl' => '@INLINE <li{$classes}><a href="{$link}" {$attributes}>{$menutitle}</a>{$wrapper}</li>',
'showLog' => 0
])}
</ul>но так работает:<ul class="subcategories">
[[!pdoMenu?
&parents=`{if $_modx->resource.parent|in:[23,27,24,26,25,29,30,28]}{$_modx->resource.parent}{else}{$_modx->resource.id}{/if}`
&showHidden=`0`
&level=`1`
&tplOuter=`@INLINE [[+wrapper]]`
&tpl=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>`
]]
</ul> Загрузка заказов ms2, Tikets на стартовой странице
При сравнении «специализированных» cms для интернет магазинов и minishop заметил общую тенденцию у первых выводить при входе в админку список заказов. После недолгой переписки с замечательным исполнителем Павлом Гвоздем возникло такое замечательное и гениальное по простоте решение:
заходим в настройки системы, далее в фильтре по ключу отыскиваем 2 значения:
1. welcome_action меняем с welcome на mgr/orders
2. welcome_namespace с core на minishop2
и вуаля на чистом клиенте отображается список заказов, очень удобно
заходим в настройки системы, далее в фильтре по ключу отыскиваем 2 значения:
1. welcome_action меняем с welcome на mgr/orders
2. welcome_namespace с core на minishop2
и вуаля на чистом клиенте отображается список заказов, очень удобно
[tagElementPlugin] Хоткеи для чанков и копирование
Хочу обрадовать всех кто просил добавить возможность открывать чанки, указанные в параметрах сниппета, без плясок с добавлением знака $. Для этого я добавил 2 хоткея — Ctrl+Alt+C и Ctrl+Shift+Alt+C. Первый для открытия чанка в модальном окне, второй для перехода на страницу чанка. Выделять нужно только название.
Вторая фича — это кнопка «Сохранить как» в модальном окне для быстрого копирования.

Вторая фича — это кнопка «Сохранить как» в модальном окне для быстрого копирования.
Выбор в скрипте создания сайта: PHP 5/7, HTTP(S)
При настройке сервера по этой инструкции для создания нового сайта очень удобно пользоваться приложенным скриптом.
В процессе эксплуатации сервера с ним произошли основные метаморфозы:
1) Обновлен nginx до версии 1.10 по официальной инструкции.
2) Установлен PHP7 по этой инструкции. Спасибо Сергею Пожидаеву.
3) Установлены скрипты Let's Encrypt по этой инструкции
В процессе эксплуатации сервера с ним произошли основные метаморфозы:
1) Обновлен nginx до версии 1.10 по официальной инструкции.
2) Установлен PHP7 по этой инструкции. Спасибо Сергею Пожидаеву.
3) Установлены скрипты Let's Encrypt по этой инструкции


