Projet

Général

Profil

Révision 6ff32cea

Ajouté par Florent Torregrosa il y a environ 9 ans

Update core to 7.36

Voir les différences:

drupal7/modules/node/node.pages.inc
371 371
 * @see node_form_build_preview()
372 372
 */
373 373
function node_preview($node) {
374
  if (node_access('create', $node) || node_access('update', $node)) {
375
    _field_invoke_multiple('load', 'node', array($node->nid => $node));
374
  // Clone the node before previewing it to prevent the node itself from being
375
  // modified.
376
  $cloned_node = clone $node;
377
  if (node_access('create', $cloned_node) || node_access('update', $cloned_node)) {
378
    _field_invoke_multiple('load', 'node', array($cloned_node->nid => $cloned_node));
376 379
    // Load the user's name when needed.
377
    if (isset($node->name)) {
380
    if (isset($cloned_node->name)) {
378 381
      // The use of isset() is mandatory in the context of user IDs, because
379 382
      // user ID 0 denotes the anonymous user.
380
      if ($user = user_load_by_name($node->name)) {
381
        $node->uid = $user->uid;
382
        $node->picture = $user->picture;
383
      if ($user = user_load_by_name($cloned_node->name)) {
384
        $cloned_node->uid = $user->uid;
385
        $cloned_node->picture = $user->picture;
383 386
      }
384 387
      else {
385
        $node->uid = 0; // anonymous user
388
        $cloned_node->uid = 0; // anonymous user
386 389
      }
387 390
    }
388
    elseif ($node->uid) {
389
      $user = user_load($node->uid);
390
      $node->name = $user->name;
391
      $node->picture = $user->picture;
391
    elseif ($cloned_node->uid) {
392
      $user = user_load($cloned_node->uid);
393
      $cloned_node->name = $user->name;
394
      $cloned_node->picture = $user->picture;
392 395
    }
393 396

  
394
    $node->changed = REQUEST_TIME;
395
    $nodes = array($node->nid => $node);
397
    $cloned_node->changed = REQUEST_TIME;
398
    $nodes = array($cloned_node->nid => $cloned_node);
396 399
    field_attach_prepare_view('node', $nodes, 'full');
397 400

  
398 401
    // Display a preview of the node.
399 402
    if (!form_get_errors()) {
400
      $node->in_preview = TRUE;
401
      $output = theme('node_preview', array('node' => $node));
402
      unset($node->in_preview);
403
      $cloned_node->in_preview = TRUE;
404
      $output = theme('node_preview', array('node' => $cloned_node));
405
      unset($cloned_node->in_preview);
403 406
    }
404 407
    drupal_set_title(t('Preview'), PASS_THROUGH);
405 408

  

Formats disponibles : Unified diff