Задать вопрос
  • Почему после импорта базы из .sql файлов таблицу с 13Гб раздуло до 55Гб?

    innodb_buffer_pool_size равное 80% от памяти доступной на сервере

    - доступной с учётом остального софта. (пояснение для топикстартера на всякий случай)
    Написано
  • Как получить выбранные параметры смарт фильтра?

    Я получаю товары в классе, где еще arFilter null, потом подключаю шаблон, где подключается фильтр

    Msondre, очевидно, надо поменять очерёдность исполнения кода - сначала вызов компонента фильтра, потом ваш код.
    Как это можно применить при получении товаров?

    смержить с основным фильтром, например:
    <?php
    $filter = [
        'IBLOCK_ID' => 1, // ID инфоблока товаров 
        '=ACTIVE' => 'Y',
    ];
    $res = CIBlockElement::GetList([], array_merge($GLOBALS['arFilter'], $filter));
    while ($row = $res->Fetch()) {
        print_r($row);
    }

    Этот код написан "на коленке". Посмотрите внутренности компонента bitrix:catalog.section , там неплохой образец битриксового кода
    Написано
  • Выпадающее меню из элементов раздела инфоблока?

    Если создать меню в ручную все хорошо работает.

    Yura0103 вот этот момент поясните, пожалуйста. В какой файл и в каком виде вы вписывали пункты вручную?
    Написано
  • Как точно работает скрипт на RoadRunner?

    Vamp, оффтопик, но хотелось бы услышать Ваше мнение:
    документация PHP говорит:
    This reset includes performing a rollback on any active transactions, closing all temporary tables, and unlocking all locked tables.

    Я не уверен, как это понимать. Пример: вот у меня есть скрипт, который подключился к базе, открыл транзакцию и заснул на 30 секунд. Через 10 секунд после его запуска стартовал другой скрипт, который использует ту же тройку "логин, пароль, база" и выполняет mysqli_change_user(). Транзакция из первого скрипта будет закрыта?
    Написано
  • Почему перестала работать ЮКасса?

    Solation, а логи веб-сервера есть? Как я понял, техподдержка Юкассы говорит, что они послали уведомление на ваш сайт, на /pay.php , в ответ получили 200 OK, и поэтому считают, что всё шоколадно.
    Если логи доступны, и в них нет запросов от Юкассы - значит, "200 OK" отвечает что-то перед веб-сервером. Например, какая-нибудь идиотская защита от ботов.
    Если логи доступны, и в них есть запросы от Юкассы - в первых же строках /pay.php вставляете код логирования и смотрите. Если ваша вставка запросы не фиксирует - значит, логи веб-сервера немного не те, что надо, то есть схема такая:
    1) фронтующий веб-сервер, который заодно и логи пишет,
    2) какая-то дрянь,
    3) веб-сервер, который передаёт запросы в PHP, или сразу PHP-FPM

    И есть ещё маловероятный сценарий, когда в хостинге Jino что-то капитально скривилось, и на запросы Юкассы отвечает вообще левый сайт. Но тогда, вероятно, были бы ошибки HTTPS у Юкассы. Но если она их игнорирует, то...
    Просто в моей практике был случай, когда по HTTPS сайт открывался нормально, а по HTTP открывался левый сайт на том же shared хостинге.
    Написано
  • Как правильно реализовать обновление порядка (поле order) в бд?

    касательно вопроса тестов: тут надо понять, к чему относятся тесты? Если к курсу целиком ( то есть они идут всегда после всех модулей), то можно же использовать синтетические колонки; например, для курса с courseId = 1 делать
    (SELECT '1m' AS preorder, order, .... FROM `modules` ...)
    UNION
    (SELECT '1q' AS preorder, order,.... FROM `questions` ...)
    ORDER BY preorder ASC, order ASC

    Если же тесты относятся к модулю ( и должны идти "модуль, затем его тесты, следующий модуль.. ), то сортировка будет строиться немного иначе, но идея та же.
    Либо есть более грубый приём: порядок модулей делается, например, кратным 100, а порядок тестов для него задаётся внутри соответствующего диапазона ( например, для второго модуля это будет 201...299).

    Вообще, хочу сказать, что массу вещей проще решить на клиенте, чем возиться с этим в чистом SQL
    Написано
  • Как правильно реализовать обновление порядка (поле order) в бд?

    как я понял задачу и вопрос GeminiX:
    1) к курсу можно добавить модуль; он всегда добавляется в конец списка модулей курса.
    2) из курса можно удалить модуль.
    3) проблемы конкурентной вставки модулей в один курс не существует (во всяком случае, о ней ни слова).
    4) менять порядок модулей в курсе нельзя ( или такая возможность не предусмотрена).

    Требуется:
    для каждого курса извлекать модули в упорядоченном виде.

    Тогда:
    1) проблемы конкурентной вставки модулей для разных курсов не существует: если модуль для курса А получил порядок N+1, и модуль для курса Б получил тот же порядок N+1, в рамках каждого курса всё упорядочено как надо.
    2) при удалении модуля из курса не нужно ничего пересчитывать. Да, теперь значения в order идут с пропусками, но взаимное расположение модулей сохранено.

    То есть достаточно развязать в голове "значение order === позиция в списке строк", и проблема исчезает.
    Написано
  • Почему не работает в консоли setTimeout?

    мне кажется дело не в этом , когда я меняю значение setTimeout на 5ms , то все тогда работает , ставлю 50ms и уже ничего

    Ivan72929, вероятно, опечатка и речь про секунды, а не миллисекунды?
    У меня сработало и на 5 секунд, как в приведённом коде, и на 50 секунд ( хотя пришлось подождать)
    Написано
  • Почему сбрасывается пароль?

    Мария Попова, хранение в файлах - это самый старый и поэтому самый проверенный способ. Сделайте следующее, как только снова слетит пароль:
    1) посмотрите в базе значения в таблице b_user в колонках TIMESTAMP_X, PASSWORD, CHECKWORD для выбранного пользователя. Запомните или запишите их;
    2) смените пароль у этого пользователя;
    3) снова посмотрите значения в базе.

    Если PASSWORD и CHECKWORD не изменились - у вас проблема с конфигурацией ПО. Может, база не может записывать данные, может, время кривое, может, ещё что-то.
    Если все три изменились, то окей. Ждите, когда доступ сломается.

    Когда опять сломается - смотрите значения в базе. Если полностью вернулись старые значения, то:
    • это может быть накаткой дампа ( допустим, частичного, только с таблицей юзеров, раз остальное на месте )
    • это можеть быть вредонос, который ни один детектор вирусов не увидит, потому что это не вирус, а просто запрос к базе "UPDATE b_user ..." с фиксированными значениями. Удачи в поисках такой дряни.


    Если же вернулись значения PASSWORD и CHECKWORD, но обновился TIMESTAMP_X, или обновились все три, то это произошло через вызов API. Это может быть:
    • агент Битрикса,
    • вредоносная запись в crontab,
    • вредоносный скрипт, доступный в публичной части ( где его дёргает уже подконтрольный злоумышленникам хост).

    . По крайней мере, значение в TIMESTAMP_X подскажет, когда изменение произошло, и можно поискать в логах nginx или апач подозрительные запросы на этот момент.

    Про кронтаб - я встречал взлом хоста с Битриксом какими-то азиатами. Там был Bitrix VA на старом Центосе, так что необязательно это была целевая атака на Битрикс. Вставляли в кронтаб своё с каким каким-то забавным комментарием, типа:
    system stability update dont' touch
    Написано
  • Как корректно реализовывать согласие пользователя на обработку персональных данных, в связи с новыми правками?

    Уставшая Вишенка, насколько новых? Наш вариант внедрялся в этом году. За прошлую пятницу задач "срочно меняем на обновленную реализацию" не поступало
    Написано
  • Как корректно реализовывать согласие пользователя на обработку персональных данных, в связи с новыми правками?

    "один крупный магазин" не аргумент.
    У нас сделано так:
    1) везде на сайте всплывашка про куки. Нам (компании) куки не нужны, но их ставит Метрика и что-то ещё. Нажимаешь "согласен", ставится кука и год эту плашку не видишь
    2) в формах флажок про согласие, как описал Александр Васильев . Нет флажка - форма не отправляется.

    Вроде бы такая схема внедрена после платной консультации с юристами.
    Написано
  • Контроль редакций страниц в 1С-Битрикс Управление сайтом, существует?

    mit5x,
    1 - можете, но это надо писать с нуля, "из коробки" для этого ничего нет. Можете ещё в Маркетплейсе поискать - может, кто-то уже делал
    2 - не понял мысль, но, вроде это и не очень важно...
    Написано
  • Как в Битрикс с помощью PHP скрывать одну или несколько характеристик если они пустые?

    лично мне больше всего нравится вариант от Adamos . Только добавлю, что формирование $paramsArray должно быть в result_modifier.php и там же его надо сохранить в $arResult. А в шаблоне только вывод
    Написано
  • Поле Голосующие при добавлении элемента в Битрикс, как заполнить?

    Askfortrue, удачной отладки тогда! По вопросу больше ничего подсказать не могу, слишком мало информации.
    Добавлю только вот что:
    Учитывайте, что Битрикс во многих случаях старого API при неправильных ключах массива или неправильных ( в некоторых случаях) занчениях не выдаёт никаких ошибок, а просто игнорирует неверные части. Незнание этого факта порой приводит к долгим топтаниям на месте в непонятках.
    Написано
  • Как защищены электронные медицинские документы от подделки?

    Если технически, то логи баз должны вестись, каждое редактирование фиксироваться

    bouslayeff, это в каком-то воображаемом идеальном мире такое. А на практике (это у же я фантазирую) Винда, Microsoft Office и сетевая шара - ковыряйся кто хочешь, если к локальной сети подключился.
    Написано
  • Как защищены электронные медицинские документы от подделки?

    Идеально было бы скреплять всю эту документацию цифровой подписью и никому не париться.

    bouslayeff, Вы, надеюсь, понимаете, что если поликлиника - автор (издатель) документов, то ей ничего не мешает и фейковые документы подписать цифровой подписью? Тут спас бы только внешний реестр таких документов (или хотя бы их цифровых отпечатков)
    Написано
  • Как работает ленивость в регулярных выражениях?

    справа от "МОСКВА" можно оставить как было, как мне кажется
    Написано
  • Что за инженерное решение с посылкой ВАЖНЫХ электрических сигналов через корпус устройства?

    прибор проверяет не наличие заземления, а наличие корпуса

    очевидно, тут наличие контакта с корпусом - необходимая часть заземления.

    часто ли вы видели БЫТОВЫЕ приборы, которые вообще не включаются если видят что нет корпуса?

    мой опыт очень скудный. Подумал над Вашими словами и понял, что за многие последние годы все приборы, которые я открывал хотя бы на "посмотреть", имели пластиковые корпуса.
    Написано