Всего 125 670 комментариев

gg-
gg-
12 апреля 2021, 09:51
0
А где там конкретно помощь по вопросу? Спасибо.
gg-
gg-
12 апреля 2021, 09:51
0
Да, столкнулся с такой же проблемой. Ответов особо не нашел. Есть варинаты?
Fi1osof
Fi1osof
12 апреля 2021, 09:25
2
+2
Александр, если докером еще интересуетесь, можно с этим поиграться: github.com/MODX-Club/docker-lnmp
Здесь все необходимое для запуска MODX-3 (ну, просто он там в зависимостях, но можно и другие добавить в app/www).

Сам по себе докер (именно как один отдельно взятый контейнер) не очень интересно. Интересна возможность именно создания нескольких контейнеров, и чтобы они между собой взаимодействовали. Здесь у нас php-fpm, nginx, mysql, PhpMyAdmin и сам MODX. Но MODX пока не удалось запустить на полном автомате (мне лень было это копать без особой мотивации). Тем не менее, контейнер под него подготовлен, в том числе и устанавливается composer github.com/MODX-Club/docker-lnmp/blob/master/php-fpm/Dockerfile#L36

Только клонировать проект надо с субмодулями
git clone --recursive github.com/MODX-Club/docker-lnmp docker-modx
cd docker-modx

После этого проверяем, директория должна быть не пустой app/www/modx3

И вот чего не автоматизировал — это создание modx3/core/packages/core.transport.zip
По идее его должна быть возможность как-то билдить через CLI, но я с наскока не нашел. Если найдете, то в связке с общей установкой MODX через CLI можно полностью автоматизировать установку и запуск.
docs.modx.com/3.x/en/getting-started/installation/cli

Пока же приходится качать этот пакет с оффсайта и закидывать туда, иначе установка не может быть завершена.

Запуск

Копируем .env
copy .sample.env .env

Может затем отредактировать его и установить рет-пароль для мускула.

Для надежности сначала запускаем mysql и pma
docker-compose up -d --build mysql pma

Затем php-fpm
docker-compose up -d --build php-fpm

После запуска надо собрать MODX (я забыл это прописать в Dockerfile).
Заходим в контейнер php-fpm
docker exec -it modx-docker_php-fpm_1 bash (имя контейнера может отличаться, ищем актуальное docker ps или docker-compose ps).
Заходим в папку modx3 и выполняем
composer install

Ну и в конце nginx
Только хост подправить при необходимости: github.com/MODX-Club/docker-lnmp/blob/master/nginx/conf.d/modx3.local.conf

docker-compose up -d --build nginx

После запуска идет modx3.local/setup и устанавливаем.
Fi1osof
Fi1osof
12 апреля 2021, 08:33
+2
Нет, бля, не я облил говном, а мне предъявили «Ты что так медленно перемещаешься на коленочках недостаточно усердно нам пытаешься помогать?!». И конкретно ты начал тыкать, что это мозговыносящий код и все такое. Вот на это я только и могу сделать рука-лицо. Вам там надо половину переписывать, фишки новые вводить (о чем вас просят давно), а вы ломаете что есть, а потом губки дуете, что вам там плохо что-то оформляют? Такими темпами у вас и еще через 5 лет будет все то же самое, что и было.

Марк вежливо попросил, я в общем-то тоже.
Я в комменте дал пояснение. А мне в ответ «А что не туда?». Бля, да какая разница? Информация есть, есть.

Ну и PR сам по себе не решает задачу, давай будем объективны.
Я проблему здесь довольно подробно раскрыл. Там показал, что именно в этой строчке проблема. Далее уже кто лучше знает обстановку, может принять, или отменить и поправить. Хотя бы есть информация.
Іван Клімчук
11 апреля 2021, 23:31
+1
Есть элементарные правила и уважение к ним. Они не просто так были придуманы, а ты пришел, и всех облил говном, мол вы чего, тупые тут все? Марк вежливо попросил, я в общем-то тоже. Ну и PR сам по себе не решает задачу, давай будем объективны.
Fi1osof
Fi1osof
11 апреля 2021, 23:29
+2
Каждый ученик извлекает из урока ровно столько, сколько он может извлечь.
Fi1osof
Fi1osof
11 апреля 2021, 23:27
0
Нам больше делать нечего, как сидеть и гадать на картах Таро, что там автор имел ввиду.
Это одна строчка кода, Карл. Одна. Чего там думать? Я переписывал свой сайт, 400 000 строк изменений, и все ОК. А у вас от одной строчки мозг ломается? Ох, измельчали нынче программисты.

Мы не за зарплату там сидим, есть дела и поважнее.
Так и я не зарплате, если что.

иначе просто закрывают PR
Ну так надо было закрыть и все. ОК, я сам закрыл. И больше ничего не отправлю, даже трогать не буду.
Сергей Шлоков
11 апреля 2021, 22:19
+3
Практического смысла и применения в этом околонулевая
Кому как.
Павел Бигель
11 апреля 2021, 21:46
+2
Вот вроде и минус ставить не хочется (человек старался + олд + по содержательности явно лучше многих статей тут), но и лайк ставить не за что.
Практического смысла и применения в этом околонулевая
Іван Клімчук
11 апреля 2021, 20:47
0
Я уже отписал в PR, чтобы это была часть рефакторинга, переезд на PSR-4, следовательно имена классов теперь «правильные», с учетом регистра, поэтому и пути к actions теперь с учетом регистра. Это правили, но видимо не везде нашлось.
Іван Клімчук
11 апреля 2021, 20:44
+7
Бля, а интеграторам потом сиди и ломай голову, нахрена оно там нужно? 2 строки пояснения написать — жопа не отвалится, ну серьезно. Нам больше делать нечего, как сидеть и гадать на картах Таро, что там автор имел ввиду. Мы не за зарплату там сидим, есть дела и поважнее. Ты ж вроде говоришь, что активно в open source серьезном участвуешь, так там считается правилом хорошего тона описать твое изменение и зачем оно нужно, иначе просто закрывают PR, как формально не соответствующий правилам. Не только твое время дорого стоит. Никто ж не требует простыни писать, для ленивых даже сделали удобный шаблон, чтобы максимально не думать о структуре, а просто написать 2 ответа и все.
Fi1osof
Fi1osof
11 апреля 2021, 19:13
+1
К слову, еще одна причина почему не хочется заниматься кодингом в ядро: я отправил ПР, но видите ли не достаточно хорошо его оформил (точнее совсем не оформил). Почему я должен на это тратить время? Это не issue, где бы я спрашивал «А как мне сделать то-то». Это PR. То есть я потратил не мало своего времени, нашел проблему, пофиксил ее, и еще должен что-то там разжевывать? А мейнтейнеры на что? Это уже не программисты, а менеджеры какие-то. Как будто все это должно мне быть важнее, чем им.
Fi1osof
Fi1osof
11 апреля 2021, 19:01
0
Я в комменте написал.
Сергей Шлоков
11 апреля 2021, 18:56
0
И никак не думал, что сам Джейсон такую засаду сделает :)
Бывает со всеми.

Отправил простенький PR. Лечит проблему.
Я видел. Я же теперь интегратор ) Ну ты хоть в описании опиши. )
Fi1osof
Fi1osof
11 апреля 2021, 18:51
+1
Я докопался до проблемы :)
Я конечно же все это проверял, но не достаточно глубоко. Попробовал как должно быть, не сработало, подумал никогда и не было. А оказывается было. Во второй вертке проверяет
$isLogin = $target == 'login' || $target == 'security/login';
а в 3-ей (на которой я и экспериментировал) уже вот так:
$isLogin = $target == 'Login' || $target == 'Security/Login';
Но в коннекторе-то проверяется именно на 'security/login', чтобы выставить define('MODX_REQP', false);

И никак не думал, что сам Джейсон такую засаду сделает :)

Всегда считал его мегаконсервативным в плане изменения кода, а тут фигак и в продакшн.

Отправил простенький PR. Лечит проблему.
Сергей Шлоков
11 апреля 2021, 18:09
+1
MODX под рукой нет.

Теоретически, вот тут определяется константа, которая позволяет пройти твоё блокирующее условие.
Fi1osof
Fi1osof
11 апреля 2021, 18:05
0
Покажи пример запроса. Я action=security/login первым делом проверял. И в статье показывал скриншопы, что без кукиса даже из админки через модалку не залогиниться. Вот здесь отбивает же запрос.
Fi1osof
Fi1osof
11 апреля 2021, 18:02
0
Хотя 401 означает — требуется аутентификация, а код для отсутствия прав — 403.
Люто плюсую.
Сергей Шлоков
11 апреля 2021, 18:01
+1
нет средств проверить авторизован ты или нет
Такого API нет.

Но проблема тут в том, что у нас неоднозначная система доступов, и легко могут быть случаи, когда интерфейс загружен, а на определенный запрос нет прав.
Я по этому поводу уже говорил, что в MODX нет корректного кода ответа — на все действия он отвечает кодом 401. Хотя 401 означает — требуется аутентификация, а код для отсутствия прав — 403.