UpdateOldInfo.php 2.0 KB
<?php

namespace App\Models\Com;

use App\Models\Base;
use Illuminate\Database\Eloquent\Model;

class UpdateOldInfo extends Base
{
    //设置关联表名
    protected $table = 'gl_update_old_info';

    public static function getOldDomain($project_id, $domain)
    {
        $return = [
            'link_type' => 0,
            'home_url' => $domain,
            'web_url_domain' => $domain
        ];

        $info = self::where('project_id', $project_id)->first();
        if (!$info) {
            $url_web_config = 'https://' . $domain . '/wp-content/cache/user_config.text';
            $data_config = [];

            try {
                $data_config = curl_c($url_web_config);
            } catch (\Exception $e) {
            }

            if ($data_config) {
                $link_type = $data_config['link_type'] ?? 0;

                $home_url_arr = parse_url($data_config['home_url'] ?? '');
                $old_domain_test = $home_url_arr['host'] ?? '';

                $web_url_arr = parse_url($data_config['web_url_domain'] ?? '');
                $old_domain_online = $web_url_arr['host'] ?? '';

                if ($old_domain_test || $old_domain_online) {
                    $info = new self();
                    $info->project_id = $project_id;
                    $info->link_type = $link_type;
                    $info->old_domain_test = $old_domain_test ?: $domain;
                    $info->old_domain_online = $old_domain_online ?: $domain;
                    $info->save();
                }

                $link_type && $return['link_type'] = $link_type;
                $old_domain_test && $return['home_url'] = $old_domain_test;
                $old_domain_online && $return['web_url_domain'] = $old_domain_online;
            }
        } else {
            $return['link_type'] = $info['link_type'];
            $return['home_url'] = $info['old_domain_test'];
            $return['web_url_domain'] = $info['old_domain_online'];
        }

        return $return;
    }
}