Projet

Général

Profil

Révision ca0757b9

Ajouté par Assos Assos il y a plus de 9 ans

Weekly update of contrib modules

Voir les différences:

drupal7/sites/all/modules/file_entity/file_entity.file.inc
59 59

  
60 60
  // Save file metadata.
61 61
  if (!empty($file->metadata)) {
62
    $query = db_insert('file_metadata')->fields(array('fid', 'name', 'value'));
62 63
    foreach ($file->metadata as $name => $value) {
63
      db_merge('file_metadata')
64
        ->fields(array(
65
          'value' => serialize($value),
66
        ))
67
        ->key(array(
68
          'fid' => $file->fid,
69
          'name' => $name,
70
        ))
71
        ->execute();
64
      $query->values(array(
65
        'fid' => $file->fid,
66
        'name' => $name,
67
        'value' => serialize($value),
68
      ));
72 69
    }
70
    $query->execute();
73 71
  }
74 72

  
75 73
  // Clear any related field caches.
......
84 82
  field_attach_update('file', $file);
85 83

  
86 84
  // Save file metadata.
85
  db_delete('file_metadata')->condition('fid', $file->fid)->execute();
87 86
  if (!empty($file->metadata)) {
87
    $query = db_insert('file_metadata')->fields(array('fid', 'name', 'value'));
88 88
    foreach ($file->metadata as $name => $value) {
89
      db_merge('file_metadata')
90
        ->fields(array(
91
          'value' => serialize($value),
92
        ))
93
        ->key(array(
94
          'fid' => $file->fid,
95
          'name' => $name,
96
        ))
97
        ->execute();
98
    }
99
  }
100

  
101
  // Save file metadata.
102
  db_delete('file_metadata')->condition('fid', $file->fid);
103
  if (!empty($file->metadata)) {
104
    foreach ($file->metadata as $name => $value) {
105
      db_merge('file_metadata')
106
        ->fields(array(
107
          'value' => serialize($value),
108
        ))
109
        ->key(array(
110
          'fid' => $file->fid,
111
          'name' => $name,
112
        ))
113
        ->execute();
89
      $query->values(array(
90
        'fid' => $file->fid,
91
        'name' => $name,
92
        'value' => serialize($value),
93
      ));
114 94
    }
95
    $query->execute();
115 96
  }
116 97

  
117
  if (file_entity_file_get_mimetype_type($file) == 'image' && module_exists('image')) {
118
    // If the image dimensions have changed, update any image field references
119
    // to this file and flush image style derivatives.
120
    if ($file->metadata['width'] != $file->metadata['width'] || $file->metadata['height'] != $file->metadata['height']) {
98
  if (module_exists('image') && file_entity_file_get_mimetype_type($file) == 'image' && $file->filesize) {
99
    // If the file has changed dimensions or a new file has been uploaded,
100
    // update any image field reference to this file and flush image style
101
    // derivatives.
102
    $file->metadata += array('width' => NULL, 'height' => NULL);
103
    $file->original->metadata += array('width' => NULL, 'height' => NULL);
104
    if ($file->filesize != $file->original->filesize || $file->metadata['width'] != $file->original->metadata['width'] || $file->metadata['height'] != $file->original->metadata['height']) {
121 105
      _file_entity_update_image_field_dimensions($file);
122 106
    }
123 107

  
......
246 230
 * @see http://drupal.org/node/1448124
247 231
 */
248 232
function _file_entity_update_image_field_dimensions($file) {
233
  // Prevent PHP notices when trying to read empty files.
234
  // @see http://drupal.org/node/681042
235
  if (!$file->filesize) {
236
    return;
237
  }
238

  
249 239
  // Do not bother proceeding if this file does not have an image mime type.
250 240
  if (file_entity_file_get_mimetype_type($file) != 'image') {
251 241
    return;

Formats disponibles : Unified diff