_node_mass_update_batch_process(array $nodes, array $updates,$langcode, $load, $revisions, &$context)
Implements callback_batch_operation().
Executes a batch operation for node_mass_update().
Parameters
array $nodes: An array of node IDs.
array $updates: Associative array of updates.
string $langcode: The language updates should be applied to. If none is specified all available languages are processed.
bool $load: TRUE if $nodes contains an array of node IDs to be loaded, FALSE if it contains fully loaded nodes.
bool $revisions: (optional) TRUE if $nodes contains an array of revision IDs instead of node IDs. Defaults to FALSE; will be ignored if $load is FALSE.
array|\ArrayAccess $context.: An array of contextual key/values.
File
- core/modules/node/node.admin.inc, line 117
- Content administration and module settings user interface.
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | function _node_mass_update_batch_process( array $nodes , array $updates , $langcode , $load , $revisions , & $context ) { if (!isset( $context [ 'sandbox' ][ 'progress' ])) { $context [ 'sandbox' ][ 'progress' ] = 0; $context [ 'sandbox' ][ 'max' ] = count ( $nodes ); $context [ 'sandbox' ][ 'nodes' ] = $nodes ; } // Process nodes by groups of 5. $count = min(5, count ( $context [ 'sandbox' ][ 'nodes' ])); for ( $i = 1; $i <= $count ; $i ++) { // For each nid, load the node, reset the values, and save it. $node = array_shift ( $context [ 'sandbox' ][ 'nodes' ]); if ( $load ) { $node = $revisions ? entity_revision_load( 'node' , $node ) : Node::load( $node ); } $node = _node_mass_update_helper( $node , $updates , $langcode ); // Store result for post-processing in the finished callback. $context [ 'results' ][] = \Drupal::l( $node ->label(), $node ->urlInfo()); // Update our progress information. $context [ 'sandbox' ][ 'progress' ]++; } // Inform the batch engine that we are not finished, // and provide an estimation of the completion level we reached. if ( $context [ 'sandbox' ][ 'progress' ] != $context [ 'sandbox' ][ 'max' ]) { $context [ 'finished' ] = $context [ 'sandbox' ][ 'progress' ] / $context [ 'sandbox' ][ 'max' ]; } } |
Please login to continue.