63 lines
2.1 KiB
PHP
63 lines
2.1 KiB
PHP
<?php
|
|
/**
|
|
* @file
|
|
* Generate configuration form.
|
|
*/
|
|
|
|
/**
|
|
* Implements hook_form().
|
|
*/
|
|
function browscap_settings_form($form, &$form_state) {
|
|
// Check the local browscap data version number.
|
|
$version = variable_get('browscap_version', 0);
|
|
|
|
// If the version number is 0 then browscap data has never been fetched.
|
|
if ($version == 0) {
|
|
$version = t('Never fetched');
|
|
}
|
|
|
|
$form['browscap_data_version'] = array(
|
|
'#markup' => '<p>' . t('Current browscap data version: %fileversion.', array('%fileversion' => $version)) . '</p>',
|
|
);
|
|
$form['browscap_enable_automatic_updates'] = array(
|
|
'#type' => 'checkbox',
|
|
'#title' => t('Enable automatic updates'),
|
|
'#default_value' => variable_get('browscap_enable_automatic_updates', TRUE),
|
|
'#description' => t('Automatically update the user agent detection information.'),
|
|
);
|
|
$form['browscap_automatic_updates_timer'] = array(
|
|
'#type' => 'select',
|
|
'#title' => t('Check for new user agent detection information every'),
|
|
'#default_value' => variable_get('browscap_automatic_updates_timer', 604800),
|
|
'#options' => drupal_map_assoc(array(
|
|
3600, 10800, 21600, 32400, 43200, 86400, 172800,
|
|
259200, 604800, 1209600, 2419200, 4838400, 9676800),
|
|
'format_interval'),
|
|
'#description' => t('Newer user agent detection information will be automatically downloaded and installed. (Requires a correctly configured <a href="@cron">cron maintenance task</a>.)', array('@cron' => url('admin/reports/status'))),
|
|
'#states' => array(
|
|
'visible' => array(
|
|
':input[name="browscap_enable_automatic_updates"]' => array('checked' => TRUE),
|
|
),
|
|
),
|
|
);
|
|
$form['actions']['browscap_refresh'] = array(
|
|
'#type' => 'submit',
|
|
'#value' => t('Refresh browscap data'),
|
|
'#submit' => array('browscap_refresh_submit'),
|
|
'#weight' => 10,
|
|
);
|
|
|
|
return system_settings_form($form);
|
|
}
|
|
|
|
/**
|
|
* Submit handler for the refresh browscap button.
|
|
*/
|
|
function browscap_refresh_submit($form, &$form_state) {
|
|
// Update the browscap information.
|
|
_browscap_import(FALSE);
|
|
|
|
// Record when the browscap information was updated.
|
|
variable_set('browscap_imported', REQUEST_TIME);
|
|
}
|