Changeset 569 for trunk/expressoMail1_2/js/connector.js
- Timestamp:
- 01/06/09 16:43:13 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/js/connector.js
r446 r569 154 154 return null; 155 155 } 156 156 157 157 return str_data; 158 158 } … … 268 268 break; 269 269 } 270 271 270 return data; 272 271 } … … 345 344 document.getElementById("debug_controller").innerHTML += oxmlhttp.responseText; 346 345 document.getElementById("debug_controller").innerHTML += "<br>-------------------------------------------------------------------------------------<br>"; 347 } 346 } 348 347 handler(data); 348 addToCache(id,data); 349 349 delete _thisObject.requests[id]; 350 350 _thisObject.requests[id] = null; … … 475 475 var id = null; 476 476 477 var connectorCache = { 478 'valid' : [], 479 'result' : [] 480 }; 481 var acertos = 0; 482 var naoacertos = 0; 483 var expurgatedCache = new Array(); // Data to purge from cache 484 485 function queryConnectorCache(url,handler){ 486 if (connectorCache.valid[url]) 487 { 488 handler(connectorCache.result[url]); 489 return true; 490 } 491 else 492 return false; 493 } 494 function purgeCache(){ 495 var i; 496 for (i=0; i<= expurgatedCache.length; i++) 497 { 498 connectorCache.valid[expurgatedCache[i]] = false; 499 delete connectorCache.result[expurgatedCache[i]]; 500 } 501 } 502 function addToCache(id,data){ 503 if (preferences.use_cache != 'True') 504 return false; 505 var func = id.substr(id.lastIndexOf('.')+1); 506 if (func.indexOf('&') > 0) 507 func = func.substr(0,func.indexOf('&')); 508 switch (func){ 509 // functions that enters in cache 510 case 'get_preferences': 511 case 'getSharedUsersFrom': 512 case 'get_organizations': 513 case 'get_catalogs': 514 case 'get_dropdown_contacts': 515 case 'get_cc_contacts': 516 case 'get_cc_groups': 517 case 'get_info_msg': 518 case 'getUsersByEmail': 519 case 'br': 520 case 'search_for': 521 case 'quicksearch': 522 connectorCache.valid[id] = true; 523 connectorCache.result[id] = data; 524 break; 525 // function that needs expire 526 case 'get_range_msgs2': 527 case 'get_folders_list': 528 case 'search_msg': 529 connectorCache.valid[id] = true; 530 connectorCache.result[id] = data; 531 var i = expurgatedCache.length; 532 expurgatedCache[i+1] = id; 533 break; 534 //functions that expires the cache 535 case 'move_messages': 536 case 'getReturnExecuteForm': 537 case 'set_messages_flag': 538 purgeCache(); 539 default: // no cache 540 break; 541 } 542 } 543 477 544 // Function executes AJAX 478 545 // cExecute (url, handler, params) … … 490 557 return; 491 558 } 492 559 493 560 url = DEFAULT_URL + url; 494 495 if(params) 561 562 if (queryConnectorCache(url,handler)) 563 return; 564 565 if(params) 496 566 method = "POST"; 497 498 else 567 else 499 568 method = "GET"; 500 501 569 570 id = url; 502 571 connector.newRequest(id, url, method, handler, params); 503 572 } 504 505 573 574 // This function executes submit values to Controller (POST) 506 575 // The return is void. 507 576 // cExecuteForm (url, form)
Note: See TracChangeset
for help on using the changeset viewer.