function hybridauth_url_managed_file in HybridAuth Social Login 7.2
Rules action.
File
- ./
hybridauth.rules.inc, line 87 - Functions for integrating the HybridAuth module with Rules.
Code
function hybridauth_url_managed_file($url, $directory) {
if (valid_url($url, TRUE)) {
$url_info = parse_url($url);
// Prepare directory.
$directory = file_default_scheme() . '://' . $directory . '/' . $url_info['host'] . dirname($url_info['path']);
if (!file_prepare_directory($directory, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS)) {
watchdog('hybridauth', 'Error accessing directory %directory.', array(
'%directory' => $directory,
), WATCHDOG_ERROR);
return array(
'file' => '',
);
}
// Make a request.
$content = drupal_http_request($url);
if (isset($content->error)) {
watchdog('hybridauth', 'Error while executing drupal_http_request() to %url: %error.', array(
'%url' => $url,
'%error' => $content->error,
), WATCHDOG_ERROR);
return array(
'file' => '',
);
}
else {
if ($file = file_save_data($content->data, $directory . '/' . basename($url_info['path']), FILE_EXISTS_REPLACE)) {
$path_info = pathinfo($url);
if (empty($path_info['extension'])) {
$info = image_get_info($file->uri);
$file = file_move($file, $directory . '/' . basename($url_info['path']) . '.' . $info['extension'], FILE_EXISTS_REPLACE);
}
return array(
'file' => $file,
);
}
else {
watchdog('hybridauth', 'Failed to save file %file.', array(
'%file' => basename($url_info['path']),
), WATCHDOG_ERROR);
}
}
}
else {
watchdog('hybridauth', 'Not valid url %url', array(
'%url' => $url,
), WATCHDOG_ERROR);
}
return array(
'file' => '',
);
}