function user_import_trigger_imports in User Import 7
Same name and namespace in other branches
- 8 user_import.module \user_import_trigger_imports()
- 7.3 user_import.module \user_import_trigger_imports()
- 7.2 user_import.module \user_import_trigger_imports()
Trigger imports if new files are found durring a cron run.
1 call to user_import_trigger_imports()
- user_import_cron in ./
user_import.module - Implementation of hook_cron().
File
- ./
user_import.module, line 166 - Import or update users with data from a comma separated file (csv).
Code
function user_import_trigger_imports() {
$auto_imports_enabled = variable_get('user_import_auto_imports_enabled', FALSE);
if (empty($auto_imports_enabled)) {
return;
}
// Load import functions.
module_load_include('inc', 'user_import', 'user_import.admin');
// Get list of templates to check.
$imports = db_query("SELECT * FROM {user_import} WHERE auto_import_directory != '' AND setting = 'template'");
foreach ($imports as $import) {
// Check for file in the uploads directory of this template.
$directory = 'private://user_import/uploads/' . $import->auto_import_directory;
$files = file_scan_directory($directory, '/.*$/');
foreach ($files as $import_file) {
// Move file to processing directory.
$filename_new = $import_file->filename . '-' . rand(1000000, 2000000);
$import_file_new = file_unmanaged_move($import_file->uri, 'private://user_import/processing/' . $filename_new);
// Create import.
// Get template.
$settings = _user_import_settings_select($import->import_id);
$import_id = '';
$name = '';
$pointer = 0;
$processed = 0;
$valid = 0;
$field_match = isset($settings['field_match']) ? serialize($settings['field_match']) : '';
$roles = isset($settings['roles']) ? serialize($settings['roles']) : '';
$options = isset($settings['options']) ? serialize($settings['options']) : '';
$setting = 'import';
$file->filename = $filename_new;
$file->oldfilename = $import_file->filename;
$file->filepath = 'private://user_import/processing/' . $filename_new;
$import_id = user_import_import_set($name, $file, $pointer, $processed, $valid, $field_match, $roles, $options, $setting, $import_id);
$settings = _user_import_settings_select($import_id);
_user_import_process($settings);
}
}
return;
// Get template.
$settings = _user_import_settings_select(2);
foreach ($files as $filename) {
if ($filename == 'sample.txt') {
// Check if it's used for an import already.
$imported = db_query('SELECT import_id FROM {user_import} WHERE filename = :filename', array(
':filename' => $filename,
))
->fetchField();
if (!$imported) {
$import_id = '';
$name = '';
$pointer = 0;
$processed = 0;
$valid = 0;
$field_match = isset($settings['field_match']) ? serialize($settings['field_match']) : '';
$roles = isset($settings['roles']) ? serialize($settings['roles']) : '';
$options = isset($settings['options']) ? serialize($settings['options']) : '';
$setting = 'import';
$file->filename = $filename;
$file->oldfilename = $filename;
$file->filepath = drupal_get_path('module', 'user_import') . '/' . $filename;
$import_id = user_import_import_set($name, $file, $pointer, $processed, $valid, $field_match, $roles, $options, $setting, $import_id);
$settings = _user_import_settings_select($import_id);
_user_import_process($settings);
}
}
}
return;
}