'fieldset',
'#title' => t('Show Sections'),
'#weight' => -5,
'#collapsible' => FALSE,
'#collapsed' => FALSE,
'#prefix' => '
',
'#suffix' => '',
);
$form['sections']['drupal_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include Basic Drupal information?'),
'#prefix' => '
',
// '#suffix' => '
',
'#default_value' => $sitedoc_settings['drupal_section'],
);
$kill_time = drupal_map_assoc(array(0, 1800, 3600, 7200, 10800, 14400, 18000, 21600, 32400, 43200, 86400, 172800), 'format_interval');
$kill_time['0'] = t('Never');
$form['sections']['kill_cron'] = array(
'#type' => 'select',
'#options' => $kill_time,
'#title' => t('Delete Cron variables after'),
'#prefix' => '
',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['kill_cron'],
);
$form['sections']['table_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include Table Summary?'),
'#prefix' => '',
// '#suffix' => '
',
'#default_value' => $sitedoc_settings['table_section'],
);
$form['sections']['show_indexes'] = array(
'#type' => 'checkbox',
'#title' => t('Show indexes?'),
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['show_indexes'],
);
$form['sections']['optimize_tables'] = array(
'#type' => 'checkbox',
'#title' => t('Release overhead?'),
'#prefix' => '',
'#suffix' => '
',
'#description' => t('(SQL intensive - uses OPTIMIZE)'),
'#default_value' => $sitedoc_settings['optimize_tables'],
);
$form['sections']['node_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include Node Summary?'),
'#prefix' => '',
// '#suffix' => '
',
'#description' => t('(SQL intensive)'),
'#default_value' => $sitedoc_settings['node_section'],
);
$form['sections']['node_show_size'] = array(
'#type' => 'textfield',
'#title' => t('Show nodes exceeding (KB)'),
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['node_show_size'],
'#size' => 8,
'#maxlength' => 7,
);
$form['sections']['node_max_size'] = array(
'#type' => 'textfield',
'#title' => t('Warn if nodes exceed (KB)'),
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['node_max_size'],
'#size' => 8,
'#maxlength' => 7,
);
$form['sections']['include_node_access'] = array(
'#type' => 'checkbox',
'#title' => t('Include node access summary?'),
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['include_node_access'],
);
$form['sections']['include_comment_count'] = array(
'#type' => 'checkbox',
'#title' => t('Include comment count on nodes?'),
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['include_comment_count'],
);
$form['sections']['variables_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include System Variables?'),
'#prefix' => '',
'#suffix' => '
',
'#description' => t('(CPU intensive)'),
'#default_value' => $sitedoc_settings['variables_section'],
);
$form['sections']['module_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include Module summary?'),
'#prefix' => '',
// '#suffix' => '
',
'#default_value' => $sitedoc_settings['module_section'],
);
$form['sections']['module_suppress'] = array(
'#type' => 'checkbox',
'#title' => t('Exclude disabled modules?'),
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['module_suppress'],
);
$module_sort_order = array(
0 => 'package, project, module',
1 => 'path, module',
);
$form['sections']['module_sort_order'] = array(
'#type' => 'radios',
'#title' => t('List sort order'),
'#options' => $module_sort_order,
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['module_sort_order'],
);
$form['sections']['content_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include Content Type summary?'),
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['content_section'],
);
if (module_exists('taxonomy')) {
$form['sections']['vocabulary_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include Vocabulary summary?'),
'#prefix' => '',
'#description' => t('(may be CPU and SQL intensive)'),
'#default_value' => $sitedoc_settings['vocabulary_section'],
);
$form['sections']['orphan_term_node'] = array(
'#type' => 'checkbox',
'#title' => t('Check for orphan Term_nodes?'),
'#prefix' => '
',
'#suffix' => '
',
'#description' => t('(may be SQL intensive)'),
'#default_value' => $sitedoc_settings['orphan_term_node'],
);
$form['sections']['delete_orphan_term_nodes'] = array(
'#type' => 'checkbox',
'#title' => t('Delete orphan term nodes?'),
'#prefix' => '
',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['delete_orphan_term_nodes'],
);
} /* end if taxo exists */
$form['sections']['theme_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include Themes?'),
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['theme_section'],
);
$form['sections']['block_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include Blocks and Boxes?'),
'#prefix' => '',
'#default_value' => $sitedoc_settings['block_section'],
);
$form['sections']['block_warn'] = array(
'#type' => 'checkbox',
'#title' => t('Warn on missing theme for blocks?'),
'#prefix' => '
',
'#suffix' => '
',
'#description' => t('This allows the module to display a warning message if a block exists for a missing theme.'),
'#default_value' => $sitedoc_settings['block_warn'],
);
$form['sections']['block_delete'] = array(
'#type' => 'checkbox',
'#title' => t('Delete the orphan blocks?'),
'#prefix' => '
',
'#suffix' => '
',
'#description' => t('Delete the blocks with a missing theme.'),
'#default_value' => $sitedoc_settings['block_delete'],
);
$form['sections']['roles_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include Roles and Permissions?'),
'#prefix' => '',
'#default_value' => $sitedoc_settings['roles_section'],
);
$form['sections']['role_users'] = array(
'#type' => 'checkbox',
'#title' => t('Show list of users for each role?'),
'#prefix' => '
',
'#suffix' => '
',
'#description' => t('Displays the list of users assigned the role.'),
'#default_value' => $sitedoc_settings['role_users'],
);
$form['sections']['role_perms_list'] = array(
'#type' => 'checkbox',
'#title' => t('Show role permissions as a list?'),
'#prefix' => '
',
'#suffix' => '
',
'#description' => t('If not chosen, the roles will be shown as a stream.'),
'#default_value' => $sitedoc_settings['role_perms_list'],
);
if (module_exists('contact')) {
$form['sections']['contacts_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include Contacts?'),
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['contacts_section'],
);
}
if (module_exists('profile')) {
$form['sections']['profile_fields_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include Profile Fields?'),
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['profile_fields_section'],
);
}
if (module_exists('path')) {
$form['sections']['url_alias_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include URL Aliases?'),
'#prefix' => '',
'#suffix' => '
',
'#description' => t('(SQL intensive)'),
'#default_value' => $sitedoc_settings['url_alias_section'],
);
}
$form['sections']['input_format_section'] = array(
'#type' => 'checkbox',
'#title' => t('Include Input Formats and Filters?'),
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['input_format_section'],
);
// Update Button
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save configuration'),
'#weight' => 5,
'#prefix' => ''
);
return $form;
}
/**
* Save the settings values.
*/
function sitedoc_settings_form_submit($form, &$form_state) {
// update the settings array and save it
$settings = variable_get('sitedoc_settings', array());
$settings['drupal_section'] = $form_state['values']['drupal_section'];
$settings['kill_cron'] = $form_state['values']['kill_cron'];
$settings['table_section'] = $form_state['values']['table_section'];
$settings['show_indexes'] = $form_state['values']['show_indexes'];
$settings['optimize_tables'] = $form_state['values']['optimize_tables'];
$settings['node_section'] = $form_state['values']['node_section'];
$settings['include_comment_count'] = $form_state['values']['include_comment_count'];
$settings['include_node_access'] = $form_state['values']['include_node_access'];
$settings['node_show_size'] = $form_state['values']['node_show_size'];
$settings['node_max_size'] = $form_state['values']['node_max_size'];
$settings['module_section'] = $form_state['values']['module_section'];
$settings['module_suppress'] = $form_state['values']['module_suppress'];
$settings['module_sort_order'] = $form_state['values']['module_sort_order'];
$settings['content_section'] = $form_state['values']['content_section'];
$settings['vocabulary_section'] = $form_state['values']['vocabulary_section'];
$settings['orphan_term_node'] = $form_state['values']['orphan_term_node'];
$settings['delete_orphan_term_nodes'] = $form_state['values']['delete_orphan_term_nodes'];
$settings['theme_section'] = $form_state['values']['theme_section'];
$settings['variables_section'] = $form_state['values']['variables_section'];
$settings['block_section'] = $form_state['values']['block_section'];
$settings['block_warn'] = $form_state['values']['block_warn'];
$settings['block_delete'] = $form_state['values']['block_delete'];
$settings['roles_section'] = $form_state['values']['roles_section'];
$settings['role_users'] = $form_state['values']['role_users'];
$settings['role_perms_list'] = $form_state['values']['role_perms_list'];
$settings['contacts_section'] = $form_state['values']['contacts_section'];
$settings['profile_fields_section'] = $form_state['values']['profile_fields_section'];
$settings['url_alias_section'] = $form_state['values']['url_alias_section'];
$settings['input_format_section'] = $form_state['values']['input_format_section'];
variable_set('sitedoc_settings', $settings);
drupal_set_message(t('Configuration has been updated. ') . l(t('Run now'), 'admin/build/sitedoc'), 'status');
}
function sitedoc_archive_form(&$form_state) {
drupal_add_css(drupal_get_path('module', 'sitedoc') .'/sitedoc.css');
$sitedoc_settings = variable_get('sitedoc_settings', array());
$save_time = drupal_map_assoc(array(0, 3600, 7200, 14400, 21600, 43200, 86400, 172800, 259200, 604800), 'format_interval');
$save_time['0'] = t('Never');
$save_time['999999'] = t('Always');
$form['archive_frequency'] = array(
'#type' => 'select',
'#options' => $save_time,
'#title' => t('Archive frequency'),
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['archive_frequency'],
'#description' => t('The Site Documentation module will run at the next scheduled Cron run after this period has elapsed. A zero value suppresses creation of an archive. "Always" means a file will be created every time Cron runs.'),
);
$form['archive_directory'] = array(
'#type' => 'textfield',
'#title' => t('Archive directory'),
'#prefix' => '',
'#suffix' => '
',
'#default_value' => $sitedoc_settings['archive_directory'],
'#description' => t('This is directory within \'!filepath\' where the Site Documentation module will place the archive file. The current date will be appended to the file name.', array('!filepath' => file_directory_path())),
);
// Add the Buttons
$form['save'] = array(
'#type' => 'submit',
'#value' => t('Save configuration'),
'#weight' => 5,
'#prefix' => ''
);
// If $form_values exists, then we've been here before (submitted), so now add a "run cron" button.
if ($sitedoc_settings['archive_frequency'] > 0) {
$form['cron'] = array(
'#type' => 'submit',
'#value' => t('Run Cron Now'),
'#weight' => 6,
);
}
return $form;
}
/**
* Validate the submission.
*/
function sitedoc_archive_form_validate($form, &$form_state) {
$archive_path = file_directory_path() .'/'. $form_state['values']['archive_directory'];
if (!file_check_directory($archive_path, TRUE, 'archive_directory')) {
form_set_error('archive_directory', t('The archive path could not be found or could not be created.'));
} // end path not found
}
/**
* Save the settings values.
*/
function sitedoc_archive_form_submit($form, &$form_state) {
switch ($form_state['values']['op']) {
case t('Run Cron Now'):
drupal_goto('admin/reports/status/run-cron');
break;
case t('Save configuration'):
// update the settings array and save it
$sitedoc_settings = variable_get('sitedoc_settings', array());
$sitedoc_settings['archive_frequency'] = $form_state['values']['archive_frequency'];
$sitedoc_settings['archive_directory'] = $form_state['values']['archive_directory'];
variable_set('sitedoc_settings', $sitedoc_settings);
drupal_set_message(t('Configuration has been updated. ') . l(t('Run now'), 'admin/build/sitedoc'), 'status');
}
}