13 января 2025, 14:28 Рейтинг поста можно только в течение определенного времени менять. Не помню уже сколько дается. Эта заметка -уже старая. На MODX 3 + Minishop 3 есть ли какая-то дорожная карта развития и какие инструменты и возможности в нем будут реализованы?Я честно говоря склоняюсь к разработке Enterprice версии (платной). И в ней встраивать уже поиск и фильтры, работу с изображениями, с контентом, бонусы, модификации, промо-коды и т.п. Короче чтобы скачал и сразу все было под ключ, вплоть до готовых тем Новые дополнения и их версии / MiniShop3 - когда и чего ждать? 15 +1
13 января 2025, 14:26 Ну вот. Только его подвинули, а он опять вверх )) Насчет возраста заметки — это кстати отличная идея. Я не подумал. Наверное ради интереса попробую сделать концепт расчета. Новости и события / Обновление рейтинга пользователей на MODX.pro 12 +1
11 января 2025, 11:35 Да. Но это грамотный ответ мнение, с которым я согласен Вопросы / GNU2 можно ли зашифровать часть компонента MODX? 16 0
10 января 2025, 18:57 Вопрос о шифровании компонентов для MODX и модифицированных версий MODX связан с интерпретацией лицензий GNU, в частности GNU GPL (General Public License), под которой распространяется MODX. 1. Модифицированная версия MODX Если вы модифицируете исходный код MODX и распространяете (или продаете) эту модифицированную версию, то лицензия GNU GPL требует, чтобы вы предоставили исходный код модифицированной версии. Шифрование модифицированной версии MODX явно нарушает это требование, так как лицензия GPL требует, чтобы исходный код был доступен для всех, кто получил модифицированную версию. 2. Шифрование компонентов для MODX Компоненты для MODX (например, плагины, сниппеты, модули) могут рассматриваться как производные работы, если они напрямую используют или модифицируют код MODX. В этом случае они также подпадают под действие лицензии GPL, и их исходный код должен быть предоставлен. Однако, если компонент является самостоятельным программным обеспечением, которое лишь взаимодействует с MODX через API или другие интерфейсы, не включая и не модифицируя исходный код MODX, то он может не подпадать под требования GPL. В этом случае шифрование такого компонента может быть допустимым, но это зависит от конкретных обстоятельств и интерпретации лицензии. 3. Код, включающий код MODX Если ваш код включает или модифицирует исходный код MODX, то он считается производной работой и должен распространяться под той же лицензией GPL с предоставлением исходного кода. 4. Код, использующий инструменты MODX Если ваш код лишь использует API или другие инструменты MODX, не включая и не модифицируя его исходный код, то он может не подпадать под требования GPL. В этом случае шифрование такого кода может быть допустимым. 5. Интерпретация для фреймворков Для фреймворков, распространяемых под лицензией GPL, обычно применяются те же принципы. Если ваш код является производной работой (включает или модифицирует код фреймворка), то он должен распространяться под GPL с предоставлением исходного кода. Если же ваш код лишь использует API или интерфейсы фреймворка, не включая его код, то он может не подпадать под требования GPL. Вопросы / GNU2 можно ли зашифровать часть компонента MODX? 16 0
10 января 2025, 10:35 Шифрование исходного кода PHP может быть полезно для защиты интеллектуальной собственности или предотвращения несанкционированного доступа к коду. Однако стоит учитывать, что полная защита исходного кода невозможна, так как PHP выполняется на стороне сервера, и расшифрованный код должен быть доступен для интерпретатора. Тем не менее, вот несколько способов, которые могут помочь затруднить чтение исходного кода: 1. Использование инструментов для обфускации кода Обфускация — это процесс преобразования исходного кода в трудночитаемую форму, сохраняя его функциональность. Существуют инструменты, которые могут обфусцировать PHP-код: PHP Obfuscator: Инструменты вроде PHP Obfuscator или ionCube PHP Obfuscator могут преобразовать код в нечитаемый вид. YAK Pro: Бесплатный инструмент для обфускации PHP-кода. Пример использования: php yakpro-po.php your_script.php -o obfuscated_script.php2. Шифрование с помощью ionCube или Zend Guard Эти коммерческие инструменты позволяют зашифровать PHP-код и запускать его с помощью специального расширения на сервере. ionCube: Шифрует код и требует установки ionCube Loader на сервере. Zend Guard: Аналогично ionCube, шифрует код и требует Zend Optimizer.Пример использования ionCube: ioncube_encoder your_script.php -o encrypted_script.php3. Использование base64_encode и eval Этот метод не является надежным, но может затруднить чтение кода. Код кодируется в base64, а затем декодируется и выполняется с помощью eval. Пример: <?php $code = '<?php echo "Hello, World!"; ?>'; $encoded = base64_encode($code); eval(base64_decode($encoded)); ?>4. Самописное шифрование Вы можете написать собственный алгоритм шифрования и расшифровки кода. Однако это требует глубоких знаний в криптографии и может быть ненадежным. Пример: <?php function encrypt($code, $key) { return openssl_encrypt($code, 'AES-128-CBC', $key); } function decrypt($encrypted, $key) { return openssl_decrypt($encrypted, 'AES-128-CBC', $key); } $code = '<?php echo "Hello, World!"; ?>'; $key = 'your_secret_key'; $encrypted = encrypt($code, $key); eval(decrypt($encrypted, $key)); ?>5. Использование PHP-расширений Вы можете написать собственное PHP-расширение на C, которое будет содержать зашифрованный код. Это требует навыков программирования на C и работы с PHP API. Важные замечания: Производительность: Шифрование и расшифровка кода могут замедлить выполнение скрипта. Безопасность: Ни один метод не обеспечивает 100% защиту. Злоумышленник с достаточными знаниями и временем может декомпилировать или расшифровать код. Лицензирование: Убедитесь, что использование инструментов шифрования соответствует лицензионным соглашениямВыбор метода зависит от ваших требований к безопасности, бюджета и уровня сложности, который вы готовы принять. Вопросы / GNU2 можно ли зашифровать часть компонента MODX? 16 0
09 января 2025, 17:21 Вот так привязать к шаблонам. $templates = array(1, 2); if(in_array($modx->controller->resource->get('template'), $templates)) { $modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() { if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext"); });</script>'); };Вот так выводить для указанных шаблонов, и плюс отдельно для указанных ID. $templates = array(1, 2); $ids = [112, 113]; if( in_array($modx->controller->resource->get('template'), $templates) || in_array($modx->controller->resource->get('id'), $ids) ) { $modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() { if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext"); });</script>'); }; Вопросы / RTE для introtext: помогите пожалуйста с подсказкой 9 +1
09 января 2025, 12:14 У работы нет стоимости, она у есть у исполнителя. Соответственно зависит от того, кто будет делать. Ну, а дальше уже нюансы. Что за файл, откуда он берется. Готовый он или нужно генерировать. Куда, когда отсылать, при каких условиях и т.п. Вопросы / Как можно реализовать оплату на странице товара 9 0
08 января 2025, 21:57 Да это возможно, но придется писать свой плагин скорее всего. В MODX и minishop2 из коробки такого нет Вопросы / Как можно реализовать оплату на странице товара 9 0
05 января 2025, 16:38 В нашем случае рейтинг — это же признак квалификации, узнаваемости, признания профессиональных заслуг. Как то странно донатами влиять на свою узнаваемость или признание. Новости и события / Обновление рейтинга пользователей на MODX.pro 12 0
03 января 2025, 18:04 Судя по комментариям — возникло небольшое недопонимание. В недрах проекта есть сложная формула, согласно которой рейтинг складывается из различных параметров. А именно За публикацию — начисляется от 0 до 20 баллов в, зависимости от раздела. За комментарии — начисляются 0 баллов, но зато добавляются баллы за лайки комментарию. Также учитываются лайки к постам, добавление постов в избранное и т.п. В общем сложная, многоуровневая формула, которую сделал еще Василий. Она остается неизменной. Я же лишь реализовал коэффициент активности. Программа высчитывает рейтинг пользователя по формуле Василия, а с сегодняшнего дня помножается на коэф. активности. Пользователь был активен в последний месяц — его рейтинг равен тому что дала формула рейтинга. Пользователь пропал и не писал ничего более полугода — его рейтинг помножается на 0.5 (делится пополам). Но стоит ему зайти и написать пост — как его рейтинг сразу восстановится. В итоге из рейтинга отсеиваются люди, давно потерявшие MODX из виду, а вперед вырываются те, кто регулярно пишет посты и комментарии. Новости и события / Обновление рейтинга пользователей на MODX.pro 12 +3
03 января 2025, 16:11 Да, вполне возможно Новости и события / Обновление рейтинга пользователей на MODX.pro 12 0
19 декабря 2024, 15:42 Касательно MiniShop3 — изменения в классах и таблицах товаров не планируются. Так что тут уже стабильно все. Новые дополнения и их версии / Impex3 — импорт/экспорт ресурсов MODX3 с поддержкой товаров MiniShop3 2 +1
14 декабря 2024, 11:28 Спасибо за теплые слова Антон. Документацию пока не начинал делать. Надо бы… Умные люди советую отдельный проект под документацию и демку поднимать, так как материала много. Мнения разделяются. Насчет локализации. Ну тут принципы MODX сохранены. В ближайшее время создам каталоги всех языков и далее можно будет помочь с переводами. Новые дополнения и их версии / MiniShop3 - 1.0.0-alpha 21 +1
09 декабря 2024, 21:27 Спустя два года — сделано Новые дополнения и их версии / [Theme.Bootstrap] Новая версия с Bootstrap 4 32 +2
03 декабря 2024, 19:09 Расскажи ка мне друг мой, как ты при помощи события отменишь добавление в корзину или отправку заказа? А как, при подписке на одно событие — ты прервешь выполнение других, если первое событие сигнализирует о прерывании действия. И еще пожалуйста дай знать, как работать в событиях с асинхронными запросами. Я и сам думал обойдусь событиями. Но основательно взявшись за работу, понял что они нефига не справляются. Новости и события / MiniShop3 - чего ждать в Beta версии. 11 0
29 ноября 2024, 11:58 Вы не думали сделать его платнымПочти наверняка будет платная Энтерпрайз версия в дополнение к базовой бесплатной. Новые дополнения и их версии / MiniShop3 - 1.0.0-alpha 21 +2
29 ноября 2024, 11:56 что именно на вас держится MODxСпасибо за теплые слова. Он держится на вас на всех скорее, кто поддерживает финансово. Ибо без этого не было бы мотивации совсем. Новые дополнения и их версии / MiniShop3 - 1.0.0-alpha 21 0
28 ноября 2024, 19:27 Присоединяйся. Лексиконы тебя заждались Новые дополнения и их версии / MiniShop3 - 1.0.0-alpha 21 +1
28 ноября 2024, 13:34 Это разные программы, с разным принципом работы. Переезд вряд ли возможен. Новые дополнения и их версии / MiniShop3 - 1.0.0-alpha 21 0
28 ноября 2024, 09:58 Передал российским товарищам. Спасибо за инфу. поправим Новые дополнения и их версии / MiniShop3 - 1.0.0-alpha 21 +1
[videoGallery] Видео галерея YouTube, Vimeo Невозможно установить пакет с подписью: videogallery-1.4.0-beta Ошибка установки Error в /core/packages/videogallery-1.4.0-beta/modCategory/7fc931a7772edc9752c16e9c41eb5e52.reso...
mxBoard: канбан-доска для команд, людей и ИИ-агентов в MODX 3 Привет, добавил пользователя в группу mxBoard(4), создал токен. Добавляю все в postman пишет: rest: { «success»: false, «message»: «Недействительный токен.», «data...
Релиз miniShop2 ver. 4.4.1 & 4.4.2 Подскажите пожалуйста, может я что-то не знаю или упустил. Но есть ли решение по глюку с radio? Указываешь свое radio c одинаковым name и в результате при переключении получаешь вс...
Плагин EnvBadge: визуальный индикатор окружения в админке MODX3 Расскажите пожалуйста как вы настраиваете сайт на MODX 3 чтобы был dev, prod, stage. Можете описать workflow? Допустим у меня 80% — это магазины, там клиенты, продажи, все онлай...
MaxNotify Обновление компонента 1.3.0-pl (22.07.2026) — добавлено автоматическое получение полей через msOrder->toArray(); — массивы и объекты безопасно пропускаются; — стандартные...
MyFavorites MyFavorites — 3.0.0-beta Первая версия для MODX Revolution 3.x — компонент полностью переписан с нуля (PHP >= 8.4, namespaced-ядро MODX 3, PSR-4, сервис-ориентированная архит...
Я честно говоря склоняюсь к разработке Enterprice версии (платной). И в ней встраивать уже поиск и фильтры, работу с изображениями, с контентом, бонусы, модификации, промо-коды и т.п.
Короче чтобы скачал и сразу все было под ключ, вплоть до готовых тем
Насчет возраста заметки — это кстати отличная идея. Я не подумал. Наверное ради интереса попробую сделать концепт расчета.
ответмнение, с которым я согласен1. Модифицированная версия MODX
Если вы модифицируете исходный код MODX и распространяете (или продаете) эту модифицированную версию, то лицензия GNU GPL требует, чтобы вы предоставили исходный код модифицированной версии. Шифрование модифицированной версии MODX явно нарушает это требование, так как лицензия GPL требует, чтобы исходный код был доступен для всех, кто получил модифицированную версию.
2. Шифрование компонентов для MODX
Компоненты для MODX (например, плагины, сниппеты, модули) могут рассматриваться как производные работы, если они напрямую используют или модифицируют код MODX. В этом случае они также подпадают под действие лицензии GPL, и их исходный код должен быть предоставлен.
Однако, если компонент является самостоятельным программным обеспечением, которое лишь взаимодействует с MODX через API или другие интерфейсы, не включая и не модифицируя исходный код MODX, то он может не подпадать под требования GPL. В этом случае шифрование такого компонента может быть допустимым, но это зависит от конкретных обстоятельств и интерпретации лицензии.
3. Код, включающий код MODX
Если ваш код включает или модифицирует исходный код MODX, то он считается производной работой и должен распространяться под той же лицензией GPL с предоставлением исходного кода.
4. Код, использующий инструменты MODX
Если ваш код лишь использует API или другие инструменты MODX, не включая и не модифицируя его исходный код, то он может не подпадать под требования GPL. В этом случае шифрование такого кода может быть допустимым.
5. Интерпретация для фреймворков
Для фреймворков, распространяемых под лицензией GPL, обычно применяются те же принципы. Если ваш код является производной работой (включает или модифицирует код фреймворка), то он должен распространяться под GPL с предоставлением исходного кода. Если же ваш код лишь использует API или интерфейсы фреймворка, не включая его код, то он может не подпадать под требования GPL.
1. Использование инструментов для обфускации кода
Обфускация — это процесс преобразования исходного кода в трудночитаемую форму, сохраняя его функциональность. Существуют инструменты, которые могут обфусцировать PHP-код:
PHP Obfuscator: Инструменты вроде PHP Obfuscator или ionCube PHP Obfuscator могут преобразовать код в нечитаемый вид.
YAK Pro: Бесплатный инструмент для обфускации PHP-кода.
Пример использования:
2. Шифрование с помощью ionCube или Zend Guard
Эти коммерческие инструменты позволяют зашифровать PHP-код и запускать его с помощью специального расширения на сервере.
- ionCube: Шифрует код и требует установки ionCube Loader на сервере.
- Zend Guard: Аналогично ionCube, шифрует код и требует Zend Optimizer.
Пример использования ionCube:3. Использование base64_encode и eval
Этот метод не является надежным, но может затруднить чтение кода. Код кодируется в base64, а затем декодируется и выполняется с помощью eval.
Пример:
4. Самописное шифрование
Вы можете написать собственный алгоритм шифрования и расшифровки кода. Однако это требует глубоких знаний в криптографии и может быть ненадежным.
Пример:
5. Использование PHP-расширений
Вы можете написать собственное PHP-расширение на C, которое будет содержать зашифрованный код. Это требует навыков программирования на C и работы с PHP API.
Важные замечания:
- Производительность: Шифрование и расшифровка кода могут замедлить выполнение скрипта.
- Безопасность: Ни один метод не обеспечивает 100% защиту. Злоумышленник с достаточными знаниями и временем может декомпилировать или расшифровать код.
- Лицензирование: Убедитесь, что использование инструментов шифрования соответствует лицензионным соглашениям
Выбор метода зависит от ваших требований к безопасности, бюджета и уровня сложности, который вы готовы принять.Вот так выводить для указанных шаблонов, и плюс отдельно для указанных ID.
Соответственно зависит от того, кто будет делать.
Ну, а дальше уже нюансы. Что за файл, откуда он берется. Готовый он или нужно генерировать. Куда, когда отсылать, при каких условиях и т.п.
Как то странно донатами влиять на свою узнаваемость или признание.
В недрах проекта есть сложная формула, согласно которой рейтинг складывается из различных параметров.
А именно
За публикацию — начисляется от 0 до 20 баллов в, зависимости от раздела.
За комментарии — начисляются 0 баллов, но зато добавляются баллы за лайки комментарию.
Также учитываются лайки к постам, добавление постов в избранное и т.п.
В общем сложная, многоуровневая формула, которую сделал еще Василий. Она остается неизменной.
Я же лишь реализовал коэффициент активности. Программа высчитывает рейтинг пользователя по формуле Василия, а с сегодняшнего дня помножается на коэф. активности.
Пользователь был активен в последний месяц — его рейтинг равен тому что дала формула рейтинга.
Пользователь пропал и не писал ничего более полугода — его рейтинг помножается на 0.5 (делится пополам). Но стоит ему зайти и написать пост — как его рейтинг сразу восстановится.
В итоге из рейтинга отсеиваются люди, давно потерявшие MODX из виду, а вперед вырываются те, кто регулярно пишет посты и комментарии.
Документацию пока не начинал делать. Надо бы…
Умные люди советую отдельный проект под документацию и демку поднимать, так как материала много. Мнения разделяются.
Насчет локализации. Ну тут принципы MODX сохранены. В ближайшее время создам каталоги всех языков и далее можно будет помочь с переводами.
А как, при подписке на одно событие — ты прервешь выполнение других, если первое событие сигнализирует о прерывании действия. И еще пожалуйста дай знать, как работать в событиях с асинхронными запросами.
Я и сам думал обойдусь событиями. Но основательно взявшись за работу, понял что они нефига не справляются.