_update_requirement_check($project, $type)
Fills in the requirements array.
This is shared for both core and contrib to generate the right elements in the array for hook_requirements().
Parameters
$project: Array of information about the project we're testing as returned by update_calculate_project_data().
$type: What kind of project this is ('core' or 'contrib').
Return value
An array to be included in the nested $requirements array.
See also
update_calculate_project_data()
File
- core/modules/update/update.install, line 99
- Install, update, and uninstall functions for the Update Manager module.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | function _update_requirement_check( $project , $type ) { $requirement = array (); if ( $type == 'core' ) { $requirement [ 'title' ] = t( 'Drupal core update status' ); } else { $requirement [ 'title' ] = t( 'Module and theme update status' ); } $status = $project [ 'status' ]; if ( $status != UPDATE_CURRENT) { $requirement [ 'reason' ] = $status ; $requirement [ 'severity' ] = REQUIREMENT_ERROR; // Append the available updates link to the message from // _update_message_text(), and format the two translated strings together in // a single paragraph. $requirement [ 'description' ][] = [ '#markup' => _update_message_text( $type , $status )]; if (_update_manager_access()) { $requirement [ 'description' ][] = [ '#prefix' => ' ' , '#markup' => t( 'See the <a href=":available_updates">available updates</a> page for more information and to install your missing updates.' , [ ':available_updates' => \Drupal::url( 'update.report_update' )])]; } else { $requirement [ 'description' ][] = [ '#prefix' => ' ' , '#markup' => t( 'See the <a href=":available_updates">available updates</a> page for more information.' , [ ':available_updates' => \Drupal::url( 'update.status' )])]; } } switch ( $status ) { case UPDATE_NOT_SECURE: $requirement_label = t( 'Not secure!' ); break ; case UPDATE_REVOKED: $requirement_label = t( 'Revoked!' ); break ; case UPDATE_NOT_SUPPORTED: $requirement_label = t( 'Unsupported release' ); break ; case UPDATE_NOT_CURRENT: $requirement_label = t( 'Out of date' ); $requirement [ 'severity' ] = REQUIREMENT_WARNING; break ; case UPDATE_UNKNOWN: case UPDATE_NOT_CHECKED: case UPDATE_NOT_FETCHED: $requirement_label = isset( $project [ 'reason' ]) ? $project [ 'reason' ] : t( 'Can not determine status' ); $requirement [ 'severity' ] = REQUIREMENT_WARNING; break ; default : $requirement_label = t( 'Up to date' ); } if ( $status != UPDATE_CURRENT && $type == 'core' && isset( $project [ 'recommended' ])) { $requirement_label .= ' ' . t( '(version @version available)' , array ( '@version' => $project [ 'recommended' ])); } $requirement [ 'value' ] = \Drupal::l( $requirement_label , new Url(_update_manager_access() ? 'update.report_update' : 'update.status' )); return $requirement ; } |
Please login to continue.