2016-11-05 16:43:45 +01:00

65 lines
1.7 KiB
PHP

<?php
/**
* @file
* Browscap Drush integration.
*/
/**
* Implements hook_drush_command().
*/
function browscap_drush_command() {
$items['browscap-import'] = array(
'description' => 'Imports/updates browscap data via HTTP.',
);
$items['browscap-get-browser'] = array(
'description' => dt('Show browser information for a given user agent.'),
'arguments' => array(
'user agent' => 'Quote-enclosed user agent',
),
'required-arguments' => TRUE,
'examples' => array("drush browscap-get-browser 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9700; en) AppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.448 Mobile Safari/534.8+'"),
'outputformat' => array(
'default' => 'json',
),
);
return $items;
}
/**
* Imports/updates browscap data via HTTP.
*/
function drush_browscap_import() {
drush_log(dt('Importing Browscap data...'), 'ok');
switch (_browscap_import()) {
case BROWSCAP_IMPORT_VERSION_ERROR:
drush_set_error('BROWSCAP', dt('Could not check current available Browscap data version.'));
break;
case BROWSCAP_IMPORT_NO_NEW_VERSION:
drush_log(dt('No new version of Browscap data to import.'), 'ok');
break;
case BROWSCAP_IMPORT_DATA_ERROR:
drush_set_error('BROWSCAP', dt('Failed to retrieve or load Browscap data.'));
break;
case BROWSCAP_IMPORT_OK:
drush_log(dt('Imported Browscap data successfully.'), 'ok');
break;
}
}
/**
* Gets browser information for Drush output.
*
* @param string $user_agent
* User agent.
*
* @return array
* An array of information about the user agent.
*/
function drush_browscap_get_browser($user_agent) {
return browscap_get_browser($user_agent);
}