Changeset 5708 for trunk/prototype/modules/mail
- Timestamp:
- 03/12/12 18:58:19 (12 years ago)
- Location:
- trunk/prototype/modules/mail
- Files:
-
- 2 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'; -
trunk/prototype/modules/mail/js/followupflag.js
r5705 r5708 271 271 /** TODO Mudar quando melhorias forem implementadas na API de atualização do cache */ 272 272 DataLayer.remove('followupflagged', false); 273 //DataLayer.get('followupflagged');273 DataLayer.get('followupflagged'); 274 274 var roles = get_selected_messages_search_role().split(','); 275 275 for (var i=0; i < selectedMessageIds.length; i++ ){ … … 286 286 if(onceOpenedHeadersMessages[folder_name][messageNumber]['followupflagged'].id){ 287 287 var flag_id = onceOpenedHeadersMessages[folder_name][messageNumber]['followupflagged'].id; 288 //DataLayer.remove('followupflagged', folder_name + '/' + messageNumber + '#' + flag_id );288 DataLayer.remove('followupflagged', folder_name + '/' + messageNumber + '#' + flag_id ); 289 289 /** 290 290 * TODO - corrigir o formato do ID no DataLayer, para que seja utilizado o ID composto … … 296 296 * código abaixo pela chamada trivial de DataLayer.remove('followupflagged', idCompost) 297 297 */ 298 var data = {};299 data[ 'followupflagged://' + folder_name + '/' + messageNumber + '#' + flag_id ] = false;300 DataLayer.dispatch('Sync', data, false, true);298 // var data = {}; 299 // data[ 'followupflagged://' + folder_name + '/' + messageNumber + '#' + flag_id ] = false; 300 // DataLayer.dispatch('Sync', data, false, true); 301 301 302 302 if(current_folder == folder_name){
Note: See TracChangeset
for help on using the changeset viewer.