Changeset 6754 for branches/2.4/prototype/modules/mail
- Timestamp:
- 07/11/12 11:45:10 (12 years ago)
- Location:
- branches/2.4
- Files:
-
- 14 edited
- 11 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/2.4
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
/trunk merged eligible /sandbox/2.4.1-3 6237-6527
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
-
branches/2.4/prototype/modules/mail/css/followupflag.css
r6167 r6754 53 53 .followupflag-container .background-color {margin:0; outline: 0; width: 100px; -moz-border-radius: 5px; -webkit-border-radius:5px; float: left; } 54 54 .flag-edit { background: #00820F; width: 8px; height: 6px; float:left; margin: 4px 0 -3px 5px; } 55 .flag-edited{ width: 8px; height: 6px; }55 .flag-edited{ width: 8px; height: 6px; } 56 56 .colorpicker { float: right; margin: -15px 0 0 0; } 57 57 … … 209 209 span.removeLabeledMsg {margin:0 5px 0 5px;font-weight: bold;} 210 210 span.removeLabeledMsg:hover {cursor: pointer;} 211 212 .freeow .gray:hover .background { 213 border-color: #BBB; 214 } 215 .minimize-alarm { 216 background: url("../img/minimizar.png") no-repeat scroll 0 0 transparent; 217 height: 16px; 218 position: relative; 219 width: 16px; 220 float:right; 221 margin-right:5px; 222 } 223 .maximize-alarm { 224 background: url("../img/maximizar.png") no-repeat scroll 0 0 transparent; 225 height: 16px; 226 position: relative; 227 width: 16px; 228 float:right; 229 margin-right:5px; 230 } 231 .content-alarm ul { 232 max-height: 100px; 233 overflow: auto; 234 } 235 .content-alarm { 236 margin-top: 5px; 237 } 238 .title-alarm { 239 margin-left: 90px; 240 font-size: 16px; 241 } 242 .alert-options { 243 border: none; 244 } 245 .confirm-alarm { 246 float:right; 247 } 248 .freeow .gray h2 { 249 font-size: 12px; 250 } 251 .freeow { 252 width: 325px; 253 } 254 .freeow .gray .content { 255 margin: 5px; 256 } 257 .freeow .gray .background { 258 background-color: #fafafa; 259 border: 2px solid #BBB; 260 } 261 .freeow .content { 262 margin: 5px; 263 } 264 265 .filtersDeadline .img_title { 266 background: url("../img/email.png") no-repeat scroll 0 0 transparent; 267 height: 20px; 268 position: absolute; 269 width: 20px; 270 float:left; 271 margin-left:40px; 272 top: 7px; 273 } 274 .alarmDeadline .img_title { 275 background: url("../img/flagDefault4.png") no-repeat scroll 0 0 transparent; 276 height: 10px; 277 position: absolute; 278 width: 10px; 279 float:left; 280 margin-left:42px; 281 top: 11px; 282 } 283 .doneDeadline .img_title { 284 background: url("../img/flagDone.png") no-repeat scroll 0 0 transparent; 285 height: 10px; 286 position: absolute; 287 width: 10px; 288 float:left; 289 margin-left:43px; 290 top: 11px; 291 } 292 .search-result-item { 293 border: none; 294 } 295 .td-label-search { 296 border: none; 297 } -
branches/2.4/prototype/modules/mail/interceptors/Attachments.php
r6130 r6754 47 47 * @since Classe disponibilizada na versão 2.4 48 48 */ 49 50 use prototype\api\Config as Config; 51 49 52 class Attachments { 50 53 -
branches/2.4/prototype/modules/mail/interceptors/FollowupflagSecure.php
r5611 r6754 1 1 <?php 2 3 use prototype\api\Config as Config; 4 2 5 class FollowupflagSecure { 3 6 -
branches/2.4/prototype/modules/mail/interceptors/Helpers.php
r6653 r6754 1 1 <?php 2 2 include_once ROOTPATH."/../expressoMail1_2/inc/class.imap_functions.inc.php"; 3 4 use prototype\api\Config as Config; 3 5 4 6 class Helpers { … … 41 43 $labeledsIds[] = $e['id']; 42 44 } 43 44 45 Controller::delete( array( 'concept' => 'labeled', 'service' => 'Imap' ), false, array( 'filter' => array( 'IN', 'id', $labeledsIds )) ); 45 46 … … 205 206 206 207 if(empty($params['messageId'])) 207 throw new Exception('#FollowupflagMessageIdError'); 208 else209 208 throw new Exception('#FollowupflagMessageIdError'); 209 else 210 $params = Controller::create($imap_uri, $params); 210 211 211 212 if (!$params) … … 219 220 * deste interceptor. 220 221 */ 221 222 223 224 222 223 224 225 225 226 if ($original['URI']['service'] == 'PostgreSQL') return $result; 226 227 … … 268 269 //followupflagged:PostgreSQL.after.find 269 270 public function doImapFind( &$uri , &$result , &$criteria , $original ){ 270 271 $imap_uri = $uri;271 272 $imap_uri = $uri; 272 273 $imap_uri['service'] = 'Imap'; 273 274 $imap_criteria = $original['criteria']; -
branches/2.4/prototype/modules/mail/interceptors/LabelSecure.php
r5540 r6754 1 1 <?php 2 3 use prototype\api\Config as Config; 4 2 5 class LabelSecure { 3 6 -
branches/2.4/prototype/modules/mail/js/foldertree.js
r6635 r6754 233 233 // eventnsagens : SE O DROP VIER DE UMA ABA ABERTA 234 234 else if(folder_to_move == "border_tr"){ 235 var id_msg = border_id.split("_")[0]; 235 var id_msg = border_id.split("_")[0]; 236 236 folder = $("#input_folder_"+border_id+"_r")[0] ? $("#input_folder_"+border_id+"_r").val() : (openTab.imapBox[border_id] ? openTab.imapBox[border_id]:get_current_folder()); 237 alternate_border(border_id); 237 238 move_msgs2(folder, id_msg, border_id, folder_to, to_folder_title,true); 238 239 return refresh(); -
branches/2.4/prototype/modules/mail/js/followupflag.js
r6653 r6754 1 MsgsCallbackFollowupflag = { 2 3 '#FollowupflagMessageIdError': function(){ 4 alert('Não foi possível sinalizar esta mensagem. \nDetalhes do erro: mensagem não contém o atributo message-id.'); 5 }, 6 '#FollowupflagLimitError': function(){ 7 alert('Não foi possível sinalizar esta mensagem. \nDetalhes do erro: limite de flags atingido para esta pasta.'); 8 }, 9 '#FollowupflagParamsError': function(){ 10 alert('Não foi possível sinalizar esta mensagem. \nDetalhes do erro: mensagem não contém todos os atributos necessários.'); 11 } 12 13 } 1 MsgsCallbackFollowupflag = { 2 3 '#FollowupflagMessageIdError': function(){ 4 alert('Não foi possível sinalizar esta mensagem. \nDetalhes do erro: mensagem não contém o atributo message-id.'); 5 }, 6 '#FollowupflagLimitError': function(){ 7 alert('Não foi possível sinalizar esta mensagem. \nDetalhes do erro: limite de flags atingido para esta pasta.'); 8 }, 9 '#FollowupflagParamsError': function(){ 10 alert('Não foi possível sinalizar esta mensagem. \nDetalhes do erro: mensagem não contém todos os atributos necessários.'); 11 } 12 13 } 14 14 15 15 function updateCacheFollowupflag(msgNumber, msgFolder, op){ … … 265 265 updateCacheFollowupflag(selectedMessageIds, folders, true); 266 266 winElement.dialog("close"); 267 alarmFollowupflagged( );267 alarmFollowupflagged('followupflagAlarms'); 268 268 }); 269 269 winElement.find('.menu-configure-followupflag .save').button("option", "disabled", true); … … 342 342 DataLayer.commit(false, false, function(){ 343 343 winElement.dialog("close"); 344 alarmFollowupflagged( );344 alarmFollowupflagged('followupflagAlarms'); 345 345 }); 346 346 … … 485 485 486 486 /** 487 * constrói as duas possíveis janela de alerta, utilizando o mesmo template 487 * constrói as três possíveis janelas de alerta, utilizando o mesmo template 488 * para o parametro alert_type, espera-se vazio, followupflagAlarms ou filtersAlarms 489 * vazio: quando serão carregadas todas as modais de alarmes 490 * followupflagAlarms: quando serão carregadas as modais referentes à sinalizações 491 * filtersAlarms: quando será carregada a modal de filtros (nesse caso o parametro filter_list deve conter a lista de mensagens a ser exibida na modal) 488 492 */ 489 function alarmFollowupflagged(){ 490 $('.followupflag-alarm').remove(); 491 var toIterate = [ 492 { 493 attrDeadline: 'doneDeadline', 494 caption: {singular:'You have one undone message today:', 495 plural:"You have %1 undone messages today:" 496 }, 497 onOk: function(event){ 498 if($(event.target).parents('.doneDeadline').find('[name="stopAlert"]').is(':checked')){ 499 $.cookie("fadeCompleted", (new Date).toString("dd/MM/yyyy"), { 500 expires: 1 501 }); 502 } 503 }, 504 enable: ($.cookie("fadeCompleted") != (new Date).toString("dd/MM/yyyy")) 505 }, 506 { 507 attrDeadline: 'alarmDeadline', 508 caption: { 509 singular:'You have a follow up due for today:', 510 plural:'You have %1 follow ups due for today:' 511 }, 512 onOk: function(event){ 513 if($(event.target).parents('.alarmDeadline').find('[name="stopAlert"]').is(':checked')){ 514 $.cookie("fadeAlarm", (new Date).toString("dd/MM/yyyy"), { 515 expires: 1 516 }); 517 } 518 }, 519 enable: ($.cookie("fadeAlarm") != (new Date).toString("dd/MM/yyyy")) 520 } 521 ]; 493 function alarmFollowupflagged(alert_type, filter_list){ 494 switch(alert_type){ 495 // carregar modais de sinalizadores 496 case 'followupflagAlarms': 497 $('.doneDeadline').remove(); 498 $('.alarmDeadline').remove(); 499 var toIterate = [ 500 { 501 attrDeadline: 'doneDeadline', 502 caption: {singular:'You have one undone message today:', 503 plural:"You have %1 undone messages today:" 504 }, 505 title: get_lang('Done'), 506 enable: ($.cookie("fadeCompleted") != (new Date).toString("dd/MM/yyyy")) 507 }, 508 { 509 attrDeadline: 'alarmDeadline', 510 caption: { 511 singular:'You have a follow up due for today:', 512 plural:'You have %1 follow ups due for today:' 513 }, 514 title: get_lang('Follow ups'), 515 enable: ($.cookie("fadeAlarm") != (new Date).toString("dd/MM/yyyy")) 516 } 517 ]; 518 break; 519 // carregar modal de filtros 520 case 'filtersAlarms': 521 $('.filtersDeadline').remove(); 522 var toIterate = [ 523 { 524 attrDeadline: 'filtersDeadline', 525 caption: { 526 singular:'You have an archived message:', 527 plural:'You have %1 messages archived:' 528 }, 529 title: get_lang('Filter by sender'), 530 enable: ($.cookie("fadeFilterAlarm") != (new Date).toString("dd/MM/yyyy")) 531 } 532 ]; 533 break; 534 // carregar todas as modais 535 default: 536 $('.gray').remove(); 537 var toIterate = [ 538 { 539 attrDeadline: 'filtersDeadline', 540 caption: { 541 singular:'You have an archived message:', 542 plural:'You have %1 messages archived:' 543 }, 544 title: get_lang('Filter by sender'), 545 enable: ($.cookie("fadeFilterAlarm") != (new Date).toString("dd/MM/yyyy")) 546 }, 547 { 548 attrDeadline: 'doneDeadline', 549 caption: {singular:'You have one undone message today:', 550 plural:"You have %1 undone messages today:" 551 }, 552 title: get_lang('Done'), 553 enable: ($.cookie("fadeCompleted") != (new Date).toString("dd/MM/yyyy")) 554 }, 555 { 556 attrDeadline: 'alarmDeadline', 557 caption: { 558 singular:'You have a follow up due for today:', 559 plural:'You have %1 follow ups due for today:' 560 }, 561 title: get_lang('Follow ups'), 562 enable: ($.cookie("fadeAlarm") != (new Date).toString("dd/MM/yyyy")) 563 } 564 ]; 565 break; 566 } 522 567 var i = 0; 568 // recupera e monta os dados para serem exibidos nas modais de alarmes 523 569 while (it = toIterate.pop()){ 524 570 if (!it.enable) continue; 525 526 var alarmInRange = DataLayer.get('followupflagged', {filter: ['AND', ['>', it.attrDeadline, (new Date()).set({hour:0, minute:0, second:0}).toString('yyyy-MM-dd 00:00:00')], ['<', it.attrDeadline, (new Date()).set({hour:0, minute:0, second:0}).addHours(24).toString('yyyy-MM-dd 00:00:00')]], criteria: {deepness: 1}}); 571 572 var alarmInRange = {}; 573 // caso for alarme de sinalizadores 574 if(it.attrDeadline == 'doneDeadline' || it.attrDeadline == 'alarmDeadline'){ 575 alarmInRange = DataLayer.get('followupflagged', {filter: ['AND', ['>', it.attrDeadline, (new Date()).set({hour:0, minute:0, second:0}).toString('yyyy-MM-dd 00:00:00')], ['<', it.attrDeadline, (new Date()).set({hour:0, minute:0, second:0}).addHours(24).toString('yyyy-MM-dd 00:00:00')]], criteria: {deepness: 1}}); 576 if(alarmInRange.length > 0){ 577 for(var i=0; i<alarmInRange.length; i++){ 578 if(alarmInRange[i].isDone == 1){ 579 alarmInRange.splice(i,1); 580 i--; 581 } 582 } 583 } 584 585 if(alarmInRange.length > 0){ 586 var messages_alarm = []; 587 for(var i=0; i<alarmInRange.length; i++){ 588 var date = Date.parseExact(alarmInRange[i][it.attrDeadline], 'yyyy-MM-dd HH:mm:ss'); 589 if(date) 590 alarmInRange[i][it.attrDeadline] = date.toString('HH:mm'); 591 592 if(alarmInRange[i]['followupflag']['id'] < 7){ 593 var nameFollowupflag = get_lang(alarmInRange[i]['followupflag']['name']); 594 }else{ 595 var nameFollowupflag = alarmInRange[i]['followupflag']['name']; 596 } 597 var li_alarm = alarmInRange[i][it.attrDeadline] + ' - ' + nameFollowupflag + ' - ' + truncate(alarmInRange[i]['message']['headers']['subject'], 15); 598 messages_alarm.push({ 599 "msg_number" : alarmInRange[i]['messageNumber'], 600 "msg_folder" : alarmInRange[i]['folderName'], 601 "a" : li_alarm 602 }); 603 } 604 } 605 } 606 // caso for alarme de filtros 607 else if(filter_list){ 608 alarmInRange = filter_list; 609 if(alarmInRange.length > 0){ 610 var messages_alarm = []; 611 for(var i=0; i<alarmInRange.length; i++){ 612 var d = new Date(alarmInRange[i]['udate']*1000); 613 var dia = d.getDate(); 614 if(dia < 10){ 615 dia = "0" + dia; 616 } 617 var mes = (d.getMonth()) + 1; 618 if(mes < 10){ 619 mes = "0" + mes; 620 } 621 var ano = d.getFullYear(); 622 var dtFormatada = dia + '/' + mes + '/' + ano; 623 alarmInRange[i]['udate'] = dtFormatada; 624 625 var li_alarm = alarmInRange[i]['udate'] + ' ' + alarmInRange[i]['smalldate'] + ' - ' + alarmInRange[i]['from'] + ' - ' + truncate(alarmInRange[i]['subject'], 15); 626 messages_alarm.push({ 627 "msg_number" : alarmInRange[i]['msg_number'], 628 "msg_folder" : alarmInRange[i]['msg_folder'], 629 "a" : li_alarm 630 }); 631 } 632 } 633 } 634 527 635 if(alarmInRange.length > 0){ 528 for(var i=0; i<alarmInRange.length; i++){ 529 if(alarmInRange[i].isDone == 1){ 530 alarmInRange.splice(i,1); 531 i--; 532 } 533 } 534 } 535 if(alarmInRange.length > 0){ 536 for(var i=0; i<alarmInRange.length; i++){ 537 var date = Date.parseExact(alarmInRange[i][it.attrDeadline], 'yyyy-MM-dd HH:mm:ss'); 538 if(date) 539 alarmInRange[i][it.attrDeadline] = date.toString('HH:mm'); 540 } 636 // monta o subtitulo da modal 541 637 var caption = (alarmInRange.length == 1) ? 542 638 get_lang(it.caption.singular): 543 639 get_lang(it.caption.plural, alarmInRange.length); 544 640 // monta o array de dados a ser passado para o template 545 641 var data = { 546 alarmInRange : alarmInRange,642 alarmInRange : messages_alarm, 547 643 caption: caption, 548 it : it 644 type: it.attrDeadline, 645 captions: it.caption 549 646 }; 647 // tipo de modal a ser exibida 648 var type_alarm = it.attrDeadline; 649 //função chamada ao clicar no botão Ok da modal 650 var ok_function = function(event, type, type_cookie){ 651 if($(event.target).parents('.'+type).find('[name="stopAlert"]').is(':checked')){ 652 $.cookie(type_cookie, (new Date).toString("dd/MM/yyyy"), { 653 expires: 1 654 }); 655 } 656 } 657 // carrega o template dos alarmes e cria a modal utilizando o plugin freeow 550 658 var dialogText = DataLayer.render("../prototype/modules/mail/templates/followupflag_alarm_list.ejs", data); 659 var titulo = '<div class="header-alarm"><span class="img_title"></span><span class="title-alarm"><strong>'+it.title+'</strong></span><span name="header-icon" class="maximize-alarm"></span></div>'; 660 $("#freeow").freeow(titulo, dialogText, { 661 classes: ["gray", type_alarm], 662 autoHide: false, 663 startStyle: null, 664 onClick: function(event){ 665 var type = ''; 666 var type_cookie = ''; 667 if($(this).hasClass('alarmDeadline')){ 668 type = 'alarmDeadline'; 669 type_cookie = 'fadeAlarm'; 670 }else if($(this).hasClass('doneDeadline')){ 671 type = 'doneDeadline'; 672 type_cookie = 'fadeCompleted'; 673 }else if($(this).hasClass('filtersDeadline')){ 674 type = 'filtersDeadline'; 675 type_cookie = 'fadeFilterAlarm'; 676 } 677 if($(event.target).hasClass('stop-alert-alarm')){ 678 return; 679 } 680 if($(event.target).hasClass('minimize-alarm')){ 681 $('.'+type).find('.content-alarm').hide(); 682 $(event.target).removeClass('minimize-alarm').addClass('maximize-alarm'); 683 return; 684 } 685 if($(event.target).hasClass('maximize-alarm')){ 686 $('.'+type).find('.content-alarm').show(); 687 $(event.target).removeClass('maximize-alarm').addClass('minimize-alarm'); 688 return; 689 } 690 if($(event.target).hasClass('confirm-alarm')){ 691 ok_function(event, type, type_cookie); 692 $('.'+type).remove(); 693 return; 694 } 695 return false; 696 } 697 }); 698 // elementos do freeow desnecessários 699 $('.gray .background .content p').remove(); 700 $('.gray .icon').remove(); 701 $('.gray .close').remove(); 551 702 552 /** 553 * A última dialog criada é a dialog mais ao alto 554 */ 555 var offsetHeight = $('.ZebraDialog.right-bottom:last').length ? 556 $(window).height() - $('.ZebraDialog.right-bottom:last').position().top : 0; 557 558 /** 559 * Se for a primeira, desloca para cima do rodapé do grid 560 * caso contrário desloca para um pouco acima da última dialog criada 561 */ 562 offsetHeight = !offsetHeight ? 35 : offsetHeight + 20 ; 563 var dialog = new $.Zebra_Dialog(dialogText, { 564 'buttons': ['Ok'], 565 'modal': false, 566 'vcenter_short_message': false, 567 'position': ['right - 20', 'bottom - ' + offsetHeight.toString() ], 568 'custom_class': 'right-bottom followupflag-alarm '+it.attrDeadline 569 }).dialog; 570 $(".ZebraDialog.followupflag-alarm .ZebraDialog_Button0").click(it.onOk); 571 $(".ZebraDialog.followupflag-alarm .display-options .more").click(function(event) { 572 $(event.target).parents('.followupflag-alarm').find('.message-list').css('height', 'auto'); 573 }); 703 // botão ok da modal com jquery button 704 $('.content-alarm button').button(); 574 705 } 575 706 } 707 708 // controle de qual janela de alarme estará maximizada 709 $('.gray').find('.content-alarm').hide(); 710 $('.gray').find('.header-alarm [name="header-icon"]').removeClass('minimize-alarm').addClass('maximize-alarm'); 711 712 if($('.gray').length > 0){ 713 if($('.gray').hasClass('filtersDeadline')){ 714 $('.filtersDeadline').find('.content-alarm').show(); 715 $('.filtersDeadline .header-alarm [name="header-icon"]').removeClass('maximize-alarm').addClass('minimize-alarm'); 716 }else if($('.gray').hasClass('alarmDeadline')){ 717 $('.alarmDeadline').find('.content-alarm').show(); 718 $('.alarmDeadline .header-alarm [name="header-icon"]').removeClass('maximize-alarm').addClass('minimize-alarm'); 719 }else if($('.gray').hasClass('doneDeadline')){ 720 $('.doneDeadline').find('.content-alarm').show(); 721 $('.doneDeadline .header-alarm [name="header-icon"]').removeClass('maximize-alarm').addClass('minimize-alarm'); 722 } 723 } 724 576 725 } 726 577 727 $('#main_table').ready(function(){ 578 alarmFollowupflagged(); 728 handlerMessageFilter = function (data) { 729 alarmFollowupflagged(null, data); 730 } 731 /* Busca nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */ 732 cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter); 579 733 }); 734 -
branches/2.4/prototype/modules/mail/js/label.js
r6653 r6754 127 127 var hasLabel = true; 128 128 $.each(data, function(index, value) { 129 130 hasLabel = typeof value == 'object' ? false : value;131 129 130 hasLabel = typeof value == 'object' ? false : value; 131 132 132 }); 133 133 … … 166 166 167 167 draw_tree_labels(); 168 var msgsReference = DataLayer.get('labeled', {filter: ['=', 'labelId', ''+labelEdited.id]}, true); 169 168 var msgsReference = DataLayer.get('labeled', {filter: ['=', 'labelId', ''+labelEdited.id]}, true); 169 updateMessageLabels(msgsReference); 170 170 171 171 /** … … 207 207 208 208 DataLayer.remove('label', id); 209 209 210 210 DataLayer.commit(false, false, function(data){ 211 211 $.contextMenu( 'destroy', ".table_box tbody tr"); 212 212 loadMenu(); 213 updateMessageLabels(msgsReference); 213 updateMessageLabels(msgsReference); 214 214 }); 215 215 winElement.find(".label-list li:first").trigger("click"); -
branches/2.4/prototype/modules/mail/templates/followupflag_alarm_list.ejs
r5738 r6754 1 <p class="title"><strong><%= data.caption %> </strong></p> 2 3 <ul class="message-list"> 4 <% 5 for(var i=0; i<data.alarmInRange.length; i++){ 6 var openMessageScript = "cExecute('$this.imap_functions.get_info_msg&msg_number="+data.alarmInRange[i].messageNumber+"&msg_folder="+data.alarmInRange[i].folderName+"&alarm=true', show_msg);"; 7 if(data.alarmInRange[i].followupflag.id < 7){ 8 var nameFollowupflag = get_lang(data.alarmInRange[i].followupflag.name); 9 }else{ 10 var nameFollowupflag = data.alarmInRange[i].followupflag.name; 1 <div class="content-alarm"> 2 <span class="subtitle-alarm"> 3 <strong><%=data.caption %></strong> 4 </span> 5 <ul class="message-list"> 6 <% 7 for(var i=0; i<data.alarmInRange.length; i++){ 8 if(data.type == 'filtersDeadline') 9 var openMessageScript = "$(this).parent().remove(); var msgs_count = $('.filtersDeadline').find('.message-item').length; if(msgs_count == 0){ $('.filtersDeadline').remove(); } $('.subtitle-alarm').find('strong').html((msgs_count == 1)?get_lang('"+data.captions.singular+"'):get_lang('"+data.captions.plural+"', msgs_count)); cExecute('$this.imap_functions.open_flagged_msg&msg_number="+data.alarmInRange[i].msg_number+"&msg_folder="+data.alarmInRange[i].msg_folder+"&alarm=true', show_msg);"; 10 else 11 var openMessageScript = "cExecute('$this.imap_functions.get_info_msg&msg_number="+data.alarmInRange[i].msg_number+"&msg_folder="+data.alarmInRange[i].msg_folder+"&alarm=true', show_msg);"; 12 %> 13 <li class="message-item"> 14 <a onclick="<%=openMessageScript%>"> 15 <%= data.alarmInRange[i].a %> 16 </a> 17 </li> 18 <% 11 19 } 12 %> 13 <li class="message-item"> 14 <a onclick="<%=openMessageScript%>"> 15 <%= (it.attrDeadline == 'alarmDeadline') ? data.alarmInRange[i].alarmDeadline : data.alarmInRange[i].doneDeadline %> - <%= nameFollowupflag %> - <%= data.alarmInRange[i].message.headers.subject %> 16 </a> 17 </li> 18 <% 19 } 20 %> 21 </ul> 22 23 <fieldset class="alert-options"> 24 <input type="checkbox" name="stopAlert"> <label><%= get_lang("Don't show this window anymore today.")%></label> 25 </fieldset> 20 %> 21 </ul> 22 <fieldset class="alert-options"> 23 <input type="checkbox" class="stop-alert-alarm" name="stopAlert"> <label><%= get_lang("Don't show this window anymore today.")%></label> 24 <button class="confirm-alarm">Ok</button> 25 </fieldset> 26 </div> -
branches/2.4/prototype/modules/mail/templates/label_list.ejs
r6723 r6754 14 14 background: <%= (data.labels[i].backgroundColor) ? data.labels[i].backgroundColor : '#ffffff' %>; float:right;"></div> 15 15 16 <div class="button close tiny" style="float: right" title="<%= get_lang("Delete")%>"></div> 17 <div class="button edit tiny" style="float: right" title="<%= get_lang("Edit")%>"></div> 16 <div class="button close tiny" style="float: right" title="<%= get_lang("Delete")%>"></div> 17 <div class="button edit tiny" style="float: right" title="<%= get_lang("Edit")%>"></div> 18 18 </li> 19 19 <%}%> -
branches/2.4/prototype/modules/mail/templates/label_listitem.ejs
r6723 r6754 5 5 <input type="hidden" value="<%= data.id%>" name="labelItemId" class="id-item-list" /> 6 6 <span class="text-list"><%= data.name %></span> 7 <div class="button close tiny" style="float: right" title="<%= get_lang("Delete")%>"></div> 8 7 <div class="button close tiny" style="float: right" title="<%= get_lang("Delete")%>"></div> 8 <div class="button edit tiny" style="float: right" title="<%= get_lang("Edit")%>"></div> 9 9 10 10 </li> -
branches/2.4/prototype/modules/mail/templates/new_message.ejs
r6220 r6754 61 61 </td> 62 62 <td class="value" style="width: 100%;"> 63 <textarea class="new-message-input to" name="input_to" style="width:99%; resize: none;"></textarea> 63 <div class="email-area ui-corner-all"> 64 <input class="new-message-input to email-text" name="input_aux_to" type="text" value="" autocomplete="off"/> 65 </div> 66 <textarea class="new-message-input to" name="input_to" style="width:99%; resize: none;display : none;"></textarea> 64 67 </td> 65 68 </tr> … … 71 74 </td> 72 75 <td class="value"> 73 <textarea class="new-message-input cc" name="input_cc" style="width:99%; resize: none;"></textarea> 76 <div class="email-area ui-corner-all"> 77 <input class="new-message-input cc email-text" name="input_aux_cc" type="text" value="" autocomplete="off"/> 78 </div> 79 <textarea class="new-message-input cc" name="input_cc" style="width:99%; resize: none;display : none;"></textarea> 74 80 </td> 75 81 </tr> … … 81 87 </td> 82 88 <td class="value"> 83 <textarea class="new-message-input cco" name="input_cco" style="width:99%; resize: none;"></textarea> 89 <div class="email-area ui-corner-all"> 90 <input class="new-message-input cco email-text" name="input_aux_cco" type="text" value="" autocomplete="off"/> 91 </div> 92 <textarea class="new-message-input cco" name="input_cco" style="width:99%; resize: none;display : none;"></textarea> 84 93 </td> 85 94 </tr> … … 89 98 </td> 90 99 <td class="value"> 91 <input name="input_subject" class="new-message-input subject" style="width:99.2%; "></input>100 <input name="input_subject" class="new-message-input subject" style="width:99.2%; border-radius: 5px;"></input> 92 101 </td> 93 102 </tr> -
branches/2.4/prototype/modules/mail/templates/quickAddContact.ejs
r6690 r6754 1 <div style="width:auto;"> 2 <table> 3 <tr> 4 <td> 5 <span><%=get_lang('Nickname')%>:</span> 6 </td> 7 <td> 8 <input type="text" value="<%=data.nick%>" maxlength="50" id="quickAddOne_nickName" style="width:205px;"/> 9 </td> 10 </tr> 11 12 <tr> 13 <td> 14 <span><%=get_lang('First Name')%>:</span> 15 </td> 16 <td> 17 <input type="text" value="<%=data.fname%>" maxlength="50" id="quickAddOne_firstName" style="width:205px;" class="required-field"/> 18 </td> 19 </tr> 20 21 <tr> 22 <td> 23 <span><%=get_lang('Last Name')%>:</span> 24 </td> 25 <td> 26 <input type="text" value="<%=data.lname%>" maxlength="50" id="quickAddOne_lastName" style="width:205px;"/> 27 </td> 28 </tr> 29 30 <tr> 31 <td> 32 <span><%=get_lang('Email')%>:</span> 33 </td> 34 <td> 35 <input type="text" value="<%=data.email%>" maxlength="50" id="quickAddOne_email" style="width:205px;" class="required-field"/> 36 </td> 37 </tr> 38 </table> 1 <div style="width:auto;"> 2 <table> 3 <tr> 4 <td> 5 <span><%=get_lang('Nickname')%>:</span> 6 </td> 7 <td> 8 <input type="text" value="<%=data.nick%>" maxlength="50" id="quickAddOne_nickName" style="width:205px;"/> 9 </td> 10 </tr> 11 12 <tr> 13 <td> 14 <span><%=get_lang('First Name')%>:</span> 15 </td> 16 <td> 17 <input type="text" value="<%=data.fname%>" maxlength="50" id="quickAddOne_firstName" style="width:205px;" class="required-field"/> 18 </td> 19 </tr> 20 21 <tr> 22 <td> 23 <span><%=get_lang('Last Name')%>:</span> 24 </td> 25 <td> 26 <input type="text" value="<%=data.lname%>" maxlength="50" id="quickAddOne_lastName" style="width:205px;"/> 27 </td> 28 </tr> 29 30 <tr> 31 <td> 32 <span><%=get_lang('Email')%>:</span> 33 </td> 34 <td> 35 <input type="text" value="<%=data.email%>" maxlength="50" id="quickAddOne_email" style="width:205px;" class="required-field"/> 36 </td> 37 </tr> 38 </table> 39 39 </div>
Note: See TracChangeset
for help on using the changeset viewer.