/** * Downloads backup file from Amazon S3 to root folder on local server. * * @param array $args arguments passed to the function * [as3_bucket_region] -> Amazon S3 bucket region * [as3_bucket] -> Amazon S3 bucket * [as3_access_key] -> Amazon S3 access key * [as3_secure_key] -> Amazon S3 secure key * [as3_directory] -> folder on user's Amazon S3 account which backup file should be downloaded from * [as3_site_folder] -> subfolder with site name in as3_directory which backup file should be downloaded from * [backup_file] -> absolute path of backup file on local server * @return bool|array absolute path to downloaded file is successful, array with error message if not */ function get_amazons3_backup($args) { require_once 'lib/s3.php'; extract($args); $endpoint = isset($as3_bucket_region) ? $as3_bucket_region : 's3.amazonaws.com'; $temp = ''; try { $s3 = new mwpS3($as3_access_key, str_replace(' ', '+', $as3_secure_key), false, $endpoint); if ($as3_site_folder == true) { $as3_directory .= '/' . $this->site_name; } $temp = ABSPATH . 'mwp_temp_backup.zip'; $s3->getObject($as3_bucket, $as3_directory . '/' . $backup_file, $temp); } catch (Exception $e) { return $temp; } return $temp; }