function node_assign_owner_action_form in Drupal 7
Same name and namespace in other branches
- 6 modules/node/node.module \node_assign_owner_action_form()
Generates the settings form for node_assign_owner_action().
Parameters
$context: Array of additional information about what triggered the action. Includes the following elements:
- 'owner_uid': User ID to assign to the node.
See also
node_assign_owner_action_submit()
node_assign_owner_action_validate()
Related topics
File
- modules/
node/ node.module, line 4002 - The core that allows content to be submitted to the site. Modules and scripts may programmatically submit nodes using the usual form API pattern.
Code
function node_assign_owner_action_form($context) {
$description = t('The username of the user to which you would like to assign ownership.');
$count = db_query("SELECT COUNT(*) FROM {users}")
->fetchField();
$owner_name = '';
if (isset($context['owner_uid'])) {
$owner_name = db_query("SELECT name FROM {users} WHERE uid = :uid", array(
':uid' => $context['owner_uid'],
))
->fetchField();
}
// Use dropdown for fewer than 200 users; textbox for more than that.
if (intval($count) < 200) {
$options = array();
$result = db_query("SELECT uid, name FROM {users} WHERE uid > 0 ORDER BY name");
foreach ($result as $data) {
$options[$data->name] = $data->name;
}
$form['owner_name'] = array(
'#type' => 'select',
'#title' => t('Username'),
'#default_value' => $owner_name,
'#options' => $options,
'#description' => $description,
);
}
else {
$form['owner_name'] = array(
'#type' => 'textfield',
'#title' => t('Username'),
'#default_value' => $owner_name,
'#autocomplete_path' => 'user/autocomplete',
'#size' => '6',
'#maxlength' => '60',
'#description' => $description,
);
}
return $form;
}