Всего 123 801 комментарий

Николай Савин
08 августа 2024, 16:52
0
Спасибо да. Ты уже кидал где то. Ссылка есть. Это интересная тема, в нее точно стоит погрузиться. Но сначала уже архитектуру добить
Василий Наумкин
08 августа 2024, 16:44
+1
На всякий случай вкину ссылку на репо с miniShop3 который я переделал под Composer как-то раз на досуге — github.com/bezumkin/MiniShop3/

Это чисто proof of concept, для реальной работы не предназначено, просто доказательство возможности такой работы.

Никого ни к чему не призываю, просто для информации.
Артур Шевченко
08 августа 2024, 13:58
0
Исправил. Потратил своё обеденное время, только чтобы ты доволен был.
Николай Савин
08 августа 2024, 13:45
0
А как связаны между собой крон и сниппет?

Крон дергает PHP файлы обычно. А сниппет — это запись в базе данных — совсем другая сущность.
Показал бы уже полную запись в крон менеджере
Konstantin
08 августа 2024, 08:35
0
Профиксите пожалуйста баг — при загрузке файлов валидатор ругается на файлы у которых в названии присутствуют точки считая что после них должно быть сразу расширение, не найдя нужного расширения после них выдает ошибку — что может смутить человека который отправляет файлы с фронта
Дмитрий
07 августа 2024, 21:24
0
31 июля 2024 разработчики обновили панель, после чего у меня перестал работать сайт. Пришлось поправить конфиг. Актуальный конфиг теперь такой:

server {
    listen 10.10.10.10:80;
    server_name my-site.ru www.my-site.ru;
    return 301 https://my-site.ru$request_uri;
}

server {
    listen 10.10.10.10:443 ssl http2;
    server_name my-site.ru www.my-site.ru;

    # Изменить имя сертификата, если создан другой сертификат (нужно выпустить wildcard, для корректной работы переадресации с www)
    ssl_certificate     /var/www/httpd-cert/my-site.ru_2023-06-27-00-03_12.crt;
    ssl_certificate_key /var/www/httpd-cert/my-site.ru_2023-06-27-00-03_12.key;

    charset utf-8;

    gzip on;
    gzip_min_length 1000;
    gzip_proxied any;
    gzip_types gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";
    gzip_comp_level 5;

    set $root_path /var/www/my_site_user/data/www/my-site.ru;
    root $root_path;
    index index.php;
    disable_symlinks if_not_owner from=$root_path;
    
    location / {
    	root $root_path;
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php?q=$1 last;
        }
    }

    # Редирект с www на адрес без www
    if ($host ~* '^www\.(.*)$') {
        return 301 $scheme://$1$request_uri;
    }

    # Редирект с index.php на корень сайта:
    if ($request_uri ~* '^/index.php$') {
        return 301 /;
    }

    # Убираем повторяющиеся слеши из адреса
    # Вариант, работающий только при merge_slashes = on
    if ($request_uri ~ ^[^?]*//) {
        rewrite ^ $uri permanent;
    }
    # Универсальный вариант
    #if ($request_uri ~ ^(?P<left>[^?]*?)//+(?P<right>[^?]*)) {
    #    rewrite ^ $left/$right permanent;
    #}

    # Удаление слеша в конце URL
    # Если изменили адрес админки MODX, то нужно указать его в условии этого правила, иначе будет бесконечный редирект.
    #if ($request_uri ~ ".*/$") {
    #    rewrite ^/((?!core|connectors|manager|setup).*)/$ /$1 permanent;
    #}

    # Добавление слеша в конце URL
    #if ($request_uri !~* "(?:\?)|(?:\.\w+$)|(?:\/$)") {
    #    return 301 $request_uri/;
    #}

    # Запрет для всех для при обращении к ядру MODx из браузера
	location ~ ^/core/.* {
	  deny all;
	  return 403;
	}
    
    location ~ ^/config.core.php {
	  return 404;
	}

	location @rewrite {
	  rewrite ^/(.*)$ /index.php?q=$1;
	}

    location ~ \.php$ {
        # Базовая авторизация в служебные каталоги
        location ~* ^/(manager|connectors)/ {
            auth_basic "Restricted Access";
            auth_basic_user_file /var/www/my_site_user/data/.htpasswd;
            try_files $uri $uri/ @rewrite;
            location ~ \.php$ {
                include /etc/nginx/fastcgi_params;
                fastcgi_pass unix:/var/run/my-site.ru.sock;
                fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                fastcgi_param DOCUMENT_ROOT $realpath_root;
            }
        }
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/var/run/my-site.ru.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
    }

    location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpeg|avi|zip|gz|bz2|rar|swf|ico|7z|doc|docx|map|ogg|otf|pdf|ttf|tif|txt|wav|webp|woff|woff2|xls|xlsx|xml)$ {
        try_files $uri @rewrite;
        access_log off;
	    expires 30d;
	    break;
    }

    location @fallback {
        fastcgi_pass unix:/var/run/my-site.ru.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
    }

	location ~ /\.ht {
	  deny all;
	}
    
    include "/etc/nginx/fastpanel2-sites/my_site_user/my-site.ru.includes";
    include /etc/nginx/fastpanel2-includes/*.conf;

    error_log /var/www/my_site_user/data/logs/my-site.ru-frontend.error.log;
    access_log /var/www/my_site_user/data/logs/my-site.ru-frontend.access.log;
}
Роман
07 августа 2024, 20:55
0
Это предположение. Насчёт пути — указываю напрямую название сниппета, пару раз перепроверял — путь верный. Если другие, более лёгкие сниппеты, запускаются, у меня только этот вариант
Prihod
07 августа 2024, 20:42
+1
При добавлении или удалении в избранное сообщений никаких нет так как по индикатору и так все понятно и нет смысла лишний раз перегружать интерфейс лишней инфой, если они тебе нужны то ты сам должен их показывать

window.addEventListener('DOMContentLoaded', e => {
myFavorites.on('add', (self) => {
     self.notifier.success("add success");
  });
myFavorites.on('remove', (self) => {
     self.notifier.success("remove success");
  });
});
Артур Шевченко
07 августа 2024, 19:41
0
А как ты понял что именно не переваривает, а не скажем, просто не запускает, потому что путь не к скрипту неверный?
Sergey (Sentinel)
07 августа 2024, 16:54
0
class MyNotifier {
  success(msg) {
      iziToast.success({
          title: 'Success',
          message: msg,
      });
  }
  error(msg) {
      iziToast.error({
          title: 'Error',
          message: msg,
      });
  }
}

window.addEventListener('DOMContentLoaded', e => {
  myFavorites.on('init', (self) => {
      const notifier = new MyNotifier();
      self.setNotifier(notifier);
  });
});
и так тоже не работает
Sergey (Sentinel)
07 августа 2024, 13:39
0
Понял, спасибо.
Так же на тесте не работают уведомления из коробки ms2
s34437.h5.modhost.pro/index.php?id=3
Николай Савин
07 августа 2024, 10:26
0
Конечно же он под тройку только. Там совершенно другая архитектура. Даже модели по другому именуются
Konstantin
07 августа 2024, 08:38
0
А вот это уже дело говорите. Добавил в корневой htaccess эти правила и закрыл core с глаз долой:

# Закрыть доступ к core и другим чувствительным файлам/директориям
RewriteCond %{REQUEST_URI} ^/(core|config\.core\.php|_build|_gitify|_backup) [NC]
RewriteRule ^.*$ - [F,L]
# Установить пользовательскую страницу ошибки для 403
ErrorDocument 403 /error401
Arahort
07 августа 2024, 03:21
0
Спасибо что не забрасываете, особенно за такие скромные суммы.
Стоит надеяться что ms3 будет работать на Modx 2.x? Или он чисто под 3ку?
Wassi Wassinen
07 августа 2024, 00:28
+6
По Яндекс Метрике — у главной страницы Modx.pro восемь тысяч посетителей за месяц. Если они будут чаще видеть кнопку\блок доната, то вероятность набрать больше денег, скорее всего, повысится. :)
Wassi Wassinen
07 августа 2024, 00:24
+7
Что-то вроде этого (макет). :)

Wassi Wassinen
07 августа 2024, 00:09
+3
Смысл в том, чтобы топовые донаты всегда были на виду у сообщества. Это основной принцип при сборе. :)
Собраны маленькие суммы, в том числе, потому, что информацию о краудфаундинге не найти. Точнее, найти можно, но это нужно специально стараться искать. :)

Как написал Иван ниже — хотя бы блок с ссылками добавьте в шапку сайта. Или строку с баннером\кнопкой. Дизайн могу наверстать.
Артур Шевченко
06 августа 2024, 23:31
1
0
создатели движка настоятельно рекомендуют это сделать
Что мешает сделать так же (см. под заголовком Protect the Core and Other Locations) со второй версией?

Я не отрицаю наличие проблемы, просто не знаю как её решить со стороны компонента.
Ivan K.
06 августа 2024, 23:23
+3
Спасибо вам за работу. Очень жду финальной версии.
Поместите хотя бы кнопку доната в верхнее меню, и сделайте ее жирной и красной))
Я например, донатил бы чаще, а не только, когда вижу хорошие новости)
а то 46 000 руб. это уж совсем скромный результат.