Changeset 6702
- Timestamp:
- 07/03/12 10:53:02 (11 years ago)
- Location:
- branches/2.3/expressoMail1_2
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.3/expressoMail1_2/inc/class.imap_functions.inc.php
r6657 r6702 2085 2085 return $return; 2086 2086 } 2087 2087 2088 2088 function send_mail($params) 2089 2089 { … … 2362 2362 foreach($forwarding_attachments as $forwarding_attachment) 2363 2363 { 2364 $file_description = unserialize(rawurldecode($forwarding_attachment)); 2364 2365 $forwarding_attachment = ereg_replace('%u([[:alnum:]]{4})', '_',rawurldecode($forwarding_attachment)); 2366 $file_description = unserialize($forwarding_attachment); 2365 2367 $tmp = array_values($file_description); 2366 2368 foreach($file_description as $i => $descriptor){ -
branches/2.3/expressoMail1_2/js/local_messages.js
r6340 r6702 143 143 if(this.localServer == null) 144 144 this.localServer = google.gears.factory.create('beta.localserver'); 145 if(this.store == null) 145 if(this.store==null){ 146 this.store = this.localServer.openStore('store-expresso'); 147 if(this.store==null) 146 148 this.store = this.localServer.createStore('test-store'); 147 149 } 150 } 148 151 } 149 152 … … 153 156 this.create_objects(); 154 157 155 var db_in_other_use = true; 156 var start_trying = new Date().getTime(); 157 while (db_in_other_use) { 158 var db_is_opened = true; 159 while (db_is_opened) { 158 160 try { 159 this.dbGears.open('database-test');160 db_in_other_use = false;161 this.dbGears.open('database-expresso'); 162 db_is_opened = true; 161 163 } 162 164 catch (ex) { 163 if(new Date().getTime()-start_trying>10000) { //too much time trying, throw an exception 164 throw ex; 165 } 166 } 165 db_is_opened=false; 166 } 167 } 168 169 try{ 170 var rs = this.dbGears.execute('select count(*) from mail'); 171 rs.close(); 172 }catch(ex){ 173 this.dbGears.remove(); 174 var db_is_opened = true; 175 while (db_is_opened) { 176 try{ 177 this.dbGears.open('database-test'); 178 db_is_opened = true; 167 179 } 180 catch(ex){ 181 db_is_opened=false; 182 } 183 } 184 } 168 185 186 169 187 // this.dbGears.open('database-test'); 170 188 this.dbGears.execute('create table if not exists folder (folder text,uid_usuario int,unique(folder,uid_usuario))'); … … 570 588 local_messages.prototype.getInputFileFromAnexo = function (element,url) { 571 589 this.init_local_messages(); 572 fileSubmitter = this.store.createFileSubmitter(); 590 try{ 591 var fileSubmitter = this.store.createFileSubmitter(); 573 592 fileSubmitter.setFileInputElement(element,url); 593 }catch(e){ 594 this.store = this.localServer.openStore('test-store'); 595 var fileSubmitter = this.store.createFileSubmitter(); 596 fileSubmitter.setFileInputElement(element,url); 597 } 574 598 this.finalize(); 575 599 } … … 614 638 } 615 639 Element('chk_box_select_all_messages').checked = false; 616 640 617 641 } 618 642 … … 797 821 var temp = new Array(); 798 822 if (rs.field(0).indexOf('/') == 0){ 799 var rs1 = this.dbGears.execute('update folder set folder=? where rowid=?',[rs.field(0).slice(1),rs.field(1)]); 800 temp[0] = rs.field(0).slice(1); 823 try{ 824 var newName = rs.field(0).slice(1); 825 var rs1 = this.dbGears.execute('update folder set folder=? where rowid=?',[newName,rs.field(1)]); 826 }catch(e){ 827 newName = newName+"_"+rs.field(1) 828 var rs1 = this.dbGears.execute('update folder set folder=? where rowid=?',[newName,rs.field(1)]); 829 } 830 831 temp[0] = newName; 801 832 rs1.close(); 802 833 }else{ … … 1230 1261 1231 1262 //Por Bruno Costa(bruno.vieira-costa@serpro.gov.br - Dessarquiva msgs locais pegando o codigo fonte das mesmas e mandando via POST para o servidor 1232 //para que elas sejam inseridas no imap pela fun ção imap_functions.unarchive_mail.1263 //para que elas sejam inseridas no imap pela função imap_functions.unarchive_mail. 1233 1264 local_messages.prototype.unarchive_msgs = function (folder,new_folder,msgs_number){ 1234 1265 write_msg("Realizando o desarquivamento...",true); 1235 1266 if(!new_folder) 1236 1267 new_folder='INBOX'; … … 1243 1274 expresso_local_messages.delete_msgs(archived.join()); 1244 1275 if(currentTab != 0) 1245 delete_border(currentTab,'false'); 1246 1247 if (!data.error) 1276 delete_border(currentTab,'false'); 1277 clean_msg(); 1278 if (!data.archived || data.archived.length == 0) 1279 { 1280 write_msg(get_lang('No messages were unarchived')); 1281 }else if (!data.error) 1248 1282 { 1249 1283 write_msg(get_lang('All messages are successfully unarchived')); 1284 }else 1285 { 1286 write_msg(get_lang("Some messages weren't successfully unarchived")); 1250 1287 } 1251 else if (!data.archived) 1252 { 1253 write_msg(get_lang('No messages were unarchived')); 1254 } 1255 else 1256 { 1257 write_msg(get_lang("Some messages weren't successfully unarchived")); 1258 } 1288 1259 1289 } 1260 1290 … … 1262 1292 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 1263 1293 } 1264 1265 1294 if(msgs_number =='selected' || !msgs_number) 1266 1295 { … … 1270 1299 return; 1271 1300 } 1301 var totalSize = this.dbGears.execute("select sum(size) from mail where rowid in ("+msgs_number+")"); 1302 if(totalSize.field(0) > 30*1024*1024){ 1303 clean_msg(); 1304 write_msg('Por favor selecione menos de 30MB de mensagens para desarquivar'); 1305 this.finalize(); 1306 return; 1307 } 1308 1272 1309 var rs = this.dbGears.execute("select mail,timestamp,rowid from mail where rowid in ("+msgs_number+")"); 1273 1310 var source=""; … … 1279 1316 mail=connector.unserialize(rs.field(0)); 1280 1317 mail.msg_source?source_tmp = escape(mail.msg_source):source_tmp = escape(this.get_src(mail.url_export_file)); 1318 if(typeof (source_tmp) != 'undefined' && source_tmp != "" && source_tmp.toLowerCase().indexOf("return-path:") == -1){ 1281 1319 flags+="#@#@#@"+mail["Answered"]+":"+mail["Draft"]+":"+mail["Flagged"]+":"+mail["Unseen"]; 1282 1320 source+="#@#@#@"+source_tmp; 1283 1321 timestamp+="#@#@#@"+rs.field(1); 1284 1322 id+="#@#@#@"+rs.field(2); 1323 } 1285 1324 rs.next(); 1286 1325 } … … 1290 1329 else 1291 1330 { 1292 var rs = this.dbGears.execute("select mail,timestamp,rowid from mail where rowid="+msgs_number); 1331 var rs = this.dbGears.execute("select mail,timestamp,rowid,size from mail where rowid="+msgs_number); 1332 if(rs.field(3) > 30*1024*1024){ 1333 clean_msg(); 1334 write_msg('Por favor selecione menos de 30MB de mensagens para desarquivar'); 1335 this.finalize(); 1336 return; 1337 } 1293 1338 mail=connector.unserialize(rs.field(0)); 1294 1339 var source =""; 1295 1340 mail.msg_source?source = escape(mail.msg_source):source = escape(this.get_src(mail.url_export_file)); 1341 if(typeof (source) != 'undefined' && source != '' && source.toLowerCase().indexOf("return-path:") == -1){ 1296 1342 flags = mail["Answered"]+":"+mail["Draft"]+":"+mail["Flagged"]+":"+mail["Unseen"]; 1297 1343 timestamp=rs.field(1); 1298 1344 id=rs.field(2); 1299 1345 rs.close(); 1346 } 1300 1347 this.finalize(); 1301 } 1302 params="&folder="+new_folder+"&source="+source+"×tamp="+timestamp+"&flags="+flags+"&id="+id; 1348 1349 } 1350 params="&folder="+escape(new_folder)+"&source="+source+"×tamp="+timestamp+"&flags="+flags+"&id="+id; 1303 1351 cExecute ("$this.imap_functions.unarchive_mail&", handler_unarchive, params); 1304 1352 }
Note: See TracChangeset
for help on using the changeset viewer.