X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fdrush%2Fdrush%2Fcommands%2Fcore%2Fusage.drush.inc;fp=vendor%2Fdrush%2Fdrush%2Fcommands%2Fcore%2Fusage.drush.inc;h=0000000000000000000000000000000000000000;hp=32ea6ed0929343fa14ef73bb74955b282d251bf5;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/vendor/drush/drush/commands/core/usage.drush.inc b/vendor/drush/drush/commands/core/usage.drush.inc deleted file mode 100644 index 32ea6ed09..000000000 --- a/vendor/drush/drush/commands/core/usage.drush.inc +++ /dev/null @@ -1,158 +0,0 @@ - DRUSH_BOOTSTRAP_NONE, - 'description' => 'Show Drush usage information that has been logged but not sent. ' . $disclaimer, - 'hidden' => TRUE, - 'examples' => array( - 'drush usage-show' => 'Show cached usage statistics.', - '$options[\'drush_usage_log\'] = TRUE;' => 'Specify in a .drushrc.php file that usage information should be logged locally in a usage statistics file.', - ), - 'aliases' => array('ushow'), - ); - $items['usage-send'] = array( - 'bootstrap' => DRUSH_BOOTSTRAP_NONE, - 'hidden' => TRUE, - 'description' => 'Send anonymous Drush usage information to statistics logging site. ' . $disclaimer, - 'examples' => array( - 'drush usage-send' => 'Immediately send cached usage statistics.', - '$options[\'drush_usage_send\'] = TRUE;' => 'Specify in a .drushrc.php file that usage information should be sent.', - '$options[\'drush_usage_size\'] = 10240;' => 'Specify the frequency (file size) that usage information should be sent.', - ), - 'aliases' => array('usend'), - ); - return $items; -} - -/** - * Log and/or send usage data to Mongolab. - * - * An organization can implement own hook_drush_exit() to send data to a - * different endpoint. - */ -function usage_drush_exit() { - // Ignore statistics for simulated commands. (n.b. in simulated mode, _drush_usage_mongolab will print rather than send statistics) - if (!drush_get_context('DRUSH_SIMULATE')) { - $file = _drush_usage_get_file(); - if (drush_get_option('drush_usage_log', FALSE)) { - _drush_usage_log(drush_get_command(), $file); - } - if (drush_get_option('drush_usage_send', FALSE)) { - _drush_usage_mongolab($file, drush_get_option('drush_usage_size', 51200)); - } - } -} - -/** - * Set option to send usage to Mongolab. - * - * See usage_drush_exit() for more information. - */ -function drush_usage_send() { - $file = _drush_usage_get_file(TRUE); - if ($file) { - drush_set_option('drush_usage_send', TRUE); - drush_set_option('drush_usage_size', 0); - drush_print(dt('To automatically send anonymous usage data, add the following to a .drushrc.php file: $options[\'drush_usage_send\'] = TRUE;')); - } - else { - return drush_set_error('DRUSH_NO_USAGE_FILE', dt('No usage file; set $options[\'drush_usage_log\'] = TRUE; in a .drushrc.php file to enable.')); - } -} - -/** - * Displays usage file. - */ -function drush_usage_show() { - $file = _drush_usage_get_file(TRUE); - if ($file) { - $json = '[' . file_get_contents($file) . ']'; - $usage_data = json_decode($json); - foreach ($usage_data as $item) { - $cmd = $item->cmd; - $options = (array) $item->opt; - array_unshift($options, ''); - drush_print($cmd . implode(' --', $options)); - } - } - else { - return drush_set_error('DRUSH_NO_USAGE_FILE', dt('No usage file; set $options[\'drush_usage_log\'] = TRUE; in a .drushrc.php file to enable.')); - } -} - -/** - * Returns path to usage file. - */ -function _drush_usage_get_file($required = FALSE) { - $file = drush_directory_cache('usage') . '/usage.txt'; - if (!file_exists($file) && $required) { - return FALSE; - - } - return $file; -} - -function _drush_usage_log($command, $file) { - $options = drush_get_command_options_extended($command); - - $used = drush_get_merged_options(); - $command_specific = array_intersect(array_keys($used), array_keys($options)); - $record = array( - 'date' => $_SERVER['REQUEST_TIME'], - 'cmd' => $command['command'], - 'opt' => $command_specific, - 'major' => DRUSH_MAJOR_VERSION, - 'minor' => DRUSH_MINOR_VERSION, - 'os' => php_uname('s'), - 'host' => md5(php_uname('n') . get_current_user()), - ); - $prequel = (file_exists($file)) ? ",\n" : ""; - if (file_put_contents($file, $prequel . json_encode($record), FILE_APPEND)) { - drush_log(dt('Logged command and option names to local cache.'), LogLevel::DEBUG); - } - else { - drush_log(dt('Failed to log command and option names to local cache.'), LogLevel::DEBUG); - } -} - -// We only send data periodically to save network traffic and delay. Files -// are sent once they grow over 50KB (configurable). -function _drush_usage_mongolab($file, $min_size_to_send) { - $json = '[' . file_get_contents($file) . ']'; - if (filesize($file) > $min_size_to_send) { - $base = 'https://api.mongolab.com/api/1'; - $apikey = '4eb95456e4b0bcd285d8135d'; // submitter account. - $database = 'usage'; - $collection = 'usage'; - $action = "/databases/$database/collections/$collection"; - $url = $base . $action . "?apiKey=$apikey"; - $header = 'Content-Type: application/json'; - if (!drush_shell_exec("wget -q -O - --no-check-certificate --timeout=20 --header=\"$header\" --post-data %s %s", $json, $url)) { - if (!drush_shell_exec("curl -s --connect-timeout 20 --header \"$header\" --data %s %s", $json, $url)) { - drush_log(dt('Drush usage statistics failed to post.'), LogLevel::DEBUG); - return FALSE; - } - } - drush_log(dt('Drush usage statistics successfully posted.'), LogLevel::DEBUG); - // Empty the usage.txt file. - unlink($file); - return TRUE; - } -}