Changeset 5570
- Timestamp:
- 02/27/12 20:44:50 (11 years ago)
- Location:
- trunk/prototype
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/mail/interceptors/Helpers.php
r5540 r5570 112 112 public function clearFilterAtFind( &$uri , &$params , &$criteria , $original ) { 113 113 114 if ($criteria['filter'] && !self::in_arrayr('id', $criteria['filter'])) { 114 if ($criteria['filter'] && 115 (self::in_arrayr('messageNumber', $criteria['filter']) || self::in_arrayr('folderName', $criteria['filter'])) ) { 115 116 unset($criteria['filter']); 116 117 } … … 124 125 public function doImapFind( &$uri , &$result , &$criteria , $original ){ 125 126 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 ); 127 if ($result) { 128 $list = array(); 129 foreach ($result as $followupflagged) 130 $list[] = $followupflagged['id']; 133 131 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 } 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 } 140 139 141 140 $imap_uri = $uri; … … 180 179 181 180 //followupflagged:PostgreSQL.after.create 182 public function doImapCreate( &$uri , &$ params, &$criteria , $original ) {183 184 $imap_uri = $uri; 185 $imap_uri['service'] = 'Imap'; 186 187 $imap_params = $ params+ $original['properties'];181 public function doImapCreate( &$uri , &$result , &$criteria , $original ) { 182 183 $imap_uri = $uri; 184 $imap_uri['service'] = 'Imap'; 185 186 $imap_params = $result + $original['properties']; 188 187 if ($imap_params['folderName'] && $imap_params['messageNumber'] && $imap_params['id']) { 189 188 $imap_uri['id'] = $imap_params['folderName'] . '/' . $imap_params['messageNumber'] . '#' . $imap_params['id']; … … 196 195 //followupflagged:PostgreSQL.before.read 197 196 public function doImapRead( &$uri , &$params , &$criteria , $original ) { 198 //TODO - read 199 //$imap_uri = $uri; 200 //$imap_uri['service'] = 'Imap'; 201 //$result = Controller::read($imap_uri, $params, $criteria); 197 $imap_uri = $uri; 198 $imap_uri['service'] = 'Imap'; 199 $result = Controller::read($imap_uri, $params, $criteria); 200 201 return $result; 202 202 } 203 203 … … 226 226 //followupflagged:PostgreSQL.before.update 227 227 public function doImapUpdate( &$uri , &$params , &$criteria , $original ) { 228 //TODO - update 228 /** 229 * Para os conceitos "labeled" e "followupflagged", só faz sentido o update de 230 * atributos gravados no banco de dados e nunca no IMAP. 231 */ 229 232 //$imap_uri = $uri; 230 233 //$imap_uri['service'] = 'Imap'; -
trunk/prototype/services/ImapServiceAdapter.php
r5540 r5570 410 410 public function update( $URI, $data, $criteria = false ) 411 411 { 412 //TODO - remove 413 //TODO - create 412 /** 413 * Os únicos atributos que podem ser alterados no IMAP são folderName e messageId, 414 * porém a operação de update desses atributos não faz sentido para o usuário da DataLayer, 415 * pois na prática elas são executadas através das operações de CREATE e DELETE. 416 * Assim, para os conceitos "labeled" e "followupflagged", só faz sentido o update de 417 * atributos gravados no banco de dados e nunca no IMAP. 418 */ 414 419 } 415 420
Note: See TracChangeset
for help on using the changeset viewer.