function auditfiles_referenced_not_used_form in Audit Files 7.4
Same name and namespace in other branches
- 7.3 auditfiles.referencednotused.inc \auditfiles_referenced_not_used_form()
Generates the report.
Parameters
array $form: The form definition.
array $form_state: The current state of the form.
Return value
array The form definition.
1 string reference to 'auditfiles_referenced_not_used_form'
- auditfiles_menu in ./
auditfiles.module - Implements hook_menu().
File
- ./
auditfiles.referencednotused.inc, line 22 - Generates report showing files referenced by content, but not in file_usage.
Code
function auditfiles_referenced_not_used_form(array $form, array &$form_state) {
// Check to see if the confirmation form needs to be displayed instead of the
// normal form.
if (isset($form_state['storage']['confirm'])) {
return _auditfiles_referenced_not_used_confirm_operation($form, $form_state);
}
$output = '<p>' . t('Listed here are file references in content which do not
have references in the file_usage table.') . '</p>';
$output .= t('The files in this list are using the %scheme scheme and are
relative to the files directory path, located at %path.', array(
'%scheme' => file_default_scheme(),
'%path' => variable_get('file_' . file_default_scheme() . '_path', conf_path() . '/files'),
)) . '</p>';
$form['introduction'] = array(
'#markup' => $output,
);
// Get the records to display.
// Check to see if the data has been stored.
if (!empty($form_state['storage']['saved_rows'])) {
// The data is currently saved, so use that.
$rows = unserialize($form_state['storage']['saved_rows']);
}
else {
// Check to see if the batch operation was just run. If so, use that data.
$rows = variable_get('auditfiles_referenced_not_used_files_to_display', array());
if (empty($rows)) {
// The data is not saved and the batch operation has not been run, so get
// the data using the default options.
$file_data = _auditfiles_referenced_not_used_get_file_list();
if (!empty($file_data)) {
foreach ($file_data as $reference_id => $row_data) {
$rows[$reference_id] = _auditfiles_referenced_not_used_get_file_data($reference_id, $row_data);
}
}
}
}
// Save the data for later retrieval.
$form['saved_rows'] = array(
'#type' => 'hidden',
'#value' => serialize($rows),
);
// Set up the pager.
if (!empty($rows)) {
$items_per_page = variable_get('auditfiles_report_options_items_per_page', 50);
if (!empty($items_per_page)) {
$current_page = pager_default_initialize(count($rows), $items_per_page);
// Break the total data set into page sized chunks.
$pages = array_chunk($rows, $items_per_page, TRUE);
}
}
// Get any specified record selection limiters.
$record_limiters = _auditfiles_referenced_not_used_get_record_limiters();
$record_selection = $record_limiters['record_selection'];
$maximum_records = $record_limiters['maximum_records'];
// Define the form.
// Setup the record count and related messages.
if (!empty($rows)) {
if ($record_selection == 'batch_sets') {
$file_count_message = 'Found @count files referenced in content that are not in the file_usage table.';
}
elseif ($maximum_records > 0) {
$file_count_message = 'Found at least @count files referenced in content that are not in the file_usage table.';
}
else {
$file_count_message = 'Found @count files referenced in content that are not in the file_usage table.';
}
$form_count = format_plural(count($rows), 'Found 1 file referenced in content that is not in the file_usage table.', $file_count_message);
}
else {
$form_count = 'Found no files referenced in content that are not in the file_usage table.';
}
// Add the button to batch process the list of results.
if ($record_selection == 'limited') {
$batch_size = variable_get('auditfiles_report_options_batch_size', 0);
if ($batch_size > 0) {
$form['batch_process'] = array(
'#type' => 'submit',
'#value' => t('Load first batch set'),
);
}
else {
$form['batch_process'] = array(
'#type' => 'submit',
'#value' => t('Load all records'),
);
}
}
elseif ($record_selection == 'batch_sets') {
// Add the button to load the previous batch set.
$form['batch_process_prev'] = array(
'#type' => 'submit',
'#value' => t('Load previous batch set'),
);
// Add the button to load the next batch set.
$form['batch_process_next'] = array(
'#type' => 'submit',
'#value' => t('Load next batch set'),
);
}
// Add the button to reset the record selection.
if ($record_selection != 'normal') {
$form['reset_records'] = array(
'#type' => 'submit',
'#value' => t('Reset record selection'),
);
}
$form['files'] = array(
'#type' => 'tableselect',
'#header' => _auditfiles_referenced_not_used_get_header(),
'#empty' => t('No items found.'),
'#prefix' => '<div><em>' . $form_count . '</em></div>',
);
if (!empty($rows) && !empty($pages)) {
$form['files']['#options'] = $pages[$current_page];
}
elseif (!empty($rows)) {
$form['files']['#options'] = $rows;
}
else {
$form['files']['#options'] = array();
}
if (!empty($rows)) {
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['add'] = array(
'#type' => 'submit',
'#value' => t('Add selected items to the file_usage table'),
);
$form['actions']['markup'] = array(
'#markup' => ' ' . t('or') . ' ',
);
$form['actions']['delete'] = array(
'#type' => 'submit',
'#value' => t('Delete selected references'),
);
$form['pager'] = array(
'#markup' => theme('pager'),
);
}
return $form;
}