source: trunk/contactcenter/js/ccIEContacts.js @ 118

Revision 118, 10.4 KB checked in by wmerlotto, 16 years ago (diff)

ContactCenter? internacionalizado. Corrigido falhas de tradução do ExpressoMail?.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1        function cIEContacts () {
2                this.win;
3                this.el;               
4                this.wWidth = 395;
5                this.wHeight = 240;
6        }
7       
8        cIEContacts.prototype.changeOptions = function(type){   
9                if(type == 'i') {
10                        Element('export_span').style.display = 'none';
11                        Element('import_span').style.display = '';
12                }
13                else{
14                        Element('import_span').style.display = 'none';
15                        Element('export_span').style.display = '';             
16                }       
17        }
18       
19        cIEContacts.prototype.showList = function(){
20
21                if (!this.el){         
22                        this.el = document.createElement("DIV");
23                        this.el.style.visibility = "hidden";
24                        this.el.style.position = "absolute";
25                        this.el.style.left = "0px";
26                        this.el.style.top = "0px";
27                        this.el.style.width = this.wWidth       + 'px';
28                        this.el.style.height = this.wHeight + 'px';
29                        if(is_ie) {
30                                this.el.style.width = "430";
31                                this.el.style.overflowY = "auto";       
32                                this.el.style.overflowX = "hidden";
33                        }                                                                                                       
34                        else {                                                                 
35                                this.el.style.overflow = "-moz-scrollbars-vertical";
36                        }
37                        this.el.id = 'cc_rectIEContacts';
38                        document.body.appendChild(this.el);
39
40                        var lang_import_contacts = Element('cc_msg_import_contacts').value;
41                        var lang_export_contacts = Element('cc_msg_export_contacts').value;
42                        var lang_expresso_info_csv = Element('cc_msg_expresso_info_csv').value;
43                        var lang_expresso_default = Element('cc_msg_expresso_default').value;
44                        var lang_choose_contacts_file = Element('cc_msg_choose_contacts_file').value;
45                        var lang_close = Element('cc_msg_close').value;
46                        var lang_moz_tb = Element('cc_msg_moz_thunderbird').value;
47                        var lang_outl_pt = Element('cc_msg_outlook_express_pt').value;
48                        var lang_outl_en = Element('cc_msg_outlook_express_en').value;
49                        var lang_outl2k_pt = Element('cc_msg_outlook_2k_pt').value;
50                        var lang_outl2k_en = Element('cc_msg_outlook_2k_en').value;
51                        var lang_expresso_default_csv = Element('cc_msg_expresso_default_csv').value;
52
53               
54                        this.el.innerHTML =
55                        '<div align="left" id="divAppbox"><table width="100%" border=0>'+
56                        '<tr><td style="border-bottom:1px solid black"><input onclick="javascript:ccIEContacts.changeOptions(this.value)" id="type" type="radio" name="type" value="i" style="border:0" checked>'+lang_import_contacts+
57                        '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input onclick="javascript:ccIEContacts.changeOptions(this.value)" id="type" type="radio" name="type" style="border:0" value="e"/>'+lang_export_contacts+' <br></td></tr>'+
58                        '</table>'+
59                        '<table border=0 height="208px"  width="100%" id="import_span">'+
60                        '<tr><td>'+
61                        '<font color="DARKBLUE" size="2">'+lang_expresso_info_csv+'</font></td></tr>'+
62                        '<tr><td height="75px" valign="top">'+
63                        '<form name="formCSV" method="POST" enctype="multipart/form-data">'+get_lang("Select the file type")+':&nbsp;<select id="typeImport">'+
64                        '<option value="outlook">'+get_lang("Outlook Express")+'</option>'+
65                        '<option value="outlook2000">'+get_lang("Outlook 2000")+'</option>'+
66                        '<option value="thunderbird">'+get_lang("Mozilla Thunderbird")+'</option>'+
67                        '<option value="expresso" selected>'+lang_expresso_default+'</option></select><br>'+
68                        '<br>'+lang_choose_contacts_file+'<br><br>'+                   
69                        '<input id="import_file" type="file" name="import_file">'+
70                        '</form></td></tr>'+
71                        '<tr><td height="10px" align="center" nowrap><span style="visibility:hidden" id="s_info"></span></td></tr>'+
72                        '<tr><td height="10px" align="center"></td></tr>'+
73                        '<tr><td nowrap><center><input id="import_button" type="button" value='+lang_import_contacts+' onClick="javascript:ccIEContacts.importCSV(this)">&nbsp;&nbsp;&nbsp;&nbsp;'+
74                        '<input type="button" value='+lang_close+' onClick="javascript:ccIEContacts.close()"></center></td></tr>'+
75                        '</table>'+
76                        '<table border=0  height="208px"  width="100%" style="display:none" id="export_span">'+
77                        '<tr><td>'+                                             
78                        '<font color="DARKBLUE" size="2">'+get_lang("The Expresso supports the contacts importation in the CSV file format.")+'</font></td></tr>'+
79                        '<tr><td height="85px" valign="top">'+                                         
80                        get_lang("Select the format type that you want to export your contacts")+'<br><br>'+
81                        '<input style="border:0" id="typeExport_0" name="radio" type="radio" value="expresso" checked/>'+lang_expresso_default_csv+'<br>'+
82                        '<input style="border:0" id="typeExport_1" name="radio" type="radio" value="outlook_pt-BR">'+lang_outl_pt+ '<br>'+
83                        '<input style="border:0" id="typeExport_2" name="radio" type="radio" value="outlook_en">'+lang_outl_en+ '<br>'+
84                        '<input style="border:0" id="typeExport_3" name="radio" type="radio" value="outlook2000_pt-BR">'+lang_outl2k_pt + '<br>'+
85                        '<input style="border:0" id="typeExport_4" name="radio" type="radio" value="outlook2000_en">'+lang_outl2k_en + '<br>'+
86                        '<input style="border:0" id="typeExport_5" name="radio" type="radio" value="thunderbird">'+lang_moz_tb + '<br>'+
87                        '</td></tr>'+
88                        '<tr><td align="center">&nbsp;</td></tr>'+
89                        '<tr><td nowrap><center><input id="export_button" type="button" value='+lang_export_contacts+ ' onClick="javascript:ccIEContacts.exportCSV(this)">&nbsp;&nbsp;&nbsp;&nbsp;'+
90                        '<input type="button" value='+lang_close+ ' onClick="javascript:ccIEContacts.close()"></center></td></tr>'+
91                        '</table></div>';
92                }               
93                this.showWindow();
94        }
95               
96        cIEContacts.prototype.showWindow = function ()
97        {                                               
98                if(!this.win) {
99       
100                                this.win = new dJSWin({                 
101                                id: 'ccIEContacts',
102                                content_id: this.el.id,
103                                width: (this.wWidth +(is_ie ? 41 : 0))  +'px',
104                                height: this.wHeight +'px',
105                                title_color: '#3978d6',
106                                bg_color: '#eee',
107                                title: Element('cc_msg_ie_personal').value,
108                                title_text_color: 'white',
109                                button_x_img: '../phpgwapi/images/winclose.gif',
110                                border: true });
111                       
112                        this.win.draw();                       
113                }
114               
115                this.win.open();
116        }
117       
118        cIEContacts.prototype.importWriteStatus = function(args){
119
120                // array args
121                // args[0] - status (success, error ou importing)
122                // args[1] - numero de contatos novos;
123                // args[2] - numero de contatos falhos;
124                // args[3] - numero de contatos sobrescritos;
125                var form = document.formCSV;
126                var status = '';
127
128                var lang_import_fail = Element('cc_msg_import_fail').value;
129                var lang_importing = Element('cc_msg_importing_contacts').value;
130                var lang_import_finish = Element('cc_msg_import_finished').value;
131
132                var l_1         = '<font face="Verdana" size="1" color="GREEN">['+args[1]+' novos]</font>';
133                var l_2         = '<font face="Verdana" size="1" color="RED">['+args[2]+' falharam]</font>';
134                var l_3         = '<font face="Verdana" size="1" color="DARKBLUE">['+args[3]+' já existiam]</font>';
135                var l_error     = '<span style="height:15px;background:#cc4444">&nbsp;&nbsp;<font face="Verdana" size="1" color="WHITE">'+lang_import_fail+ '&nbsp;</font></span>';
136                var l_importing = '<span style="height:15px;background:rgb(250, 209, 99)">&nbsp;&nbsp;<font face="Verdana" size="1" color="DARKBLUE">'+lang_importing + '&nbsp;</font></span>';
137
138                if(args[0] == 'success') {
139
140                        for(i = 1; i < 4; i++) {
141                                status += "&nbsp;"+eval('l_'+i);
142                        }
143                        Element('s_info').innerHTML = '&nbsp;&nbsp;<font face="Verdana" size="1" color="BLACK"><b>'+lang_import_finish+'</b></font><br>&nbsp;'+status;
144                }
145                else
146                        Element('s_info').innerHTML = eval('l_'+args[0]);
147               
148                Element("s_info").style.visibility = '';
149
150                var recreate_fileupload = function () {
151                        var import_file = document.createElement("INPUT");
152                        import_file.type = "FILE";
153                        import_file.name = "import_file";
154                        import_file.id = "import_file";
155                        form.appendChild(import_file);
156                        Element('import_button').disabled = false;
157                        form.style.visibility = '';
158                }                               
159
160                if(args[0] != 'importing') {
161                        recreate_fileupload();
162                        setTimeout("Element('s_info').style.visibility = 'hidden'", 12000);
163                }
164        }
165       
166        cIEContacts.prototype.importCSV = function ()
167        {               
168                var lang_csv_msg = Element('cc_msg_chosse_valid_csv');
169                var form = document.formCSV;
170                if ((form.import_file.value.length < 10) ||
171                (form.import_file.value.substring(form.import_file.value.length - 4, form.import_file.value.length).toLowerCase() != ".csv")){
172                        alert(lang_csv_msg);
173                        return;
174                }
175               
176                var _this = this;
177                Element('import_button').disabled = true;
178
179                var handler_import = function (responseText){
180                        var args = new Array();
181
182                        var data = unserialize(responseText);
183                        if(data.error)
184                                args[0] = 'error';
185                        else {
186                                args[0] = 'success';
187                                args[1] = data._new ? data._new : 0;
188                                args[2] = data._failure ? data._failure : 0;
189                                args[3] = data._existing ? data._existing : 0;
190                        }
191                        _this.importWriteStatus(args);
192                }               
193
194                if(! (divUpload = Element('divUpload'))) {
195                        divUpload               = document.createElement('DIV');               
196                        divUpload.id    = 'divUpload';
197                        document.body.appendChild(divUpload);
198                }
199
200                divUpload.innerHTML= '<iframe style="display:none;width:0px;height:0px" id="importCSVFile" name="importCSVFile"></iframe>';
201
202                var _onload = function(){
203                        var typeImport = Element('typeImport').value;
204
205                        Connector.newRequest('import_contacts','../index.php?menuaction=contactcenter.ui_data.data_manager&method=import_contacts&typeImport='+typeImport,'GET',handler_import);
206                }
207
208                if (Element('importCSVFile').attachEvent)
209                        Element('importCSVFile').attachEvent("onload", _onload);
210                else
211                        Element('importCSVFile').onload = _onload;
212                                       
213                form.action ="inc/cc_updown.php";
214                form.target ="importCSVFile";           
215                form.submit();
216
217                form.removeChild(form.import_file);
218                form.style.visibility = 'hidden';
219                this.importWriteStatus(new Array('importing'));
220
221        }
222       
223        cIEContacts.prototype.close = function() {
224                this.win.close();
225        }
226       
227        cIEContacts.prototype.exportCSV = function() {
228                var lang_export_error = Element('cc_msg_export_error');
229                var handler_export = function(data) {
230                        if(!data){
231                                alert(lang_export_error );
232                                return;
233                        }                               
234                       
235                        var div_download = document.getElementById("id_div_download");
236       
237                        if (!div_download){
238                                div_download = document.createElement("DIV");
239                                div_download.id="id_div_download";
240                                document.body.appendChild(div_download);
241                        }               
242                        div_download.innerHTML="<iframe style='display:none;width:0;height:0' name='attachment' src='inc/cc_updown.php?&file_name=expresso.csv&file_path="+data+"'></iframe>";
243                        Element('export_button').disabled = false;
244                }               
245                var typeExport = Element("typeExport");
246
247                for(var index = 0; index < 5; index++){
248                        if(Element('typeExport_'+index).checked)
249                                break;
250                }
251
252                Element('export_button').disabled = true;
253                Connector.newRequest('export_contacts', '../index.php?menuaction=contactcenter.ui_data.data_manager&method=export_contacts', 'POST', handler_export, 'typeExport='+Element('typeExport_'+index).value);
254        }
255
256/* Build the Object */
257        var     ccIEContacts = new cIEContacts();
Note: See TracBrowser for help on using the repository browser.