| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 | 
							- <?php
 
- /**
 
-  * Implementation of hook_drush_command().
 
-  */
 
- function prod_check_drush_command() {
 
-   $items = array();
 
-   $items['prod-check'] = array(
 
-     'callback' => 'drush_prod_check_status',
 
-     'description' => 'Display the Production Check status page.',
 
-     'aliases' => array('pchk'),
 
-   );
 
-   $items['prod-check-prodmode'] = array(
 
-     'callback' => 'drush_prod_check_prod_mode',
 
-     'description' => 'Switch the site to production mode.',
 
-     'options' => array(
 
-       'config' => 'Ask for additional options before switching to production mode.',
 
-     ),
 
-     'aliases' => array('pchk-pmode'),
 
-   );
 
-   return $items;
 
- }
 
- /**
 
-  * Status page callback
 
-  */
 
- function drush_prod_check_status() {
 
-   // Map error codes to shell colours.
 
-   $severity = array (
 
-     PROD_CHECK_REQUIREMENT_INFO => '1',
 
-     PROD_CHECK_REQUIREMENT_OK => '1;32',
 
-     PROD_CHECK_REQUIREMENT_WARNING => '1;33',
 
-     PROD_CHECK_REQUIREMENT_ERROR => '1;31',
 
-   );
 
-   $error = 0;
 
-   $functions = _prod_check_functions();
 
-   // Not needed here.
 
-   unset($functions['prod_mon']);
 
-   unset($functions['perf_data']);
 
-   foreach ($functions as $set => $data) {
 
-     $rows[] = array('');
 
-     $rows[] = array("\033[1m".dt($data['title'])."\033[0m");
 
-     foreach ($data['functions'] as $function => $title) {
 
-       $result = call_user_func($function);
 
-       $func = ltrim($function, '_');
 
-       if (is_array($result) && !empty($result)) {
 
-         $rows[] = array(
 
-           $result[$func]['title'],
 
-           "\033[".$severity[$result[$func]['severity']].'m'.strip_tags($result[$func]['value'])."\033[0m",
 
-         );
 
-         if ($error < $result[$func]['severity']) {
 
-           $error = $result[$func]['severity'];
 
-         }
 
-       }
 
-     }
 
-   }
 
-   drush_print("\033[1m".dt('Production Check status')."\033[0m", 1);
 
-   drush_print_table($rows);
 
-   if ($error > 0) {
 
-     // Would be cool if we could prefix the admin path with http://<host>/ so it
 
-     // will become a clickable link in some terminals. Any ideas?
 
-     drush_print("\033[1m".dt('Some errors were reported!')."\033[0m ".dt('Check the full status page on')." \033[1m".'admin/reports/prod-check'."\033[0m ".dt('for details.'));
 
-   }
 
- }
 
- /**
 
-  * Switch to production mode.
 
-  */
 
- function drush_prod_check_prod_mode() {
 
-   $options = array();
 
-   // Ask extra input when the --config option is used.
 
-   if (drush_get_option('config', FALSE)) {
 
-     $options['site_mail'] = drush_prompt(dt('Site e-mail address'));
 
-     if (module_exists('webform')) {
 
-       $options['webform_default_from_address'] = drush_prompt(dt('Webform default from e-mail address'));
 
-     }
 
-     if (module_exists('googleanalytics')) {
 
-       $options['googleanalytics_account'] = drush_prompt(dt('Google Analytics Web Property ID'));
 
-     }
 
-     $options['block_cache'] = drush_confirm(dt('Enable Block cache'));
 
-     if (module_exists('dblog')) {
 
-       $options['dblog'] = drush_confirm(dt('Disable Database logging'));
 
-     }
 
-     $options['nagios'] = drush_confirm(dt('Enable Nagios monitoring contrib module'));
 
-   }
 
-   // Adjust settings.
 
-   module_load_include('inc', 'prod_check', 'includes/prod_check.admin');
 
-   $variables = prod_check_prod_mode_settings($options);
 
-   drush_print(dt('The following settings have been changed: !variables.', array('!variables' => implode(', ', array_keys($variables)))));
 
-   // Enable / disable modules.
 
-   $modules = prod_check_prod_mode_modules($options);
 
-   if (!empty($modules['disable'])) {
 
-     drush_print(dt('The following modules have been disabled: !modules.', array('!modules' => implode(', ', $modules['disable']))));
 
-   }
 
-   if (!empty($modules['enable'])) {
 
-     drush_print(dt('The following modules have been enabled: !modules.', array('!modules' => implode(', ', $modules['enable']))));
 
-   }
 
- }
 
 
  |