function nodequeue_arrange_subqueue_form in Nodequeue 6.2
Same name and namespace in other branches
- 5.2 nodequeue.module \nodequeue_arrange_subqueue_form()
- 7.3 includes/nodequeue.admin.inc \nodequeue_arrange_subqueue_form()
- 7.2 includes/nodequeue.admin.inc \nodequeue_arrange_subqueue_form()
Form definition for nodequeue drag'n'drop form.
1 string reference to 'nodequeue_arrange_subqueue_form'
- nodequeue_forms in ./
nodequeue.module - Implementation of hook_forms().
File
- includes/
nodequeue.admin.inc, line 751 - Admin page callbacks for the nodequeue module.
Code
function nodequeue_arrange_subqueue_form($form_state, $queue, $nodes, $subqueue) {
$form = array(
'#tree' => TRUE,
);
// Prepare the main part of the form which will be themed as a table.
$form['#theme'] = 'nodequeue_arrange_subqueue_form';
// Save queue and subqueue objects for later use.
$form['#queue'] = (array) $queue;
$form['#subqueue'] = (array) $subqueue;
// Prepare the main part of the form which will be themed as a table.
$count = count($nodes);
foreach ($nodes as $node) {
$form[$node->nid]['#node'] = (array) $node;
if ($node->visible) {
$form[$node->nid]['#node'] = (array) $node;
$form[$node->nid]['title'] = array(
'#value' => l($node->title, 'node/' . $node->nid),
);
$form[$node->nid]['author'] = array(
'#value' => theme('username', $node),
);
$form[$node->nid]['date'] = array(
'#value' => format_date($node->created, 'small'),
);
}
else {
$form[$node->nid]['title'] = array(
'#value' => t('Restricted node, NID: @nid', array(
'@nid' => $node->nid,
)),
);
$form[$node->nid]['author'] = array(
'#value' => '',
);
$form[$node->nid]['date'] = array(
'#value' => '',
);
}
if (node_access('update', $node)) {
$form[$node->nid]['edit'] = array(
'#value' => l(t('edit'), 'node/' . $node->nid . '/edit', array(
'attributes' => array(
'title' => t('Edit this node'),
),
'query' => drupal_get_destination(),
)),
);
}
$form[$node->nid]['position'] = array(
'#type' => 'position',
'#delta' => $count,
'#default_value' => $node->position,
'#attributes' => array(
'class' => 'node-position',
),
);
$attr = array(
'attributes' => array(
'title' => t('Remove from queue'),
'style' => 'display: none;',
'class' => 'nodequeue-remove',
'id' => 'nodequeue-remove-' . $node->nid,
),
);
$form[$node->nid]['remove'] = array(
'#value' => l(t('remove'), '', $attr),
);
}
// Textfield for adding nodes to the queue.
$form['add'] = array(
'#type' => 'markup',
);
$form['add']['nid'] = array(
'#type' => 'textfield',
'#autocomplete_path' => 'nodequeue/autocomplete/' . $subqueue->sqid,
'#maxlength' => 1024,
'#default_value' => t('Enter the title of a node to add it to the queue'),
'#attributes' => array(
'class' => 'subqueue-add-nid',
),
);
$form['add']['submit'] = array(
'#type' => 'submit',
'#value' => t('Add node'),
'#submit' => array(
'nodequeue_arrange_subqueue_form_add_submit',
),
);
// Submit, reverse, shuffle, and clear actions.
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#submit' => array(
'nodequeue_arrange_subqueue_form_submit',
),
);
$form['reverse'] = array(
'#type' => 'submit',
'#value' => t('Reverse'),
'#submit' => array(
'nodequeue_arrange_subqueue_form_reverse_submit',
),
);
$form['shuffle'] = array(
'#type' => 'submit',
'#value' => t('Shuffle'),
'#submit' => array(
'nodequeue_arrange_subqueue_form_shuffle_submit',
),
);
$form['clear'] = array(
'#type' => 'submit',
'#value' => t('Clear'),
'#submit' => array(
'nodequeue_arrange_subqueue_form_clear_submit',
),
);
$form['#validate'][] = 'nodequeue_arrange_subqueue_form_add_validate';
// Disable all buttons if the queue is empty.
if ($count == 0) {
$form['submit']['#disabled'] = TRUE;
$form['reverse']['#disabled'] = TRUE;
$form['shuffle']['#disabled'] = TRUE;
$form['clear']['#disabled'] = TRUE;
}
return $form;
}