1 | <?php |
---|
2 | if(!isset($GLOBALS['phpgw_info'])){ |
---|
3 | $GLOBALS['phpgw_info']['flags'] = array( |
---|
4 | 'currentapp' => 'expressoMail1_2', |
---|
5 | 'nonavbar' => true, |
---|
6 | 'noheader' => true |
---|
7 | ); |
---|
8 | } |
---|
9 | require_once '../header.inc.php'; |
---|
10 | |
---|
11 | /**************************************************************************\ |
---|
12 | * eGroupWare - ExpressoMail Preferences * |
---|
13 | * http://www.expressolivre.org * |
---|
14 | * Modified by Alexandre Felipe Muller de Souza <amuller@celepar.pr.gov.br> * |
---|
15 | * -------------------------------------------- * |
---|
16 | * This program is free software; you can redistribute it and/or modify it * |
---|
17 | * under the terms of the GNU General Public License as published by the * |
---|
18 | * Free Software Foundation; either version 2 of the License, or (at your * |
---|
19 | * option) any later version. * |
---|
20 | \**************************************************************************/ |
---|
21 | include_once("fckeditor.php"); |
---|
22 | $type = isset($_GET['type']) ? $_GET['type']:$GLOBALS['type']; // FIX ME |
---|
23 | |
---|
24 | //if ($type == 'user' || $type == ''){ |
---|
25 | create_script('function exibir_ocultar() |
---|
26 | { |
---|
27 | var type = ("'.$type.'" == "") ? "user" : "'.$type.'"; |
---|
28 | var use_signature_digital_cripto = document.getElementsByName(type+"[use_signature_digital_cripto]")[0]; |
---|
29 | var default_signature_digital_cripto = "'.$GLOBALS['phpgw_info']['default']['preferences']['expressoMail']['use_signature_digital_cripto'].'"; |
---|
30 | |
---|
31 | if (use_signature_digital_cripto) |
---|
32 | { |
---|
33 | var element_signature_digital = document.getElementById(type+"[use_signature_digital]"); |
---|
34 | var element_signature_cripto = document.getElementById(type+"[use_signature_cripto]"); |
---|
35 | |
---|
36 | switch (use_signature_digital_cripto[use_signature_digital_cripto.selectedIndex].value){ |
---|
37 | |
---|
38 | case "1": |
---|
39 | element_signature_digital.style.display=""; |
---|
40 | element_signature_cripto.style.display=""; |
---|
41 | break; |
---|
42 | case "0": |
---|
43 | element_signature_digital.style.display="none"; |
---|
44 | element_signature_cripto.style.display="none"; |
---|
45 | break; |
---|
46 | case "": |
---|
47 | if (default_signature_digital_cripto){ |
---|
48 | element_signature_digital.style.display=""; |
---|
49 | element_signature_cripto.style.display=""; |
---|
50 | } |
---|
51 | else |
---|
52 | { |
---|
53 | element_signature_digital.style.display="none"; |
---|
54 | element_signature_cripto.style.display="none"; |
---|
55 | } |
---|
56 | |
---|
57 | } |
---|
58 | |
---|
59 | } |
---|
60 | |
---|
61 | }'); |
---|
62 | //} |
---|
63 | |
---|
64 | $default = array( |
---|
65 | '25' => '25', |
---|
66 | '50' => '50', |
---|
67 | '75' => '75', |
---|
68 | '100' => '100' |
---|
69 | ); |
---|
70 | |
---|
71 | create_select_box('What is the maximum number of messages per page?','max_email_per_page',$default,'This is the number of messages shown in your mailbox per page'); |
---|
72 | create_check_box('Save deleted messages in trash folder?','save_deleted_msg','When delete message, send it automatically to trash folder'); |
---|
73 | $default = array( |
---|
74 | '1' => lang('1 day'), |
---|
75 | '2' => lang('2 days'), |
---|
76 | '3' => lang('3 days'), |
---|
77 | '4' => lang('4 days'), |
---|
78 | '5' => lang('5 days') |
---|
79 | ); |
---|
80 | |
---|
81 | create_select_box('Delete trash messages after how many days?','delete_trash_messages_after_n_days',$default,'Delete automatically the messages in trash folder in how many days'); |
---|
82 | create_check_box('Would you like to use local messages?','use_local_messages','Enabling this options you will be able to store messages in your local computer'); |
---|
83 | create_check_box('Would you like to keep archived messages?','keep_archived_messages','After store email in your local computer delete it from server'); |
---|
84 | create_check_box('Show previous message, after delete actual message?','delete_and_show_previous_message','Enable this option if you want to read the next message everytime you delete a message'); |
---|
85 | create_check_box('Do you wanna receive an alert for new messages?','alert_new_msg','Everytime you receive new messages you will be informed'); |
---|
86 | create_check_box('Show default view on main screen?','mainscreen_showmail','Show unread messages in your home page'); |
---|
87 | create_check_box('Do you want to use remove attachments function?','remove_attachments_function','It allow you to remove attachments from messages'); |
---|
88 | create_check_box('Do you want to use important flag in email editor?','use_important_flag','It allow you to send emails with important flag, but you can receive unwanted messages with important flag'); |
---|
89 | |
---|
90 | //Use user folders from email |
---|
91 | if ($type != "" && $type != "user"){ |
---|
92 | $trash = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder']; |
---|
93 | $drafts = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultDraftsFolder']; |
---|
94 | $spam = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSpamFolder']; |
---|
95 | $sent = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']; |
---|
96 | $default = Array( |
---|
97 | 'INBOX' => lang('INBOX'), |
---|
98 | 'INBOX/'.$trash => $trash, |
---|
99 | 'INBOX/'.$drafts => $drafts, |
---|
100 | 'INBOX/'.$spam => $spam, |
---|
101 | 'INBOX/'.$sent => $sent |
---|
102 | ); |
---|
103 | } |
---|
104 | else |
---|
105 | { |
---|
106 | require_once('class.imap_functions.inc.php'); |
---|
107 | $boemailadmin = CreateObject('emailadmin.bo'); |
---|
108 | $emailadmin_profile = $boemailadmin->getProfileList(); |
---|
109 | $_SESSION['phpgw_info']['expressomail']['email_server'] = $boemailadmin->getProfile($emailadmin_profile[0]['profileID']); |
---|
110 | $_SESSION['phpgw_info']['expressomail']['user'] = $GLOBALS['phpgw_info']['user']; |
---|
111 | $e_server = $_SESSION['phpgw_info']['expressomail']['email_server']; |
---|
112 | $imap = CreateObject('expressoMail1_2.imap_functions'); |
---|
113 | $save_in_folder_selected = $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_in_folder']; |
---|
114 | |
---|
115 | // Load Special Folders (Sent, Trash, Draft, Spam) from EmailAdmin (if exists, else get_lang) |
---|
116 | $specialFolders = array ("Trash" => lang("Trash"), "Drafts" => lang("Drafts"), "Spam" => lang("Spam"), "Sent" => lang("Sent")); |
---|
117 | |
---|
118 | foreach ($specialFolders as $key => $value){ |
---|
119 | if($e_server['imapDefault'.$key.'Folder']) |
---|
120 | $specialFolders[$key] = $e_server['imapDefault'.$key.'Folder']; |
---|
121 | } |
---|
122 | unset($default); |
---|
123 | $default[-1] = lang('Select on send'); |
---|
124 | |
---|
125 | foreach($imap -> get_folders_list(array('noSharedFolders' => true)) as $id => $folder){ |
---|
126 | if(!is_numeric($id)) |
---|
127 | continue; |
---|
128 | else{ |
---|
129 | // Translate INBOX (root folder) |
---|
130 | if (strtolower($folder['folder_name']) == "inbox") |
---|
131 | $folder['folder_name'] = lang("Inbox"); |
---|
132 | // Translate Special Folders |
---|
133 | elseif (($keyFolder = array_search($folder['folder_name'], $specialFolders)) !== false) |
---|
134 | $folder['folder_name'] = lang($keyFolder); |
---|
135 | // Identation for subfolders |
---|
136 | $folder_id = explode($e_server['imapDelimiter'],$folder['folder_id']); |
---|
137 | $level = count($folder_id); |
---|
138 | $ident = ''; |
---|
139 | for($i = 2; $level > 2 && $i < $level;$i++) |
---|
140 | $ident .= ' - '; |
---|
141 | |
---|
142 | $default[$folder['folder_id']] = $ident.$folder['folder_name']; |
---|
143 | } |
---|
144 | } |
---|
145 | |
---|
146 | } |
---|
147 | create_select_box('Save sent messages in folder','save_in_folder',$default,'Save automatically sent messages in selected folder'); |
---|
148 | create_check_box('Hide menu folders?','hide_folders','You can use it if your screen does not have good resolution'); |
---|
149 | |
---|
150 | $default = array( |
---|
151 | '20' => lang('normal'), |
---|
152 | '30' => lang('medium'), |
---|
153 | '40' => lang('big') |
---|
154 | ); |
---|
155 | |
---|
156 | create_select_box('What is the height of the lines in the list of messages?','line_height',$default,''); |
---|
157 | create_check_box('Use dynamic contacts?','use_dynamic_contacts','Store your\'s most used contacts'); |
---|
158 | create_check_box('Use shortcuts?','use_shortcuts',''); |
---|
159 | create_check_box('Auto save draft','auto_save_draft','When you are away from computer it saves automatically the message you are writing'); |
---|
160 | $default = array( |
---|
161 | '65536' => lang('unlimited'), |
---|
162 | '640' => '640', |
---|
163 | '768' => '768', |
---|
164 | '800' => '800', |
---|
165 | '1024' => '1024', |
---|
166 | '1080' => '1080' |
---|
167 | ); |
---|
168 | |
---|
169 | create_select_box('What is the maximum size of embedded images?','image_size',$default,'When user send an email with image in body message, it changes the size'); |
---|
170 | |
---|
171 | if($GLOBALS['phpgw_info']['server']['use_assinar_criptografar']) |
---|
172 | { |
---|
173 | create_check_box('Enable digitally sign/cipher the message?','use_signature_digital_cripto','','',True,'onchange="javascript:exibir_ocultar();"'); |
---|
174 | if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_signature_digital_cripto']) |
---|
175 | { |
---|
176 | create_check_box('Always sign message digitally?','use_signature_digital',''); |
---|
177 | create_check_box('Always cipher message digitally?','use_signature_cripto',''); |
---|
178 | } |
---|
179 | else |
---|
180 | { |
---|
181 | create_check_box('Always sign message digitally?','use_signature_digital','','',True,'',False); |
---|
182 | create_check_box('Always cipher message digitally?','use_signature_cripto','','',True,'',False); |
---|
183 | } |
---|
184 | } |
---|
185 | |
---|
186 | $default = array( |
---|
187 | 'text' => lang('simple text'), |
---|
188 | 'html' => lang('rich text') |
---|
189 | ); |
---|
190 | create_check_box('Insert signature automatically in new messages?','use_signature',''); |
---|
191 | |
---|
192 | if ($type == 'user' || $type == ''){ |
---|
193 | create_select_box('Signature Type','type_signature',$default,'','','','onchange="javascript:changeType(this.value);"'); |
---|
194 | |
---|
195 | $oFCKeditor = new FCKeditor('html_signature'); |
---|
196 | $oFCKeditor->BasePath = '../expressoMail1_2/js/fckeditor/'; |
---|
197 | $oFCKeditor->ToolbarSet = 'ExpressoLivre'; |
---|
198 | |
---|
199 | $vars = $GLOBALS['phpgw']->preferences->user[$appname]; |
---|
200 | |
---|
201 | create_html_code("signature","<div id='text_signature'> |
---|
202 | <textarea rows='5' cols='50' id='user_signature' name='user[signature]'>","</textarea></div> |
---|
203 | <div style='display:none;' id='html_signature'>".$oFCKeditor->Create()."</div> |
---|
204 | <script language='javascript'> |
---|
205 | //document.getElementById('user_signature').value = '".$vars['signature']."'; |
---|
206 | function changeType(value){ |
---|
207 | var html_signature = FCKeditorAPI.GetInstance(\"html_signature\"); |
---|
208 | value=value.replace('d',''); |
---|
209 | if(value == 'text'){ |
---|
210 | document.getElementById('user_signature').value = html_signature.GetHTML(); |
---|
211 | document.getElementById(\"text_signature\").style.display = ''; |
---|
212 | document.getElementById(\"html_signature\").style.display = 'none'; |
---|
213 | } |
---|
214 | else if(value == 'html'){ |
---|
215 | html_signature.SetHTML(document.getElementById('user_signature').value); |
---|
216 | document.getElementById(\"text_signature\").style.display = 'none'; |
---|
217 | document.getElementById(\"html_signature\").style.display = ''; |
---|
218 | } |
---|
219 | } |
---|
220 | function get_html_translation_table(table, quote_style) { |
---|
221 | // http://kevin.vanzonneveld.net |
---|
222 | var entities = {}, hash_map = {}, decimal = 0, symbol = ''; |
---|
223 | var constMappingTable = {}, constMappingQuoteStyle = {}; |
---|
224 | var useTable = {}, useQuoteStyle = {}; |
---|
225 | // Translate arguments |
---|
226 | constMappingTable[0] = 'HTML_SPECIALCHARS'; |
---|
227 | constMappingTable[1] = 'HTML_ENTITIES'; |
---|
228 | constMappingQuoteStyle[0] = 'ENT_NOQUOTES'; |
---|
229 | constMappingQuoteStyle[2] = 'ENT_COMPAT'; |
---|
230 | constMappingQuoteStyle[3] = 'ENT_QUOTES'; |
---|
231 | |
---|
232 | useTable = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS'; |
---|
233 | useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT'; |
---|
234 | |
---|
235 | if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') { |
---|
236 | throw new Error(\"Table: \"+useTable+' not supported'); |
---|
237 | // return false; |
---|
238 | } |
---|
239 | |
---|
240 | entities['38'] = '&'; |
---|
241 | if (useTable === 'HTML_ENTITIES') { |
---|
242 | entities['160'] = ' '; |
---|
243 | entities['161'] = '¡'; |
---|
244 | entities['162'] = '¢'; |
---|
245 | entities['163'] = '£'; |
---|
246 | entities['164'] = '¤'; |
---|
247 | entities['165'] = '¥'; |
---|
248 | entities['166'] = '¦'; |
---|
249 | entities['167'] = '§'; |
---|
250 | entities['168'] = '¨'; |
---|
251 | entities['169'] = '©'; |
---|
252 | entities['170'] = 'ª'; |
---|
253 | entities['171'] = '«'; |
---|
254 | entities['172'] = '¬'; |
---|
255 | entities['173'] = '­'; |
---|
256 | entities['174'] = '®'; |
---|
257 | entities['175'] = '¯'; |
---|
258 | entities['176'] = '°'; |
---|
259 | entities['177'] = '±'; |
---|
260 | entities['178'] = '²'; |
---|
261 | entities['179'] = '³'; |
---|
262 | entities['180'] = '´'; |
---|
263 | entities['181'] = 'µ'; |
---|
264 | entities['182'] = '¶'; |
---|
265 | entities['183'] = '·'; |
---|
266 | entities['184'] = '¸'; |
---|
267 | entities['185'] = '¹'; |
---|
268 | entities['186'] = 'º'; |
---|
269 | entities['187'] = '»'; |
---|
270 | entities['188'] = '¼'; |
---|
271 | entities['189'] = '½'; |
---|
272 | entities['190'] = '¾'; |
---|
273 | entities['191'] = '¿'; |
---|
274 | entities['192'] = 'À'; |
---|
275 | entities['193'] = 'Á'; |
---|
276 | entities['194'] = 'Â'; |
---|
277 | entities['195'] = 'Ã'; |
---|
278 | entities['196'] = 'Ä'; |
---|
279 | entities['197'] = 'Å'; |
---|
280 | entities['198'] = 'Æ'; |
---|
281 | entities['199'] = 'Ç'; |
---|
282 | entities['200'] = 'È'; |
---|
283 | entities['201'] = 'É'; |
---|
284 | entities['202'] = 'Ê'; |
---|
285 | entities['203'] = 'Ë'; |
---|
286 | entities['204'] = 'Ì'; |
---|
287 | entities['205'] = 'Í'; |
---|
288 | entities['206'] = 'Î'; |
---|
289 | entities['207'] = 'Ï'; |
---|
290 | entities['208'] = 'Ð'; |
---|
291 | entities['209'] = 'Ñ'; |
---|
292 | entities['210'] = 'Ò'; |
---|
293 | entities['211'] = 'Ó'; |
---|
294 | entities['212'] = 'Ô'; |
---|
295 | entities['213'] = 'Õ'; |
---|
296 | entities['214'] = 'Ö'; |
---|
297 | entities['215'] = '×'; |
---|
298 | entities['216'] = 'Ø'; |
---|
299 | entities['217'] = 'Ù'; |
---|
300 | entities['218'] = 'Ú'; |
---|
301 | entities['219'] = 'Û'; |
---|
302 | entities['220'] = 'Ü'; |
---|
303 | entities['221'] = 'Ý'; |
---|
304 | entities['222'] = 'Þ'; |
---|
305 | entities['223'] = 'ß'; |
---|
306 | entities['224'] = 'à'; |
---|
307 | entities['225'] = 'á'; |
---|
308 | entities['226'] = 'â'; |
---|
309 | entities['227'] = 'ã'; |
---|
310 | entities['228'] = 'ä'; |
---|
311 | entities['229'] = 'å'; |
---|
312 | entities['230'] = 'æ'; |
---|
313 | entities['231'] = 'ç'; |
---|
314 | entities['232'] = 'è'; |
---|
315 | entities['233'] = 'é'; |
---|
316 | entities['234'] = 'ê'; |
---|
317 | entities['235'] = 'ë'; |
---|
318 | entities['236'] = 'ì'; |
---|
319 | entities['237'] = 'í'; |
---|
320 | entities['238'] = 'î'; |
---|
321 | entities['239'] = 'ï'; |
---|
322 | entities['240'] = 'ð'; |
---|
323 | entities['241'] = 'ñ'; |
---|
324 | entities['242'] = 'ò'; |
---|
325 | entities['243'] = 'ó'; |
---|
326 | entities['244'] = 'ô'; |
---|
327 | entities['245'] = 'õ'; |
---|
328 | entities['246'] = 'ö'; |
---|
329 | entities['247'] = '÷'; |
---|
330 | entities['248'] = 'ø'; |
---|
331 | entities['249'] = 'ù'; |
---|
332 | entities['250'] = 'ú'; |
---|
333 | entities['251'] = 'û'; |
---|
334 | entities['252'] = 'ü'; |
---|
335 | entities['253'] = 'ý'; |
---|
336 | entities['254'] = 'þ'; |
---|
337 | entities['255'] = 'ÿ'; |
---|
338 | } |
---|
339 | if (useQuoteStyle !== 'ENT_NOQUOTES') { |
---|
340 | entities['34'] = '"'; |
---|
341 | } |
---|
342 | if (useQuoteStyle === 'ENT_QUOTES') { |
---|
343 | entities['39'] = '''; |
---|
344 | } |
---|
345 | entities['60'] = '<'; |
---|
346 | entities['62'] = '>'; |
---|
347 | |
---|
348 | // ascii decimals to real symbols |
---|
349 | for (decimal in entities) { |
---|
350 | symbol = String.fromCharCode(decimal); |
---|
351 | hash_map[symbol] = entities[decimal]; |
---|
352 | } |
---|
353 | return hash_map; |
---|
354 | } |
---|
355 | function html_entity_decode( string, quote_style ) { |
---|
356 | // http://kevin.vanzonneveld.net |
---|
357 | var hash_map = {}, symbol = '', tmp_str = '', entity = ''; |
---|
358 | tmp_str = string.toString(); |
---|
359 | if (false === (hash_map = this.get_html_translation_table('HTML_ENTITIES', quote_style))) { |
---|
360 | return false; |
---|
361 | } |
---|
362 | for (symbol in hash_map) { |
---|
363 | entity = hash_map[symbol]; |
---|
364 | tmp_str = tmp_str.split(entity).join(symbol); |
---|
365 | } |
---|
366 | tmp_str = tmp_str.split(''').join(\"'\"); |
---|
367 | return tmp_str; |
---|
368 | } |
---|
369 | |
---|
370 | function getTypeSignature() { |
---|
371 | var elementoSelects = document.getElementsByTagName('select'); |
---|
372 | |
---|
373 | for(i=0;i<elementoSelects.length;i++){ |
---|
374 | if( elementoSelects[i].name == \"user[type_signature]\" ){ |
---|
375 | return elementoSelects[i]; |
---|
376 | } |
---|
377 | } |
---|
378 | return null; |
---|
379 | } |
---|
380 | |
---|
381 | function config_form(pObj,pHandler) |
---|
382 | { |
---|
383 | pObj.onclick=function () { |
---|
384 | if (getTypeSignature().value == \"html\" || getTypeSignature().value == \"htmld\") { |
---|
385 | return pHandler(\"text\"); |
---|
386 | } |
---|
387 | }; |
---|
388 | |
---|
389 | } |
---|
390 | document.getElementById('user_signature').value=html_entity_decode(document.getElementById('user_signature').innerHTML); |
---|
391 | |
---|
392 | function setDefaultTypeSignature() { |
---|
393 | if(getTypeSignature()){ |
---|
394 | getTypeSignature().options[0].value = '".$GLOBALS['phpgw']->preferences->default['expressoMail']['type_signature']."d'; |
---|
395 | if(getTypeSignature().value.indexOf('html')!=-1){ |
---|
396 | changeType(getTypeSignature().value); |
---|
397 | } |
---|
398 | }else{ |
---|
399 | changeType('".$GLOBALS['phpgw']->preferences->forced['expressoMail']['type_signature']."'); |
---|
400 | } |
---|
401 | } |
---|
402 | |
---|
403 | setTimeout('setDefaultTypeSignature();config_form(document.getElementsByName(\'submit\')[0],changeType);',2000); |
---|
404 | </script>"); |
---|
405 | }else{ |
---|
406 | create_select_box('Signature Type','type_signature',$default,'','','',''); |
---|
407 | |
---|
408 | } |
---|
409 | ?> |
---|