function views_handler_arg_quiz_taker_uid in Quiz 5.2
An argument handler for quiz_taker_uid
1 string reference to 'views_handler_arg_quiz_taker_uid'
- quiz_views_arguments in ./
quiz_views.module - Implementation of hook_views_arguments
File
- ./
quiz_views.module, line 443 - This include file implements views 5.x-1.x functionality on behalf of quiz.module
Code
function views_handler_arg_quiz_taker_uid($op, &$query, $argtype, $arg = '') {
switch ($op) {
case 'summary':
$query
->add_table('quiz_node_results', true);
$query
->add_field('uid', 'quiz_node_results');
$fieldinfo['field'] = "quiz_node_results.uid";
return $fieldinfo;
break;
case 'sort':
$query
->add_orderby('users', 'name', $argtype);
break;
case 'filter':
$option = $argtype['options'];
$uid = intval($arg);
$query
->ensure_table('quiz_node_results');
if ($option) {
$query
->ensure_table('quiz_node_results');
$query
->add_where("quiz_node_results.uid = {$uid}");
}
else {
$joininfo = array(
'type' => 'LEFT',
'left' => array(
'table' => 'node',
'field' => 'nid',
),
'right' => array(
'field' => 'nid',
),
'extra' => array(
'uid' => $uid,
),
);
$num = $query
->add_table('quiz_node_results', true, 1, $joininfo);
$tablename = $query
->get_table_name('quiz_node_results', $num);
$query
->add_where("{$tablename}.uid IS NULL");
}
break;
case 'link':
$name = $query->name ? $query->name : variable_get('anonymous', t('Anonymous'));
return l($name, "{$arg}/" . intval($query->uid));
case 'title':
if (!$query) {
return variable_get('anonymous', t('Anonymous'));
}
$user = db_fetch_object(db_query("SELECT name FROM {users} WHERE uid = '%d'", $query));
return $user->name;
}
}