Projet

Général

Profil

Révision c304a780

Ajouté par Assos Assos il y a environ 6 ans

Weekly update of contrib modules

Voir les différences:

drupal7/sites/all/modules/ctools/includes/object-cache.inc
43 43
  }
44 44

  
45 45
  if (!array_key_exists($key, $cache)) {
46
    $data = db_query('SELECT * FROM {ctools_object_cache} WHERE sid = :session_id AND obj = :object AND name = :name', array(':session_id' => $sid, ':object' => $obj, ':name' => $name))
47
      ->fetchObject();
46
    $data = db_query('SELECT * FROM {ctools_object_cache} WHERE sid = :session_id AND obj = :object AND name = :name', array(
47
      ':session_id' => $sid,
48
      ':object' => $obj,
49
      ':name' => md5($name),
50
    ))->fetchObject();
48 51
    if ($data) {
49 52
      $cache[$key] = unserialize($data->data);
50 53
    }
......
84 87
    ->fields(array(
85 88
      'sid' => $sid,
86 89
      'obj' => $obj,
87
      'name' => $name,
90
      'name' => md5($name),
88 91
      'data' => serialize($cache),
89 92
      'updated' => REQUEST_TIME,
90 93
    ))
......
104 107
 *   defaults to session_id().
105 108
 */
106 109
function ctools_object_cache_clear($obj, $name, $sid = NULL) {
107

  
108 110
  if (!$sid) {
109 111
    $sid = session_id();
110 112
  }
......
112 114
  db_delete('ctools_object_cache')
113 115
    ->condition('sid', $sid)
114 116
    ->condition('obj', $obj)
115
    ->condition('name', $name)
117
    ->condition('name', md5($name))
116 118
    ->execute();
117 119
  // Ensure the static cache is emptied of this obj:name set.
118 120
  drupal_static_reset('ctools_object_cache_get');
......
142 144
    $sid = session_id();
143 145
  }
144 146

  
145
  return db_query('SELECT s.uid, c.updated FROM {ctools_object_cache} c INNER JOIN {sessions} s ON c.sid = s.sid WHERE s.sid <> :session_id AND c.obj = :obj AND c.name = :name ORDER BY c.updated ASC', array(':session_id' => $sid, ':obj' => $obj, ':name' => $name))
146
    ->fetchObject();
147
  return db_query('SELECT s.uid, c.updated FROM {ctools_object_cache} c INNER JOIN {sessions} s ON c.sid = s.sid WHERE s.sid <> :session_id AND c.obj = :obj AND c.name = :name ORDER BY c.updated ASC', array(
148
    ':session_id' => $sid,
149
    ':obj' => $obj,
150
    ':name' => md5($name),
151
  ))->fetchObject();
147 152
}
148 153

  
149 154
/**
......
162 167
 *   An array of objects containing the UID and updated date for each name found.
163 168
 */
164 169
function ctools_object_cache_test_objects($obj, $names) {
170
  array_walk($names, 'md5');
165 171
  return db_query("SELECT c.name, s.uid, c.updated FROM {ctools_object_cache} c INNER JOIN {sessions} s ON c.sid = s.sid WHERE c.obj = :obj AND c.name IN (:names) ORDER BY c.updated ASC", array(':obj' => $obj, ':names' => $names))
166 172
    ->fetchAllAssoc('name');
167 173
}
......
180 186
function ctools_object_cache_clear_all($obj, $name) {
181 187
  db_delete('ctools_object_cache')
182 188
    ->condition('obj', $obj)
183
    ->condition('name', $name)
189
    ->condition('name', md5($name))
184 190
    ->execute();
185 191
  // Ensure the static cache is emptied of this obj:name set.
186 192
  $cache = &drupal_static('ctools_object_cache_get', array());

Formats disponibles : Unified diff