Changeset 5540 for trunk/prototype/modules/mail/interceptors/Helpers.php
- Timestamp:
- 02/23/12 21:25:44 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/mail/interceptors/Helpers.php
r5533 r5540 5 5 6 6 /** 7 * LABEL S7 * LABEL 8 8 */ 9 //labeled:after.find 9 10 public function deepnessLabeleds( &$uri , &$result , &$criteria , $original ){ 10 11 … … 29 30 * desvinculação deste label com todas as mensagens a que estava vinculado 30 31 */ 32 //label:before.delete 31 33 public function clearAllLabeledsOfLabel( &$uri , &$result , &$criteria , $original ){ 32 34 … … 45 47 } 46 48 /** 47 * Método a ser chamado ao listar os labeleds, uma vez que as funçà £ode IMAP do PHP não são capazes de49 * Método a ser chamado ao listar os labeleds, uma vez que as funções de IMAP do PHP não são capazes de 48 50 * obter a lista de todos os labels e nem são capazes de obter os labels de uma dada mensagem 49 51 */ 52 //labeled:before.find 50 53 public function makeLabelListFilter( &$uri , &$result , &$criteria , $original ){ 51 54 … … 76 79 77 80 /** 78 * FOLLOWUPFLAG S81 * FOLLOWUPFLAG 79 82 */ 80 83 84 //followupflagged:after.find 81 85 public function deepnessFollowupflaggeds( &$uri , &$result , &$criteria , $original ){ 82 86 83 87 if(isset($original['criteria']['deepness'])) 84 88 { … … 87 91 if(isset($v['followupflagId'])) 88 92 { 89 $followupflag = Controller::find( array( 'concept' => 'followupflag' ) , false, array( 'filter' => array('=', 'id' ,$v['followupflagId']) ));93 $followupflag = Controller::find(array('concept' => 'followupflag'), false, array('filter' => array('=', 'id', $v['followupflagId']) )); 90 94 $result[$i]['followupflag'] = $followupflag[0]; 91 95 } … … 93 97 if(isset($v['messageNumber']) && isset($v['folderName'])) 94 98 { 95 $details = $ criteria['deepness'] == '1' ? 'headers' : 'all';99 $details = $original['criteria']['deepness'] == '1' ? 'headers' : 'all'; 96 100 97 101 $imapService = new imap_functions(); … … 104 108 return $result; 105 109 } 106 110 111 //followupflagged:PostgreSQL.before.find 112 public function clearFilterAtFind( &$uri , &$params , &$criteria , $original ) { 113 114 if ($criteria['filter'] && !self::in_arrayr('id', $criteria['filter'])) { 115 unset($criteria['filter']); 116 } 117 } 118 119 /** 120 * Método a ser chamado ao listar os sinalizadores, uma vez que as funções de IMAP do PHP não são capazes de 121 * obter a lista de todos os sinalizadores e nem são capazes de obter os sinalizadores de uma dada mensagem 122 */ 123 //followupflagged:PostgreSQL.after.find 124 public function doImapFind( &$uri , &$result , &$criteria , $original ){ 125 126 if (!self::in_arrayr('id', $original['criteria']['filter'])) { 127 if ($result) { 128 $list = array(); 129 foreach ($result as $followupflagged) 130 $list[] = $followupflagged['id']; 131 132 $filter = array( 'IN' , 'id' , $list ); 133 134 if (isset($original['criteria']['filter']) && $original['criteria']['filter']!=NULL && count($original['criteria']['filter']) != 0) 135 $criteria['filter'] = array( 'AND', $original['criteria']['filter'], $filter ); 136 else 137 $criteria['filter'] = $filter; 138 } 139 } 140 141 $imap_uri = $uri; 142 $imap_uri['service'] = 'Imap'; 143 $imap_result = Controller::find($imap_uri, $params, $criteria); 144 145 /** 146 * Mescla os dados vindos do PostgreSQL com os dados vindos do Imap 147 */ 148 $merge_result = array (); 149 foreach ($imap_result as $ir) { 150 list($messageId, $flagId) = explode('#', $ir['id']); 151 152 foreach($result as $r) { 153 if ($r['id'] == $flagId) { 154 $r['messageNumber'] = $ir['messageNumber']; 155 $r['folderName'] = $ir['folderName']; 156 157 $merge_result[] = $r; 158 } 159 } 160 } 161 162 return $merge_result; 163 } 164 165 //followupflagged:PostgreSQL.before.create 107 166 public function letFollowupflaggedKeepUnique (&$uri , &$params , &$criteria , $original ){ 167 108 168 if (isset($params['folderName']) && isset($params['messageNumber'])) { 109 169 $filter = array ( 'AND', array('=', 'folderName', $params['folderName']), array('=', 'messageNumber', $params['messageNumber']) ); … … 119 179 */ 120 180 121 // PostgreSQL.after.create181 //followupflagged:PostgreSQL.after.create 122 182 public function doImapCreate( &$uri , &$params , &$criteria , $original ) { 123 183 … … 134 194 } 135 195 136 //PostgreSQL.before.find 137 public function doImapFind( &$uri , &$params , &$criteria , $original ) { 138 $imap_uri = $uri; 139 $imap_uri['service'] = 'Imap'; 140 $result = Controller::find($imap_uri, $params, $criteria); 141 142 if($result) { 143 /** TODO: 144 * - se achar no Imap, passar as referencias para o PostgresSQL para que 145 * seja conferida a consistência dos dados no postgres (Nota: os dados podem 146 * ficar inconsistentes no postgres se a mensagem for movida no Imap, assim 147 * messageNumber e/ou folderName podem estar desatualizados no postgres) 148 */ 149 } 150 } 151 152 //PostgreSQL.before.read 196 //followupflagged:PostgreSQL.before.read 153 197 public function doImapRead( &$uri , &$params , &$criteria , $original ) { 154 $imap_uri = $uri; 155 $imap_uri['service'] = 'Imap'; 156 $result = Controller::read($imap_uri, $params, $criteria); 157 } 158 159 //PostgreSQL.before.delete 198 //TODO - read 199 //$imap_uri = $uri; 200 //$imap_uri['service'] = 'Imap'; 201 //$result = Controller::read($imap_uri, $params, $criteria); 202 } 203 204 //followupflagged:PostgreSQL.before.delete 160 205 public function doImapDelete( &$uri , &$params , &$criteria , $original ) { 161 206 $toGetURI = $uri; … … 179 224 } 180 225 181 // PostgreSQL.before.update226 //followupflagged:PostgreSQL.before.update 182 227 public function doImapUpdate( &$uri , &$params , &$criteria , $original ) { 183 228 //TODO - update … … 186 231 //$result = Controller::update($imap_uri, $params, $criteria); 187 232 } 188 /* 189 public function createCalendarToSchedulable( &$uri , &$result , &$criteria , $original ){ 190 Controller::create(array('concept' => 'calendarToSchedulable'), array('calendar' => $original['properties']['calendar'], 'schedulable' => $result['id'] )); 191 } 192 */ 233 193 234 } 194 235
Note: See TracChangeset
for help on using the changeset viewer.