/**
  * Collect system information for support
  *
  * @return array of system data for support
  * @author Peter Chester
  */
 public static function getSupportStats()
 {
     $user = wp_get_current_user();
     $plugins = array();
     if (function_exists('get_plugin_data')) {
         $plugins_raw = wp_get_active_and_valid_plugins();
         foreach ($plugins_raw as $k => $v) {
             $plugin_details = get_plugin_data($v);
             $plugin = $plugin_details['Name'];
             if (!empty($plugin_details['Version'])) {
                 $plugin .= sprintf(' version %s', $plugin_details['Version']);
             }
             if (!empty($plugin_details['Author'])) {
                 $plugin .= sprintf(' by %s', $plugin_details['Author']);
             }
             if (!empty($plugin_details['AuthorURI'])) {
                 $plugin .= sprintf('(%s)', $plugin_details['AuthorURI']);
             }
             $plugins[] = $plugin;
         }
     }
     $network_plugins = array();
     if (is_multisite() && function_exists('get_plugin_data')) {
         $plugins_raw = wp_get_active_network_plugins();
         foreach ($plugins_raw as $k => $v) {
             $plugin_details = get_plugin_data($v);
             $plugin = $plugin_details['Name'];
             if (!empty($plugin_details['Version'])) {
                 $plugin .= sprintf(' version %s', $plugin_details['Version']);
             }
             if (!empty($plugin_details['Author'])) {
                 $plugin .= sprintf(' by %s', $plugin_details['Author']);
             }
             if (!empty($plugin_details['AuthorURI'])) {
                 $plugin .= sprintf('(%s)', $plugin_details['AuthorURI']);
             }
             $network_plugins[] = $plugin;
         }
     }
     $mu_plugins = array();
     if (function_exists('get_mu_plugins')) {
         $mu_plugins_raw = get_mu_plugins();
         foreach ($mu_plugins_raw as $k => $v) {
             $plugin = $v['Name'];
             if (!empty($v['Version'])) {
                 $plugin .= sprintf(' version %s', $v['Version']);
             }
             if (!empty($v['Author'])) {
                 $plugin .= sprintf(' by %s', $v['Author']);
             }
             if (!empty($v['AuthorURI'])) {
                 $plugin .= sprintf('(%s)', $v['AuthorURI']);
             }
             $mu_plugins[] = $plugin;
         }
     }
     $keys = apply_filters('tribe-pue-install-keys', array());
     $systeminfo = array('url' => 'http://' . $_SERVER["HTTP_HOST"], 'name' => $user->display_name, 'email' => $user->user_email, 'install keys' => $keys, 'WordPress version' => get_bloginfo('version'), 'PHP version' => phpversion(), 'plugins' => $plugins, 'network plugins' => $network_plugins, 'mu plugins' => $mu_plugins, 'theme' => wp_get_theme()->get('Name'), 'multisite' => is_multisite(), 'settings' => TribeEvents::getOptions());
     $systeminfo = apply_filters('tribe-events-pro-support', $systeminfo);
     return $systeminfo;
 }
 /**
  * enforce saving on additional fields tab
  * @author jkudish
  * @since 2.0.5
  * @return void
  */
 public function force_save_meta()
 {
     $options = TribeEvents::getOptions();
     $options = self::save_meta_options($options);
     $options = TribeEvents::setOptions($options);
 }
 /**
  * Saves the options for the plugin
  *
  * @param array $options formatted the same as from getOptions()
  * @return void
  */
 public function setOptions($options, $apply_filters = true)
 {
     if (!is_array($options)) {
         return;
     }
     if ($apply_filters == true) {
         $options = apply_filters('tribe-events-save-options', $options);
     }
     if (update_option(TribeEvents::OPTIONNAME, $options)) {
         self::$options = apply_filters('tribe_get_options', $options);
         if (isset(TribeEvents::$options['eventsSlug'])) {
             if (TribeEvents::$options['eventsSlug'] != '') {
                 TribeEvents::flushRewriteRules();
             }
         }
         return true;
     } else {
         TribeEvents::$options = TribeEvents::getOptions();
         return false;
     }
 }
 /**
  * Saves the options for the plugin
  *
  * @param array $options formatted the same as from getOptions()
  * @param bool  $apply_filters
  *
  * @return void
  */
 public function setOptions($options, $apply_filters = true)
 {
     if (!is_array($options)) {
         return;
     }
     if ($apply_filters == true) {
         $options = apply_filters('tribe-events-save-options', $options);
     }
     // @TODO use TribeEvents::getOptions
     if (update_option(TribeEvents::OPTIONNAME, $options)) {
         self::$options = apply_filters('tribe_get_options', $options);
         return true;
     } else {
         TribeEvents::$options = TribeEvents::getOptions();
         return false;
     }
 }
Exemplo n.º 5
0
 /**
  * Generate a hash with all the system support information
  *
  * @return string of encoded support info
  * @author Peter Chester
  */
 public static function generateSupportHash()
 {
     $user = wp_get_current_user();
     $plugins_raw = wp_get_active_and_valid_plugins();
     $plugins = array();
     foreach ($plugins_raw as $k => $v) {
         $plugins[] = basename($v);
     }
     $systeminfo = array('URL' => 'http://' . $_SERVER["HTTP_HOST"] . $_SERVER['REQUEST_URI'], 'NAME' => $user->display_name, 'EMAIL' => $user->user_email, 'PLUGIN VERSION' => TribeEvents::VERSION, 'WORDPRESS VERSION' => get_bloginfo('version'), 'PHP VERSION' => phpversion(), 'PLUGINS' => $plugins, 'THEME' => get_current_theme(), 'MU INSTALL' => is_multisite() ? 'TRUE' : 'FALSE', 'SETTINGS' => TribeEvents::getOptions(), 'ERRORS' => self::$debug_log);
     $systeminfo = apply_filters('tribe-events-pro-support', $systeminfo);
     $systeminfo = serialize($systeminfo);
     $systeminfo = base64_encode($systeminfo);
     return $systeminfo;
 }
 /**
  * enforce saving on additional fields tab
  * @author jkudish
  * @since 2.0.5
  * @return void
  */
 public static function force_save_meta()
 {
     $options = TribeEvents::getOptions();
     $options = self::save_meta_options($options);
     TribeEvents::instance()->setOptions($options);
 }