Ignore:
Timestamp:
05/31/13 18:50:29 (11 years ago)
Author:
cristiano
Message:

Ticket #3456 - Otimizacao e implementacao de habilitar/desabilitar funcionalidades no ExpressoMail?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/inc/class.imap_functions.inc.php

    r8145 r8167  
    233233                                    ++$i; 
    234234                            } 
    235                                                          
    236                                                         $filter = array('AND', array('=', 'folderName', $folder), array('IN','messageNumber', $sort_array_msg)); 
    237                                                         $followupflagged = Controller::find( 
    238                                                                 array('concept' => 'followupflagged'), 
    239                                                                 false,  
    240                                                                 array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
    241                                                         ); 
    242                                                         $labeleds = Controller::find( 
    243                                                                 array('concept' => 'labeled'), 
    244                                                                 false,  
    245                                                                 array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
    246                                                         ); 
    247                             $sort_array_msg_count = count($sort_array_msg); 
    248                                                         for($i=0; $i<$sort_array_msg_count; ++$i){ 
    249                                                                 if(!isset($return[$i]['msg_number'])) 
    250                                                                         continue; 
    251                                                                          
    252                                                                 $numFlags = count($followupflagged); 
    253                                                                 for($ii=0; $ii<$numFlags; ++$ii){ 
    254                                                                         if($return[$i]['msg_number'] == $followupflagged[$ii]['messageNumber']){ 
    255                                                                                 $followupflag = Controller::read( array( 'concept' => 'followupflag', 'id' => $followupflagged[$ii]['followupflagId'] )); 
    256                                                                                 $return[$i]['followupflagged'] = $followupflagged[$ii]; 
    257                                                                                 $return[$i]['followupflagged']['followupflag'] = $followupflag; 
    258                                                                                 break; 
    259                                                                         } 
    260                                                                 } 
    261                                                                 $numLabels = count($labeleds); 
    262                                                                 for($ii=0; $ii<$numLabels; ++$ii){ 
    263                                                                         if($return[$i]['msg_number'] == $labeleds[$ii]['messageNumber']){ 
    264                                                                                 $labels = Controller::read( array( 'concept' => 'label', 'id' =>  $labeleds[$ii]['labelId']));  
    265                                                                                 $return[$i]['labels'][$labeleds[$ii]['labelId']] = $labels; 
    266                                                                         } 
    267                                                                 } 
    268                                                         } 
     235                            if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_followupflags_and_labels'] == "1") 
     236                            { 
     237                                $filter = array('AND', array('=', 'folderName', $folder), array('IN','messageNumber', $sort_array_msg)); 
     238                                $followupflagged = Controller::find( 
     239                                    array('concept' => 'followupflagged'), 
     240                                    false, 
     241                                    array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
     242                                ); 
     243                                $labeleds = Controller::find( 
     244                                    array('concept' => 'labeled'), 
     245                                    false, 
     246                                    array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
     247                                ); 
     248                                $sort_array_msg_count = count($sort_array_msg); 
     249                                for($i=0; $i<$sort_array_msg_count; ++$i){ 
     250                                    if(!isset($return[$i]['msg_number'])) 
     251                                        continue; 
     252 
     253                                    $numFlags = count($followupflagged); 
     254                                    for($ii=0; $ii<$numFlags; ++$ii){ 
     255                                        if($return[$i]['msg_number'] == $followupflagged[$ii]['messageNumber']){ 
     256                                            $followupflag = Controller::read( array( 'concept' => 'followupflag', 'id' => $followupflagged[$ii]['followupflagId'] )); 
     257                                            $return[$i]['followupflagged'] = $followupflagged[$ii]; 
     258                                            $return[$i]['followupflagged']['followupflag'] = $followupflag; 
     259                                            break; 
     260                                        } 
     261                                    } 
     262                                    $numLabels = count($labeleds); 
     263                                    for($ii=0; $ii<$numLabels; ++$ii){ 
     264                                        if($return[$i]['msg_number'] == $labeleds[$ii]['messageNumber']){ 
     265                                            $labels = Controller::read( array( 'concept' => 'label', 'id' =>  $labeleds[$ii]['labelId'])); 
     266                                            $return[$i]['labels'][$labeleds[$ii]['labelId']] = $labels; 
     267                                        } 
     268                                    } 
     269                                } 
     270                            } 
    269271                    } 
    270272                    $return['num_msgs'] =  $num_msgs;    
     
    44464448                                            $elem['uid'] = $new_search; 
    44474449                                            /* compare dates in ordering */ 
    4448                                             $elem['udatecomp'] = substr ($elem['udate'], -4) ."-". substr ($elem['udate'], 3, 2) ."-". substr ($elem['udate'], 0, 2);   
    4449  
    4450                                                                                         $filter = array('AND', array('=', 'folderName', $name_box), array('=','messageNumber', $new_search)); 
    4451                                                                                         $followupflagged = Controller::find( 
    4452                                                                                                 array('concept' => 'followupflagged'), 
    4453                                                                                                 false,  
    4454                                                                                                 array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
    4455                                                                                         ); 
    4456  
    4457                                                                                         if(isset($followupflagged[0]['followupflagId'])) 
    4458                                                                                         { 
    4459                                                                                                 $followupflag = Controller::read( array( 'concept' => 'followupflag', 'id' => $followupflagged[0]['followupflagId'] ));      
    4460                                                                                                 $followupflagged[0]['followupflag'] = $followupflag; 
    4461                                                                                                 $elem['followupflagged'] = $followupflagged[0]; 
    4462  
    4463                                                                                         }        
    4464                                                                                         $labeleds = Controller::find( 
    4465                                                                                                 array('concept' => 'labeled'), 
    4466                                                                                                 false,  
    4467                                                                                                 array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
    4468                                                                                         ); 
    4469                                                                                         foreach ($labeleds as $e){ 
    4470                                                                                                 $labels = Controller::read( array( 'concept' => 'label', 'id' =>  $e['labelId']));      
    4471                                                                                                 $elem['labels'][$e['labelId']] = $labels; 
     4450                                            $elem['udatecomp'] = substr ($elem['udate'], -4) ."-". substr ($elem['udate'], 3, 2) ."-". substr ($elem['udate'], 0, 2); 
     4451                                            if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_followupflags_and_labels'] == "1") 
     4452                                            { 
     4453                                                $filter = array('AND', array('=', 'folderName', $name_box), array('=','messageNumber', $new_search)); 
     4454                                                $followupflagged = Controller::find( 
     4455                                                    array('concept' => 'followupflagged'), 
     4456                                                    false, 
     4457                                                    array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
     4458                                                ); 
     4459 
     4460                                                if(isset($followupflagged[0]['followupflagId'])) 
     4461                                                { 
     4462                                                    $followupflag = Controller::read( array( 'concept' => 'followupflag', 'id' => $followupflagged[0]['followupflagId'] )); 
     4463                                                    $followupflagged[0]['followupflag'] = $followupflag; 
     4464                                                    $elem['followupflagged'] = $followupflagged[0]; 
     4465 
     4466                                                } 
     4467                                                $labeleds = Controller::find( 
     4468                                                    array('concept' => 'labeled'), 
     4469                                                    false, 
     4470                                                    array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
     4471                                                ); 
     4472                                                foreach ($labeleds as $e){ 
     4473                                                    $labels = Controller::read( array( 'concept' => 'label', 'id' =>  $e['labelId'])); 
     4474                                                    $elem['labels'][$e['labelId']] = $labels; 
     4475                                                } 
    44724476                                            } 
    44734477                                            $retorno[] = $elem; 
     
    51135117                                foreach ($subject as $tmp) 
    51145118                                        $return['msgs'][$i]['subject'] .= mb_convert_encoding($tmp->text, 'UTF-8', 'UTF-8 , ISO-8859-1'); 
    5115                                  
    5116                                 $filter = array('AND', array('=', 'folderName', $folder), array('=','messageNumber', $v)); 
    5117                                 $followupflagged = Controller::find( 
    5118                                         array('concept' => 'followupflagged' , 'folder' => $folder ), 
    5119                                         false,  
    5120                                         array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
    5121                                 ); 
    5122  
    5123                                 if(isset($followupflagged[0]['followupflagId'])) 
    5124                                 { 
    5125                                         $followupflag = Controller::read( array( 'concept' => 'followupflag', 'id' => $followupflagged[0]['followupflagId'] ));      
    5126                                         $followupflagged[0]['followupflag'] = $followupflag; 
    5127                                         $return['msgs'][$i]['followupflagged'] = $followupflagged[0]; 
    5128  
    5129                                 }        
    5130                                 $labeleds = Controller::find( 
    5131                                         array('concept' => 'labeled'), 
    5132                                         false,  
    5133                                         array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
    5134                                 ); 
    5135                                 if(is_array($labeleds)) 
    5136                                 foreach ($labeleds as $e){ 
    5137                                         $labels = Controller::read( array( 'concept' => 'label', 'id' =>  $e['labelId']));      
    5138                                         $return['msgs'][$i]['labels'][$e['labelId']] = $labels; 
    5139                                 }        
     5119 
     5120 
     5121                if($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_followupflags_and_labels'] == "1") 
     5122                { 
     5123 
     5124                    $filter = array('AND', array('=', 'folderName', $folder), array('=','messageNumber', $v)); 
     5125                    $followupflagged = Controller::find( 
     5126                        array('concept' => 'followupflagged' , 'folder' => $folder ), 
     5127                        false, 
     5128                        array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
     5129                    ); 
     5130 
     5131                    if(isset($followupflagged[0]['followupflagId'])) 
     5132                    { 
     5133                        $followupflag = Controller::read( array( 'concept' => 'followupflag', 'id' => $followupflagged[0]['followupflagId'] )); 
     5134                        $followupflagged[0]['followupflag'] = $followupflag; 
     5135                        $return['msgs'][$i]['followupflagged'] = $followupflagged[0]; 
     5136 
     5137                    } 
     5138                    $labeleds = Controller::find( 
     5139                        array('concept' => 'labeled'), 
     5140                        false, 
     5141                        array('filter' => $filter, 'criteria' => array('deepness' => '2')) 
     5142                    ); 
     5143                    if(is_array($labeleds)) 
     5144                    foreach ($labeleds as $e){ 
     5145                        $labels = Controller::read( array( 'concept' => 'label', 'id' =>  $e['labelId'])); 
     5146                        $return['msgs'][$i]['labels'][$e['labelId']] = $labels; 
     5147                    } 
     5148                } 
     5149 
    51405150                                $mimeBody = imap_body( $this->mbox, $v  , FT_UID|FT_PEEK  ); 
    51415151                                $return['msgs'][$i]['flag'] = ' '; 
Note: See TracChangeset for help on using the changeset viewer.