Fix session autostart code - session_name() return value does not indicate session...
[squirrelmail.git] / plugins / newmail / newmail_opt.php
1 <?php
2
3 /**
4 * newmails_opt.php - options page
5 *
6 * Displays all options relating to new mail sounds
7 *
8 * @copyright &copy; 1999-2007 The SquirrelMail Project Team
9 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
10 * @version $Id$
11 * @package plugins
12 * @subpackage newmail
13 */
14
15 /**
16 * Path for SquirrelMail required files.
17 * @ignore
18 */
19 require('../../include/init.php');
20
21 /**
22 * Make sure plugin is activated!
23 */
24 global $plugins;
25 if (!in_array('newmail', $plugins))
26 exit;
27
28 /** Plugin functions (also loads plugin's config) */
29 include_once(SM_PATH . 'plugins/newmail/functions.php');
30
31 include_once(SM_PATH . 'functions/forms.php');
32
33 displayPageHeader($color);
34
35 //FIXME: Remove all HTML from core - put this all into a template file
36 echo html_tag( 'table', '', 'center', $color[0], 'width="95%" cellpadding="1" cellspacing="0" border="0"' ) . "\n" .
37 html_tag( 'tr' ) . "\n" .
38 html_tag( 'td', '', 'center' ) .
39 '<b>' . _("Options") . ' - ' . _("New Mail Notification") . "</b><br />\n" .
40 html_tag( 'table', '', '', '', 'width="100%" cellpadding="5" cellspacing="0" border="0"' ) . "\n" .
41 html_tag( 'tr' ) . "\n" .
42 html_tag( 'td', '', 'left', $color[4] ) . "<br />\n";
43
44 echo html_tag( 'p',_("Based on the Folder Preferences option &quot;Enable Unread Message Notification&quot;, you can be notified when new messages arrive in your account.")) . "\n" .
45 html_tag( 'p',
46 sprintf(_("Selecting the %s option will enable the showing of a popup window when unseen mail is in one of your folders (requires JavaScript)."), '&quot;'._("Show popup window on new mail").'&quot;')
47 ) . "\n" .
48 html_tag( 'p',
49 sprintf(_("Use the %s option to only check for messages that are recent. Recent messages are those that have just recently showed up and have not been \"viewed\" or checked yet. This can prevent being continuously annoyed by sounds or popups for unseen mail."), '&quot;'._("Count only messages that are RECENT").'&quot;')
50 ) . "\n" .
51 html_tag( 'p',
52 sprintf(_("Selecting the %s option will change the browser title bar to let you know when you have new mail (requires JavaScript and may only work in some browsers). This will always tell you if you have new mail, even if you have %s enabled."), '&quot;'._("Change title on supported browsers").'&quot;', '&quot;'._("Count only messages that are RECENT").'&quot;')
53 ) . "\n";
54 if ($newmail_allowsound) {
55 echo html_tag( 'p',
56 sprintf(_("Select %s to turn on playing a media file when unseen mail is in your folders. When enabled, you can specify the media file to play in the provided file box."), '&quot;'._("Enable Media Playing").'&quot;')
57 ) . "\n" .
58 html_tag( 'p',
59 sprintf(_("Select from the list of %s the media file to play when new mail arrives. If no file is specified, %s, no sound will be used."), '&quot;'._("Select server file").'&quot;', '&quot;'._("(none)").'&quot;')
60 ) . "\n";
61 }
62
63 echo '</td></tr>' .
64 html_tag( 'tr' ) .
65 html_tag( 'td', '', 'center', $color[4] ) . "\n" . '<hr style="width: 25%; height: 1px;" />' . "\n";
66
67 echo '<form action="'.sqm_baseuri().'src/options.php" method="post" enctype="multipart/form-data">' . "\n" .
68 html_tag( 'table', '', '', '', 'width="100%" cellpadding="5" cellspacing="0" border="0"' ) . "\n";
69
70 /* newmail_unseen_notify */
71 $newmail_unseen_opts = array( 0 => _("Follow folder preferences"),
72 SMPREF_UNSEEN_INBOX => _("INBOX"),
73 SMPREF_UNSEEN_ALL => _("All folders"),
74 SMPREF_UNSEEN_SPECIAL => _("Special folders"),
75 SMPREF_UNSEEN_NORMAL => _("Regular folders"));
76 echo html_tag('tr',
77 html_tag('td',_("Check for new messages in:"),'right', '', 'style="white-space: nowrap;"').
78 html_tag('td',addSelect('newmail_unseen_notify',$newmail_unseen_opts,$newmail_unseen_notify,true),'left')
79 );
80
81 // Option: media_recent
82 echo html_tag( 'tr' ) .
83 html_tag( 'td', '<label for="media_recent">' . _("Count only messages that are RECENT") . ':</label>', 'right', '', 'style="white-space: nowrap;"' ) .
84 html_tag( 'td', '', 'left' ) .
85 '<input type="checkbox" ';
86 if ($newmail_recent == 'on') {
87 echo 'checked="checked" ';
88 }
89 echo 'name="media_recent" id="media_recent" /></td></tr>' . "\n";
90
91 // Option: media_changetitle
92 echo html_tag( 'tr' ) .
93 html_tag( 'td', '<label for="media_changetitle">' . _("Change title on supported browsers") . ':</label>', 'right', '', 'style="white-space: nowrap;"' ) .
94 html_tag( 'td', '', 'left' ) .
95 '<input type="checkbox" ';
96 if ($newmail_changetitle == 'on') {
97 echo 'checked="checked" ';
98 }
99 echo 'name="media_changetitle" id="media_changetitle" />&nbsp;<small><label for="media_changetitle">('._("requires JavaScript to work").')</label></small></td></tr>' . "\n";
100
101 // Option: media_popup
102 echo html_tag( 'tr' ) .
103 html_tag( 'td', '<label for="media_popup">' . _("Show popup window on new mail") . ':</label>', 'right', '', 'style="white-space: nowrap;"' ) .
104 html_tag( 'td', '', 'left' ) .
105 '<input type="checkbox" ';
106 if($newmail_popup == 'on') {
107 echo 'checked="checked" ';
108 }
109 echo 'name="media_popup" id="media_popup" />&nbsp;<small><label for="media_popup">('._("requires JavaScript to work").')</label></small></td></tr>' . "\n";
110
111 echo html_tag( 'tr' )
112 . html_tag('td',_("Width of popup window:"),'right','', 'style="white-space: nowrap;"')
113 . html_tag('td','<input type="text" name="popup_width" value="'
114 . (int)$newmail_popup_width . '" size="3" maxlengh="3" />'
115 . '&nbsp;<small>(' . _("If set to 0, reverts to default value") . ')</small>','left')
116 . "</tr>\n";
117
118 echo html_tag( 'tr' )
119 . html_tag('td',_("Height of popup window:"),'right','', 'style="white-space: nowrap;"')
120 . html_tag('td','<input type="text" name="popup_height" value="'
121 . (int)$newmail_popup_height . '" size="3" maxlengh="3" />'
122 . '&nbsp;<small>(' . _("If set to 0, reverts to default value") . ')</small>','left')
123 . "</tr>\n";
124
125 if ($newmail_allowsound) {
126 // Option: media_enable
127 echo html_tag( 'tr' ) .
128 html_tag( 'td', '<label for="media_enable">' . _("Enable Media Playing") . ':</label>', 'right', '', 'style="white-space: nowrap;"' ) .
129 html_tag( 'td', '', 'left' ) .
130 '<input type="checkbox" ';
131 if ($newmail_media_enable == 'on') {
132 echo 'checked="checked" ';
133 }
134 echo 'name="media_enable" id="media_enable" /></td></tr>' . "\n";
135
136 // Option: media_sel
137 echo html_tag( 'tr' ) .
138 html_tag( 'td', _("Select server file").':', 'right', '', 'style="white-space: nowrap;"' ) .
139 html_tag( 'td', '', 'left' ) .
140 '<select name="media_sel">' . "\n" .
141 '<option value="(none)"';
142 if ( $newmail_media == '(none)') {
143 echo 'selected="selected" ';
144 }
145 echo '>' . _("(none)") . '</option>' . "\n";
146 // Iterate sound files for options
147 $d = dir(SM_PATH . 'plugins/newmail/sounds');
148 while($entry=$d->read()) {
149 // $fname = get_location () . '/sounds/' . $entry;
150 if ($entry != '..' && $entry != '.' && $entry != 'CVS' && $entry != 'index.php') {
151 echo '<option ';
152 if ($entry == $newmail_media) {
153 echo 'selected="selected" ';
154 }
155 echo 'value="' . htmlspecialchars($entry) . '">' .
156 htmlspecialchars($entry) . "</option>\n";
157 }
158 }
159 $d->close();
160 // display media selection
161 foreach($newmail_mmedia as $newmail_mm_name => $newmail_mm_data) {
162 echo '<option ';
163 if ($newmail_media=='mmedia_' . $newmail_mm_name) {
164 echo 'selected="selected" ';
165 }
166 echo 'value="mmedia_' . $newmail_mm_name . '">'
167 .htmlspecialchars($newmail_mm_name) . "</option>\n";
168 }
169
170 if($newmail_uploadsounds) {
171 // display local file option
172 echo '<option ';
173 if ($newmail_media=='(userfile)') {
174 echo 'selected="selected" ';
175 }
176 echo 'value="(userfile)">'.
177 _("uploaded media file") . "</option>\n";
178 // end of local file option
179 }
180
181 // Set media file name
182 if ($newmail_media == '(none)') {
183 $media_output = _("none");
184 } elseif ($newmail_media == '(userfile)') {
185 $media_output = basename($newmail_userfile_name);
186 } elseif (preg_match("/^mmedia_+/",$newmail_media)) {
187 $media_output = preg_replace("/^mmedia_/",'',$newmail_media);
188 } else {
189 $media_output = basename($newmail_media);
190 }
191
192 echo '</select>'.
193 '<input type="submit" value="' . _("Try") . '" name="test" onclick="' .
194 "window.open('testsound.php?sound='+media_sel.options[media_sel.selectedIndex].value, 'TestSound'," .
195 "'width=150,height=30,scrollbars=no');" .
196 'return false;' .
197 '" /></td></tr>';
198 if ($newmail_uploadsounds) {
199 // upload form
200 echo html_tag('tr')
201 . html_tag('td',_("Upload Media File:"),'right','','style="white-space: nowrap;"')
202 . html_tag('td','<input type="file" size="40" name="media_file" />')
203 . "</tr>\n";
204 // display currently uploaded file information
205 echo html_tag('tr')
206 . html_tag('td',_("Uploaded Media File:"),'right','','style="white-space: nowrap;"')
207 . html_tag('td',($newmail_userfile_name!='' ? htmlspecialchars($newmail_userfile_name) : _("unavailable")))
208 ."</tr>\n";
209
210 if ($newmail_userfile_name!='') {
211 echo '<tr>'
212 .'<td colspan="2" align="center">'
213 .sprintf(_("Media file %s will be removed, if you upload other media file."),basename($newmail_userfile_name))
214 .'</td></tr>';
215 }
216 }
217 echo html_tag( 'tr', "\n" .
218 html_tag( 'td', _("Current File:"), 'right', '', 'style="white-space: nowrap;"' ) .
219 html_tag( 'td', '<input type="hidden" value="' .
220 htmlspecialchars($newmail_media) . '" name="media_default" />' .
221 htmlspecialchars($media_output) . '', 'left' )
222 ) . "\n";
223 }
224 echo html_tag( 'tr', "\n" .
225 html_tag( 'td', '&nbsp;' ) .
226 html_tag( 'td',
227 '<input type="hidden" name="optmode" value="submit" />' .
228 '<input type="hidden" name="optpage" value="newmail" />' .
229 '<input type="submit" value="' . _("Submit") . '" name="submit_newmail" />',
230 'left' )
231 ) . "\n";
232 ?>
233 </table></form></td></tr></table></td></tr></table></body></html>