22 июня 2021, 10:41 Решение, конечно, так себе) Прям очень так себе Гораздо более прикольным способ было бы гонять ValueObject объектики в виде json. Вопросы / Вопрос синхронизации товаров м-ду 2мя сайтами для Minishop2 8 0
17 мая 2021, 14:04 1. Ну так назови цикл статьей «Скопируй сам». Почему «Сделай»? 2. Это не лучший, а прям наихудший способ. Кстати если так хотелось прикрутить авторизацию, то можно было доработать Login. Готовые решения / [СДЕЛАЙ САМ] Авторизация и регистрация по СМС 25 +1
17 мая 2021, 13:44 Погугли — узнаёшь Готовые решения / [СДЕЛАЙ САМ] Авторизация и регистрация по СМС 25 +1
17 мая 2021, 13:09 Без проблем! 100$ и я готов написать решение многократно элегантнее этого с пояснением каждого шага для новичков. Готовы проспонсировать статью? Дорого? Можете использовать компонент Office который стоит половину стоимости и реализует задачу гораздо лучше modstore.pro/packages/users/office Готовые решения / [СДЕЛАЙ САМ] Авторизация и регистрация по СМС 25 +1
17 мая 2021, 13:04 Валидирует. У тебя валидация уровня required, я туда могу тебе прислать все что угодно. Готовые решения / [СДЕЛАЙ САМ] Авторизация и регистрация по СМС 25 0
17 мая 2021, 12:29 Мне как раз все понятно. {if $_modx->user.id > 0} <a href="[[~13]]"> <!-- 13 это id ресурса с формой оформления заказа --> <button type="submit" class="knopka2"> Оформить заказ </button> </a> {else} <button type="button" data-toggle="modal" data-target="#modalSMSAuth" class="knopka2"> Оформить заказ </button> {/if}Помесь стандартного и fenom синтаксиса это дурной тон. {'!AjaxForm' | snippet:[ 'snippet' =>'custConfirm', 'form' =>'@FILE chunks/forms/confirmForm.html', 'validate'=>'phone:required' ]} {'!AjaxForm' | snippet:[ 'snippet' =>'custCheckCode', 'customValidators' => 'validateCode' 'form' =>'@FILE chunks/forms/checkcodeForm.html', 'validate'=>'phone:required,code:validateCode', 'redirectTo' => 13 ]}Два некешированных вызова AjaxForm. А че ж не 5? Эту задачу можно решить одним вызовом сниппета. <?php $file = MODX_CORE_PATH . 'components/codesender/smsc_api.php'; if(!file_exists($file)){ $modx->log(1, 'FILE NOT FOUND'); } include_once $file; if(!isset($translit)){ $translit = 1; // по умолчанию отправляем транслит, там можно впихнуть больше текста } $send = send_sms($number, $message, $translit); return $send;Такого рода задачи решаются не сниппетами. Сниппеты это вообще про другое. Более того, ты же ниже создаешь пакет, какая проблема примутить к нему класс-контроллер? Тут вы вероятно заметили, что есть сниппет genPassword, изнутри он выглядит такОпять же а) Не решаются такие задачи сниппетами б) mt_rand не является безопасным для задач уровня генерации паролей. Ты бы это знал, если бы писал это сам. Итак, выходим на финишную прямую. Сниппет custCheckCode отвечает за проверку кода, авторизацию и регистрацию пользователейСнова, такие задачи не решаются сниппетами. // если ошибок нет if($_POST['phone']){ $username = preg_replace('/[^0-9]/', '', trim($_POST['phone'])); $params = array('username' => $username, 'password' => $_POST['code'], 'group' => 2, 'active' => true, 'blocked' => false); $params = array_merge($_POST, $params); $user = $modx->getObject('modUser', array('username' => $username)); if(!$user){ $modx->log(1, 'Регистрация'); $user = $modx->runSnippet('Registration', array('params' => $params)); } $user->set('password', $_POST['code']); $user->save(); $response = $modx->runSnippet('Authorization', array('params' => $params)); if(!$response['success']){ return $AjaxForm->error($response['message'], array()); } $redirectId= $scriptProperties['redirectTo'] ?: 1; // при вызове сниппета мы передаём id ресурса, на который нужно сделать редирект, если не передаем, то редирект будет на главную. $redirectUrl = $modx->makeUrl($redirectId , 'web', '', 'full'); return $AjaxForm->success($response['message'], array('redirectTo' => $redirectUrl)); } }Из поста данные не валидируются. Пахнет безопасностью! Либо впадлу, либо не знаешь что это такое. Тут кстати гораздо логичнее была бы проверка на false. Кастомный валидатор validateCode содержит такой код:Опять никакой валидации. Еще и сырой запрос (вызов которого не оправдан ничем) Регистрацию я сделал так (Registration)Ни единой проверки на то что модель не сохранилась. Неверное сохранение аггеративных моделей. Итого: куски сомнительного кода не несущие абсолютно никакой ценности. Я бы ни слова ни сказал, даже плюсик бы залепил если бы тут было хоть какое-то объяснение происходящего. Почему так, а не иначе, почему это лучше, а это хуже. Итого ты не учишь, а даешь людям копировать плохие практики. Абсолютно заслуженный минус Готовые решения / [СДЕЛАЙ САМ] Авторизация и регистрация по СМС 25 +6
17 мая 2021, 10:48 Простыня кода, три строчки текста, никаких объяснений, нулевая информативность. Готовые решения / [СДЕЛАЙ САМ] Авторизация и регистрация по СМС 25 +1
20 апреля 2021, 12:01 Обращайтесь t.me/deadcrystal Пишу кастомные решения по импорту Средний прайс 100-200$ Вопросы / Импорт товаров в MODX из YML 5 0
11 апреля 2021, 21:46 Вот вроде и минус ставить не хочется (человек старался + олд + по содержательности явно лучше многих статей тут), но и лайк ставить не за что. Практического смысла и применения в этом околонулевая Для разработчиков / Альфа релиз альтернативной админки для MODX 27 +2
07 апреля 2021, 13:11 Yii откинулся по причине своей консервативности. Ровно как и MODX Новости и события / Результаты прошедшего MODX SnowUP 2021 95 0
05 апреля 2021, 12:26 Laravel будут тянуть как Грецию, даже если Тейлор отъедет. Новости и события / Результаты прошедшего MODX SnowUP 2021 95 +1
23 января 2021, 19:25 Никто не мешает занаследовать процессор и искать по чему хочется. Для разработчиков / [СДЕЛАЙ САМ] Поиск на сайте по-быстрому 31 0
23 января 2021, 19:13 Люди продолжают изобретать велосипеды тыц Для разработчиков / [СДЕЛАЙ САМ] Поиск на сайте по-быстрому 31 +1
25 ноября 2020, 12:29 Рекомендую бежать с такого хостинга, где default charset latin Новые дополнения и их версии / Релиз miniShop2 ver. 2.6.0 62 0
17 ноября 2020, 15:30 Я предлагал такое решение if (is_array($this->options) || $this->options instanceof Countable) Новые дополнения и их версии / Релиз miniShop2 ver. 2.6.0 62 +1 1
05 ноября 2020, 14:03 Спасибо за minishop(1 и 2) и pdotools. Инструменты которые долго меня кормили как программиста. Удачи в новых начинаниях! Новости и события / Завершение работы с MODX 70 +7
01 ноября 2020, 17:20 В MODX парадигме AJAX запросы ведут в коннектор. Делать AJAX запрос в сниппет, имхо, это прямой билет в дурку Новые дополнения и их версии / FastSnippet - работа со сниппетами через AJAX 73 +1
24 октября 2020, 20:14 гарантировать неуязвимостьТак не бывает в принципе. Совсем. Новые дополнения и их версии / WatchAsUser - просмотр страниц пользователей без пароля 18 0
24 октября 2020, 19:53 За любые уязвимости на своем сайте несешь ответственность только ты. Так или иначе — как ты можешь на 100% быть уверенным в том, что какой-то компонент на сайте образовал дыру? Новые дополнения и их версии / WatchAsUser - просмотр страниц пользователей без пароля 18 0
Возможно ли реализовать возможность предоплаты за доставку на сайте? У меня Робокасса, у них вроде есть docs.robokassa.ru/ru/iframe
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 18 px. Да и текст комментариев можно таким сделать. Для меня лично 16 — мелковато на больших экранах (в комментариях вообще 15 ...
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем orderUI, после
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены уведомления о заявках SendIt через hook-...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
Прям очень так себе
Гораздо более прикольным способ было бы гонять ValueObject объектики в виде json.
2. Это не лучший, а прям наихудший способ. Кстати если так хотелось прикрутить авторизацию, то можно было доработать Login.
100$ и я готов написать решение многократно элегантнее этого с пояснением каждого шага для новичков. Готовы проспонсировать статью?
Дорого?
Можете использовать компонент Office который стоит половину стоимости и реализует задачу гораздо лучше
modstore.pro/packages/users/office
У тебя валидация уровня required, я туда могу тебе прислать все что угодно.
Помесь стандартного и fenom синтаксиса это дурной тон.
Два некешированных вызова AjaxForm. А че ж не 5? Эту задачу можно решить одним вызовом сниппета.
Такого рода задачи решаются не сниппетами. Сниппеты это вообще про другое.
Более того, ты же ниже создаешь пакет, какая проблема примутить к нему класс-контроллер?
Опять же а) Не решаются такие задачи сниппетами б) mt_rand не является безопасным для задач уровня генерации паролей. Ты бы это знал, если бы писал это сам.
Снова, такие задачи не решаются сниппетами.
Из поста данные не валидируются. Пахнет безопасностью! Либо впадлу, либо не знаешь что это такое.
Тут кстати гораздо логичнее была бы проверка на false.
Опять никакой валидации. Еще и сырой запрос (вызов которого не оправдан ничем)
Ни единой проверки на то что модель не сохранилась. Неверное сохранение аггеративных моделей.
Итого: куски сомнительного кода не несущие абсолютно никакой ценности.
Я бы ни слова ни сказал, даже плюсик бы залепил если бы тут было хоть какое-то объяснение происходящего.
Почему так, а не иначе, почему это лучше, а это хуже.
Итого ты не учишь, а даешь людям копировать плохие практики.
Абсолютно заслуженный минус
Пишу кастомные решения по импорту
Средний прайс 100-200$
Практического смысла и применения в этом околонулевая
тыц
Удачи в новых начинаниях!
Делать AJAX запрос в сниппет, имхо, это прямой билет в дурку
Так или иначе — как ты можешь на 100% быть уверенным в том, что какой-то компонент на сайте образовал дыру?