Как показать пожалуйста подождите сообщение перед отправкой формы в Drupal 7 - PullRequest
0 голосов
/ 28 февраля 2020

Я сканирую сетевой диск, и у меня уходит 2-3 минуты, пока диск не будет отсканирован. Я хочу показать сообщение "Пожалуйста, подождите, когда нажмете кнопку сканирования".

Ниже мое меню крюка

 $items['admin/config/network_drives/%/scan'] = array(
'title'             =>  'Scan Network Drive',  //page title
'description'       =>  'Scan a network drive',  //description show when mouse hover on link
'page callback'     =>  'drupal_get_form',  //callback function which is invoked when menu item is called.
'page arguments'    =>  array('_network_drive_scan'), //Module Form Function
'type'              =>  MENU_LOCAL_TASK,
'access callback'   =>  true,  //any user having add_network_drive can access this page
);

и моя функция:

 function _network_drive_scan($form, &$form_state){


$arguments = arg();
$id = $arguments[count($arguments) - 2];

ini_set('max_execution_time', 0);
require_once ('reader.class.php');
require_once ('readerException.class.php');

try{

    $query = db_select('network_drive','ndrive');
    $query
        ->fields('ndrive', array('ndid','username','password','host','path','type','algo'))
        ->condition('ndid',$id,'=')
        ->orderBy('ndrive.ndid');
    $results = $query->execute();

    $ND = $results->fetchAssoc();

       $reader = new Reader($ND); //DMS


    /**
     * Mysql query to insert network drive id into network drive listing table().
     */
    $arguments = arg();
    $id = $arguments[count($arguments) - 1];
    $query = db_select('network_drive','ndrive');
    $query
        ->fields('ndrive', array('ndid'))
        ->condition('ndid',$id,'=')
        ->orderBy('ndrive.ndid');
    $results = $query->execute();
    $network_drive_id = $results->fetchAssoc();

    /**
     * mysql query to fetch the directory name from path and insert into scanning process().
     */
    $directory_name = $arguments = arg();
    $networkdriveid = $arguments[count($arguments) - 2];
    $query = db_select('network_drive','networkd');
    $query
        ->fields('networkd', array('path'))
        ->condition('ndid',$networkdriveid,'=')
        ->orderBy('networkd.ndid');
    $results = $query->execute();
    foreach($results as $result){
        $array = explode("\\", $result->path);
        $networkpath =  isset($array[count($array) - 2]) ? $array[count($array) - 2] : "Directory not available";
    }

    $array = $reader->scanFolder("",true);



    makeArrayFromNested($array,$networkdriveid,"root");

    drupal_set_message(t('Network drive has been scanned successfully.'));

    $form_state['redirect'] = '/admin/config/network_drives';

}catch(ReaderException $e){

    die($e->message);

   }
}

Что я хочу когда я нажимаю на сканирование сетевого диска, на нем должно отображаться сообщение или всплывающее окно: «Пожалуйста, дождитесь сканирования сетевого диска». Сканирование заняло время, поэтому пользователь должен увидеть это сообщение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...