HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/my.esfyn.top/Addons/BingSubmitUrl/Helpers/functions.php
<?php

use GuzzleHttp\Client;
use GuzzleHttp\Exception\ClientException;

if (!function_exists('bing_submit_url')) {
    function bing_submit_url($url)
    {
        $key = system_config('bing_api_key', 'bing_submit_url');

        if ($key) {

            $api = "https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey={$key}";

            $list = !is_array($url) ? explode("\n", $url) : $url;

            $http = new Client(['verify' => false, 'timeout' => 10]);

            try {

                $res = $http->request('POST', $api, [
                    'headers' => [
                        'Content-Type' => 'application/json; charset=utf-8',
                        'Host' => 'ssl.bing.com',
                    ],
                    'body' => json_encode([
                        'siteUrl' => system_config('site_url'),
                        'urlList' => $list,
                    ])
                ]);

                $response = $res->getBody()->getContents();

            } catch (ClientException $exception) {
                $response = $exception->getResponse()->getBody()->getContents();
            }

            $data = [];
            $dateTime = date('Y-m-d H:i:s');

            foreach ($list as $item) {

                $data[] = [
                    'admin_name' => auth()->guard('admin')->user()->name ?? 'system',
                    'url' => $item,
                    'response' => $response,
                    'created_at' => $dateTime,
                    'updated_at' => $dateTime,
                ];
            }

            \Addons\BingSubmitUrl\Models\BingSubmitLog::insertAll($data);
        }

    }
}