a7b90f05 |
1 | <?PHP |
2 | |
ea5f4b8e |
3 | /** |
4 | * options page for IMAP info plugin |
82d304a0 |
5 | * Copyright (c) 1999-2004 The SquirrelMail Project Team |
a7b90f05 |
6 | * Licensed under the GNU GPL. For full terms see the file COPYING. |
7 | * |
8 | * This is where it all happens :) |
9 | * |
10 | * Written by: Jason Munro |
11 | * jason@stdbev.com |
6a85a764 |
12 | * |
13 | * $Id$ |
ea5f4b8e |
14 | * @package plugins |
15 | * @subpackage info |
a7b90f05 |
16 | */ |
8d6a115b |
17 | |
ea5f4b8e |
18 | /** @ignore */ |
8d6a115b |
19 | define('SM_PATH','../../'); |
a7b90f05 |
20 | |
cdf82d4a |
21 | /* SquirrelMail required files. */ |
22 | require_once(SM_PATH . 'include/validate.php'); |
23 | require_once(SM_PATH . 'functions/page_header.php'); |
24 | require_once(SM_PATH . 'functions/imap.php'); |
a9e1e670 |
25 | require_once(SM_PATH . 'functions/forms.php'); |
cdf82d4a |
26 | require_once(SM_PATH . 'plugins/info/functions.php'); |
a7b90f05 |
27 | |
28 | global $username, $color, $folder_prefix, $default_charset; |
29 | $default_charset = strtoupper($default_charset); |
30 | displayPageHeader($color, 'None'); |
31 | $mailbox = 'INBOX'; |
6a85a764 |
32 | |
33 | /* GLOBALS */ |
b587ac51 |
34 | sqgetGlobalVar('username', $username, SQ_SESSION); |
35 | sqgetGlobalVar('key', $key, SQ_COOKIE); |
36 | sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION); |
6a85a764 |
37 | |
b587ac51 |
38 | sqgetGlobalVar('submit', $submit, SQ_POST); |
6a85a764 |
39 | |
40 | for($i = 0; $i <= 9; $i++){ |
b587ac51 |
41 | $varc = 'CHECK_TEST_'.$i; |
42 | sqgetGlobalVar($varc, $$varc, SQ_POST); |
43 | $vart = 'TEST_'.$i; |
44 | sqgetGlobalVar($vart, $$vart, SQ_POST); |
6a85a764 |
45 | } |
46 | |
47 | /* END GLOBALS */ |
48 | |
a7b90f05 |
49 | $imap_stream = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); |
50 | $caps_array = get_caps($imap_stream); |
51 | $list = array ( |
52 | 'TEST_0', |
53 | 'TEST_1', |
54 | 'TEST_2', |
55 | 'TEST_3', |
56 | 'TEST_4', |
57 | 'TEST_5', |
58 | 'TEST_6', |
59 | 'TEST_7', |
60 | 'TEST_8', |
61 | 'TEST_9'); |
62 | |
63 | print "<BR><CENTER><B>IMAP server information</B></CENTER><BR>\n"; |
64 | print "<CENTER><TABLE BGCOLOR=".$color[3]." WIDTH=\"100%\" BORDER=1 CELLPADDING=2><TR><TD BGCOLOR=".$color[3]."><BR>\n"; |
65 | print "<CENTER><TABLE WIDTH=\"95%\" BORDER=1 BGCOLOR=".$color[3].">\n"; |
66 | print "<TR><TD BGCOLOR=".$color[4]."><B>Server Capability response:</B><BR>\n"; |
67 | |
68 | foreach($caps_array[0] as $value) { |
a9e1e670 |
69 | print htmlspecialchars($value); |
a7b90f05 |
70 | } |
71 | |
72 | print "</TD></TR><TR><TD>\n"; |
73 | |
74 | if (!isset($submit) || $submit == 'default') { |
a9e1e670 |
75 | print "<br><small><font color=".$color[6].">Select the IMAP commands you would like to run. |
76 | Most commands require a selected mailbox so the select command is already setup. |
77 | You can clear all the commands and test your own IMAP command strings. The commands are |
78 | executed in order. The default values are simple IMAP commands using your default_charset |
79 | and folder_prefix from SquirrelMail when needed.<br><br> |
80 | <b><center>NOTE: These commands are live, any changes made will effect your current |
81 | email account.</b></center></font></small><br>\n"; |
a7b90f05 |
82 | if (!isset($submit)) { |
83 | $submit = ''; |
84 | } |
85 | } |
86 | else { |
a9e1e670 |
87 | print 'folder_prefix = ' . htmlspecialchars($folder_prefix)."<br />\n" . |
88 | 'default_charset = '.htmlspecialchars($default_charset)."\n"; |
a7b90f05 |
89 | } |
90 | |
a9e1e670 |
91 | print "<br /></td></tr></table></center><br />\n"; |
a7b90f05 |
92 | |
93 | |
94 | if ($submit == 'submit') { |
95 | $type = array(); |
96 | for ($i=0;$i<count($list);$i++) { |
97 | $type[$list[$i]] = $$list[$i]; |
98 | } |
99 | } |
100 | |
101 | elseif ($submit == 'clear') { |
102 | for ($i=0;$i<count($list);$i++) { |
103 | $type[$list[$i]] = ''; |
104 | } |
105 | } |
106 | |
107 | elseif (!$submit || $submit == 'default') { |
108 | $type = array ( |
109 | 'TEST_0' => "SELECT $mailbox", |
110 | 'TEST_1' => "STATUS $mailbox (MESSAGES RECENT)", |
111 | 'TEST_2' => "EXAMINE $mailbox", |
112 | 'TEST_3' => "SEARCH CHARSET \"$default_charset\" ALL *", |
113 | 'TEST_4' => "THREAD REFERENCES $default_charset ALL", |
114 | 'TEST_5' => "SORT (DATE) $default_charset ALL", |
115 | 'TEST_6' => "FETCH 1:* (FLAGS BODY[HEADER.FIELDS (FROM DATE TO)])", |
116 | 'TEST_7' => "LSUB \"$folder_prefix\" \"*%\"", |
117 | 'TEST_8' => "LIST \"$folder_prefix*\" \"*\"", |
118 | 'TEST_9' => ""); |
119 | } |
120 | |
121 | print "<FORM ACTION=\"options.php\" METHOD=POST>\n"; |
122 | print "<CENTER><TABLE BORDER=1>\n"; |
123 | print "<TR><TH>Select</TH><TH>Test Name</TH><TH>IMAP command string</TH>\n"; |
124 | print "</TR><TR><TD>\n"; |
125 | |
126 | foreach($type as $index=>$value) { |
127 | print "</TD></TR><TR><TD WIDTH=\"10%\"><INPUT TYPE=CHECKBOX VALUE=1 NAME=CHECK_$index"; |
128 | if ($index == 'TEST_0' && ($submit == 'default' || $submit == '')) { |
129 | print " CHECKED"; |
130 | } |
131 | $check = "CHECK_".$index; |
132 | if (isset($$check) && $submit != 'clear' && $submit != 'default') { |
133 | print " CHECKED"; |
134 | } |
135 | print "></TD><TD WIDTH=\"30%\">$index</TD><TD WIDTH=\"60%\">\n"; |
a9e1e670 |
136 | print addInput($index, $value, 60); |
a7b90f05 |
137 | } |
138 | |
a9e1e670 |
139 | print "</td></tr></table></center><br>\n"; |
140 | print "<center>". |
141 | addSubmit('submit','submit'). |
142 | addSubmit('clear','submit'). |
143 | addSubmit('default','submit'). |
144 | "</center><br>\n"; |
a7b90f05 |
145 | |
146 | $tests = array(); |
147 | |
148 | if ($submit == 'submit') { |
149 | foreach ($type as $index=>$value) { |
150 | $check = "CHECK_".$index; |
151 | if (isset($$check)) { |
152 | $type[$index] = $$index; |
153 | array_push($tests, $index); |
154 | } |
155 | } |
156 | for ($i=0;$i<count($tests);$i++) { |
157 | print "<CENTER><TABLE WIDTH=\"95%\" BORDER=0 BGCOLOR=".$color[4].">\n"; |
158 | print "<TR><TD><B>".$tests[$i]."</B></TD><TR>"; |
159 | print "<TR><TD><SMALL><B><FONT COLOR=".$color[7]. |
160 | ">Request:</FONT></SMALL></B></TD></TR>\n"; |
161 | $response = imap_test($imap_stream, $type[$tests[$i]]); |
162 | print "<TR><TD><SMALL><B><FONT COLOR=".$color[7]. |
163 | ">Response:</FONT></SMALL></B></TD></TR>\n"; |
164 | print "<TR><TD>"; |
165 | print_response($response); |
166 | print "</TD><TR></TABLE></CENTER><BR>\n"; |
167 | } |
168 | } |
dcc1cc82 |
169 | print "</TD></TR></TABLE></CENTER></BODY></HTML>"; |
a7b90f05 |
170 | sqimap_logout($imap_stream); |
171 | do_hook('info_bottom'); |
172 | ?> |