• Как вывести всплывающее окно на всех сайтах находящихся в подпапках?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Если все сайты не подключают какой-то один и тот же скрипт/шаблон, то единственный вариант - это обойти все папки и добавить код куда надо (в html шаблон или какой-то js файл, я хз, как ваша cms устроена).

    Если такой файл есть, то допишите код окна туда. Если cms одна и та же и сайты сделаны однообразно, то есть надежда, что такой файл существует. Можно вообще извратиться (если решение временное), вдруг у вас один и тот же условный /jquery.js подключатся во всех подпапках. Вот в него и впихивайте хоть alert(), хоть dom-манипуляцию.

    Если же в каждой папке полностью независимая копия, то - увы.

    Раз все cms одинаковые, то, скорее всего, есть какой-то одинаково называющийся файл во всех, в который код окна и можно добавить. Но не обязательно это делать руками N раз.

    Все эти файлы надо найти каким-то скриптом, а потом как-то в них вставить код.
    Если на линухе, то можно файлы найти аж так - передайте "./*/some-fixed-path/file-we-need.js" в качестве параметра в скрипт и bash сам раскроет шаблон и найдет все файлы. А скрипт может вызывать тупо patch < diff.txt. Вы руками внесите изменения в один файл, сделайте diff, и его результат скармливайте patch. Если изменения можно внести в одно и то же место во всех файлах (в самое, начало, например), то все сработает без ошибок. Читайте man diff, man patch. Еще можно man find.
    Ответ написан
    1 комментарий
  • Как вывести всплывающее окно на всех сайтах находящихся в подпапках?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    есть 2 дериктивы php.ini
    auto_prepend_file
    auto_append_file

    https://www.php.net/manual/ru/ini.core.php#ini.aut...

    С помощью них можно заинклудить автоматически файл в начало или конец всех скриптов
    Эти дериктивы можно задать как через php.ini так и через настройки веб сервера, в апаче через .htaccess

    Текущий путь смотрится через значение переменной $_SERVER['REQUEST_URI'] вокруг которого можно построить всю логику

    Чтобы не сломать ничего в работе CMS нужно будет очень тонко подойти к внедрению скрипта, если пойдете по этому пути, так как инклуд одного скрипта во все другие может сломать что угодно в логике.
    Ответ написан
    1 комментарий