source: tags/expressoMail1_2/1.233/preferences.php @ 673

Revision 673, 18.4 KB checked in by niltonneto, 15 years ago (diff)

Revisão 670 revertida para versionar 1.233 em TAGS.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1<?php
2        /**************************************************************************/
3       
4        $GLOBALS['phpgw_info']['flags'] = array(
5                'currentapp' => 'expressoMail1_2',
6                'noheader'   => True,
7                'nonavbar'   => True,
8                'enable_nextmatchs_class' => True
9        );
10
11       
12        include('../header.inc.php');
13        include('inc/class.imap_functions.inc.php');   
14        include_once("inc/fckeditor.php");
15       
16        if (!$_POST['try_saved'])
17        {
18                // Read Config and get default values;
19               
20                $GLOBALS['phpgw']->preferences->read_repository();
21                // Loading Admin Config Module
22        $c = CreateObject('phpgwapi.config','expressoMail1_2');
23        $c->read_repository();
24        $current_config = $c->config_data;   
25               
26               
27                if($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['max_email_per_page'])
28                        $GLOBALS['phpgw']->template->set_var('option_'.$GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['max_email_per_page'].'_selected','selected');
29                else
30                $GLOBALS['phpgw']->template->set_var('option_50_selected','selected');         
31
32                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_deleted_msg'])         
33                        $GLOBALS['phpgw']->template->set_var('checked_save_deleted_msg','checked');
34                else
35                        $GLOBALS['phpgw']->template->set_var('checked_save_deleted_msg','');
36
37                if($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['delete_trash_messages_after_n_days'])
38                        $GLOBALS['phpgw']->template->set_var('delete_trash_messages_option_'.$GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['delete_trash_messages_after_n_days'].'_selected','selected');
39                else
40                        $GLOBALS['phpgw']->template->set_var('delete_trash_messages_option_0_selected','selected');             
41               
42                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['delete_and_show_previous_message'])         
43                        $GLOBALS['phpgw']->template->set_var('checked_delete_and_show_previous_message','checked');
44                else
45                        $GLOBALS['phpgw']->template->set_var('checked_delete_and_show_previous_message','');
46
47                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['alert_new_msg'])             
48                        $GLOBALS['phpgw']->template->set_var('checked_alert_new_msg','checked');
49                else
50                        $GLOBALS['phpgw']->template->set_var('checked_alert_new_msg','');
51
52                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['mainscreen_showmail'])
53                        $GLOBALS['phpgw']->template->set_var('checked_mainscreen_showmail','checked');
54                else
55                        $GLOBALS['phpgw']->template->set_var('checked_mainscreen_showmail','');
56
57                if (!is_numeric($current_config['expressoMail_Number_of_dynamic_contacts']))
58                {                                                                               
59                        $GLOBALS['phpgw']->template->set_var('checked_dynamic_contacts','');
60                        $GLOBALS['phpgw']->template->set_var('checked_dynamic_contacts','disabled');
61                }
62                else
63                {
64                        if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'])
65                                $GLOBALS['phpgw']->template->set_var('checked_dynamic_contacts','checked');
66                        else
67                                $GLOBALS['phpgw']->template->set_var('checked_dynamic_contacts','');
68                }
69
70                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_shortcuts'])
71                        $GLOBALS['phpgw']->template->set_var('checked_shortcuts','checked');
72                else
73                        $GLOBALS['phpgw']->template->set_var('checked_shortcuts','');
74
75                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['auto_save_draft'])
76                        $GLOBALS['phpgw']->template->set_var('checked_auto_save_draft','checked');
77                else
78                        $GLOBALS['phpgw']->template->set_var('checked_auto_save_draft','');
79
80                // Insert new expressoMail preference use_signature: defines if the signature will be automatically inserted
81                // at the e-mail body
82                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_signature'])
83                        $GLOBALS['phpgw']->template->set_var('checked_use_signature','checked');
84                else
85                        $GLOBALS['phpgw']->template->set_var('checked_use_signature','');
86
87                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['signature'])
88                        $GLOBALS['phpgw']->template->set_var('text_signature',$GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['signature']);
89                else
90                        $GLOBALS['phpgw']->template->set_var('text_signature','');
91               
92                if($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['type_signature']){
93                        $GLOBALS['phpgw']->template->set_var('type_signature_option_'.$GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['type_signature'].'_selected','selected');
94                        $GLOBALS['phpgw']->template->set_var('type_signature_td_'.($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['type_signature'] == 'html' ? 'text' : 'html'),'display:none');
95                }
96                else{
97                        $GLOBALS['phpgw']->template->set_var('type_signature_option_text_selected','selected');
98                        $GLOBALS['phpgw']->template->set_var('type_signature_td_html','display:none');
99                }
100
101                // BEGIN FCKEDITOR
102                $oFCKeditor = new FCKeditor('html_signature') ;
103                $oFCKeditor->BasePath   = 'js/fckeditor/';
104                $oFCKeditor->ToolbarSet = 'ExpressoLivre';
105                if(is_array($GLOBALS['phpgw_info']['user']['preferences']['expressoMail'])) {
106                        $oFCKeditor->Value      = $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['signature'];
107                }
108                // First Time: The user has no preferences. If the template file exists, then it loads a default signature.
109                // See signature_example.tpl
110                elseif(file_exists($GLOBALS['phpgw']->template->root.'/signature.tpl')){
111                        $filein = fopen($GLOBALS['phpgw']->template->root.'/signature.tpl',"r");
112                        while (!feof ($filein))
113                                $oFCKeditor->Value .= fgets($filein, 1024);
114                }
115                $oFCKeditor->Value = str_replace("{full_name}",$phpgw_info['user']['fullname'],$oFCKeditor->Value);
116                $oFCKeditor->Value = str_replace("{first_name}",$phpgw_info['user']['firstname'],$oFCKeditor->Value);
117               
118                $GLOBALS['phpgw']->template->set_var('rtf_signature',$oFCKeditor->Create());
119                $GLOBALS['phpgw']->template->set_var('text_signature',strip_tags($oFCKeditor->Value));
120                // END FCKEDITOR
121                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['hide_folders'])
122                        $GLOBALS['phpgw']->template->set_var('checked_menu','checked');
123                else
124                        $GLOBALS['phpgw']->template->set_var('checked_menu','');
125
126                if($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['line_height'])
127                        $GLOBALS['phpgw']->template->set_var('line_height_option_'.$GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['line_height'].'_selected','selected');
128                else
129                        $GLOBALS['phpgw']->template->set_var('line_height_option_20_selected','selected');
130               
131                if($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['font_size'])
132                        $GLOBALS['phpgw']->template->set_var('font_size_option_'.$GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['font_size'].'_selected','selected');
133                else
134                        $GLOBALS['phpgw']->template->set_var('font_size_option_11_selected','selected');
135        }
136        else //Save Config
137        {
138                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['max_email_per_page'])
139                        $GLOBALS['phpgw']->preferences->change('expressoMail','max_email_per_page',$_POST['max_emails_per_page']);
140                else
141                        $GLOBALS['phpgw']->preferences->add('expressoMail','max_email_per_page',$_POST['max_emails_per_page']);
142               
143                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_deleted_msg'])
144                        $GLOBALS['phpgw']->preferences->change('expressoMail','save_deleted_msg',$_POST['save_deleted_msg']);
145                else
146                        $GLOBALS['phpgw']->preferences->add('expressoMail','save_deleted_msg',$_POST['save_deleted_msg']);
147
148                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['delete_trash_messages_after_n_days'])
149                        $GLOBALS['phpgw']->preferences->change('expressoMail','delete_trash_messages_after_n_days',$_POST['delete_trash_messages_after_n_days']);
150                else
151                        $GLOBALS['phpgw']->preferences->add('expressoMail','delete_trash_messages_after_n_days',$_POST['delete_trash_messages_after_n_days']);
152
153                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['delete_and_show_previous_message'])
154                        $GLOBALS['phpgw']->preferences->change('expressoMail','delete_and_show_previous_message',$_POST['delete_and_show_previous_message']);
155                else
156                        $GLOBALS['phpgw']->preferences->add('expressoMail','delete_and_show_previous_message',$_POST['delete_and_show_previous_message']);
157               
158                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['alert_new_msg'])
159                        $GLOBALS['phpgw']->preferences->change('expressoMail','alert_new_msg',$_POST['alert_new_msg']);
160                else
161                        $GLOBALS['phpgw']->preferences->add('expressoMail','alert_new_msg',$_POST['alert_new_msg']);
162
163                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['mainscreen_showmail'])
164                        $GLOBALS['phpgw']->preferences->change('expressoMail','mainscreen_showmail',$_POST['mainscreen_showmail']);
165                else
166                        $GLOBALS['phpgw']->preferences->add('expressoMail','mainscreen_showmail',$_POST['mainscreen_showmail']);
167
168                if (!is_numeric($_SESSION['phpgw_info']['server']['expressomail']['expressoMail_Number_of_dynamic_contacts']))
169                {                                                                               
170                        $GLOBALS['phpgw']->template->set_var('checked_dynamic_contacts','');
171                        $GLOBALS['phpgw']->template->set_var('checked_dynamic_contacts','disabled');
172                }
173                else
174                {
175                        if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'])
176                        {
177                                $GLOBALS['phpgw']->preferences->change('expressoMail','use_dynamic_contacts',$_POST['use_dynamic_contacts']);
178                                if($_POST['use_dynamic_contacts'] == '')
179                                {
180                                        $contacts = CreateObject('expressoMail1_2.dynamic_contacts');
181                                        $contacts->delete_dynamic_contacts();
182                                }
183                        }
184                        else
185                        $GLOBALS['phpgw']->preferences->add('expressoMail','use_dynamic_contacts',$_POST['use_dynamic_contacts']);
186                }
187
188                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_shortcuts'])
189                        $GLOBALS['phpgw']->preferences->change('expressoMail','use_shortcuts',$_POST['use_shortcuts']);
190                else
191                        $GLOBALS['phpgw']->preferences->add('expressoMail','use_shortcuts',$_POST['use_shortcuts']);
192                       
193                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['auto_save_draft'])
194                        $GLOBALS['phpgw']->preferences->change('expressoMail','auto_save_draft',$_POST['auto_save_draft']);
195                else
196                        $GLOBALS['phpgw']->preferences->add('expressoMail','auto_save_draft',$_POST['auto_save_draft']);       
197
198                // Insert new expressoMail preference use_signature: defines if the signature will be automatically inserted
199                // at the e-mail body
200                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_signature'])
201                        $GLOBALS['phpgw']->preferences->change('expressoMail','use_signature',$_POST['use_signature']);
202                else
203                        $GLOBALS['phpgw']->preferences->add('expressoMail','use_signature',$_POST['use_signature']);
204
205                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['signature'])
206                        $GLOBALS['phpgw']->preferences->change('expressoMail','signature',$_POST['signature']);
207                else
208                        $GLOBALS['phpgw']->preferences->add('expressoMail','signature',$_POST['signature']);
209
210                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['type_signature'])
211                        $GLOBALS['phpgw']->preferences->change('expressoMail','type_signature',$_POST['type_signature']);
212                else
213                        $GLOBALS['phpgw']->preferences->add('expressoMail','type_signature',$_POST['type_signature']);
214
215                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['hide_folders'])
216                        $GLOBALS['phpgw']->preferences->change('expressoMail','hide_folders',$_POST['check_menu']);
217                else
218                        $GLOBALS['phpgw']->preferences->add('expressoMail','hide_folders',$_POST['check_menu']);
219                       
220                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_in_folder'])
221                        $GLOBALS['phpgw']->preferences->change('expressoMail','save_in_folder',$_POST['save_in_folder']);
222                else
223                        $GLOBALS['phpgw']->preferences->add('expressoMail','save_in_folder',$_POST['save_in_folder']);
224
225                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['line_height'])
226                        $GLOBALS['phpgw']->preferences->change('expressoMail','line_height',$_POST['line_height']);
227                else
228                        $GLOBALS['phpgw']->preferences->add('expressoMail','line_height',$_POST['line_height']);
229               
230                if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['font_size'])
231                        $GLOBALS['phpgw']->preferences->change('expressoMail','font_size',$_POST['font_size']);
232                else
233                        $GLOBALS['phpgw']->preferences->add('expressoMail','font_size',$_POST['font_size']);           
234
235                $GLOBALS['phpgw']->preferences->save_repository();
236               
237                // Back to preferences.
238                $url = ($GLOBALS['phpgw']->link('/'.'expressoMail1_2'.'/index.php'));
239                $GLOBALS['phpgw']->redirect($url);
240        }
241       
242        $GLOBALS['phpgw']->common->phpgw_header();
243        print parse_navbar();
244
245        $GLOBALS['phpgw']->template->set_file(array(
246                'expressoMail_prefs' => 'preferences.tpl'
247        ));
248
249        $GLOBALS['phpgw']->template->set_var('lang_config_expressoMail',lang('Config for ExpressoMail'));
250        $GLOBALS['phpgw']->template->set_var('lang_max_emails_per_page',lang('What is the maximum number of messages per page?'));
251        $GLOBALS['phpgw']->template->set_var('lang_save_deleted_msg',lang('Save deleted messages in trash folder?'));
252        $GLOBALS['phpgw']->template->set_var('lang_delete_trash_messages_after_n_days',lang('Delete trash messages after how many days?'));
253        $GLOBALS['phpgw']->template->set_var('lang_delete_and_show_previous_message',lang('Show previous message, after delete actual message?'));
254        $GLOBALS['phpgw']->template->set_var('lang_alert_new_msg',lang('Do you wanna receive an alert for new messages?'));
255        $GLOBALS['phpgw']->template->set_var('lang_hook_home',lang('Show default view on main screen?'));
256        $GLOBALS['phpgw']->template->set_var('lang_save_in_folder',lang('Save sent messages in folder'));
257        $GLOBALS['phpgw']->template->set_var('lang_hide_menu',lang('Hide menu folders?'));
258        $GLOBALS['phpgw']->template->set_var('lang_line_height',lang('What is the height of the lines in the list of messages?'));
259        $GLOBALS['phpgw']->template->set_var('lang_font_size',lang('What the font size in the list of messages?'));
260        $GLOBALS['phpgw']->template->set_var('lang_use_dynamic_contacts',lang('Use dynamic contacts?'));
261        $GLOBALS['phpgw']->template->set_var('lang_use_shortcuts',lang('Use shortcuts?'));
262        $GLOBALS['phpgw']->template->set_var('lang_auto_save_draft',lang('Auto save draft'));
263        $GLOBALS['phpgw']->template->set_var('lang_signature',lang('Signature'));
264        $GLOBALS['phpgw']->template->set_var('lang_none',lang('None'));
265        $GLOBALS['phpgw']->template->set_var('one_day',lang('1 Day'));
266        $GLOBALS['phpgw']->template->set_var('two_days',lang('2 Days'));
267        $GLOBALS['phpgw']->template->set_var('three_days',lang('3 Days'));
268        $GLOBALS['phpgw']->template->set_var('four_days',lang('4 Days'));
269        $GLOBALS['phpgw']->template->set_var('five_days',lang('5 Day'));
270        $GLOBALS['phpgw']->template->set_var('small',lang('Small'));
271        $GLOBALS['phpgw']->template->set_var('medium',lang('Medium'));
272        $GLOBALS['phpgw']->template->set_var('normal',lang('Normal'));
273        $GLOBALS['phpgw']->template->set_var('simple_text',lang('Simple Text'));
274        $GLOBALS['phpgw']->template->set_var('html_text',lang('Rich Text'));
275        $GLOBALS['phpgw']->template->set_var('lang_config_signature',lang('Signature Configuration'));
276        $GLOBALS['phpgw']->template->set_var('lang_type_signature',lang('Signature type'));
277        $GLOBALS['phpgw']->template->set_var('big',lang('Big'));
278        $GLOBALS['phpgw']->template->set_var('lang_use_signature',lang('Insert signature automatically in new messages?'));
279
280        $boemailadmin   = CreateObject('emailadmin.bo');
281        $emailadmin_profile = $boemailadmin->getProfileList();
282        $_SESSION['phpgw_info']['expressomail']['email_server'] = $boemailadmin->getProfile($emailadmin_profile[0]['profileID']);
283        $_SESSION['phpgw_info']['expressomail']['user'] = $GLOBALS['phpgw_info']['user'];
284        $e_server = $_SESSION['phpgw_info']['expressomail']['email_server'];
285        $imap = CreateObject('expressoMail1_2.imap_functions');
286        $save_in_folder_selected = $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_in_folder'];     
287        // Load Special Folders (Sent, Trash, Draft, Spam) from EmailAdmin (if exists, else get_lang)
288        $specialFolders = array ("Trash" => lang("Trash"), "Drafts" => lang("Drafts"), "Spam" => lang("Spam"), "Sent" => lang("Sent"));
289        foreach ($specialFolders as $key => $value){
290                if($e_server['imapDefault'.$key.'Folder'])
291                        $specialFolders[$key] = $e_server['imapDefault'.$key.'Folder'];
292        }       
293        // First access on ExpressoMail, load default preferences...
294        if(!$GLOBALS['phpgw_info']['user']['preferences']['expressoMail']) {
295                $GLOBALS['phpgw']->template->set_var('checked_save_deleted_msg','checked');
296                $GLOBALS['phpgw']->template->set_var('checked_delete_and_show_previous_message','checked');
297                $GLOBALS['phpgw']->template->set_var('checked_alert_new_msg','checked');
298                $GLOBALS['phpgw']->template->set_var('checked_use_signature','checked');
299                $GLOBALS['phpgw']->template->set_var('checked_mainscreen_showmail','checked');
300                $save_in_folder_selected = "INBOX".$e_server['imapDelimiter'].$specialFolders["Sent"];
301        }
302        $o_folders = "<option value='-1' ".(!$save_in_folder_selected ? 'selected' : '' ).">".lang("Select on send")."</option>";       
303       
304        foreach($imap -> get_folders_list() as $id => $folder){
305                // Ignores numeric indexes and shared folders....
306                if(!is_numeric($id) || (strstr($folder['folder_id'],"user".$e_server['imapDelimiter'])))
307                        continue;
308                // Translate INBOX (root folder)
309                elseif (strtolower($folder['folder_name']) == "inbox")
310                        $folder['folder_name'] = lang("Inbox");
311                // Translate Special Folders
312                elseif (($keyFolder = array_search($folder['folder_name'], $specialFolders)) !== false)
313                        $folder['folder_name'] = lang($keyFolder);
314                // Identation for subfolders
315                $folder_id = explode($e_server['imapDelimiter'],$folder['folder_id']);         
316                $level = count($folder_id);
317                $ident = '';
318                for($i = 2; $level > 2 && $i < $level;$i++)
319                        $ident .= ' - ';
320                $o_folders.= "<option value='".$folder['folder_id']."' ".($save_in_folder_selected == $folder['folder_id'] ? 'selected' : '' ).">".$ident.$folder['folder_name']."</option>";                   
321        }
322
323        $GLOBALS['phpgw']->template->set_var('value_save_in_folder',$o_folders);
324        $GLOBALS['phpgw']->template->set_var('lang_save',lang('Save'));
325        $GLOBALS['phpgw']->template->set_var('lang_cancel',lang('Cancel'));
326       
327        $GLOBALS['phpgw']->template->set_var('save_action',$GLOBALS['phpgw']->link('/'.'expressoMail1_2'.'/preferences.php'));
328        $GLOBALS['phpgw']->template->set_var('th_bg',$GLOBALS['phpgw_info']["theme"][th_bg]);
329
330        $tr_color = $GLOBALS['phpgw']->nextmatchs->alternate_row_color($tr_color);
331        $GLOBALS['phpgw']->template->set_var('tr_color1',$GLOBALS['phpgw_info']['theme']['row_on']);
332        $GLOBALS['phpgw']->template->set_var('tr_color2',$GLOBALS['phpgw_info']['theme']['row_off']);
333
334        $GLOBALS['phpgw']->template->parse('out','expressoMail_prefs',True);
335        $GLOBALS['phpgw']->template->p('out');
336        // Com o Módulo do IM habilitado, ocorre um erro no IE
337        //$GLOBALS['phpgw']->common->phpgw_footer();
338?>
Note: See TracBrowser for help on using the repository browser.