function quiz_node_load in Quiz 8.4
Implements hook_node_load().
File
- ./
quiz.module, line 1379 - Quiz Module
Code
function quiz_node_load($nodes) {
foreach ($nodes as $nid => $node) {
if ($node
->getType() == 'quiz') {
// Fetching defaults.
$default_additions = _quiz_get_node_defaults();
// Fetching node settings.
$query = db_select('quiz_node_properties', 'qnp');
foreach (array_keys($default_additions) as $field) {
$query
->addField('qnp', $field);
}
$query
->condition('vid', $node
->getRevisionId());
$query
->condition('nid', $node
->id());
$fetched_additions = (array) $query
->execute()
->fetch();
$additions = $fetched_additions ? (object) ($fetched_additions += $default_additions) : NULL;
// Fetching result options.
$query = db_select('quiz_node_result_options', 'qnro');
$query
->fields('qnro');
$query
->condition('nid', $node
->id());
$query
->condition('vid', $node
->getRevisionId());
$options = $query
->execute();
foreach ($options as $option) {
$additions->resultoptions[$option->option_id] = (array) $option;
}
foreach ($additions as $property => &$value) {
$node->{$property} = $value;
}
}
}
}