Задать вопрос
  • Как реализовать подписание оферты на сайте простой электронной подписью?

    ProjectSoft
    @ProjectSoft
    В зависимости от используемой либы для генерации PDF и способы разные, но суть одна.
    Способы Яндексуется на раз.
    Написано
  • Как решить проблему с узкой шириной текста возле float элементов?

    ProjectSoft
    @ProjectSoft
    Сергей delphinpro, я и не против и не спорю. Я об этом и говорю. Для этого существует множество редакторов с кучей API настроек. Тот же самый TinyMCE. Просто топикстартер не описывает используемые инструменты и используемую CMS. Ибо везде всё по разному ))))
    Написано
  • Почему splice не удаляет?

    ProjectSoft
    @ProjectSoft
    syb2024,
    мне надо чтоб удалял age 40 , потом после удаления самый больше возраст будет 31 его тоже надо удалить, до тех пор пока не останется пустой массив

    forEach здесь плохо подходит, так как массив уменьшается.
    const data3 = [
    	{
    		name: "Андрей",
    		age: 31
    	},
    	{
    		name: "Валерия",
    		age: 31
    	},
    	{
    		name: "Егор",
    		age: 25
    	},
    	{
    		name: "София",
    		age: 29
    	},
    	{
    		name: "Антон",
    		age: 40
    	},
    ];
    while(data3.length) {
    	data3.splice(data3.findIndex((n) => {
    		return (n.age === Math.max(...data3.map((n) => n.age))) ? !0 : !1;
    	}), 1);
    }

    А что сразу пустой массив не поставить? Честно говоря, то, что я предоставил - полная ересь. С задачей справляется, но для чего?
    Написано
  • Как решить проблему с узкой шириной текста возле float элементов?

    ProjectSoft
    @ProjectSoft
    leeroyjenkins176, а в чём проблема у контент-менеджера подготавливать фотографии, текст, ... перед размещением? Все вопросы ведь снимутся автоматом.
    Также в CSS задать максимальный размер фото. Те же самые 300px.
    У меня была идея сделать обертку вокруг фото и при определенных условиях применить ей ширину 100%, тем самым сдвинув текст вниз. При этот само фото можно отцентрировать с помощью text-align:center у обертки. Но как это сделать толкьо на css без js я так и не придумал. Была надежда на контейнерные запросы и какие-то современные свойства, но все без результатно.

    Идея может жить. Но можно сделать и без всяких обёрток. Всё зависит от поставленных задач.
    Контент-менеджер должен уметь ни только тупо копировать и вставлять, но он так же очень хорошо должен, да и просто обязан, знать html разметку и возможности используемого шаблона/ов сайта.
    Написано
  • Как на сервере проверить строку на отсутствие в ней js-кода?

    ProjectSoft
    @ProjectSoft
    DevMan, где ты это увидел? Пробежаться регуляркой для удаления оставшегося?
    Так чем же лучше тащить библиотеку в composer, которая так же пробежит регулярками? При этом полностью библиотека использована не будет даже на 5%.
    Глупышом ты меня можешь назвать, только посмотри на себя...

    strip_tags удалит всё. Оставить что разрешить - твой выбор. Вот и определи, как победить инлайн скрипты. Я не вижу ничего сложного.
    Написано
  • Как на сервере проверить строку на отсутствие в ней js-кода?

    ProjectSoft
    @ProjectSoft
    чтоб немного включить твой мозг, скрипт можно прописать на события

    Мальчик, может ты включишь свой, а заодно и глаза протрёшь?
    Ну а дальше можно пробежаться регуляркой для удаления ненужных атрибутов. И здесь нет ничего сложного.

    Что в этой строке не понятного???

    PS:
    А вообще, бери функцию и тести, добивайся результата. За тебя никто, ничего и никогда делать не будет. Тебе дали абсолютно стандартное рабочее решение.
    Написано
  • Как на сервере проверить строку на отсутствие в ней js-кода?

    ProjectSoft
    @ProjectSoft
    DevMan, а какая разница?
    Если вам нужны определённые теги - перечислите их. Всё остальное удаляется.
    Например:
    $result = strip_tags($text, '<p><a>');
    Ну а дальше можно пробежаться регуляркой для удаления ненужных атрибутов. И здесь нет ничего сложного.
    Регулярку можно составить здесь - https://regex101.com/
    Написано
  • Как на сервере проверить строку на отсутствие в ней js-кода?

    ProjectSoft
    @ProjectSoft
    tyxeo, зачем изобретать велосипед?
    strip_tags определяйте, что разрешить.
    Написано
  • Не работает якорь в HTML, что может помочь?

    ProjectSoft
    @ProjectSoft
    CharonIkh,
    за не него тимлид отвечает, он и сказал делать через айди
    Если сайт работает на нормальных ссылках без параметров, а так правильно и так должно быть, убех нахрен этого тимлида.
    Правильно делается в ModX и в Evolution так: ставится ссылка на страницу и уже к ней подставляется хэш. Причём совсем не нужно прописывать руками ссылку, а использовать нормально парсинг API движка.
    Уж про SEO вообще молчу. Будут потом задвоенные страницы и муки с правкой .htaccess, где хэш никак не отслеживается.
    Написано
  • Как переписать команду для ffmpeg на Node JS, используя пакет fluent-ffmpeg?

    ProjectSoft
    @ProjectSoft
    dmitryfx, поддерживаю! Это самое простое и правильное решение с которым придёт понимание, как всё работает.
    Написано
  • Как принудить поделиться геолокацией?

    ProjectSoft
    @ProjectSoft
    DragoN DragoN, у меня в браузере для всех запрещена геолокация. И мне никогда не приходит оповещение о её включении. Я так решил и это правильно. Или все пользователи должны быть "и...и...и"?
    Я бы при разработке даже не смотрел в эту сторону. Хватает с головой того места, которое указывает пользователь при регистрации.
    Почему-то if ( navigator.geolocation ) не работает нормально

    Что в консоли выведет команда navigator.geolocation? Для того браузера, в котором не работает?
    Написано
  • Существует ли легкий аналог Dreamviewer'a?

    ProjectSoft
    @ProjectSoft
    Подняли динозавра ))))
    Написано
  • Как сделать фоновую музыку в html на таплинке?

    ProjectSoft
    @ProjectSoft
    Ни все браузеры разрешают автоматическое воспроизведение. Оно становится доступным только после какого-то воздействия пользователя со страницей или же запуск через Promise.
    К примеру
    audioElem.play().then(() => {
          console.log('play audio');
    }).catch((error) => {
          console.log("no playing audio");
    });
    Написано
  • Как принудить поделиться геолокацией?

    ProjectSoft
    @ProjectSoft
    DragoN DragoN, это безопасность в браузере. Не знаю для чего это вам, но Drno говорит правильно. Ничего, кроме точки вы не получите. Проще запросить место нахождение пользователя и записать в куку. Так же проще сделать зарегистрированных пользователей для расширения их функционала. Всё это проще, чем блокировать или наоборот. Не нужно "принуждать" к этому.
    Хотим - регистрируемся, указываем местоположение - получаем полный функционал.
    Написано
  • Как отфильтровать страницы по месяцам на сайте?

    ProjectSoft
    @ProjectSoft
    Нажимая на определенный месяц, нужно чтобы события показывались только этого месяца.
    Писал прям в консоли.
    jQuery('.dropdown-month ul > li').on('click', function(e){
    	e.preventDefault();
    	let month = jQuery(this).data('month');
    	jQuery('.evenements__single').css({'display': 'none'});
    	jQuery('.evenements__single[data-month='+month+']').css({'display': 'block'});
    	return !1;
    })
    Если хочется анимации, то проще использовать mixitup
    И помните о том, что могут быть года. Это и есть второй параметр фильтрации, если хотите производить более точную фильтрацию.
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    ProjectSoft
    @ProjectSoft
    rPman, просто человеку нужно подумать... Ни кто не обязан знать всё, что качается его профессии, но ... желательно. Мы все люди и имеем право ошибаться и быть не правовыми в каком-то вопросе.
    Даже здесь
    Плюс - возвращаемся к тому что папка выступающая как симлинк вся становится доступной и (тадаааа!) один файл мы снова не можем зашарить.
    Где-то да, а подумав и нет...
    Может быть и я сейчас дам не правильный ответ, но всё же я его реализовывал и это работало.
    Как пример, кстати из старых закладок и слава Богу ещё работают.
    Можно, но для такого расклада нужно учесть несколько моментов:
    - этот htaccess будет постоянно перезаписываться скриптом (когда выделется ссылка - внести директиву, когда время жизни ссылки вышло - убить директиву)
    - учесть инструмент фиксирования времени жизни ссылки + по крону собственно говоря проверять раз в 3-5-10 минут (зависит от критичности возможности ссылки жить чуть дольше положенного)
    Как вариант, могу предложить такой механизм:
    - пользователь выбрал там что-то, чтобы получить временную ссылку
    - скрипт читает файл htaccess (просто в переменную)
    - генерирует случайную строку (можно и просто и банально через md5(time()) и проверяет, чтобы для такой строки не было уже записи в файле, если есть, можно просто еще раз к строке md5 применить и снова проверить и так пока не получится уникальная строка, снять текущее время time(), добавить к нему время существования ссылки - получим время до которого ссылка живет
    - добавить в htaccess строчку вида RewriteRule ^tmplinks/временная-уникальная-строка/?$ реальный-явный-путь-к-файлу [L] #время-до-которого-ссылка-работает
    - выдать юзеру адрес ссылки вида: http://www.domain.ru/tmplinks/временная-уникальная...
    Далее, создать скриптик, который по крону будет запускаться с нужной частотой и просто проверять, есть ли в htaccess директивы перенаправления, которые как бы должны "умереть"? перезаписывать htaccess без этой строки (это время после # в строках директив перенаправления).
    Лучше блок директив временных ссылок вообще выделить сверху и снизу "псевдотегами", чтобы этот блок можно было вставить туда, где нужно в файле, и потом не мучиться разбиранием и выделением нужных частей

    Подробнее .htaccess И временные ссылки
    Как это совместить с зарегистрированными пользователями? Вот тут уже встаёт конкретный вопрос, но решаемый... если чуть-чуть подумать... и почитать на эту тему. Специально не даю ответов. Чем меньше знают, тем дольше спят...)))
    Это я про лень.

    PS
    tajfun_rt
    С помощью данного когда я вывожу в виде таблице все файлы и эту таблицу видят только эти три модератора.
    Это совершенно не значит, что у вас ссылки временные и до них можно достучаться. Лучше всего, как я и говорил, ссылки делать временными. Но это уже относится ко второй части вашего бедующего вопроса. Он будет. Потом.... И это уже из второй части моего ответа.
    Просто так никто делиться не будет. Здесь уже форсируют личные знания каждого, а это время, если время - затраты, ну дальше вы сообразите...
    Написано
  • Как узнать что загружает php на сервере debian?

    ProjectSoft
    @ProjectSoft
    Артем Колчин
    Сам сайт на modx
    Какой именно?
    Можно любой CMS сервер положить )))
    Написано
  • Как кликнуть Telegram WebApp MainButton на странице в браузере?

    ProjectSoft
    @ProjectSoft
    shamhi, вы это получаете в iframe?
    Если да, то вам нужно заполучить доступ к этому документу (iframe). Но если этого нет и хозяин домена загруженного iframe запретил доступ из вне - то никак.
    На своём месте я именно так бы и сделал. ИМХО.
    Написано
  • Как отфильтровать страницы по месяцам на сайте?

    ProjectSoft
    @ProjectSoft
    Ну я, к примеру, явно вижу по каким параметрам фильтровать...
    Какие входные данные на фильтрацию у вас? что вы выводите на фильтрацию согласно этим параметрам, хотя и их не достаточно для ожидаемого вывода. Как минимум два параметра должно быть и это факт.
    Вот ответ. Фильтр по датам?
    Как вам это сделать - решать вам. Вы не предоставили ни строчки для решения вашей проблемы.
    Написано