function biblio_admin_orphans_form in Bibliography Module 7.2
Same name and namespace in other branches
- 6.2 includes/biblio.admin.inc \biblio_admin_orphans_form()
- 6 biblio.admin.inc \biblio_admin_orphans_form()
- 7 includes/biblio.admin.inc \biblio_admin_orphans_form()
File
- includes/
biblio.admin.inc, line 2137
Code
function biblio_admin_orphans_form($form, &$form_state) {
$authors = $orphans = $options = array();
$base = variable_get('biblio_base', 'biblio');
$query = db_select('biblio_contributor', 'bc');
$active_cids = $query
->fields('bc', array(
'cid',
))
->groupBy('cid')
->execute()
->fetchCol();
$query = db_select('biblio_contributor_data', 'bcd');
$all_cids = $query
->fields('bcd', array(
'cid',
))
->groupBy('cid')
->execute()
->fetchCol();
$orphans = array_diff($all_cids, $active_cids);
if (!empty($orphans)) {
$query = db_select('biblio_contributor_data', 'bcd')
->extend('PagerDefault')
->limit(25);
$query
->fields('bcd')
->condition('cid', $orphans, 'IN')
->orderBy('lastname');
$result = $query
->execute();
//pager_query('SELECT * FROM {biblio_contributor_data} WHERE cid NOT IN (SELECT cid FROM {biblio_contributor} GROUP BY cid)', 50);
$authors = array();
foreach ($result as $author) {
$options[$author->cid] = array(
'author' => array(
'data' => array(
'#type' => 'link',
'#title' => $author->name,
'#href' => $base . '/authors/' . $author->cid . '/edit',
),
),
'affiliation' => check_plain($author->affiliation),
);
$names[$author->cid] = $author->name;
}
$form['names'] = array(
'#type' => 'hidden',
'#value' => $names,
);
}
$header = array(
'author' => t('Author name'),
'affiliation' => t('Author affiliation'),
);
// if (!empty($authors)) {
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Delete'),
'#disabled' => !count($options),
'#submit' => array(
'biblio_admin_orphans_form_submit',
),
);
$form['authors'] = array(
'#type' => 'tableselect',
'#header' => $header,
'#options' => $options,
'#empty' => t('No orphaned authors.'),
);
$form['pager'] = array(
'#markup' => theme('pager'),
);
// }
return $form;
}