Задать вопрос
  • Как правильно изменить показ текста опций в multiselect?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ну, штатного способа в библиотеке нет. Условие сокращения до количества опций:
    if (DomUtils.hasEllipsis($valueText) || maxValues || this.alwaysShowSelectedOptionsCount || showValueAsTags) {

    Сделайте форк библиотеки и добавьте опцию. Потом можете предложить автору pull request.
    Ответ написан
    Комментировать
  • Можно ли из данных в таблице сформировать SQL запрос?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если таблица переносится один-в-один, то mysqldump.
    Если нужны какие-то преобразования, то SELECT ... INTO OUTFILE / LOAD DATA INFILE
    Ответ написан
    Комментировать
  • Как из переменной удалить теги без изменения верстки?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    При печати можно отключать элементы в CSS через @media print.
    Вот только html2pdf - это не печать, а сохранение в PDF.
    Ответ написан
    1 комментарий
  • Как сделать штрих код с кирилицей?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если кодировка поддерживает только 128 байт (например, Code-128), то стандартного решения, насколько я знаю, нет. Используйте свой кодировщик.
    В зависимости от количества кириллических символов можно кодировать каждый, например А => \A, Б => \B, В => \C или А => \u0410, Б => \u0411 и т.д. или ввести коды "начало кириллицы" и "конец кириллицы" АБВГ => \{ABCD\}.
    Естественно, что стандартные средства чтения штрих-кодов при этом кириллицу не покажут, надо будет добавлять свой декодировщик.
    Ответ написан
  • Почему скрипт, который должен менять значение фильтра полоской input не работает?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Одиночные кавычки лишние в функции value.
    Ответ написан
    1 комментарий
  • Что случилось с киви апи?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    https://developer.qiwi.com/ru/qiwi-wallet-personal...
    300 Техническая ошибка. Повторите платеж позже.
    Скорее всего, ошибка на серверах Qiwi. Либо обращайтесь в их техподдержку, либо подождите некоторое время и попробуйте снова.
    Ответ написан
  • Почему не работает запрос?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    https://dev.mysql.com/doc/refman/8.0/en/fulltext-s...
    MATCH (col1,col2,...) AGAINST (expr [search_modifier])

    Никаких OPTION в MySQL нет.
    Ответ написан
    Комментировать
  • Каким способом закодирован php-скрипт?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вычисляется sha1 от $_GET['auth_in'], преобразуется в 20 байт, побайтово ксорится с 73A9B8B5C18C1C1C1C1CDADBDC07C8A89801800C и выводится. Что именно выведется, зависит от того, что передано в параметре auth_in.
    Ответ написан
    Комментировать
  • Если array и object создаются от прототипа Object, то почему object не наследует метод length?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    При наследовании классов (Array наследуется от Object) в классы-потомки могут добавляться новые свойства и методы. Ничего особенного в этом нет.
    Ответ написан
    Комментировать
  • Как отображать один сайт без возможности закрытия и открытия других вкладок?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Kiosk mode
    firefox --kiosk https://...
    google-chrome --kiosk https://...
    Ответ написан
    Комментировать
  • Почему при использование метасимвола _ пустой результат?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    '_ and%' - С начала строки один любой символ, затем ' and' и любое количество любых символов. У вас в базе нет строки, попадающей под такое условие.
    Ответ написан
    Комментировать
  • Как сделать checked на input в label?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    .radio-wrapper input[type="radio"]:checked + label.radio-wrapper

    Так не сработает, у вас input расположен внутри label, а селектор соответствует label, идущей сразу после input.
    Меняйте расположение элементов и, соответственно, селекторы.
    Ответ написан
  • Не поддерживает русский язык, формат xls?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Во-первых, вы выгружаете не в xls, а в HTML. Для работы с xls- и xlsx- файлами есть отдельные библиотеки, например https://github.com/PHPOffice/PhpSpreadsheet.
    А проблема с кодировкой у вас в том, что Excel по ожидает текст в однобайтной кодировке (например, Windows-1251), а вы передаёте в многобайтной UTF-8.
    Перекодируйте текст через iconv.
    Ответ написан
    Комментировать
  • Простой ajax запрос на чистом XMLHttpRequest?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А чем вам тут поможет глобальная переменная? Ответ от сервера может прийти когда весь остальной код уже отработает.
    Весь код, зависящий от пришедшего в ответе сервера значения count должен находиться в xhr.onprogress или вызываться из него.
    Ответ написан
  • Что означет ошибка, которую выводит SOAP-клиент?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Читаем wsdl. Находим нужный запрос.
    operation Tracking
    <operation name="Tracking">
      <input message="tns:TrackingRequestMessage"/>
      <output message="tns:TrackingResponseMessage"/>
    </operation>

    Значит запрос Tracking принимает на вход TrackingRequestMessage. Смотрим дальше
    message TrackingRequestMessage
    <message name="TrackingRequestMessage">
      <part name="parameters" element="tns:Tracking"/>
    </message>

    Единственное поле parameters с типом Tracking. Ищем этот тип.
    element Tracking
    <xs:element name="Tracking">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="Language" type="xs:string" nillable="true"/>
          <xs:element name="Login" type="xs:string" nillable="true"/>
          <xs:element name="Password" type="xs:string" nillable="true"/>
          <xs:element name="Type" type="xs:string"/>
          <xs:element name="Documents" type="xs:string" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
    </xs:element>

    Получаем объект или ассоциативный массив с текстовыми полями Language, Login, Password, Type и Documents, причём все поля кроме Type могут иметь значение null.
    Значит запрос должен выглядеть как
    $result = $client->Tracking([
        'Language' => ?string,
        'Login' => ?string,
        'Password' => ?string,
        'Type' => string,
        'Documents' => ?string
    ]);

    То же самое можно получить и средствами PHP. После подключения к клиенту получим список методов.
    var_dump($client->__getFunctions());
    /* ...
    [92] => string(47) "TrackingResponse Tracking(Tracking $parameters)"
    ... */

    Значит метод Tracking принимает один параметр с типом Tracking и возвращает ответ типа TrackingResponse.
    Запросим типы.
    var_dump($client->__getTypes());
    Результат запроса
    /* ...
    [120] => string(103) "struct Tracking {
     string Language;
     string Login;
     string Password;
     string Type;
     string Documents;
    }"
    [121] => string(51) "struct TrackingResponse {
     ResultTracking return;
    }"
    [24] => string(81) "struct ResultTracking {
     TrackingInfo Items;
     boolean Error;
     string ErrorInfo;
    }"
    [28] => string(227) "struct TrackingInfo {
     boolean Error;
     string Type;
     string Number;
     string Info;
     string AgentURL;
     dateTime CreateDate;
     string State;
     dateTime DeliveryDate;
     string DeliveryInfo;
     TrackingEvent History;
     Waybill Waybills;
    }"
    [27] => string(83) "struct TrackingEvent {
     dateTime EventDate;
     string EventName;
     string EventInfo;
    }"
    [31] => string(546) "struct Waybill {
     string Type;
     string Number;
     dateTime CreateDate;
     string State;
     dateTime DeliveryDate;
     string Sender;
     string SenderGeography;
     string Recipient;
     string RecipientGeography;
     string RecipientAddress;
     dateTime SendDate;
     string Payer;
     int CargoQty;
     float NetWeight;
     float GrossWeight;
     string ConsolidationNumber;
     string InventoryWaybillNumber;
     string DeliveryMethod;
     float Volume;
     boolean RequirePaymentInCash;
     float PaymentInCash;
     string PaymentInCashCurrency;
     string RecipientOfficial;
     TrackingEvent History;
    }"
    ... */


    Единственное отличие от самостоятельного анализа wsdl - не указано, какие поля необязательные, какие можно заполнять null и являются ли какие-то поля массивами.
    Ответ написан
    3 комментария
  • Проверить существует ли класс данном элементе?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Как написать такой SQL-запрос со сравнением дат?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для начала надо переделать хранение дат в стандартный формат DATE, 2020-09-15.
    После этого условие становится тривиальным
    WHERE `work_start_date` <= :searchEndDate
      && `work_end_date` >= :searchStartDate
    Ответ написан
  • Это абстрактный класс в JS?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В JS нет абстрактных классов.
    Есть абстрактные подклассы (миксины), но это несколько другое.
    В целом абстрактный класс - это класс, от которого нельзя создавать экземпляры, можно только наследовать классы-потомки.
    Ответ написан
    Комментировать
  • Как запретить два параллельных запроса?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В начале транзакции снимать сумму с баланса пользователя, записывая её вместе с идентификатором транзакции. После подтверждения перевода удалять запись. При отказе или таймауте возвращать сумму на баланс пользователя.
    Как вариант - не снимать сумму, а отмечать её как заблокированную, проводя реальное уменьшение баланса после подтверждения перевода.
    Ну и ограничить частоту запросов на снятие средств от одного пользователя.
    Ответ написан
    Комментировать
  • Как хранить большие JSON массивы, которые постоянно обновляются (API)?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не уверен, что стоит писать все эти данные в MySQL, ведь каждый раз придется полностью очищать таблицу от старых данные и записывать новые.
    А что мешает не удалять, а менять данные?
    INSERT ... ON DUPLICATE KEY UPDATE
    Ответ написан
    Комментировать