Changeset 5637
- Timestamp:
- 03/06/12 02:03:17 (12 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 1 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/js/abas.js
r5626 r5637 5 5 var msgAttachments = new Array(); 6 6 var uidsSave = new Array(); 7 7 var zebraDiscardEventDialog = false; 8 8 function setBorderAttributes(ID) 9 9 { … … 315 315 return $(DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : borderTitle, type: "messages"})); 316 316 }, 317 cursorAt: { cursor: "move", top: 5, left: 56},317 cursorAt: {cursor: "move", top: 5, left: 56}, 318 318 refreshPositions: true , 319 319 scroll: true, … … 394 394 } 395 395 396 opened_alert = false;397 396 398 397 function draftTests(ID, msg_sent){ 399 var cancel = new LertButton(get_lang('cancel'), function() { 400 Element("border_id_"+ID).onclick = function () { alternate_border(ID);}; 401 var setFocus = function(ID){ 402 if ($.trim($("#to_"+ID).val()) == "") 403 $("#to_"+ID).focus(); 404 else if ($("#tr_cc_"+ID).css('display') != 'none' && $.trim($("#cc_"+ID).val()) == "") 405 $("#cc_"+ID).focus(); 406 else if ($("#tr_cco_"+ID).css('display') != 'none' && $.trim($("#cco_"+ID).val()) == "") 407 $("#cco_"+ID).focus(); 408 else if ($.trim($("#subject_"+ID).val()) == "") 409 $("#subject_"+ID).focus(); 410 else{ 411 if (RichTextEditor.plain[id] != true) 412 setTimeout("RichTextEditor.focus("+ID+")",100); 413 else 414 $('#body_'+ID).focus(); 415 } 416 } 417 setFocus(ID); 418 opened_alert = false; 419 }); 398 399 400 if( openTab.toPreserve[ID] = false) 401 { 402 close_delete(ID, msg_sent); 403 delete(openTab.type[ID]); 404 } 405 else 406 { 407 var msg = 'Existem alterações não salvas na mensagem.'; 408 var buttons = ['Descartar alterações', 'Salvar e fechar']; 409 var width = 330; 410 if($('#fileupload_msg'+ID).find('.in-progress').length) 411 { 412 msg = 'Existem arqivos sendo enviados para o servidor.'; 413 buttons = ['Descartar alterações e anexos', 'Salvar estado atual fechar', 'Continuar editando']; 414 width = 560; 415 } 416 zebraDiscardEventDialog = true; 417 window.setTimeout(function() { 418 $.Zebra_Dialog(msg, { 419 'type': 'question', 420 'overlay_opacity': '0.5', 421 'buttons': buttons, 422 'width' : width, 423 'onClose': function(clicked) { 424 if(clicked == 'Descartar alterações' || clicked == 'Descartar alterações e anexos' ) { 425 if (openTab.imapBox[ID] && !openTab.toPreserve[ID]) 426 openTab.toPreserve[ID] = false; 427 428 delete(openTab.type[ID]); 429 close_delete(ID, msg_sent); 430 } 431 else if(clicked == 'Salvar e fechar' || clicked == 'Salvar estado atual fechar') 432 { 433 save_msg(ID); 434 openTab.toPreserve[ID] = false; 435 close_delete(ID, msg_sent); 436 delete(openTab.type[ID]); 437 } 438 else{ 439 440 Element("border_id_"+ID).onclick = function () {alternate_border(ID);}; 441 var setFocus = function(ID){ 442 if ($.trim($("#to_"+ID).val()) == "") 443 $("#to_"+ID).focus(); 444 else if ($("#tr_cc_"+ID).css('display') != 'none' && $.trim($("#cc_"+ID).val()) == "") 445 $("#cc_"+ID).focus(); 446 else if ($("#tr_cco_"+ID).css('display') != 'none' && $.trim($("#cco_"+ID).val()) == "") 447 $("#cco_"+ID).focus(); 448 else if ($.trim($("#subject_"+ID).val()) == "") 449 $("#subject_"+ID).focus(); 450 else{ 451 if (RichTextEditor.plain[id] != true) 452 setTimeout("RichTextEditor.focus("+ID+")",100); 453 else 454 $('#body_'+ID).focus(); 455 } 456 } 457 setFocus(ID); 458 } 459 window.setTimeout(function() { 460 zebraDiscardEventDialog = false; 461 }, 500); 462 }})}, 300); 463 } 420 464 421 var yes = new LertButton(get_lang('Save'), function() {422 save_msg(ID, 'undefined', true);423 openTab.toPreserve[ID] = false;424 close_delete(ID, msg_sent);425 delete(openTab.type[ID]);426 //write_msg(get_lang('Your message was save as draft in folder %1.', lang_folder('Drafts')));427 428 });429 var discard = new LertButton(get_lang('Discard'), function() {430 if (openTab.imapBox[ID] && !openTab.toPreserve[ID])431 {432 //delete_msgs(openTab.imapBox[ID], openTab.imapUid[ID].toString(), 0)433 //delete(openTab.imapBox[ID]);434 openTab.toPreserve[ID] = false;435 }436 delete(openTab.type[ID]);437 close_delete(ID, msg_sent);438 });439 if( $("#save_message_options_"+ID).attr("disabled") == "disabled") {440 openTab.toPreserve[ID] = false;441 close_delete(ID, msg_sent);442 delete(openTab.type[ID]);443 }else{444 var titulo = '<b>' + get_lang('Warning') + '!</b>';445 var message = get_lang("Your changes are not saved. What to do?");446 var multConfirm = new Lert(447 titulo,448 message,449 [cancel,discard,yes],450 {451 defaultButton:yes,452 icon:'js/lert/images/dialog-help.gif'453 });454 multConfirm.display();455 opened_alert = true;456 }457 465 } 458 466 … … 486 494 if (editTest(ID)){ 487 495 bolExecuteClose = false; 488 return(draftTests(ID, msg_sent)); 496 if(zebraDiscardEventDialog === false) 497 return(draftTests(ID, msg_sent)); 489 498 } 490 499 } -
trunk/expressoMail1_2/js/draw_api.js
r5630 r5637 4012 4012 tbody_message.appendChild(tr5); 4013 4013 4014 /**4015 * event to enable autosave_draft on file attachment4016 */4017 function save_onchange_attachment_handler () {4018 away = false;4019 var save_link = Element("save_message_options_"+ID);4020 save_link.onclick = function onclick(event) {4021 openTab.toPreserve[ID] = true;4022 save_msg(ID);4023 };4024 $("#save_message_options_"+ID).button({disabled: false});4025 };4026 4027 4028 4014 var tr5 = document.createElement("TR"); 4029 4015 var td5_link = document.createElement("TD"); -
trunk/expressoMail1_2/js/main.js
r5636 r5637 2335 2335 uidsSave[border_id] = []; 2336 2336 DataLayer.commit(false,false,function(data){ 2337 if(data != null && data['message://'+idJavascript] .id !== undefined )2337 if(data != null && data['message://'+idJavascript] !== undefined && data['message://'+idJavascript].id !== undefined ) 2338 2338 { 2339 2339 uidsSave[border_id].push(data['message://'+idJavascript].id); … … 2341 2341 } 2342 2342 else 2343 write_msg('Erro ao salvar sua menssagem!'); 2343 { 2344 write_msg('Erro ao salvar sua menssagem! Nova tentativa em '+(autosave_time / 1000) + ' segundos.'); 2345 setTimeout( 'save_msg('+border_id+');', autosave_time); 2346 } 2344 2347 }); 2345 2348 -
trunk/prototype/api/controller.php
r5539 r5637 516 516 case 'find': $return = $params['service']->find( $params['URI'], $params['properties'], $params['criteria'] ); break; 517 517 518 case 'read': $return = $params['service']->read( $params['URI'], $params['properties'] /*, $criteria*/); break;518 case 'read': $return = $params['service']->read( $params['URI'], $params['properties'] , $params['criteria'] ); break; 519 519 520 520 case 'create': $return = $params['service']->create( $params['URI'], $params['properties']/*, $criteria*/ ); break; -
trunk/prototype/config/mailAttachment.ini
r5604 r5637 4 4 [before.create] 5 5 encodeCreateAttachment = modules/mail/interceptors/Attachments.php 6 7 [before.read] 8 securityOwner = modules/mail/interceptors/Attachments.php 9 10 [before.find] 11 securityOwner = modules/mail/interceptors/Attachments.php 6 12 7 13 [PostgreSQL.mapping] -
trunk/prototype/modules/mail/interceptors/Attachments.php
r5604 r5637 3 3 class Attachments { 4 4 5 public function encodeCreateAttachment( &$uri , &$params , &$criteria , $original ){ 6 7 if(!isset($params['source'])) return false; 8 9 if(isset($_FILES[$params['source']])) 10 if(isset($params['id'])) 11 $params = array_merge($_FILES[$params['source']], array('id' => $params['id'])); 12 else 13 $params = $_FILES[$params['source']]; 14 15 $params['owner'] = Config::me('uidNumber'); 16 17 $params['disposition'] = $original['properties']['disposition']; 18 $params['dtstamp'] = time(); 5 public function encodeCreateAttachment( &$uri , &$params , &$criteria , $original ){ 6 if(!isset($params['source'])) return false; 7 8 if(isset($_FILES[$params['source']])) 9 $params = $_FILES[$params['source']]; 10 11 $params['owner'] = Config::me('uidNumber'); 12 13 $params['disposition'] = $original['properties']['disposition']; 14 $params['dtstamp'] = time(); 19 15 } 20 16 17 public function securityOwner( &$uri , &$params , &$criteria , $original ) 18 { 19 $criteria['filter'] = isset( $criteria['filter'] ) ? array('AND', $criteria['filter'] , array('=' , 'owner', Config::me('uidNumber')) ) : array('=' , 'owner', Config::me('uidNumber')); 20 } 21 21 22 } 22 23 -
trunk/prototype/services/PostgreSQL.php
r5514 r5637 18 18 } 19 19 20 public function read ( $uri, $justthese = false ){20 public function read ( $uri, $justthese = false , $criteria = false){ 21 21 22 $map = Config::get($uri['concept'], 'PostgreSQL.mapping'); 23 22 $map = Config::get($uri['concept'], 'PostgreSQL.mapping'); 24 23 $justthese = self::parseJustthese($justthese, $map); 25 26 return $this->execResultSql( 'SELECT '.$justthese['select'].' FROM '. (Config::get($uri['concept'],'PostgreSQL.concept')) .' WHERE id = \''.addslashes( $uri['id'] ).'\'', true ); 24 $criteria = ($criteria !== false) ? $this->parseCriteria ( $criteria , $map , ' WHERE id = \''.addslashes( $uri['id'] ).'\'') : ''; 25 26 return $this->execResultSql( 'SELECT '.$justthese['select'].' FROM '. (Config::get($uri['concept'],'PostgreSQL.concept')) .$criteria , true ); 27 27 } 28 28 … … 174 174 } 175 175 176 private static function parseCriteria( $criteria , &$map ){ 177 178 $result = ''; 176 private static function parseCriteria( $criteria , &$map , $query = '' ){ 179 177 180 178 if( isset($criteria["filter"]) && $criteria["filter"] !== NULL ) … … 190 188 * array( '=' , 'campo' , 'valor' ) 191 189 */ 192 193 $result .= 'WHERE ('.self::parseFilter( $criteria['filter'] , $map).')'; 190 $query .= ($query === '') ? 'WHERE ('.self::parseFilter( $criteria['filter'] , $map).')' : ' AND ('.self::parseFilter( $criteria['filter'] , $map).')'; 194 191 } 195 192 /* … … 200 197 { 201 198 foreach ($criteria["join"] as $i => $v) 202 $ result.= ' AND '.$i.' = '.$v.' ';199 $query .= ' AND '.$i.' = '.$v.' '; 203 200 } 204 201 205 202 if( isset($criteria["group"]) ) 206 203 { 207 $ result.= ' GROUP BY '.( is_array($criteria["group"]) ? implode(', ', $criteria["group"]) : $criteria["group"] ).' ';204 $query .= ' GROUP BY '.( is_array($criteria["group"]) ? implode(', ', $criteria["group"]) : $criteria["group"] ).' '; 208 205 } 209 206 210 207 if( isset($criteria["order"]) ) 211 208 { 212 $ result.= ' ORDER BY '.self::parseOrder( $criteria["order"], $map ).' ';209 $query .= ' ORDER BY '.self::parseOrder( $criteria["order"], $map ).' '; 213 210 } 214 211 if( isset($criteria["limit"]) ) 215 212 { 216 $ result.= ' LIMIT '. $criteria["limit"] .' ';213 $query .= ' LIMIT '. $criteria["limit"] .' '; 217 214 } 218 215 if( isset($criteria["offset"]) ) 219 216 { 220 $ result.= ' OFFSET '. $criteria["offset"] .' ';221 } 222 223 return $ result;217 $query .= ' OFFSET '. $criteria["offset"] .' '; 218 } 219 220 return $query; 224 221 } 225 222
Note: See TracChangeset
for help on using the changeset viewer.