publishcontent.admin.inc in Publish Content 7
Same filename and directory in other branches
Contains page callbacks for publishcontent
File
publishcontent.admin.incView source
<?php
/**
* @file
* Contains page callbacks for publishcontent
*/
/**
* Administration settings form.
*/
function publishcontent_config_form($form, &$form_state) {
$form['publishcontent_method'] = array(
'#type' => 'radios',
'#title' => t('Quick publish method'),
'#default_value' => variable_get('publishcontent_method', PUBLISHCONTENT_METHOD_TABS),
'#description' => t('Choose the quick links method. With no quick links, the published checkbox will still appear on the node edit form. Note that a Drupal cache clear occurs after changing this.'),
'#options' => array(
PUBLISHCONTENT_METHOD_NONE => t('None.'),
PUBLISHCONTENT_METHOD_ACTION_LINKS => t('Action links on node view.'),
PUBLISHCONTENT_METHOD_BUTTON => t('Button.'),
PUBLISHCONTENT_METHOD_TABS => t('Tabs.'),
),
);
// Provide a central place to select which content types are supported.
$node_types = node_type_get_names();
$form['content_types_fieldset'] = array(
'#type' => 'fieldset',
'#title' => t('Content Types'),
'#collapsible' => FALSE,
'#collapsed' => FALSE,
'#description' => t('Choose the content types to support.'),
);
foreach ($node_types as $machine_name => $human_name) {
$form['content_types_fieldset']['publishcontent_' . $machine_name] = array(
'#type' => 'checkbox',
'#title' => $human_name,
'#default_value' => variable_get('publishcontent_' . $machine_name, FALSE),
);
}
$form['#submit'][] = 'publishcontent_config_form_pre_submit';
$form = system_settings_form($form);
$form['#submit'][] = 'publishcontent_config_form_post_submit';
return $form;
}
/**
* Form submission function.
*
* This retains a note about the current quick publish method.
*/
function publishcontent_config_form_pre_submit(&$form, &$form_submit) {
drupal_static('publishcontent_config_form_mode', variable_get('publishcontent_method', PUBLISHCONTENT_METHOD_TABS));
}
/**
* Form submission function.
*
* This runs after the quick publish form has been saved. If the quick publish
* method changed then the site cache is flushed.
*/
function publishcontent_config_form_post_submit(&$form, &$form_submit) {
$old_mode =& drupal_static('publishcontent_config_form_mode');
// If the quick access mode changed then flush all caches.
if ($old_mode != $form_submit['values']['publishcontent_method']) {
drupal_flush_all_caches();
drupal_set_message('All site caches have been cleared.');
}
}
Functions
Name![]() |
Description |
---|---|
publishcontent_config_form | Administration settings form. |
publishcontent_config_form_post_submit | Form submission function. |
publishcontent_config_form_pre_submit | Form submission function. |