<?php
+
/**
- * options page for IMAP info plugin
- *
+ * options page for IMAP info plugin
+ *
* This is where it all happens :)
- *
- * @copyright (c) 1999-2004 The SquirrelMail Project Team
+ *
+ * @author Jason Munro <jason at stdbev.com>
+ * @copyright 1999-2018 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
- * @author Jason Munro jason@stdbev.com
* @package plugins
* @subpackage info
*/
-/** @ignore */
-define('SM_PATH','../../');
+/**
+ * Path for SquirrelMail required files.
+ * @ignore
+ */
+require('../../include/init.php');
/* SquirrelMail required files. */
-require_once(SM_PATH . 'include/validate.php');
-require_once(SM_PATH . 'functions/page_header.php');
-require_once(SM_PATH . 'functions/imap.php');
+require_once(SM_PATH . 'functions/imap_general.php');
require_once(SM_PATH . 'functions/forms.php');
require_once(SM_PATH . 'plugins/info/functions.php');
global $username, $color, $folder_prefix, $default_charset;
$default_charset = strtoupper($default_charset);
-displayPageHeader($color, 'None');
+displayPageHeader($color);
$mailbox = 'INBOX';
/**
* prevent use of plugin if it is not enabled
*/
if (! is_plugin_enabled('info')) {
- echo '<p align="center"><big>'.
- _("Plugin is disabled.").
- '</big></p></body></html>';
+ error_box(_("Plugin is disabled."));
+ // display footer (closes html) and stop script execution
+ $oTemplate->display('footer.tpl');
exit;
}
/* GLOBALS */
-sqgetGlobalVar('username', $username, SQ_SESSION);
-sqgetGlobalVar('key', $key, SQ_COOKIE);
-sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION);
-
sqgetGlobalVar('submit', $submit, SQ_POST);
for($i = 0; $i <= 9; $i++){
/* END GLOBALS */
-$imap_stream = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
+global $imap_stream_options; // in case not defined in config
+$imap_stream = sqimap_login($username, false, $imapServerAddress, $imapPort, 0, $imap_stream_options);
$caps_array = get_caps($imap_stream);
$list = array ('TEST_0',
'TEST_1',
'TEST_8',
'TEST_9');
-echo '<br /><center><b>'._("IMAP server information")."</b></center><br />\n".
- '<center><table bgcolor="'.$color[3].'" width="100%" border="1" cellpadding="2">'.
+echo '<br /><div style="text-align: center;"><b>'._("IMAP server information")."</b></div><br />\n".
+ '<table bgcolor="'.$color[3].'" width="100%" align="center" border="1" cellpadding="2">'.
'<tr><td bgcolor="'.$color[3]."\"><br />\n".
- '<center><table width="95%" border="1" bgcolor="'.$color[3]."\">\n".
+ '<table width="95%" align="center" border="1" bgcolor="'.$color[3]."\">\n".
'<tr><td bgcolor="'.$color[4].'"><b>'.
_("Server Capability response:").
"</b><br />\n";
foreach($caps_array[0] as $value) {
- echo htmlspecialchars($value);
+ echo sm_encode_html_special_chars($value);
}
echo "</td></tr><tr><td>\n";
}
}
else {
- echo 'folder_prefix = ' . htmlspecialchars($folder_prefix)."<br />\n" .
- 'default_charset = '.htmlspecialchars($default_charset)."\n";
+ echo 'folder_prefix = ' . sm_encode_html_special_chars($folder_prefix)."<br />\n" .
+ 'default_charset = '.sm_encode_html_special_chars($default_charset)."\n";
}
-echo "<br /></td></tr></table></center><br />\n";
+echo "<br /></td></tr></table><br />\n";
if ($submit == 'submit') {
'TEST_5' => "SORT (DATE) $default_charset ALL",
'TEST_6' => "FETCH 1:* (FLAGS BODY[HEADER.FIELDS (FROM DATE TO)])",
'TEST_7' => "LSUB \"$folder_prefix\" \"*%\"",
- 'TEST_8' => "LIST \"$folder_prefix*\" \"*\"",
+ 'TEST_8' => "LIST \"$folder_prefix\" \"*\"",
'TEST_9' => "");
}
echo "<form action=\"options.php\" method=\"post\">\n".
- "<center><table border=\"1\">\n".
+ "<table border=\"1\" align=\"center\">\n".
'<tr><th>'. _("Select").
'</th><th>'._("Test Name").
'</th><th>'._("IMAP command string")."</th></tr>\n".
addInput($index, $value, 60);
}
-echo "</td></tr></table></center><br />\n".
- '<center>'.
+echo "</td></tr></table><br />\n".
+ '<div style="text-align: center;">'.
addSubmit('submit','submit').
- addSubmit('clear','submit').
- addSubmit('default','submit').
- "</center><br /></form>\n";
+ addSubmit('clear','submit',array('id'=>'clear')).
+ addSubmit('default','submit',array('id'=>'default')).
+ "</div><br /></form>\n";
$tests = array();
$check = "CHECK_".$index;
if (isset($$check)) {
$type[$index] = $$index;
- array_push($tests, $index);
+ array_push($tests, $index);
}
}
for ($i=0;$i<count($tests);$i++) {
- $response = imap_test($imap_stream, $type[$tests[$i]]);
- echo '<center><table width="95%" border="0" bgcolor="'.$color[4]."\">\n".
+ // make sure that microtime function is available before it is called
+ if (function_exists('microtime')) {
+ list($usec, $sec) = explode(" ", microtime());
+ $starttime = (float)$sec + (float)$usec;
+ }
+
+ echo '<table width="95%" align="center" border="0" bgcolor="'.$color[4]."\">\n".
'<tr><td><b>'.$tests[$i]."</b></td></tr>\n".
'<tr><td><small><b><font color="'.$color[7].'">'.
- _("Request:")."</font></b></small></td></tr>\n".
- '<tr><td><small><b><font color="'.$color[7].'">'.
+ _("Request:")."</font></b></small></td></tr>\n";
+ // imap_test function outputs imap command
+ $response = imap_test($imap_stream, $type[$tests[$i]]);
+ echo '<tr><td><small><b><font color="'.$color[7].'">'.
_("Response:")."</font></b></small></td></tr>\n".
'<tr><td>';
print_response($response);
- echo "</td></tr></table></center><br />\n";
+ echo "</td></tr>\n";
+
+ if (function_exists('microtime')) {
+ // get script execution time
+ list($usec, $sec) = explode(" ", microtime());
+ $endtime = (float)$sec + (float)$usec;
+ // i18n: ms = short for miliseconds
+ echo '<tr><td><small><b><font color="'.$color[7].'">'.
+ _("Execution time:")."</font></b></small></td></tr>\n".
+ '<tr><td>'.sprintf(_("%s ms"),round((($endtime - $starttime)*1000),3))."</td></tr>\n";
+ }
+
+ echo "</table><br />\n";
}
}
- echo '</td></tr></table></center>';
- sqimap_logout($imap_stream);
+echo '</td></tr></table>';
+sqimap_logout($imap_stream);
/**
* Optional hook in info plugin
*
* Hook allows attaching plugin to bottom of info plugin
*/
-do_hook('info_bottom');
+do_hook('info_bottom', $null);
?>
</body></html>