2026-06-02 14:03:46 -05:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/**
|
2026-06-11 12:24:27 -05:00
|
|
|
* @package MokoSuiteBackup
|
|
|
|
|
* @subpackage com_mokosuitebackup
|
2026-06-02 14:03:46 -05:00
|
|
|
* @author Moko Consulting <hello@mokoconsulting.tech>
|
|
|
|
|
* @copyright Copyright (C) 2026 Moko Consulting. All rights reserved.
|
|
|
|
|
* @license GNU General Public License version 3 or later; see LICENSE
|
|
|
|
|
*/
|
|
|
|
|
|
2026-06-11 12:24:27 -05:00
|
|
|
namespace Joomla\Component\MokoSuiteBackup\Administrator\Engine;
|
2026-06-02 14:03:46 -05:00
|
|
|
|
|
|
|
|
defined('_JEXEC') or die;
|
|
|
|
|
|
|
|
|
|
interface RemoteUploaderInterface
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Upload a file to remote storage.
|
|
|
|
|
*
|
|
|
|
|
* @param string $localPath Absolute path to the local file
|
|
|
|
|
* @param string $remoteName Filename to use on the remote end
|
|
|
|
|
*
|
|
|
|
|
* @return array{success: bool, message: string, remote_path?: string}
|
|
|
|
|
*/
|
|
|
|
|
public function upload(string $localPath, string $remoteName): array;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Test the connection / credentials without uploading.
|
|
|
|
|
*
|
|
|
|
|
* @return array{success: bool, message: string}
|
|
|
|
|
*/
|
|
|
|
|
public function testConnection(): array;
|
|
|
|
|
}
|