function tripal_bulk_loader_load
2.x tripal_bulk_loader.chado_node.inc | tripal_bulk_loader_load($nodes) |
3.x tripal_bulk_loader.chado_node.inc | tripal_bulk_loader_load( |
1.x tripal_bulk_loader.module | tripal_bulk_loader_load($node) |
Implements hook_load().
D7 Changes: now loads all $nodes at once so need to add loops
Related topics
File
- tripal_bulk_loader/
includes/ tripal_bulk_loader.chado_node.inc, line 121 - Tripal Bulk Loader Node functionality (jobs).
Code
function tripal_bulk_loader_load($nodes) {
// Loading Job Details
// Add fields from the tripal_bulk_loader
$result = db_select('tripal_bulk_loader', 'tbl')
->fields('tbl')
->condition('nid', array_keys($nodes), 'IN')
->execute();
foreach ($result as $record) {
$nodes[$record->nid]->loader_name = $record->loader_name;
$nodes[$record->nid]->template_id = $record->template_id;
$nodes[$record->nid]->file = $record->file;
$nodes[$record->nid]->job_id = $record->job_id;
$nodes[$record->nid]->job_status = $record->job_status;
$nodes[$record->nid]->file_has_header = $record->file_has_header;
$nodes[$record->nid]->keep_track_inserted = $record->keep_track_inserted;
$nodes[$record->nid]->exposed_fields = array();
$nodes[$record->nid]->constants = array();
}
// Job Details
// Add fields from tripal_jobs
$result = db_query('SELECT tbl.nid, tj.* FROM {tripal_jobs} tj '
. 'LEFT JOIN {tripal_bulk_loader} tbl ON tbl.job_id=tj.job_id '
. 'WHERE tbl.nid IN (:nids)',
array(':nids' => array_keys($nodes))
);
foreach ($result as $record) {
$nodes[$record->nid]->job = $record;
}
// Add the Loader Template
// Add fields from tripal_bulk_loader_template
$result = db_query('SELECT tbl.nid, tblt.* FROM {tripal_bulk_loader_template} tblt '
. 'LEFT JOIN {tripal_bulk_loader} tbl ON tbl.template_id=tblt.template_id '
. 'WHERE tbl.nid IN (:nids)',
array(':nids' => array_keys($nodes))
);
foreach ($result as $dbrecord) {
$nodes[$dbrecord->nid]->template = $dbrecord;
$nodes[$dbrecord->nid]->template->template_array = unserialize($dbrecord->template_array);
// Add exposed field list
$template = $nodes[$dbrecord->nid]->template->template_array;
$nodes[$dbrecord->nid]->exposed_fields = array();
if ($template) {
foreach ($template as $record_id => $record) {
foreach ($record['fields'] as $field_id => $field) {
if (isset($field['exposed'])) {
if ($field['exposed']) {
$nodes[$dbrecord->nid]->exposed_fields[] = array(
'record_id' => $record_id,
'field_id' => $field_id,
'title' => $field['title'],
);
}
}
}
}
}
}
// Add inserted records
// Add fields from tripal_bulk_loader_inserted
$result = db_query('SELECT tbli.* FROM {tripal_bulk_loader_inserted} tbli '
. 'WHERE tbli.nid IN (:nids)',
array(':nids' => array_keys($nodes))
);
foreach ($result as $record) {
$record->num_inserted = sizeof(preg_split('/,/', $record->ids_inserted));
$nodes[$record->nid]->inserted_records->{$record->table_inserted_into} = $record;
}
// Add constants
// Add fields from tripal_bulk_loader_constants
$result = db_query('SELECT tblc.* FROM {tripal_bulk_loader_constants} tblc '
. 'WHERE tblc.nid IN (:nids) '
. 'ORDER BY group_id, record_id, field_id',
array(':nids' => array_keys($nodes))
);
foreach ($result as $record) {
$nodes[$record->nid]->constants[$record->group_id][$record->record_id][$record->field_id] = array(
'constant_id' => $record->constant_id,
'group_id' => $record->group_id,
'chado_table' => $record->chado_table,
'chado_field' => $record->chado_field,
'record_id' => $record->record_id,
'field_id' => $record->field_id,
'value' => $record->value
);
}
}