• Как массово редактировать товары Вконтакте через API?

    kawabanga
    @kawabanga
    А почему он останавливается через 30 минут?
    Возможно нужно CLI использовать? Ну или обновить настройки сервера?
    Ответ написан
  • Как поменять url в yii2 при использование goBack()?

    kawabanga
    @kawabanga
    Я думаю, у вас goBack() ведет на страницу выбора языка с последующим редиректом на my-site.localhost/branch/2. Вы можете проверить это по Debug.

    Т.е. как это работает логически.
    Вы открыли страница1.
    Там вы выбрали редирект1, который ведет на страница2.
    У вас открыта страница2 и вы делаете goback() на редирект1, который ведет на страница2.

    В вашем случае, я бы порекомендовал избавиться от goback(), и использовать другой способ запоминания страницы. Или немного переписать компонент сессии.
    Ответ написан
  • Как перевести curl запрос на php с передачей сертификатов (api Сбербанка)?

    kawabanga
    @kawabanga
    ChatGPT:

    Для отправки этого cURL запроса в Guzzle PHP, вам потребуется установить Guzzle HTTP клиент, если он еще не установлен. Выполните следующие шаги:

    Установите Guzzle через Composer (если вы этого еще не сделали):
    composer require guzzlehttp/guzzle


    В вашем PHP-скрипте используйте следующий код для отправки запроса:
    <?php
    
    require 'vendor/autoload.php'; // Путь к файлу autoload.php из установленного Guzzle через Composer
    
    use GuzzleHttp\Client;
    
    $baseUrl = 'https://mc.api.sberbank.ru/prod/tokens/v3/oauth';
    $rqUID = '25Ec70328e2CE4DF39e828E1dF75EFa0';
    $authorization = 'Basic MTgwYmYzNTItNDlhZC00MGVhLTgyYmItMDcwMTRiMjdjODQ5OjUwM2NhNmUwLWE5OWEtNDYzZC05OTIzLWJlZWUzYjVhYzYzNA==';
    $scope = 'https://api.sberbank.ru/qr/order.create';
    $certPath = '/absolute/path/to/certif.p12';
    $certPassword = 'RiKZcN3Z';
    $cacertPath = '/absolute/path/to/russian-trusted-cacert.pem';
    
    $client = new Client();
    
    $response = $client->request('POST', $baseUrl, [
        'headers' => [
            'RqUID' => $rqUID,
            'Authorization' => $authorization,
            'Content-Type' => 'application/x-www-form-urlencoded',
        ],
        'form_params' => [
            'grant_type' => 'client_credentials',
            'scope' => $scope,
        ],
        'cert' => [$certPath, $certPassword],
        'verify' => $cacertPath,
    ]);
    
    // Выводим результат запроса
    echo $response->getBody()->getContents();


    Пожалуйста, замените /absolute/path/to/certif.p12 и /absolute/path/to/russian-trusted-cacert.pem на абсолютные пути к вашим сертификатам. Также убедитесь, что у вас есть правильные данные для RqUID и Authorization заголовков.

    Этот код отправит POST запрос с указанными данными и получит ответ от сервера Sberbank.
    Ответ написан
    2 комментария
  • Разработка своего плеера для стримов с чатом на JS, как работает это?

    kawabanga
    @kawabanga
    Вы разбили задачи на более мелкие. и что конкретно у вас вызывает сложность?

    WP не вижу тут как технологию, точнее проще будет взять фреймворк (Laravel ок и он может взять все остальные задачи). Но если вдруг WP обязателен, то можно настроить сквозную авторизацию.

    разработка собственного плеера

    Плееры уже есть, зачем париться?

    для онлайн трансляций с чатом в реальном времени.
    Там должны быть реализованы лайки, дизлайки, реакции ( эмодзи )

    сокеты, модификации базы для работы с эмодзи, редактор. Кстати редактор был любопытный, его раньше пикабу использовали, забыл название. В любом случае, искать по слову - WYSIWYG.

    Также там система НМО: Пользователь подтверждает свое присутствия путем нажатия на кнопку “Подтвердить” в попап окне, которое отображается регулярно на протяжении установленного интервала времени.

    Сокет (да даже обычный js запрос) + бд с синхронизацией времени кликов на конкретный евент.

    Главная проблема у вас будет в поиска плеера, который отдает видео с CDN с смещением, якобы онлайн.
    Ответ написан
  • Почему у php недостаточно прав на перезапись файлов?

    kawabanga
    @kawabanga
    1) Добавляете пользователя нового, например admin, с привилегией sudo. Добавляете его в группу www-data
    2) Загружаете файлы от имени этого пользователя в дальнейшем.
    3) Выставляете необходимые права при необходимости. К примеру вот - владелец admin, и группа www-data у файла
    -rwxrwxr-x 1 admin www-data 3958 Jul 1 10:38 README.md

    В вашем конкретном случае, проще всего написать что-то типа

    sudo chown -R www-data:www-data /webdirectory
    sudo chmod -R 0755 /webdirectory
    Ответ написан
  • Как сгенерировать уникальный номер заказа примерно как у Бургер кинга?

    kawabanga
    @kawabanga
    На уровне таблицы заказа:
    обычный ид
    филиал ид (Возможно буквенный)
    тип заказа ид (возможно буквенный)
    ид добавочный (вторая часть примера вашего)
    дата заказа
    По необходимости - сохраняете полный "Ya-50", если необходимости нет - создаете геттер на модели.

    На уровне алгоритма -
    Запрашиваете последнюю строку (или максимальный ид сразу) по дате, и добавляете плюс 1. Так вы получите Ид этого дня.

    Учтите часовые поясы.

    Самое смешное, что это правда простейшая задача, и ее нужно просто словесно решить.
    Ответ написан
  • Macbook pro 16 M1 или Macbook pro M2?

    kawabanga
    @kawabanga
    1) Как вам говорили, вы сравниваете два разных размера экрана.
    Я как то целый час стоял перед витриной, сомневаясь, 14 или 16 м1 про взять. Просто не мог сделать выбор.
    В итоге взял 16. Привыкал некоторое время к размеру, как раз в Азию на полгода улетал, и знал что мне нужен ноут, у которого не будет необходимости с внешним экраном.
    К слову, именно 16" как раз имеет экран, где комфортно работать без монитора. (Скучал по этому 2 года, когда пересел с 15" на 13" m1).
    Ну и по прошествию 10 месяцев владением 16" - я понял что ноут идеален для меня. Поиграть в кс и гта5 можно на нем, но я бы приставку взял или стационарник.

    2)
    Blender, FCP, Photoshop - все работает отлично и быстро. Adobe premiere не пробовал на этом маке, но как то весь монтаж ушел в сторону именно FCP. (В прошлом профессионально монтировал видео и работал с фотошопом).

    3) Маленький лайфхак - Для меня зарядка базовая немного неудобная. Да, быстрая, 140W, но сам блок здоровенный и макбуку нет необходимости в таких мощностях. Поэтому у меня для девайсов свой блок 165W GaN с отдачей по USB-C 100W.

    4) Для работы - мак - идеальный вариант.

    5) M1 или M2 - по сути не такая большая у них разница, возможно интересней будет с 32ГБ купить M1 PRO. Но это догадки только.
    Ответ написан
    Комментировать
  • Как результат foreach поместить в переменную?

    kawabanga
    @kawabanga
    $itemstest[] = [
                    'item_sku' => $product->get_sku(),
                    'item_title' => $product->get_name(),
                    'item_quantity' =>  $item_data['quantity'],
                    'item_price' => $product->get_price()
                ];
    Ответ написан
    2 комментария
  • Ошибка при установке дополнений на yii2?

    kawabanga
    @kawabanga
    CLI и веб-версия php - разные вещи.
    Ответ написан
  • Какой 21 или 24 дюймовый монитор вы посоветуете (цветопередача как у Apple display)?

    kawabanga
    @kawabanga
    Даже apple советуют LG 5K, но стоит дорого.

    Вот тут посмотрите таблицу, очень полезная статья.
    https://mews.biggeek.ru/kak-vybrat-idealnyj-monito...

    Из тех какими мониторами я пользовался -
    samsung 590d - не нравятся углы, не умеет вертикально работать, в целом за 10-15к на б.у. рынке интересный монитор. Но, после того, как полгода пользовался xiaomi 34", работать в 1080p HiDPI - неудобно, сейчас выставил 2.5К, и вроде даже не особо заметно что пиксели смываются немного. В 4К будет все мелко просто.

    xiaomi 34" - сложно настроить на работу с маком, грубо говоря будет все мелко. Из плюсов - 144 грц. Изогнутость - нейтрально. Из плюсов - можно работать в две программы на одном мониторе.

    Если бы я оставался дома, я бы смотрел или на LG 5K, либо на вариант 144грц 4k монитора, но с условием того, что он будет удобен в HiDPI.
    Ответ написан
    6 комментариев
  • Как работать с FFMPEG без ссылок на файлы?

    kawabanga
    @kawabanga
    Если условие что в 2 секунды любое аудио декодируется и вам нужно лишь правильно отправлять все через ajax, то formdata js в помощь

    ~JS
    var formData = new FormData();
    formData.append('file', fileInput.files[0]);
    
    $.ajax({
      url: 'upload.php',
      method: 'POST',
      data: formData,
      contentType: false,
      processData: false,
      success: function(response) {
        console.log('File uploaded successfully');
      },
      error: function(jqXHR, textStatus, errorMessage) {
        console.log('File upload failed: ' + errorMessage);
      }
    });


    ~PHP
    require_once '/public_html/vendor/autoload.php'; 
    $ffmpeg = FFMpeg\FFMpeg::create();
    $mp3Format = new FFMpeg\Format\Audio\Mp3(); 
    $videoFolderPath='/public_html';
    
    if(!isset($_FILES['file'])) {
      return 'no file';
    }
    
    $tempName = $_FILES['file']['tmp_name'];
    
    
    $audioObj = $ffmpeg->open($tempName);    
    $audioObj->save($mp3Format, $videoFolderPath.'/myfile.mp3');
    Ответ написан
    1 комментарий
  • Ошибка «error=unsupported_country» при попытке авторизоваться в OpenAI через VPN?

    kawabanga
    @kawabanga
    Сегодня жене решал проблему.

    Причем я в открытой стране, где нет ограничений, поэтому если блок - значит впн виноват.

    «OpenAI's services are not available in your country. error=unsupported_country»
    Смените VPN сервер.
    И проще использовать OUTLINEVPN, там установка меньше 2 минут.
    Ответ написан
  • Добавление нескольких валют?

    kawabanga
    @kawabanga
    Можно обоими способами. Тут уже от бизнес задачи зависит.

    Делал по второму способу сначала. Вручную указывали курс по отношению к валютам. Все это работало, пока не поступила задача, делать "Красивые прайсы".
    И в итоге остановились на первом пункте. Чтобы делать прайсы по типу -
    $99.99, RUB7.699 и тд.
    Ответ написан
  • Как сделать ajax load more загрузку но не постов, а блоков с своими ссылками и фото?

    kawabanga
    @kawabanga
    infiniti scroll гуглите.

    А так задача простая:
    В show more - ставите идентификатор последнего поста.
    при клике - запрашиваете посты по фильтру, но с учетом последнего ид через ajax. При этом кнопку отключать надо, чтобы не было двойного клика.
    В ответ, между кнопкой - show more, добавляете полученный результат. тут уже от вас зависит, либо все на сервере рисовать, либо с сервера только контент получать от статей.
    На кнопке show more заменяете последний ид.
    Ответ написан
    Комментировать
  • Почему не работает curl?

    kawabanga
    @kawabanga
    $data = <<<DATA
    {
    "param": $param,
    }
    DATA;


    Не вижу закрытия тега.
    Ответ написан
  • Где взять color picker, в котором будут только RAL цвета?

    kawabanga
    @kawabanga
    https://gist.github.com/edwinwebb/4af6edeb743156e1...

    Используйте json с RAL цветами. Реализация дальше зависит только от вашей фантазии.
    Ответ написан
    Комментировать
  • Как открывать заблокированный в рф сайт по своему домену?

    kawabanga
    @kawabanga
    https://docs.nginx.com/nginx/admin-guide/web-serve...
    Должен сработать по идее, если нюансов особых нет. Vps самую дешевую покупаете и настраиваете nginx.
    Ответ написан
    Комментировать
  • Проблема с созданием laravel проекта//?

    kawabanga
    @kawabanga
    1) Обновить composer как минимум (Второй кушает меньше памяти, а первый прям лагал иногда).
    2) добавить памяти в php.ini в консольной версии вашего php (CLI).
    Ответ написан
  • Как узнать геолокацию пользователя?

    kawabanga
    @kawabanga
    1) Спросить у пользователя.
    2) Воспользоваться Google maps api. (но там тоже разрешение пользователя нужно)
    3) Отправить запрос на сервер, и по IP определить страну пользователя.
    Ответ написан
    Комментировать
  • Как произвести поиск по огромной базе моментально и вывести данные?

    kawabanga
    @kawabanga
    Сделайте сперва запрос в SQL.
    Поймите слабые места.
    Добавьте индексы.
    Сделайте снова запрос в SQL.

    У вас
    where('model', 989)->where('number_mod', '00003454354743643') - оба параметра перебираются перебором, лучше иметь индекс или с fk.
    Для 5 млн записей вы можете сделать индексы, я думаю и все будет летать.
    Ответ написан
    Комментировать