function _s3fs_cors_admin_form_submit in S3 File System CORS Upload 7
Enables CORS on the configured bucket when the form is submitted.
1 string reference to '_s3fs_cors_admin_form_submit'
- s3fs_cors_admin_form in ./
s3fs_cors.admin.inc - Builds the Admin form.
File
- ./
s3fs_cors.admin.inc, line 34 - Administration form setup for S3 File System CORS Upload.
Code
function _s3fs_cors_admin_form_submit($form, &$form_state) {
$config = _s3fs_get_config();
$s3 = _s3fs_get_amazons3_client($config);
if (!empty($form_state['values']['s3fs_cors_origin'])) {
$cors_origin = $form_state['values']['s3fs_cors_origin'];
$s3
->putBucketCors(array(
'Bucket' => $config['bucket'],
'CORSRules' => array(
array(
'AllowedHeaders' => array(
'*',
),
'ExposeHeaders' => array(
'x-amz-version-id',
),
'AllowedMethods' => array(
'POST',
),
'MaxAgeSeconds' => 3000,
'AllowedOrigins' => array(
"http://{$cors_origin}",
"https://{$cors_origin}",
),
),
array(
'AllowedMethods' => array(
'GET',
),
'AllowedOrigins' => array(
'*',
),
),
),
));
}
else {
// If $form_state['values']['s3fs_cors_origin'] is empty, that means we
// need to delete their bucket's CORS config.
$s3
->deleteBucketCors(array(
'Bucket' => $config['bucket'],
));
}
}