* This gathers system specification details for use with bug reporting
* and anyone else who needs it.
*
- * Copyright (c) 1999-2004 The SquirrelMail development team
+ * Copyright (c) 1999-2005 The SquirrelMail Project Team
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
- * This is a standard Squirrelmail-1.2 API for plugins.
+ * This is a standard SquirrelMail 1.2 API for plugins.
*
* @version $Id$
* @package plugins
* @subpackage bug_report
*/
+/** @ignore */
+if (!defined('SM_PATH')) define('SM_PATH','../../');
+
/**
* load required libraries
*/
include_once(SM_PATH . 'include/validate.php');
-global $body;
+include_once(SM_PATH . 'functions/imap.php');
+global $body, $username;
/**
return $str;
}
+/**
+ * converts plugin's array to string and adds version numbers
+ * @return string preformated text with installed plugin's information
+ * @access private
+ */
+function br_show_plugins() {
+ global $plugins;
+ $str = '';
+ if (is_array($plugins) && $plugins!=array()) {
+ foreach ($plugins as $key => $value) {
+ if ($key != 0 || $value != '') {
+ $str .= " * $key = $value";
+ // add plugin version
+ if (function_exists($value . '_version')) {
+ $str.= ' ' . call_user_func($value . '_version');
+ }
+ $str.="\n";
+ }
+ }
+ // compatibility plugin can be used without need to enable it in sm config
+ if (file_exists(SM_PATH . 'plugins/compatibility/setup.php')
+ && ! in_array('compatibility',$plugins)) {
+ $str.= ' * compatibility';
+ include_once(SM_PATH . 'plugins/compatibility/setup.php');
+ if (function_exists('compatibility_version')) {
+ $str.= ' ' . call_user_func('compatibility_version');
+ }
+ $str.="\n";
+ }
+ }
+ if ($str == '') {
+ return " * Nothing listed\n";
+ }
+ return $str;
+}
+
$browscap = ini_get('browscap');
if(!empty($browscap)) {
$browser = get_browser();
"\nSquirrelMail-specific information:\n" .
" Version: $version\n" .
" Plugins (List)\n" .
- Show_Array($plugins);
+ br_show_plugins();
if (isset($ldap_server) && $ldap_server[0] && ! extension_loaded('ldap')) {
$warning = 1;
$warnings['ldap'] = "LDAP server defined in SquirrelMail config, " .
$body = "\nMy IMAP server information:\n" .
" Server type: $imap_server_type\n";
-$imap_stream = fsockopen ($imapServerAddress, $imapPort, $error_number, $error_string);
-$server_info = fgets ($imap_stream, 1024);
+
+$imapServerAddress = sqimap_get_user_server($imapServerAddress, $username);
+$imap_stream = sqimap_create_stream($imapServerAddress, $imapPort, $use_imap_tls);
if ($imap_stream) {
- // SUPRESS HOST NAME
- $list = explode(' ', $server_info);
- $list[2] = '[HIDDEN]';
- $server_info = implode(' ', $list);
- $body .= " Server info: $server_info";
- fputs ($imap_stream, "a001 CAPABILITY\r\n");
- $read = fgets($imap_stream, 1024);
- $list = explode(' ', $read);
- array_shift($list);
- array_shift($list);
- $read = implode(' ', $list);
- $body .= " Capabilities: $read";
- fputs ($imap_stream, "a002 LOGOUT\r\n");
- fclose($imap_stream);
+ $body.= ' Capabilities: ';
+ if ($imap_capabilities = sqimap_capability($imap_stream)) {
+ foreach ($imap_capabilities as $capability => $value) {
+ $body.= $capability . (is_bool($value) ? ' ' : "=$value ");
+ }
+ }
+ $body.="\n";
+ sqimap_logout($imap_stream);
} else {
$body .= " Unable to connect to IMAP server to get information.\n";
$warning = 1;