<?php

/**
 * All-in-One WP Migration 
 * Copyright (C) 2014-2018 ServMask Inc.
 *
 * Modified Copyright (C) 2025 Lead Connector
 * 
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
if ( ! defined( 'ABSPATH' ) ) {
	die( 'Well Sir You Cannot Jump Here...haha' );
}

/**
 * URL
 *
 * ## EXAMPLES
 *
 *     # Restore website from URL backups.
 *     $ wp lcm url restore 'https://drive.google.com/open?id=1KVl6lXQeTBmDdlZKX29IAoDbbz_CAxC8' --yes
 *     Success: Restore completed.
 */
class Lcm_URL_CLI_Command extends Lcm_CLI_Base {

	public function __construct( $params = array() ) {
		parent::__construct( array_merge( $params, array( 'url' => 1 ) ) );
	}

	public function restore( $args = array(), $assoc_args = array() ) {
		if ( ! isset( $args[0] ) ) {
			WP_CLI::error_multi_line(
				array(
					__( 'A import URL must be provided in order to proceed with the restore process. Please provide with the URL of the backup file.', LC_MIGRATOR_PLUGIN_NAME )
				)
			);
			exit;
		}

		$params = array(
			'archive'    => lcm_storage_folder() . '.lc-migrator',
			'storage'    => lcm_storage_folder(),
			'file_url'   => $args[0],
			'cli_args'   => $assoc_args,
			'secret_key' => get_option( LC_MIGRATOR_SECRET_KEY_NAME, false ),
		);

		$this->run_restore( $params );
	}
}
