function nodequeue_arrange_subqueue_form in Nodequeue 7.3
Same name and namespace in other branches
- 5.2 nodequeue.module \nodequeue_arrange_subqueue_form()
- 6.2 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 - Implementats hook_forms().
File
- includes/
nodequeue.admin.inc, line 760 - Admin page callbacks for the nodequeue module.
Code
function nodequeue_arrange_subqueue_form($form, $form_state, $queue, $nodes, $subqueue) {
$form = array(
'#tree' => TRUE,
);
// Prepare the main part of the form which will be themed as a table.
$count = count($nodes);
$form['nodes'] = array();
$form['nodes']['#theme'] = 'nodequeue_arrange_subqueue_form_table';
// Theme function needs these.
$form['nodes']['#queue'] = (array) $queue;
$form['nodes']['#subqueue'] = (array) $subqueue;
foreach ($nodes as $node) {
$form['nodes'][$node->nid]['#node'] = (array) $node;
if ($node->visible) {
$form['nodes'][$node->nid]['#node'] = (array) $node;
$form['nodes'][$node->nid]['title'] = array(
'#markup' => l($node->title, 'node/' . $node->nid),
);
$form['nodes'][$node->nid]['author'] = array(
'#markup' => theme('username', array(
'account' => $node,
)),
);
$form['nodes'][$node->nid]['date'] = array(
'#markup' => format_date($node->created, 'short'),
);
}
else {
$form['nodes'][$node->nid]['title'] = array(
'#value' => t('Restricted node, NID: @nid', array(
'@nid' => $node->nid,
)),
);
$form['nodes'][$node->nid]['author'] = array(
'#value' => '',
);
$form['nodes'][$node->nid]['date'] = array(
'#value' => '',
);
}
if (node_access('update', $node)) {
$form['nodes'][$node->nid]['edit'] = array(
'#markup' => l(t('edit'), 'node/' . $node->nid . '/edit', array(
'attributes' => array(
'title' => t('Edit this node'),
),
)),
);
}
$form['nodes'][$node->nid]['position'] = array(
'#type' => 'position',
'#delta' => $count,
'#default_value' => $node->position,
'#attributes' => array(
'class' => array(
'node-position',
),
),
);
$attr = array(
'attributes' => array(
'title' => t('Remove from queue'),
'style' => 'display: none;',
'class' => array(
'nodequeue-remove',
),
'id' => 'nodequeue-remove-' . $node->nid,
),
'query' => nodequeue_get_query_string($node->nid, TRUE),
);
$form['nodes'][$node->nid]['remove'] = array(
'#markup' => l(t('remove'), 'nodequeue/' . $queue->name . '/remove-node/' . $subqueue->sqid . '/' . $node->nid, $attr),
);
}
// Textfield for adding nodes to the queue.
$form['add'] = array(
'#type' => 'container',
'#attributes' => array(
'class' => array(
'container-inline',
),
),
);
$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' => array(
'subqueue-add-nid',
),
),
);
$form['add']['submit'] = array(
'#type' => 'submit',
'#value' => t('Add content'),
'#submit' => array(
'nodequeue_arrange_subqueue_form_add_submit',
),
);
// Submit, reverse, shuffle, and clear actions.
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#submit' => array(
'nodequeue_arrange_subqueue_form_submit',
),
);
$form['actions']['reverse'] = array(
'#type' => 'submit',
'#value' => t('Reverse'),
'#submit' => array(
'nodequeue_arrange_subqueue_form_reverse_submit',
),
);
$form['actions']['shuffle'] = array(
'#type' => 'submit',
'#value' => t('Shuffle'),
'#submit' => array(
'nodequeue_arrange_subqueue_form_shuffle_submit',
),
);
$form['actions']['clear'] = array(
'#type' => 'submit',
'#value' => t('Clear'),
'#submit' => array(
'nodequeue_arrange_subqueue_form_clear_submit',
),
);
// Disable all buttons if the queue is empty.
if ($count == 0) {
$form['actions']['submit']['#disabled'] = TRUE;
$form['actions']['reverse']['#disabled'] = TRUE;
$form['actions']['shuffle']['#disabled'] = TRUE;
$form['actions']['clear']['#disabled'] = TRUE;
}
return $form;
}