image_field_update_instance
function image_field_update_instance
image_field_update_instance($instance, $prior_instance)
Implements hook_field_update_instance().
File
- modules/image/image.module, line 501
- Exposes global functionality for creating image styles.
Code
function image_field_update_instance($instance, $prior_instance) { // Only act on image fields. $field = field_read_field($instance['field_name']); if ($field['type'] != 'image') { return; } // The value of a managed_file element can be an array if the #extended // property is set to TRUE. $fid_new = $instance['settings']['default_image']; if (is_array($fid_new)) { $fid_new = $fid_new['fid']; } $fid_old = $prior_instance['settings']['default_image']; if (is_array($fid_old)) { $fid_old = $fid_old['fid']; } // If the old and new files do not match, update the default accordingly. $file_new = $fid_new ? file_load($fid_new) : FALSE; if ($fid_new != $fid_old) { // Save the new file, if present. if ($file_new) { $file_new->status = FILE_STATUS_PERMANENT; file_save($file_new); file_usage_add($file_new, 'image', 'default_image', $instance['id']); } // Delete the old file, if present. if ($fid_old && ($file_old = file_load($fid_old))) { file_usage_delete($file_old, 'image', 'default_image', $instance['id']); } } // If the upload destination changed, then move the file. if ($file_new && (file_uri_scheme($file_new->uri) != $field['settings']['uri_scheme'])) { $directory = $field['settings']['uri_scheme'] . '://default_images/'; file_prepare_directory($directory, FILE_CREATE_DIRECTORY); file_move($file_new, $directory . $file_new->filename); } }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/modules!image!image.module/function/image_field_update_instance/7.x