public function checkConnexion($data = [])
{
- $test = 'test' . time();
+ $test = 'test' . time() . '-' . rand(1, 1000000);
$testFile = $data['base_path'] . '/' . $test . '.txt';
- try {
- $client = $this->createClient($data);
- } catch (\Exception $e) {
- return self::ERROR_SERVER_CONNECTION;
- }
+ $client = $this->createClient($data);
+
+ $oc = ['Bucket' => $data['bucket'], 'Key' => $testFile];
try {
- $client->putObject(['Bucket' => $data['bucket'], 'Key' => $testFile, 'Body' => $test]);
+ $client->putObject(array_merge($oc, ['Body' => $test]));
} catch (\Exception $e) {
- return self::ERROR_SEND_FILE;
+ return ['error' => true, 'message' => $e->getMessage()];
}
- $o = $client->getObject(['Bucket' => $data['bucket'], 'Key' => $testFile]);
- if ($o->get('Body') == $test) {
+ $o = $client->getObject($oc);
+ $ocontent = $o->get('Body');
+
+ $client->deleteObject($oc);
+
+ if ($ocontent == $test) {
return true;
}
return self::ERROR_SEND_FILE;
$data = [
'access_key' => $data['access_key'] ?? $this->getServer()->getAccessKey(),
'secret' => $data['secret'] ?? $this->getServer()->getSecret(),
- 'region' => $data['region'] ?? $this->getServer()->getRegion(),
+ 'region' => ($data['region'] ?? $this->getServer()->getRegion()) ?: 'eu-west-3',
'bucket' => $data['bucket'] ?? $this->getServer()->getBucket(),
'endpoint' => $data['endpoint'] ?? $this->getServer()->getEndpoint(),
'base_path' => trim($data['base_path'] ?? $this->getServer()->getBasePath(), "/"),
return ['region' => $data['region'],
'version' => '2006-03-01',
'use_path_style_endpoint' => false,
- 'credentials' => ['key' => $data['key'], 'secret' => $data['secret']]
+ 'credentials' => ['key' => $data['access_key'], 'secret' => $data['secret']]
];
}