_update_manager_check_backends(&$form, $operation)
Checks for file transfer backends and prepares a form fragment about them.
Parameters
array $form: Reference to the form array we're building.
string $operation: The update manager operation we're in the middle of. Can be either 'update' or 'install'. Use to provide operation-specific interface text.
Return value
TRUE if the update manager should continue to the next step in the workflow, or FALSE if we've hit a fatal configuration and must halt the workflow.
File
- core/modules/update/update.manager.inc, line 84
- Administrative screens and processing functions of 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_manager_check_backends(& $form , $operation ) { // If file transfers will be performed locally, we do not need to display any // warnings or notices to the user and should automatically continue the // workflow, since we won't be using a FileTransfer backend that requires // user input or a specific server configuration. if (update_manager_local_transfers_allowed()) { return TRUE; } // Otherwise, show the available backends. $form [ 'available_backends' ] = array ( '#prefix' => '<p>' , '#suffix' => '</p>' , ); $available_backends = drupal_get_filetransfer_info(); if ( empty ( $available_backends )) { if ( $operation == 'update' ) { $form [ 'available_backends' ][ '#markup' ] = t( 'Your server does not support updating modules and themes from this interface. Instead, update modules and themes by uploading the new versions directly to the server, as described in the <a href=":handbook_url">handbook</a>.' , array ( ':handbook_url' => 'https://www.drupal.org/getting-started/install-contrib' )); } else { $form [ 'available_backends' ][ '#markup' ] = t( 'Your server does not support installing modules and themes from this interface. Instead, install modules and themes by uploading them directly to the server, as described in the <a href=":handbook_url">handbook</a>.' , array ( ':handbook_url' => 'https://www.drupal.org/getting-started/install-contrib' )); } return FALSE; } $backend_names = array (); foreach ( $available_backends as $backend ) { $backend_names [] = $backend [ 'title' ]; } if ( $operation == 'update' ) { $form [ 'available_backends' ][ '#markup' ] = \Drupal::translation()->formatPlural( count ( $available_backends ), 'Updating modules and themes requires <strong>@backends access</strong> to your server. See the <a href=":handbook_url">handbook</a> for other update methods.' , 'Updating modules and themes requires access to your server via one of the following methods: <strong>@backends</strong>. See the <a href=":handbook_url">handbook</a> for other update methods.' , array ( '@backends' => implode( ', ' , $backend_names ), )); } else { $form [ 'available_backends' ][ '#markup' ] = \Drupal::translation()->formatPlural( count ( $available_backends ), 'Installing modules and themes requires <strong>@backends access</strong> to your server. See the <a href=":handbook_url">handbook</a> for other installation methods.' , 'Installing modules and themes requires access to your server via one of the following methods: <strong>@backends</strong>. See the <a href=":handbook_url">handbook</a> for other installation methods.' , array ( '@backends' => implode( ', ' , $backend_names ), )); } return TRUE; } |
Please login to continue.