Changeset 2119 in subversion


Ignore:
Timestamp:
Dec 4, 2008 2:07:29 PM (4 years ago)
Author:
alec
Message:
  • performance: connect to imap server only when needed (some mail actions do not require imap connection)
Location:
trunk/roundcubemail
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/roundcubemail/index.php

    r2096 r2119  
    117117  if (!$RCMAIL->authenticate_session()) { 
    118118    $OUTPUT->show_message('sessionerror', 'error'); 
    119     $RCMAIL->kill_session(); 
    120   } 
    121 } 
    122  
    123  
    124 // log in to imap server 
    125 if (!empty($RCMAIL->user->ID) && $RCMAIL->task == 'mail') { 
    126   if (!$RCMAIL->imap_connect()) { 
    127119    $RCMAIL->kill_session(); 
    128120  } 
     
    224216 
    225217 
    226 // make sure the message count is refreshed (for default view) 
    227 if ($RCMAIL->task == 'mail') { 
    228   $IMAP->messagecount($_SESSION['mbox'], 'ALL', true); 
    229 } 
    230  
    231218// parse main template (default) 
    232219$OUTPUT->send($RCMAIL->task); 
  • trunk/roundcubemail/program/steps/mail/func.inc

    r2106 r2119  
    2323require_once('include/rcube_smtp.inc'); 
    2424 
    25  
    2625$EMAIL_ADDRESS_PATTERN = '/([a-z0-9][a-z0-9\-\.\+\_]*@[a-z0-9]([a-z0-9\-][.]?)*[a-z0-9]\\.[a-z]{2,5})/i'; 
     26 
     27// actions that do not require imap connection 
     28$NOIMAP_ACTIONS = array('spell', 'addcontact', 'autocomplete', 'upload'); 
     29 
     30 
     31// log in to imap server 
     32if (!in_array($RCMAIL->action, $NOIMAP_ACTIONS) && !$RCMAIL->imap_connect()) { 
     33  $RCMAIL->kill_session(); 
     34 
     35  if ($OUTPUT->ajax_call) 
     36    $OUTPUT->redirect(array(), 2000); 
     37 
     38  $OUTPUT->set_env('task', 'login'); 
     39  $OUTPUT->send('login'); 
     40} 
     41 
     42 
    2743 
    2844// set imap properties and session vars 
     
    6581      $OUTPUT->set_env('search_request', $search_request); 
    6682      } 
     83     
     84      // make sure the message count is refreshed (for default view) 
     85      $IMAP->messagecount($mbox_name, 'ALL', true); 
    6786    } 
    6887         
Note: See TracChangeset for help on using the changeset viewer.