Changeset 5972 for trunk/prototype
- Timestamp:
- 04/19/12 12:03:07 (12 years ago)
- Location:
- trunk/prototype
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/config/followupflagged.ini
r5959 r5972 3 3 4 4 [PostgreSQL.before.create] 5 letFollowupflaggedKeepUnique = modules/mail/interceptors/Helpers.php 5 6 doImapCreate = modules/mail/interceptors/Helpers.php 6 7 … … 16 17 [PostgreSQL.after.find] 17 18 doImapFind = modules/mail/interceptors/Helpers.php 19 20 [after.find] 21 deepnessFollowupflaggeds = modules/mail/interceptors/Helpers.php 22 23 18 24 19 25 [PostgreSQL.mapping] -
trunk/prototype/modules/mail/interceptors/Helpers.php
r5971 r5972 82 82 * FOLLOWUPFLAG 83 83 */ 84 84 //followupflagged:after.find 85 public function deepnessFollowupflaggeds( &$uri , &$result , &$criteria , $original ){ 86 87 if(isset($original['criteria']['deepness'])) 88 { 89 foreach ($result as $i => $v) 90 { 91 if(isset($v['followupflagId'])) 92 { 93 $followupflags = Controller::find(array('concept' => 'followupflag'), false, array('filter' => array('=', 'id', $v['followupflagId']) )); 94 95 /** 96 * Devido há inconsistencias na chamada do interceptor addDefaultElementsFilter (followupflag:before.find) 97 * os followupflag defaults são inseridos no retorno, por isso é necessário procurar o objeto correto 98 * através do id 99 */ 100 foreach ($followupflags as $followupflag) { 101 if ($v['followupflagId'] == $followupflag['id']) { 102 $result[$i]['followupflag'] = $followupflag; 103 break; 104 } 105 } 106 } 107 108 if(isset($v['messageNumber']) && isset($v['folderName'])) 109 { 110 $details = $original['criteria']['deepness'] == '1' ? 'headers' : 'all'; 111 112 $imapService = new imap_functions(); 113 $message = $imapService->getMessages(array('messages' => array($v['folderName'] => array($v['messageNumber'])), 'details' => $details)); 114 $result[$i]['message'] = $message[$v['folderName']][0]; 115 } 116 } 117 } 118 119 return $result; 120 } 121 122 //followupflagged:PostgreSQL.before.create 123 public function letFollowupflaggedKeepUnique (&$uri , &$params , &$criteria , $original ){ 124 125 if (isset($params['folderName']) && isset($params['messageNumber'])) { 126 $filter = array ('AND', array('=', 'folderName', $params['folderName']), array('=', 'messageNumber', $params['messageNumber'])); 127 128 $imap_result = Controller::find( 129 array('concept' => 'followupflagged'), 130 array('messageId'), 131 array('filter' => $filter) 132 ); 133 134 if($imap_result) { 135 $params['messageId'] = $imap_result['messageId']; 136 } 137 } 138 139 $filter = array('=', 'messageId', $params['messageId']); 140 Controller::delete(array('concept' => 'followupflagged', 'service' => 'PostgreSQL'), null, $filter); 141 } 142 85 143 //followupflag:before.find 86 144 public function addDefaultElementsFilter (&$uri , &$params , &$criteria , $original ){
Note: See TracChangeset
for help on using the changeset viewer.