source: trunk/expressoMail1_2/index.php @ 485

Revision 485, 12.7 KB checked in by niltonneto, 16 years ago (diff)

Quando os contatos dinâmicos estiverem habilitados para o usuário:

  • Número máximo de contatos é carregado do array salvo na sessão, evitando a chamada AJAX ao

carregar módulo, que era invocada em preferences.js pela funçao get_number_of_contacts().

  • Ao invés de usar a função JS init() para recarregar o autocompletar, que é muito pesado, apenas

atualizar a variavel "contacts" com os novos contatos dinãmicos adicionados, retornados pela
função que envia o email, verificando se os mesmos já não existem.

  • Na função add_dynamic_contacts() foi usada uma RegExp? para limpar as "," duplicadas (que pode ocorrer) e os espaços em branco.
  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1<?php
2
3        /* Begin: Check config needed for expressoMail */
4        /* Config need for expressoMail work */
5        $php_ini['session.auto_start'] = '1';
6        $php_ini['magic_quotes_gpc'] = '';
7        $php_ini['magic_quotes_runtime'] = '';
8        $php_ini['magic_quotes_sybase'] = '';
9       
10        /* Config from php.ini */
11        $php_ini_configs = array("session.auto_start","magic_quotes_gpc","magic_quotes_runtime","magic_quotes_sybase");
12        /* Checking */
13        $error = false;
14        foreach($php_ini_configs as $config)
15        {
16                if ( ($f_phpini=ini_get($config)) != $php_ini[$config])
17                {
18                        $error = true;
19                        echo "Erro: Config <font color=red>$config</font> from php.ini needs to be '" . $php_ini[$config] . "', but is set to '" . $f_phpini . "'.<br>";
20                }
21        }
22        if ($error)
23                exit;
24        /* End: Check config needed for expressoMail */
25               
26        $GLOBALS['phpgw_info']['flags'] = array(
27                'noheader' => False,
28                'nonavbar' => False,
29                'currentapp' => 'expressoMail1_2',
30                'update_version'        => '1.231',
31                'enable_nextmatchs_class' => True
32        );
33       
34        include('../header.inc.php');
35        $update_version = $GLOBALS['phpgw_info']['flags']['update_version'];
36        echo "<script src='js/globals.js?".$update_version."' type='text/javascript'></script>";
37        echo "<script src='js/sniff_browser.js?".$update_version."' type='text/javascript'></script>";
38        echo '<script type="text/javascript" src="../phpgwapi/js/wz_dragdrop/wz_dragdrop.js?'.$update_version.'"></script>
39                <script type="text/javascript" src="../phpgwapi/js/dJSWin/dJSWin.js?'.$update_version.'"></script>';
40       
41        //Enable/Disable VoIP Service -> Voip Server Config
42        $voip_enabled = false;
43        $voip_groups = array();
44        if($GLOBALS['phpgw_info']['server']['voip_groups']) {
45                foreach(explode(",",$GLOBALS['phpgw_info']['server']['voip_groups']) as $i => $voip_group){
46                        $a_voip = explode(";",$voip_group);                     
47                        $voip_groups[] = $a_voip[1];
48                }
49                foreach($GLOBALS['phpgw']->accounts->membership() as $idx => $group){                   
50                        if(array_search($group['account_name'],$voip_groups) !== FALSE){                 
51                                $voip_enabled = true;
52                                break;
53                        }
54                }
55        }
56
57        // Get Data from ldap_manager and emailadmin.
58        $ldap_manager = CreateObject('contactcenter.bo_ldap_manager');
59        $boemailadmin   = CreateObject('emailadmin.bo');
60        $emailadmin_profile = $boemailadmin->getProfileList();
61    // Loading Admin Config Module
62    $c = CreateObject('phpgwapi.config','expressoMail1_2');
63    $c->read_repository();
64    $current_config = $c->config_data;   
65
66        $_SESSION['phpgw_info']['expressomail']['email_server'] = $boemailadmin->getProfile($emailadmin_profile[0]['profileID']);
67        $_SESSION['phpgw_info']['expressomail']['user'] = $GLOBALS['phpgw_info']['user'];
68        $_SESSION['phpgw_info']['expressomail']['server'] = $GLOBALS['phpgw_info']['server'];
69        $_SESSION['phpgw_info']['expressomail']['ldap_server'] = $ldap_manager ? $ldap_manager->srcs[1] : null;
70        $_SESSION['phpgw_info']['expressomail']['user']['email'] = $GLOBALS['phpgw']->preferences->values['email'];
71       
72        $_SESSION['phpgw_info']['user']['preferences']['expressoMail'] = array(
73                        'voip_enabled'                                          => $voip_enabled,
74                        'outoffice'                                                     => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['outoffice'],
75                        'telephone_number'                                      => $GLOBALS['phpgw_info']['user']['telephonenumber'],
76                        'max_email_per_page'                            => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['max_email_per_page'],
77                'save_deleted_msg'                                      => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_deleted_msg'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_deleted_msg'] : "0",
78            'delete_trash_messages_after_n_days'=> $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['delete_trash_messages_after_n_days'],
79                'delete_and_show_previous_message'      => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['delete_and_show_previous_message'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['delete_and_show_previous_message'] : "0",
80                'alert_new_msg'                                         => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['alert_new_msg'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['alert_new_msg'] : "0",
81                'mainscreen_showmail'                           => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['mainscreen_showmail'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['mainscreen_showmail'] : "0",
82                'signature'                                             => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['signature'],
83                'type_signature'                                        => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['type_signature'],
84                'use_signature'                                         => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_signature'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_signature'] : "0",
85                        'hide_folders'                                          => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['hide_folders'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['hide_folders'] : "0",                 
86                'save_in_folder'                                        => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_in_folder'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['save_in_folder'] : "-1",
87                'line_height'                                           => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['line_height'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['line_height'] : "30",
88                'font_size'                                             => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['font_size'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['font_size'] : "11",
89                'use_shortcuts'                                         => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_shortcuts'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_shortcuts'] : "0",
90                'auto_save_draft'                                       => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['auto_save_draft'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['auto_save_draft'] : "0",
91                        'use_dynamic_contacts'                          => $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'] ? $GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts'] : "0",
92                        'number_of_contacts'                            => $current_config['expressoMail_Number_of_dynamic_contacts'] ? $current_config['expressoMail_Number_of_dynamic_contacts'] : "0"
93               
94        );
95       
96        $template = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
97        $template->set_var("txt_loading",lang("Loading"));
98        $template->set_var("txt_clear_trash",lang("message(s) deleted from your trash folder."));
99    $template->set_var("new_message", lang("New Message"));
100        $template->set_var("lang_inbox", lang("Inbox"));
101    $template->set_var("refresh", lang("Refresh"));
102    $template->set_var("tools", lang("Tools"));
103        $template->set_var("lang_Open_Search_Window", lang("Open search window") . '...');
104        $template->set_var("lang_search_user", lang("Search user") . '...');
105        $template->set_var("upload_max_filesize",ini_get('upload_max_filesize'));
106        $template->set_var("msg_folder",$_GET['msgball']['folder']);
107        $template->set_var("msg_number",$_GET['msgball']['msgnum'] ? $_GET['msgball']['msgnum'] : $_GET['to']);
108        $template->set_var("user_email",$_SESSION['phpgw_info']['expressomail']['user']['email']);
109        $acc = CreateObject('phpgwapi.accounts');
110        $template->set_var("user_organization", $acc->get_organization($GLOBALS['phpgw_info']['user']['account_dn']));
111        $template->set_var("cyrus_delimiter",$_SESSION['phpgw_info']['expressomail']['email_server']['imapDelimiter']);
112        // Fix problem with cyrus delimiter changes in preferences.
113        // Dots in names: enabled/disabled.
114        $save_in_folder = @eregi_replace("INBOX/", "INBOX".$_SESSION['phpgw_info']['expressomail']['email_server']['imapDelimiter'], $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['save_in_folder']);
115        $save_in_folder = @eregi_replace("INBOX.", "INBOX".$_SESSION['phpgw_info']['expressomail']['email_server']['imapDelimiter'], $save_in_folder);
116        $_SESSION['phpgw_info']['user']['preferences']['expressoMail']['save_in_folder'] = $save_in_folder;
117        // End Fix.
118       
119        $template->set_file(Array('expressoMail' => 'index.tpl'));
120        $template->set_block('expressoMail','list');
121        $template->pfp('out','list');
122        $GLOBALS['phpgw']->common->phpgw_footer();
123   
124    $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_enable_log_messages'] = $current_config['expressoMail_enable_log_messages'];
125    // Begin Set Anti-Spam options.
126    $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_command_for_ham'] = $current_config['expressoMail_command_for_ham'];
127    $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_command_for_spam'] = $current_config['expressoMail_command_for_spam'];
128    $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_use_spam_filter'] = $current_config['expressoMail_use_spam_filter'];   
129    echo '<script> var use_spam_filter = \''.$current_config['expressoMail_use_spam_filter'].'\' </script>';
130        // End Set Anti-Spam options.
131
132    // Set Imap Folder names options
133
134    $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder']   = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder']     ? $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder']             : lang("Trash");
135    $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultDraftsFolder']  = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultDraftsFolder'] ? $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultDraftsFolder']       : lang("Drafts");
136    $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSpamFolder']    = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSpamFolder']      ? $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSpamFolder']              : lang("Spam");
137    $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']    = $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']      ? $_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder']              : lang("Sent");
138
139    echo '<script> var special_folders = new Array(4);
140        special_folders["'.$_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder'].'"] = \'Trash\';
141    special_folders["'.$_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultDraftsFolder'].'"] = \'Drafts\';
142    special_folders["'.$_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSpamFolder'].'"] = \'Spam\';
143    special_folders["'.$_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder'].'"] = \'Sent\';
144    var trashfolder = "'.$_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultTrashFolder'].'";
145    var draftsfolder = "'.$_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultDraftsFolder'].'";
146    var sentfolder = "'.$_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSentFolder'].'";
147    var spamfolder = "'.$_SESSION['phpgw_info']['expressomail']['email_server']['imapDefaultSpamFolder'].'";                     
148    </script>';
149
150    // End Set Imap Folder names options
151
152        $obj = createobject("expressoMail1_2.functions");
153        echo "<script src='inc/load_lang.php?".$update_version."' type='text/javascript'></script>";   
154        // INCLUDE these JS Files:
155        echo $obj -> getFilesJs("js/abas.js," .
156                                                        "js/common_functions.js," .
157                                                        "js/doiMenuData.js," .
158                                                        "js/drag_area.js," .
159                                                        "js/draw_api.js," .
160                                                        "js/DropDownContacts.js," .
161                                                        "js/InfoContact.js," .
162                                                        "js/main.js," .
163                                                        "js/rich_text_editor.js," .
164                                                        "js/wfolders.js,",
165                                                        $GLOBALS['phpgw_info']['flags']['update_version']);
166
167        if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail']['use_shortcuts'])
168        {
169                echo $obj -> getFilesJs("js/shortcut.js", $GLOBALS['phpgw_info']['flags']['update_version']);
170        }
171
172        // Get Preferences or redirect to preferences page.
173        $GLOBALS['phpgw']->preferences->read_repository();
174        if ($GLOBALS['phpgw_info']['user']['preferences']['expressoMail'] == null){
175                echo '<script>alert("' . lang('Dear user,\nthis is your first time in the ExpressoMail, your preferences must be saved.\nPlease, choose your preferences and click on the button Save.') . '")</script>';
176                echo "<script>location.href='./preferences.php'</script>";
177        }       
178?>
179
180<html>
181<head>
182<title>ExpressoMail</title>
183<link rel="stylesheet" type="text/css" href="templates/default/main.css">
184<link rel="stylesheet" type="text/css" href="../phpgwapi/js/dftree/dftree.css">
185</head>
186<body scroll="no" style="overflow:hidden">
187</body>
188</html>
189<script src="js/connector.js?<?=$update_version?>" type="text/javascript"></script>
190<script src="../phpgwapi/js/dftree/dftree.js?<?=$update_version?>" type="text/javascript"></script>
191<script language="Javascript">connector.updateVersion = "<?=$update_version?>";init();</script>
192<!-----Expresso Mail - Version Updated:<?=$update_version?>-------->
Note: See TracBrowser for help on using the repository browser.