Projet

Général

Profil

Révision 136a805a

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

Weekly update of contrib modules

Voir les différences:

drupal7/sites/all/modules/panels/panels_mini/panels_mini.module
116 116

  
117 117
  $panel_mini->context = $panel_mini->display->context =  ctools_context_load_contexts($panel_mini, FALSE, $contexts);
118 118
  $panel_mini->display->css_id = panels_mini_get_id($panel_mini->name);
119
  $panel_mini->display->owner = $panel_mini;
119 120

  
120 121
  $block = array();
121 122

  
......
146 147
  if (module_exists('page_manager')) {
147 148
    $current_page = page_manager_get_current_page();
148 149
  }
150

  
151
  // Load add at once to save time.
152
  panels_mini_load_all();
153

  
149 154
  foreach ($blocks as $key => $block) {
150 155
    if ($block->module != 'panels_mini') {
151 156
      // This block was added by a contrib module, leave it in the list.
......
254 259
  // We use array_key_exists because failed loads will be NULL and
255 260
  // isset() will try to load it again.
256 261
  if (!array_key_exists($name, $cache)) {
257
    ctools_include('export');
258
    $result = ctools_export_load_object('panels_mini', 'names', array($name));
259
    if (isset($result[$name])) {
260
      if (empty($result[$name]->display)) {
261
        $result[$name]->display = panels_load_display($result[$name]->did);
262
        if (!empty($result[$name]->title) && empty($result[$name]->display->title)) {
263
          $result[$name]->display->title = $result[$name]->title;
262
    $cid = 'panels_mini_load:' . $name;
263
    $result = cache_get($cid, 'cache_panels');
264
    if (!empty($result->data)) {
265
      $cache[$name] = $result->data;
266
    }
267
    else {
268
      ctools_include('export');
269
      $result = ctools_export_load_object('panels_mini', 'names', array($name));
270
      if (isset($result[$name])) {
271
        if (empty($result[$name]->display)) {
272
          $result[$name]->display = panels_load_display($result[$name]->did);
273
          if (!empty($result[$name]->title) && empty($result[$name]->display->title)) {
274
            $result[$name]->display->title = $result[$name]->title;
275
          }
264 276
        }
277
        $cache[$name] = $result[$name];
278
        if (!empty($result[$name]->title) && empty($result[$name]->admin_title)) {
279
          $cache[$name]->admin_title = $result[$name]->title;
280
        }
281
        cache_set($cid, $cache[$name], 'cache_panels', CACHE_TEMPORARY);
265 282
      }
266
      $cache[$name] = $result[$name];
267
      if (!empty($result[$name]->title) && empty($result[$name]->admin_title)) {
268
        $cache[$name]->admin_title = $result[$name]->title;
283
      else {
284
        $cache[$name] = NULL;
269 285
      }
270 286
    }
271
    else {
272
      $cache[$name] = NULL;
273
    }
274 287
  }
275 288

  
276 289
  if (isset($cache[$name])) {
......
292 305
    if ($reset) {
293 306
      $cache = array();
294 307
    }
308
    else {
309
      $panel_names = db_select('panels_mini', 'pm')
310
        ->fields('pm', array('name'))
311
        ->execute();
312
      $cids = array();
313
      foreach ($panel_names as $name) {
314
        $cids[] = 'panels_mini_load:' . $name->name;
315
      }
316
      if (empty($cids)) {
317
        return array_filter($cache);
318
      }
319
      $output = cache_get_multiple($cids, 'cache_panels');
320
      foreach ($output as $mini) {
321
        if (!empty($mini->data)) {
322
          $mini = $mini->data;
323
          $cache[$mini->name] = $mini;
324
        }
325
      }
326
    }
295 327

  
296 328
    ctools_include('export');
297 329
    $minis = ctools_export_load_object('panels_mini');
......
333 365
 */
334 366
function panels_mini_save(&$mini) {
335 367
  if (!empty($mini->display)) {
368
    $mini->display->storage_id = $mini->name;
336 369
    $display = panels_save_display($mini->display);
337 370
    $mini->did = $display->did;
338 371
  }
339 372

  
373
  // Clear the panels_mini_load cache.
374
  cache_clear_all('panels_mini_load:', 'cache_panels', TRUE);
375

  
340 376
  $update = (isset($mini->pid) && $mini->pid != 'new') ? array('pid') : array();
341 377
  drupal_write_record('panels_mini', $mini, $update);
342 378

  
......
389 425
  if ($module == 'ctools' && ($plugin == 'content_types' || $plugin == 'export_ui')) {
390 426
    return 'plugins/' . $plugin;
391 427
  }
428
  if ($module == 'panels' && $plugin == 'panels_storage') {
429
    return 'plugins/' . $plugin;
430
  }
392 431
}
393 432

  
394 433
/**
......
427 466
  $cache->display = $item->display;
428 467
  $cache->display->context = ctools_context_load_contexts($item);
429 468
  $cache->display->cache_key = 'panels_mini:' . $key;
469
  $cache->display->storage_type = 'panels_mini';
470
  // Temporary storage id that's replaced in panels_mini_save().
471
  $cache->display->storage_id = 'panels_mini';
430 472
  $cache->content_types = panels_common_get_allowed_types('panels_mini', $cache->display->context);
431 473
  $cache->display_title = TRUE;
432 474

  
......
470 512
function panels_mini_panels_cache_break_lock($key, $cache) {
471 513
}
472 514

  
515
/**
516
 * Implements hook_panels_pre_render().
517
 */
518
function panels_mini_panels_pre_render($display, $renderer) {
519
  if (isset($display->owner->table) && $display->owner->table == 'panels_mini' && $renderer instanceof panels_renderer_standard) {
520
    $renderer->show_empty_layout = FALSE;
521
  }
522
}
523

  
473 524
/**
474 525
 * Implementation of hook_panels_dashboard_blocks().
475 526
 *

Formats disponibles : Unified diff