Changeset 5708 for trunk/prototype/modules/mail/interceptors/Helpers.php
- Timestamp:
- 03/12/12 18:58:19 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/mail/interceptors/Helpers.php
r5697 r5708 141 141 unset($criteria['filter']); 142 142 } 143 144 /** 145 * TODO - fazer parse do $criteria['filter'] para fazer strip no id composto 146 */ 143 147 } 144 148 … … 149 153 //followupflagged:PostgreSQL.after.find 150 154 public function doImapFind( &$uri , &$result , &$criteria , $original ){ 155 /** 156 * TODO - ver implicações de busca com id no filtro 157 */ 151 158 152 159 if ($result) { … … 176 183 foreach($result as $r) { 177 184 if ($r['id'] == $flagId) { 185 $r['id'] = $ir['id']; 178 186 $r['messageNumber'] = $ir['messageNumber']; 179 187 $r['folderName'] = $ir['folderName']; … … 199 207 //Se existe um sinalizador nesta mensagem, deleta-o 200 208 foreach ($imap_result as $r) { 209 /** 210 * TODO - deletar sem id 211 */ 212 201 213 //deleta no Imap 202 214 $toClearURI['id'] = $r['id']; … … 209 221 } 210 222 } 223 211 224 } 212 225 … … 219 232 220 233 //followupflagged:PostgreSQL.after.create 221 public function doImapCreate( &$uri , &$result , &$criteria , $original ) { 222 223 $imap_uri = $uri; 234 public function doImapCreate( &$uri , &$result , &$criteria , $original ) { 235 /** 236 * Se não consegue salvar no banco, ele retorna objeto válido, porém sem id 237 */ 238 if (!isset($result['id'])) return false; 239 240 $imap_uri = $original['URI'];; 224 241 $imap_uri['service'] = 'Imap'; 225 226 $imap_params = $result + $original['properties']; 242 243 $imap_params = array_merge($original['properties'], $result); 244 245 $result = array(); 227 246 if ($imap_params['folderName'] && $imap_params['messageNumber'] && $imap_params['id']) { 228 $imap_uri['id'] = $imap_params['folderName'] . '/' . $imap_params['messageNumber'] . '#' . $imap_params['id'];229 247 $imap_params['id'] = $imap_params['folderName'] . '/' . $imap_params['messageNumber'] . '#' . $imap_params['id']; 230 248 $result = Controller::create($imap_uri, $imap_params); 231 249 } 232 233 } 234 235 //followupflagged:PostgreSQL.before.read 236 public function doImapRead( &$uri , &$params , &$criteria , $original ) { 237 $imap_uri = $uri; 250 251 if (!$result) { 252 //TODO - rollback 253 } 254 } 255 256 //followupflagged:PostgreSQL.after.read 257 public function doImapRead( &$uri , &$result , &$criteria , $original ) { 258 259 $imap_uri = $original['URI']; 238 260 $imap_uri['service'] = 'Imap'; 239 $result = Controller::read($imap_uri, $params, $criteria); 240 241 return $result; 242 } 243 261 262 $imap_result = Controller::read($imap_uri, $params, $imap_criteria); 263 264 if (!$imap_result) 265 return false; 266 267 $result = array_merge($result, $imap_result); 268 269 } 270 271 //followupflagged:PostgreSQL.before.<...> 272 public function stripURIAttrs( &$uri , &$params , &$criteria , $original ) { 273 list($messageId, $uri['id']) = explode('#', $uri['id']); 274 } 275 244 276 //followupflagged:PostgreSQL.before.delete 245 277 public function doImapDelete( &$uri , &$params , &$criteria , $original ) { 246 278 247 279 $imap_uri = $uri; 248 280 $imap_uri['service'] = 'Imap';
Note: See TracChangeset
for help on using the changeset viewer.