source: trunk/expressoMail1_2/inc/hook_settings.inc.php @ 1244

Revision 1244, 12.9 KB checked in by amuller, 15 years ago (diff)

Ticket #485 - Arrumando assinatura texto rico nas pref. do EM

  • Property svn:executable set to *
Line 
1<?php
2if(!isset($GLOBALS['phpgw_info'])){
3        $GLOBALS['phpgw_info']['flags'] = array(
4                'currentapp' => 'expressoMail1_2',
5                'nonavbar'   => true,
6                'noheader'   => true
7        );
8}
9require_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        \**************************************************************************/
21include_once("fckeditor.php");
22$type = $_GET['type']; // FIX ME
23
24//if ($type == 'user' || $type == ''){
25create_html_code("script", '<script language="JavaScript" type="text/javascript">
26function exibir_ocultar()
27{
28    var type = ("'.$type.'" == "") ? "user" : "'.$type.'";
29    var use_signature_digital_cripto = document.getElementsByName(type+"[use_signature_digital_cripto]")[0];
30    var default_signature_digital_cripto = "'.$GLOBALS['phpgw_info']['default']['preferences']['expressoMail']['use_signature_digital_cripto'].'";
31
32    if (use_signature_digital_cripto)
33    {
34        var element_signature_digital = document.getElementById(type+"[use_signature_digital]");
35        var element_signature_cripto = document.getElementById(type+"[use_signature_cripto]");
36
37        switch (use_signature_digital_cripto[use_signature_digital_cripto.selectedIndex].value){
38
39            case "1":
40                element_signature_digital.style.display="";
41                element_signature_cripto.style.display="";
42                break;
43            case "0":
44                element_signature_digital.style.display="none";
45                element_signature_cripto.style.display="none";
46                break;
47            case "":
48                if (default_signature_digital_cripto){
49                    element_signature_digital.style.display="";
50                    element_signature_cripto.style.display="";
51                 }
52                 else
53                 {
54                    element_signature_digital.style.display="none";
55                    element_signature_cripto.style.display="none";
56                 }
57
58        }
59
60    }
61
62}',
63
64'</script>');
65//}
66
67$default = array(
68        '25'    => '25',
69        '50'    => '50',
70        '75'    => '75',
71        '100'   => '100'
72);
73
74create_select_box('What is the maximum number of messages per page?','max_email_per_page',$default,
75        'What is the maximum number of messages per page?');
76create_check_box('Save deleted messages in trash folder?','save_deleted_msg','Save deleted messages in trash folder?');
77$default = array(
78        '1'    => lang('1 day'),
79        '2'    => lang('2 days'),
80        '3'    => lang('3 days'),
81        '4'   => lang('4 days'),
82        '5'   => lang('5 days')
83);
84
85create_select_box('Delete trash messages after how many days?','delete_trash_messages_after_n_days',$default,lang('Delete trash messages after how many days?'));
86create_check_box('Would you like to use local messages?','use_local_messages','');
87create_check_box('Would you like to keep archived messages?','keep_archived_messages','');
88create_check_box('Show previous message, after delete actual message?','delete_and_show_previous_message','');
89create_check_box('Do you wanna receive an alert for new messages?','alert_new_msg','');
90create_check_box('Show default view on main screen?','mainscreen_showmail','');
91create_check_box('Do you want to use remove attachments function?','remove_attachments_function','');
92create_check_box('Do you want to use important flag in email editor?','enable_important_flag','');
93
94//TODO use default folders from email admin
95$default = array(
96        'INBOX' =>      lang('INBOX'),
97        'INBOX/'.lang('Drafts') => lang('Drafts'),
98        'INBOX/'.lang('Sent')   => lang('Sent'),
99        'INBOX/'.lang('Trash')  => lang('Trash')
100);
101create_select_box('Save sent messages in folder','save_in_folder',$default,'');
102create_check_box('Hide menu folders?','hide_folders','');
103
104$default = array(
105        '20' => lang('normal'),
106        '30' => lang('medium'),
107        '40' => lang('big')
108);
109
110create_select_box('What is the height of the lines in the list of messages?','line_height',$default,'');
111$default = array(
112        '10' => lang('small'),
113        '11' => lang('normal'),
114        '15' => lang('big')
115);
116
117create_select_box('What the font size in the list of messages?','font_size',$default,'');
118create_check_box('Use dynamic contacts?','use_dynamic_contacts','');
119create_check_box('Use shortcuts?','use_shortcuts','');
120create_check_box('Auto save draft','auto_save_draft','');
121$default = array(
122        '65536' => lang('unlimited'),
123        '640' => '640',
124        '768' => '768',
125        '800' => '800',
126        '1024' => '1024',
127        '1080' => '1080'
128);
129
130create_select_box('What is the maximum size of embedded images'."?",'image_size',$default,'');
131
132if($GLOBALS['phpgw_info']['server']['use_assinar_criptografar'])
133{
134    create_check_box('Enable digitally sign/cipher the message?','use_signature_digital_cripto','','',True,'onchange="javascript:exibir_ocultar();"');
135    if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_signature_digital_cripto'])
136    {
137        create_check_box('Always sign message digitally?','use_signature_digital','');
138        create_check_box('Always cipher message digitally?','use_signature_cripto','');
139    }
140    else
141    {
142        create_check_box('Always sign message digitally?','use_signature_digital','','',True,'',False);
143        create_check_box('Always cipher message digitally?','use_signature_cripto','','',True,'',False);
144    }
145}
146
147$default = array(
148        'text' => lang('simple text'),
149        'html' => lang('rich text')
150);
151
152create_select_box('Signature Type','type_signature',$default,'','','','onchange="javascript:changeType(this.value);" onload="javascript:alert(this.value);"');
153
154if ($type == 'user' || $type == ''){
155        $oFCKeditor = new FCKeditor('html_signature');
156        $oFCKeditor->BasePath   = '../expressoMail1_2/js/fckeditor/';
157        $oFCKeditor->ToolbarSet = 'ExpressoLivre';
158
159        $vars = $GLOBALS['phpgw']->preferences->user[$appname];
160
161        create_html_code("signature","<div id='text_signature'>
162                <textarea rows='5' cols='50' id='user_signature' name='user[signature]'>","</textarea></div>
163                <div style='display:none;' id='html_signature'>".$oFCKeditor->Create()."</div>
164                <script language='javascript'>
165document.getElementById('user_signature').value  = '".$vars['signature']."';
166function changeType(value){
167        var html_signature = FCKeditorAPI.GetInstance(\"html_signature\");
168        if(value == 'text'){
169                document.getElementById('user_signature').value = html_signature.GetHTML();
170                document.getElementById(\"text_signature\").style.display = '';
171                document.getElementById(\"html_signature\").style.display = 'none';
172        }
173        else if(value == 'html'){
174                html_signature.SetHTML(document.getElementById('user_signature').value);
175                document.getElementById(\"text_signature\").style.display = 'none';
176                document.getElementById(\"html_signature\").style.display  = '';
177        }
178}
179function get_html_translation_table(table, quote_style) {
180    // http://kevin.vanzonneveld.net
181    var entities = {}, hash_map = {}, decimal = 0, symbol = '';
182    var constMappingTable = {}, constMappingQuoteStyle = {};
183    var useTable = {}, useQuoteStyle = {};
184    // Translate arguments
185    constMappingTable[0]      = 'HTML_SPECIALCHARS';
186    constMappingTable[1]      = 'HTML_ENTITIES';
187    constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
188    constMappingQuoteStyle[2] = 'ENT_COMPAT';
189    constMappingQuoteStyle[3] = 'ENT_QUOTES';
190 
191    useTable       = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS';
192    useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT';
193 
194    if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {
195        throw new Error(\"Table: \"+useTable+' not supported');
196        // return false;
197    }
198 
199    entities['38'] = '&amp;';
200    if (useTable === 'HTML_ENTITIES') {
201        entities['160'] = '&nbsp;';
202        entities['161'] = '&iexcl;';
203        entities['162'] = '&cent;';
204        entities['163'] = '&pound;';
205        entities['164'] = '&curren;';
206        entities['165'] = '&yen;';
207        entities['166'] = '&brvbar;';
208        entities['167'] = '&sect;';
209        entities['168'] = '&uml;';
210        entities['169'] = '&copy;';
211        entities['170'] = '&ordf;';
212        entities['171'] = '&laquo;';
213        entities['172'] = '&not;';
214        entities['173'] = '&shy;';
215        entities['174'] = '&reg;';
216        entities['175'] = '&macr;';
217        entities['176'] = '&deg;';
218        entities['177'] = '&plusmn;';
219        entities['178'] = '&sup2;';
220        entities['179'] = '&sup3;';
221        entities['180'] = '&acute;';
222        entities['181'] = '&micro;';
223        entities['182'] = '&para;';
224        entities['183'] = '&middot;';
225        entities['184'] = '&cedil;';
226        entities['185'] = '&sup1;';
227        entities['186'] = '&ordm;';
228        entities['187'] = '&raquo;';
229        entities['188'] = '&frac14;';
230        entities['189'] = '&frac12;';
231        entities['190'] = '&frac34;';
232        entities['191'] = '&iquest;';
233        entities['192'] = '&Agrave;';
234        entities['193'] = '&Aacute;';
235        entities['194'] = '&Acirc;';
236        entities['195'] = '&Atilde;';
237        entities['196'] = '&Auml;';
238        entities['197'] = '&Aring;';
239        entities['198'] = '&AElig;';
240        entities['199'] = '&Ccedil;';
241        entities['200'] = '&Egrave;';
242        entities['201'] = '&Eacute;';
243        entities['202'] = '&Ecirc;';
244        entities['203'] = '&Euml;';
245        entities['204'] = '&Igrave;';
246        entities['205'] = '&Iacute;';
247        entities['206'] = '&Icirc;';
248        entities['207'] = '&Iuml;';
249        entities['208'] = '&ETH;';
250        entities['209'] = '&Ntilde;';
251        entities['210'] = '&Ograve;';
252        entities['211'] = '&Oacute;';
253        entities['212'] = '&Ocirc;';
254        entities['213'] = '&Otilde;';
255        entities['214'] = '&Ouml;';
256        entities['215'] = '&times;';
257        entities['216'] = '&Oslash;';
258        entities['217'] = '&Ugrave;';
259        entities['218'] = '&Uacute;';
260        entities['219'] = '&Ucirc;';
261        entities['220'] = '&Uuml;';
262        entities['221'] = '&Yacute;';
263        entities['222'] = '&THORN;';
264        entities['223'] = '&szlig;';
265        entities['224'] = '&agrave;';
266        entities['225'] = '&aacute;';
267        entities['226'] = '&acirc;';
268        entities['227'] = '&atilde;';
269        entities['228'] = '&auml;';
270        entities['229'] = '&aring;';
271        entities['230'] = '&aelig;';
272        entities['231'] = '&ccedil;';
273        entities['232'] = '&egrave;';
274        entities['233'] = '&eacute;';
275        entities['234'] = '&ecirc;';
276        entities['235'] = '&euml;';
277        entities['236'] = '&igrave;';
278        entities['237'] = '&iacute;';
279        entities['238'] = '&icirc;';
280        entities['239'] = '&iuml;';
281        entities['240'] = '&eth;';
282        entities['241'] = '&ntilde;';
283        entities['242'] = '&ograve;';
284        entities['243'] = '&oacute;';
285        entities['244'] = '&ocirc;';
286        entities['245'] = '&otilde;';
287        entities['246'] = '&ouml;';
288        entities['247'] = '&divide;';
289        entities['248'] = '&oslash;';
290        entities['249'] = '&ugrave;';
291        entities['250'] = '&uacute;';
292        entities['251'] = '&ucirc;';
293        entities['252'] = '&uuml;';
294        entities['253'] = '&yacute;';
295        entities['254'] = '&thorn;';
296        entities['255'] = '&yuml;';
297    }
298    if (useQuoteStyle !== 'ENT_NOQUOTES') {
299        entities['34'] = '&quot;';
300    }
301    if (useQuoteStyle === 'ENT_QUOTES') {
302        entities['39'] = '&#39;';
303    }
304    entities['60'] = '&lt;';
305    entities['62'] = '&gt;';
306 
307    // ascii decimals to real symbols
308    for (decimal in entities) {
309        symbol = String.fromCharCode(decimal);
310        hash_map[symbol] = entities[decimal];
311    }
312    return hash_map;
313}
314function html_entity_decode( string, quote_style ) {
315    // http://kevin.vanzonneveld.net
316    var hash_map = {}, symbol = '', tmp_str = '', entity = '';
317    tmp_str = string.toString();
318    if (false === (hash_map = this.get_html_translation_table('HTML_ENTITIES', quote_style))) {
319        return false;
320    }
321    for (symbol in hash_map) {
322        entity = hash_map[symbol];
323        tmp_str = tmp_str.split(entity).join(symbol);
324    }
325    tmp_str = tmp_str.split('&#039;').join(\"'\");
326    return tmp_str;
327}
328
329function config_form(pObj,pHandler)
330{
331        pObj.onclick=function () { return pHandler(\"text\") };
332}
333document.getElementById('user_signature').value=html_entity_decode(document.getElementById('user_signature').innerHTML);
334
335setTimeout('config_form(document.getElementsByName(\'submit\')[0],changeType);changeType(document.getElementsByName(\'user[type_signature]\')[0].value==\'html\'?\'html\':\'\')',2000);
336</script>");
337}
338?>
Note: See TracBrowser for help on using the repository browser.