Changeset 6512


Ignore:
Timestamp:
06/15/12 09:17:48 (8 years ago)
Author:
gustavo
Message:

Ticket #2766 - implementacao da dfd0065 e correcao de bugs da dfd0099

Location:
sandbox/2.4.1-3
Files:
52 added
20 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.4.1-3/expressoMail1_2/inc/class.db_functions.inc.php

    r6105 r6512  
    2424        include_once(PHPGW_API_INC.'/class.db.inc.php');  
    2525}  
    26 include_once('class.dynamic_contacts.inc.php'); 
    2726         
    2827class db_functions 
     
    249248 
    250249        //Gera lista de contatos para ser gravado e acessado pelo expresso offline. 
    251         function get_dropdown_contacts_to_cache() { 
     250        /*function get_dropdown_contacts_to_cache() { 
    252251                return $this->get_dropdown_contacts(); 
    253252        } 
     
    275274                } 
    276275                return $stringDropDownContacts;  
    277         } 
     276        }*/ 
    278277        function getUserByEmail($params){        
    279278                // Follow the referral 
     
    308307                return $result; 
    309308        } 
    310          
     309        /* 
    311310        function get_dynamic_contacts() 
    312311        {                                
     
    333332                return $contacts; 
    334333        } 
     334        */ 
     335        /* 
    335336        function update_contacts($contacts=array()) 
    336337        {                        
     
    364365                } 
    365366                return $contacts; 
    366         }        
     367        }       */ 
     368         
    367369        function update_preferences($params){ 
    368370                $string_serial = urldecode($params['prefe_string']);                             
     
    377379        } 
    378380         
     381        /* 
    379382        function insert_contact($contact)        
    380383        { 
     
    396399                $this->db->delete('phpgw_expressomail_contacts',$where,$line,$file);     
    397400        } 
    398          
     401        */  
    399402        function import_vcard($params){ 
    400403            include_once('class.imap_functions.inc.php'); 
  • sandbox/2.4.1-3/expressoMail1_2/inc/class.imap_functions.inc.php

    r6212 r6512  
    31083108                    error_log("$now - $userip - $sent [$subject] - $userid => $addrs\r\n", 3, "/home/expressolivre/mail_senders.log"); 
    31093109                } 
    3110                 if ($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['use_dynamic_contacts']) { 
    3111                     $contacts = new dynamic_contacts(); 
    3112                     $new_contacts = $contacts->add_dynamic_contacts($toaddress . "," . $ccaddress . "," . $ccoaddress); 
    3113                     return array("success" => true, "new_contacts" => $new_contacts); 
    3114                 } 
    3115                  
    3116                    if($params['uids_save'] ) 
    3117                         $this->delete_msgs(array('folder'=> $params['save_folder'] , 'msgs_number' => $params['uids_save'])); 
     3110                if($params['uids_save'] ) 
     3111                                        $this->delete_msgs(array('folder'=> $params['save_folder'] , 'msgs_number' => $params['uids_save'])); 
    31183112                        
    3119                  
    31203113                //return array("success" => true, "folder" => $folder_list); 
    31213114                                return array("success" => true, "load" => $has_new_folder); 
  • sandbox/2.4.1-3/expressoMail1_2/index.php

    r6376 r6512  
    5757                <script type="text/javascript" src="../prototype/plugins/datejs/sugarpak.js"></script> 
    5858                <script type="text/javascript" src="../prototype/plugins/datejs/parser.js"></script> 
     59                <script type="text/javascript" src="../prototype/plugins/jq-raty/js/jquery.raty.min.js"></script> 
    5960 
    6061                <script type="text/javascript" src="../prototype/plugins/watermark/jquery.watermarkinput.js"></script> 
  • sandbox/2.4.1-3/expressoMail1_2/js/QuickCatalogSearch.js

    r6422 r6512  
    598598 
    599599                final_contact = final_contact.replace(/\/n/, "");  
    600                 if(data_[parseInt(divs.split("_")[1])-1].type_contact == "G"){ 
     600                var index = parseInt(divs.split("_")[1])-1; 
     601                if(data_[index].type_contact == "G"){ 
    601602                        var ldap_id = preferences.expressoMail_ldap_identifier_recipient; 
    602603                        if(ldap_id){ 
    603604                                draw_email_box( 
    604                                         (data_[parseInt(divs.split("_")[1])-1][ldap_id.toLowerCase()] ? data_[parseInt(divs.split("_")[1])-1][ldap_id.toLowerCase()][0] : final_contact) 
     605                                        (data_[index][ldap_id.toLowerCase()] ? data_[index][ldap_id.toLowerCase()][0] : final_contact) 
    605606                                        , content.find(field_).filter("input") 
    606607                                ); 
     
    609610                        } 
    610611                }else{ 
    611                         draw_email_box(data_[0].id_contact, content.find(field_).filter("input"), true); 
     612                        draw_email_box((data_[index].id_contact ? data_[index].id_contact : data_[index].id), content.find(field_).filter("input"), (data_[index].id_contact ? true : "G")); 
    612613                } 
    613614                button.onclick = function(){ 
  • sandbox/2.4.1-3/expressoMail1_2/js/ccQuickAdd.js

    r5878 r6512  
    3232                                                                                data = data + $(this).find('#quickAddOne_nickName').val() + ','; 
    3333                                                                                data = data + $(this).find('#quickAddOne_firstName').val() + ','; 
    34                                                                                 data = data + $(this).find('#quickAddOne_lastName').val() + ','; 
     34                                                                                data = data + $(this).find('#quickAddOne_lastName').val() + ',,'; 
    3535                                                                                data = data + $(this).find('#quickAddOne_email').val(); 
    3636                                                                                if(ccQuickAddOne.send(data)) 
     
    4747        { 
    4848                var sdata               = data.split(","); 
    49                 var email               = trim(sdata[3]); 
     49                var email               = trim(sdata[4]); 
    5050                var full_name   = trim(sdata[1]) + ' ' + trim(sdata[2]); 
    5151                var _this               = this; 
     
    102102                 
    103103                connector.newRequest('cQuickAdd.Send', CC_url+'quick_add', 'POST', handler, sdata); 
     104                 
     105                updateDynamicPersonalContacts(); 
     106                updateDynamicContactList(); 
    104107                return true; 
    105108        } 
  • sandbox/2.4.1-3/expressoMail1_2/js/doiMenuData.js

    r6460 r6512  
    200200        autoHide:true, 
    201201        items: { 
    202                 "add" : {name:"Adicao Rapida de Contato", icon : "quick-add",callback: function(key, opt){ var fname = $(opt.$trigger).find("input").val().split('"')[1];ccQuickAddOne.showList(','+fname+', ,'+$.trim($(opt.$trigger).find("input").val()).match(reComplexEmail)[1]); }}, 
    203                 "remove" : {name:"Remover este contato", icon:"delete-box",callback: function(key, opt){ $(opt.$trigger).remove(); }}, 
     202                "add" : {name:"Adicao Rapida", icon : "quick-add",callback: function(key, opt){ var fname = $(opt.$trigger).find("input").val().split('"')[1];ccQuickAddOne.showList(','+fname+', ,'+$.trim($(opt.$trigger).find("input").val()).match(reComplexEmail)[1]); }}, 
     203                "remove" : {name:"Remover Destinatario", icon:"delete-box",callback: function(key, opt){ $(opt.$trigger).remove(); }}, 
    204204                "sep1": "---------", 
    205                 "quick_search" : {name:"Pesquisa Rapida de Mensagens", icon: "quick-search-contact",callback: function(key, opt){ search_emails($.trim($(opt.$trigger).find("input").val()).match(reComplexEmail)[1]); }}, 
    206                 "full_search" : {name:"Pesquisa Avancada de Mensagens", icon: "quick-search-contact",callback: function(key, opt){ search_emails("", $.trim($(opt.$trigger).find("input").val()).match(reComplexEmail)[1]);}}            
     205                "quick_search" : {name:"Busca Rapida de Mensagens", icon: "quick-search-contact",callback: function(key, opt){ search_emails($.trim($(opt.$trigger).find("input").val()).match(reComplexEmail)[1]); }}, 
     206                "full_search" : {name:"Buscar Mensagens de ...", icon: "quick-search-contact",callback: function(key, opt){ search_emails("", $.trim($(opt.$trigger).find("input").val()).match(reComplexEmail)[1]);}}           
    207207        } 
    208208}); 
     
    322322} 
    323323 
    324  
    325  
    326  
    327  
    328  
    329  
     324function loadGroupBox(data, element){ 
     325        menuItensLabel = {}; 
     326        menuItensLabel["ContactGroupLabelAll"] = {name:"<b>Contatos do Grupo</b>", disabled: true}; 
     327        menuItensLabel["sep1"] = "---------"; 
     328        if(data.itens){ 
     329                var aux = 0; 
     330                for(var item in data.itens){ 
     331                        if(parseInt(item) <= 4){ 
     332                                menuItensLabel["ContactGroupLabel"+item] = {name: "<b>"+data.itens[item].data[0].value+"</b>", disabled: true}; 
     333                                menuItensLabel["ContactGroupValue"+item] = {name: data.itens[item].data[2].value, disabled: true}; 
     334                        }else{ 
     335                                aux++; 
     336                                if(aux == 1) 
     337                                        menuItensLabel["MoreContactGroupValue"] = {name : "E mais "+aux+" contato...", disabled: true }; 
     338                                else 
     339                                        menuItensLabel["MoreContactGroupValue"] = {name : "E mais "+aux+" contatos...", disabled: true }; 
     340                        } 
     341                } 
     342        } 
     343        $.contextMenu({ 
     344                selector: "#content_id_"+currentTab+" "+element+" .box-info", 
     345                trigger: 'hover', 
     346                delay:100, 
     347                autoHide:true, 
     348                items: menuItensLabel 
     349        });      
     350} 
     351 
     352 
     353 
     354 
     355 
  • sandbox/2.4.1-3/expressoMail1_2/js/draw_api.js

    r6460 r6512  
    99 */ 
    1010onceOpenedHeadersMessages = {}; 
    11  
    12 var dynamicPersonalContacts = new Array(); 
    13 var dynamicPersonalGroups = new Array(); 
    1411 
    1512var openTab = { 
     
    14801477                if ((headers_msgs.Forwarded == 'F')  || (headers_msgs.Draft == 'X' && headers_msgs.Answered == 'A')){ 
    14811478                        td_element21.onclick=function(){search_emails(headers_msgs.subject.replace(/^(re: ?|fw: ?|enc: ?|res: ?|fwd: ?)*/gi,''),true);}; 
    1482                         td_element21.innerHTML = "<img src ='templates/"+template+"/images/forwarded.gif' title='"+get_lang('Forwarded')+"'>"; 
     1479                        td_element21.innerHTML = "<img src ='templates/"+template+"/images/forwarded.png' title='"+get_lang('Forwarded')+"'>"; 
    14831480                        headers_msgs.Draft = '' 
    14841481                        headers_msgs.Answered = ''; 
     
    14861483                } 
    14871484                else if (headers_msgs.Draft == 'X') 
    1488                         td_element21.innerHTML = "<img src ='templates/"+template+"/images/draft.gif' title='"+get_lang('Draft')+"'>"; 
     1485                        td_element21.innerHTML = "<img src ='templates/"+template+"/images/draft.png' title='"+get_lang('Draft')+"'>"; 
    14891486                else if (headers_msgs.Answered == 'A'){ 
    14901487                        td_element21.onclick=function(){search_emails(headers_msgs.subject.replace(/^(re: ?|fw: ?|enc: ?|res: ?|fwd: ?)*/gi,''),true);}; 
    1491                         td_element21.innerHTML = "<img src ='templates/"+template+"/images/answered.gif' title='"+get_lang('Answered')+"'>"; 
     1488                        td_element21.innerHTML = "<img src ='templates/"+template+"/images/answered.png' title='"+get_lang('Answered')+"'>"; 
    14921489                    }else 
    14931490                        td_element21.innerHTML = "&nbsp;&nbsp;&nbsp;"; 
     
    35103507                        var newBox = location.before(html).prev(); 
    35113508                        box_actions(newBox); 
    3512                         if(preferences.expressoMail_ldap_identifier_recipient && $(newBox).hasClass("invalid-email-box")){ 
     3509                        if((preferences.expressoMail_ldap_identifier_recipient || personal)&& $(newBox).hasClass("invalid-email-box")){ 
    35133510                                //$(newBox).find(".loading").css("background-image", "../prototype/modules/mail/img/ajax-loader.gif"); 
    35143511                                show_detais(newBox, input_data, personal); 
     
    36723669        //AO SAIR DO FOCO MONTAGEM DA CAIXA DE EMAIL 
    36733670        .focusout(function(){ 
    3674                 if(!(f9 || $(this).parents("tr:first").find("button").hasClass("ui-state-active"))){ 
    3675                         if($(input).val() != "") 
    3676                                 draw_email_box(input.val(), input); 
    3677                         if(input.hasClass("box-input")) 
    3678                                 input.remove(); 
    3679                 } 
    3680                  
    3681                 input_search = $(input).val(); 
    3682                 $(input).val(""); 
     3671                if(!$(this).data('is_open')){ 
     3672                        if(!(f9 || $(this).parents("tr:first").find("button").hasClass("ui-state-active"))){ 
     3673                                if($(input).val() != "") 
     3674                                        draw_email_box(input.val(), input); 
     3675                                if(input.hasClass("box-input")) 
     3676                                        input.remove(); 
     3677                        } 
     3678                 
     3679                        input_search = $(input).val(); 
     3680                        $(input).val(""); 
     3681                } 
    36833682        }) 
    36843683        //AO COLAR UM TEXTO NO CAMPO 
     
    37933792function show_detais(box, value, personal){ 
    37943793        var ldap_id = preferences.expressoMail_ldap_identifier_recipient; 
     3794        var group = (personal != undefined ? (personal == "G" ? true : false) : false); 
     3795         
     3796        if(group){ 
     3797                DataLayer.read("/group/"+value, {}, function(data){ 
     3798                        if(!data.error){ 
     3799                                if(data.collection.error) 
     3800                                        box.find(".box-loading").remove(); 
     3801                                else{ 
     3802                                        //box.find(".box-loading").css("background-image", "url(templates/default/images/information.png) no-repeat! !important"); 
     3803                                        box.find(".box-loading").removeClass("box-loading").addClass("box-info"); 
     3804                                        box.addClass("box-"+value).removeClass("invalid-email-box"); 
     3805                                        loadGroupBox(data.collection, ".box-"+value); 
     3806                                        box.unbind("dblclick").bind("dblclick", function(e){ 
     3807                                                new $.Zebra_Dialog('<strong>Impossivel editar</strong> um contato do catálogo pessoal\n' + 
     3808                                                        '<strong>Porém</strong> é possivel remove-lo', { 
     3809                                                        'buttons':  false, 
     3810                                                        'modal': false, 
     3811                                                        'position': ['right - 20', 'top + 20'], 
     3812                                                        'auto_close': 3000 
     3813                                                }); 
     3814                                        }).find(".box-input").val("\""+data.collection.data[1].value+"\" <"+data.collection.data[1].value+">"); 
     3815                                        box.find(".email-box-value").html( (data.collection.data[1].value.length > 18 ? data.collection.data[1].value.substring(0, 15)+"...": data.collection.data[1].value)) 
     3816                                } 
     3817                        }else{ 
     3818                                box.find(".box-loading").remove(); 
     3819                        } 
     3820                }); 
     3821                return; 
     3822        } 
     3823         
    37953824        if(personal){ 
    37963825                DataLayer.read("/contact/"+value, {}, function(data){ 
     
    38923921        if(parseInt(preferences.use_dynamic_contacts)){ 
    38933922                //PREPARAÇÃO DA ARRAY DOS CONTATOS DINÂMICOS 
    3894                 var dynamicContactList = new Array(); 
    3895                 var groupsData = DataLayer.read("/groups").collection.itens; 
    3896                 var contactsData = DataLayer.read("/contacts").collection.itens; 
    3897                 dynamicPersonalGroups = new Array(); 
    3898                  
    3899                 $.each(groupsData, function(index, value){ 
    3900                         var group = { 
    3901                                 id : parseInt(value.data[0].value), 
    3902                                 name : value.data[2].value, 
    3903                                 email : value.data[2].value, 
    3904                                 value: value.data[2].value + " - " + value.data[2].value, 
    3905                                 type: "G" 
    3906                         }; 
    3907                         dynamicContactList.push(group); 
    3908                         dynamicPersonalGroups.push(group); 
    3909                 }); 
    3910                  
    3911                 dynamicPersonalContacts = new Array(); 
    3912                  
    3913                 $.each(contactsData, function(index, value){ 
    3914                         var contact = { 
    3915                                 id : parseInt(value.data[0].value), 
    3916                                 name : value.data[1].value, 
    3917                                 email : value.data[2].value, 
    3918                                 value: value.data[1].value + " - " + value.data[2].value, 
    3919                                 type: "P" 
    3920                         }; 
    3921                         dynamicContactList.push(contact); 
    3922                         dynamicPersonalGroups.push(contact); 
    3923                 }); 
     3923 
    39243924                $.widget( "custom.catcomplete", $.ui.autocomplete, { 
    39253925                        _renderMenu: function( ul, items ) { 
    39263926                                var self = this, 
    3927                                 currentType = "G"; 
     3927                                currentType = ""; 
    39283928                                $.each( items, function( index, item ) { 
    39293929                                        if ( item.type != currentType) { 
    3930                                                 self._renderItem( ul, {name:"", value:"", type:"linha"} ); 
     3930                                                if(item.type == "G" && $(ul).find(".dynamic-recent").length) 
     3931                                                        self._renderItem( ul, {name:"", value:"", type:"linha"} ); 
     3932                                                if(item.type == "P" && $(ul).find(".dynamic-group").length) 
     3933                                                        self._renderItem( ul, {name:"", value:"", type:"linha"} );       
    39313934                                                currentType = item.type; 
    39323935                                        } 
    39333936                                        self._renderItem( ul, item ); 
     3937                                        $(ul).find("li:last").find(".dynamic-stars").raty({ 
     3938                                                readOnly : true, 
     3939                                                half : true, 
     3940                                                hints : ['','','','',''], 
     3941                                                score    : ((parseInt(item.qtd)*5)/topContact), 
     3942                                                starOn  : '../../prototype/plugins/jq-raty/img/star-on.png', 
     3943                                                starOff : '../../prototype/plugins/jq-raty/img/star-off.png', 
     3944                                                starHalf : '../../prototype/plugins/jq-raty/img/star-half.png' 
     3945                                        }); 
    39343946                                }); 
    39353947                        } 
     
    39383950                div.find("input").catcomplete({ 
    39393951                        minLength: 1,                    
    3940                         source: dynamicContactList, 
     3952                        source: function(request, response){ 
     3953                                response( $.ui.autocomplete.filter(dynamicContactList, request.term ) ); 
     3954                        }, 
    39413955                        focus: function() { 
    39423956                                return false; 
     
    39473961                                event.preventDefault(); 
    39483962                                $(this).val(""); 
    3949                                 draw_email_box(ui.item.name ? "\""+ui.item.name+"\" <"+ui.item.email+">" : ui.item.email, $(this)); 
     3963                                if(ui.item.type == "P") 
     3964                                        draw_email_box(""+ui.item.id, $(this), true); 
     3965                                else if(ui.item.type == "G") 
     3966                                        draw_email_box(""+ui.item.id, $(this), "G"); 
     3967                                else 
     3968                                        draw_email_box(ui.item.name ? "\""+ui.item.name+"\" <"+ui.item.email+">" : ui.item.email, $(this)); 
    39503969                                return false; 
    39513970                        }, 
    3952                         autoFocus: true 
     3971                        autoFocus: true, 
     3972                        position : { my: "left top", at: "left bottom", collision: "fit" } 
     3973                }).bind('catcompleteopen', function(event, ui) { 
     3974                        $(this).data('is_open',true); 
     3975                }).bind('catcompleteclose', function(event, ui) { 
     3976                        $(this).data('is_open',false); 
    39533977                }) 
    39543978                 
    39553979                //MONTAGEM DA LISTA DE CONTATOS DINÂMICOS DO AUTO COMPLETE 
    39563980                .data( "catcomplete" )._renderItem = function( ul, item ) { 
    3957                         ul.css({"min-width":"280px", "width":"50%", "max-height" : "180px", "overflow-y" : "auto"}); 
    3958                         if( $(ul).find("li").length > 10 ){ 
    3959                                 return; 
    3960                         } 
    3961                         var listContacts = DataLayer.render("../expressoMail1_2/templates/default/listContacts.ejs", item); 
    3962                          
     3981                        ul.css({"min-width":"400px", "width":"50%", "max-height" : "180px", "overflow-y" : "auto"}); 
     3982                        var listContacts = DataLayer.render("../prototype/modules/mail/templates/listContacts.ejs", item); 
    39633983                        return $(listContacts).data( "item.autocomplete", item ).appendTo( ul ).find("span:last").button({ 
    39643984                                        icons : { 
     
    39683988                        }).click(function(){ 
    39693989                                var removeLi = $(this).parents("li:first"); 
    3970                                 $.Zebra_Dialog('Deseja remover este contato?', { 
     3990                                $.Zebra_Dialog('Deseja remover <b>'+(item.name ? item.name+" - " : "")+ item.email+'</b>?', { 
    39713991                                                'type':     'question', 
    39723992                                                'custom_class': (is_ie ? 'configure-zebra-dialog' : ''), 
     
    39753995                                                'overlay_opacity': '0.5', 
    39763996                                                'onClose':  function(caption) { 
    3977                                                         if(caption == 'Sim') 
     3997                                                        if(caption == 'Sim'){ 
    39783998                                                                $(removeLi).remove(); 
     3999                                                                DataLayer.delete("/dynamiccontact/"+item.id); 
     4000                                                                updateDynamicContact(); 
     4001                                                                updateDynamicContactList(); 
     4002                                                        } 
    39794003                                                } 
    39804004                                }); 
  • sandbox/2.4.1-3/expressoMail1_2/js/main.js

    r6461 r6512  
    77var cabecalho = '<h4>ExpressoLivre - ExpressoMail</h4>';  
    88 
     9var dynamicPersonalContacts = new Array(); 
     10var dynamicPersonalGroups = new Array(); 
     11var dynamicContacts = new Array(); 
     12var dynamicContactList = new Array(); 
     13var topContact = 0; 
     14 
    915//Os IE's < 9 não possui suporte a trim() introduzida no JavaScript 1.8.1 
    1016if(!String.prototype.trim){   
    1117        String.prototype.trim = function(){ 
    12                                                                 return this.replace(/^\s+|\s+$/g,''); 
    13                                                         }  
     18                return this.replace(/^\s+|\s+$/g,''); 
     19        }  
    1420} 
    1521         
     
    1925        return folders.join(cyrus_delimiter); 
    2026}  
     27 
     28function updateDynamicContactList(){ 
     29        dynamicContactList = new Array(); 
     30        $.merge(dynamicContactList, dynamicContacts); 
     31        $.merge(dynamicContactList, dynamicPersonalGroups); 
     32        $.merge(dynamicContactList, dynamicPersonalContacts); 
     33} 
     34 
     35function updateDynamicContact(){ 
     36        dynamicContacts = new Array(); 
     37        var dynamicData = DataLayer.read("/dynamiccontacts").collection.itens; 
     38        if(dynamicData){ 
     39                $.each(dynamicData, function(index, value){ 
     40                        if(index ==0){ 
     41                                topContact = parseInt(value.data[2].value); 
     42                        } 
     43                        var dynamic = { 
     44                                name : value.data[0].value, 
     45                                email : value.data[1].value, 
     46                                value: value.data[0].value + " - " + value.data[1].value, 
     47                                type: "", 
     48                                id: parseInt(value.data[3].value), 
     49                                qtd : parseInt(value.data[2].value) 
     50                        }; 
     51                        dynamicContacts.push(dynamic); 
     52                }); 
     53        } 
     54} 
     55 
     56function updateDynamicPersonalGroups(){ 
     57        dynamicPersonalGroups = new Array(); 
     58        var groupsData = DataLayer.read("/groups").collection.itens; 
     59        if(groupsData){ 
     60                $.each(groupsData, function(index, value){ 
     61                        var group = { 
     62                                id : parseInt(value.data[0].value), 
     63                                name : value.data[2].value, 
     64                                email : value.data[2].value, 
     65                                value: value.data[2].value + " - " + value.data[2].value, 
     66                                type: "G" 
     67                        }; 
     68                        dynamicPersonalGroups.push(group); 
     69                }); 
     70        } 
     71} 
     72 
     73function updateDynamicPersonalContacts(){ 
     74        dynamicPersonalContacts = new Array(); 
     75        var contactsData = DataLayer.read("/contacts").collection.itens; 
     76        if(contactsData){ 
     77                $.each(contactsData, function(index, value){ 
     78                        var contact = { 
     79                                id : parseInt(value.data[0].value), 
     80                                name : value.data[1].value, 
     81                                email : value.data[2].value, 
     82                                value: value.data[1].value + " - " + value.data[2].value, 
     83                                type: "P" 
     84                        }; 
     85                        dynamicPersonalContacts.push(contact); 
     86                }); 
     87        } 
     88} 
     89 
    2190function init(){ 
    2291        if (!is_ie) 
     
    3099 
    31100        }*/ 
     101        var load_dynamics = function(){ 
     102                updateDynamicContact(); 
     103                updateDynamicPersonalGroups(); 
     104                updateDynamicPersonalContacts(); 
     105                updateDynamicContactList(); 
     106        }; 
     107        load_dynamics(); 
     108         
    32109        var save_preferences = function(data){ 
    33110 
     
    21272204        watch_changes_in_msg(ID); 
    21282205 
     2206        var content = $("#content_id_"+ID); 
    21292207        var sign = false; 
    21302208        var crypt = false; 
     2209        var reComplexEmail = /<([^<]*)>[\s]*$/; 
    21312210        if ((preferences.use_assinar_criptografar != '0') && (preferences.use_signature_digital_cripto != '0')){ 
    21322211                var checkSign = document.getElementById('return_digital_'+ID) 
     
    21682247        if(data && data.success == true ){ 
    21692248                // if send ok, set a flag as answered or forwarded 
    2170                 var msg_number_replied = $("#content_id_" + ID).find('[name="msg_reply_from"]'); 
    2171                 var msg_number_forwarded = $("#content_id_" + ID).find('[name="msg_forward_from"]'); 
     2249                var msg_number_replied = content.find('[name="msg_reply_from"]'); 
     2250                var msg_number_forwarded = content.find('[name="msg_forward_from"]'); 
    21722251 
    21732252                if (msg_number_replied.val()){ 
     
    21902269                        } 
    21912270                } 
     2271                 
     2272                $ 
     2273                //REFAZER ISTO COM UMA CHAMADA ASSINCRONA PARA REGISTRAR E ATUALIZAR A LISTA DOS NOVOS CONTATOS DINAMICOS 
    21922274                // If new dynamic contacts were added, update the autocomplete .... 
    2193                 if(data.new_contacts){ 
     2275                /*if(data.new_contacts){ 
    21942276                        var ar_contacts = data.new_contacts.split(',;'); 
    21952277                        for(var j in ar_contacts){ 
     
    21992281                        } 
    22002282                } 
     2283                var dynamicPersonalContacts = new Array(); 
     2284                var dynamicPersonalGroups = new Array(); 
     2285                var dynamicContacts = new Array(); 
     2286                var dynamicContactList = new Array(); 
     2287 
     2288                */ 
     2289                var array = content.find(".to-tr").find(".box").clone(); 
    22012290                delete_border(ID,'true');  
     2291                $.each(array, function(i, value){ 
     2292                        var stop = false; 
     2293                        $.each(dynamicPersonalContacts, function(x, valuex){ 
     2294                                if(valuex.email == $(value).find("input").val().match(reComplexEmail)[1]){ 
     2295                                        stop = true; 
     2296                                        return false; 
     2297                                } 
     2298                        }); 
     2299                        console.log(stop ? "Nem cria ;p" : "Vai entra no IF"); 
     2300                        if(!stop){ 
     2301                                var exist = 0; 
     2302                                $.each(dynamicContacts, function(x, valuex){ 
     2303                                        if(valuex.email == $(value).find("input").val().match(reComplexEmail)[1]){ 
     2304                                                exist = valuex.id; 
     2305                                                return false; 
     2306                                        } 
     2307                                }); 
     2308                                if(exist){ 
     2309                                        console.log("Atualizou"); 
     2310                                        DataLayer.update("/dynamiccontact/"+exist, {name: $(value).find("input").val().split('"')[1], mail:$(value).find("input").val().match(reComplexEmail)[1]}); 
     2311                                }else{ 
     2312                                        console.log("Criou"); 
     2313                                        DataLayer.create("/dynamiccontacts", {name: $(value).find("input").val().split('"')[1], mail:$(value).find("input").val().match(reComplexEmail)[1]}); 
     2314                                } 
     2315                        } 
     2316                }); 
     2317                updateDynamicContact(); 
     2318                updateDynamicContactList(); 
    22022319        } 
    22032320        else{ 
    22042321                if(data == 'Post-Content-Length') 
    22052322                        write_msg(get_lang('The size of this message has exceeded  the limit (%1B).',Element('upload_max_filesize').value)); 
    2206                 else if(data) 
     2323                else if(data){ 
     2324                        var error_mail = $.trim(data.split(":")[data.split(":").length-1]); 
     2325                        var array = content.find(".to-tr").find(".box"); 
     2326                        //$(value).find("input").val() 
     2327                        $.each(array, function(index, value){ 
     2328                                if(error_mail == $(value).find("input").val().match(reComplexEmail)[1]) 
     2329                                        $(value).addClass("invalid-email-box"); 
     2330                        }); 
     2331                        if ( content.find('[name="input_cco"]').length){ 
     2332                                if(content.find(".cco-tr").css("display") != "none"){ 
     2333                                        var array = content.find(".cco-tr").find(".box"); 
     2334                                        $.each(array, function(index, value){ 
     2335                                                if(error_mail == $(value).find("input").val().match(reComplexEmail)[1]) 
     2336                                                        $(value).addClass("invalid-email-box"); 
     2337                                        }); 
     2338                                } 
     2339                        } 
     2340                        if(content.find(".cc-tr").css("display") != "none") 
     2341                        { 
     2342                                var array = content.find(".cc-tr").find(".box"); 
     2343                                $.each(array, function(index, value){ 
     2344                                        if(error_mail == $(value).find("input").val().match(reComplexEmail)[1]) 
     2345                                                $(value).addClass("invalid-email-box"); 
     2346                                });                              
     2347                        }  
    22072348                        write_msg(data); 
    2208                 else 
     2349                }else 
    22092350                        write_msg(get_lang("Connection failed with %1 Server. Try later.", "Web")); 
    22102351                 
  • sandbox/2.4.1-3/expressoMail1_2/js/search.js

    r6334 r6512  
    6464                                "Search_the_messages_in_these_folders" : get_lang('Search the messages in these folders'), 
    6565                                "In_all_the_folders"            : get_lang('In all the folders'), 
    66                                 "From_value" : data 
     66                                "From_value" : (data != "undefined" ? data : "") 
    6767                        } 
    6868                                 
     
    516516                                td.id = "td_message_answered_"+uid_msg; 
    517517                                if (aux.flag.match('X')) 
    518                                         td1 = '<img src=templates/'+template+'/images/forwarded.gif title="'+get_lang('Forwarded')+'">'; 
     518                                        td1 = '<img src=templates/'+template+'/images/forwarded.png title="'+get_lang('Forwarded')+'">'; 
    519519                                else 
    520520                                        if (aux.flag.match('A')) 
    521                                                 td1 = '<img src=templates/'+template+'/images/answered.gif title="'+get_lang('Answered')+'">'; 
     521                                                td1 = '<img src=templates/'+template+'/images/answered.png title="'+get_lang('Answered')+'">'; 
    522522                                        else 
    523523                                                td1 = ''; 
  • sandbox/2.4.1-3/expressoMail1_2/setup/tables_update.inc.php

    r6468 r6512  
    291291                $oProc->query('SELECT * FROM phpgw_expressomail_contacts'); 
    292292                $return = array(); 
    293         while($oProc->next_record()) 
    294                 $return[$oProc->f('id_owner')] = $oProc->f('data'); 
    295  
    296         foreach ($return as $owner => &$value) { 
    297                 $contacts = unserialize($value); 
    298                 foreach ($contacts as &$contact) { 
    299                         $info = explode('#', $contact['email']); 
    300                         $oProc->query("INSERT INTO expressomail_dynamic_contact (owner, name ,mail , number_of_messages ,timestamp) values ('".$owner."', '".$info[0]."', '".$info[1]."', 1, '".$contact['timestamp']."');"); 
     293                while($oProc->next_record()) 
     294                        $return[$oProc->f('id_owner')] = $oProc->f('data'); 
     295 
     296                foreach ($return as $owner => &$value) { 
     297                        $contacts = unserialize($value); 
     298                        foreach ($contacts as &$contact) { 
     299                                $info = explode('#', $contact['email']); 
     300                                $oProc->query("INSERT INTO expressomail_dynamic_contact (owner, name ,mail , number_of_messages ,timestamp) values ('".$owner."', '".$info[0]."', '".$info[1]."', 1, '".$contact['timestamp']."');"); 
     301                        } 
    301302                } 
    302         } 
    303         //////////////////////////////////////////////////////////// 
    304  
    305         //Deleta tabela antiga 
     303 
     304                //Deleta tabela antiga 
    306305                $oProc->DropTable('phpgw_expressomail_contacts'); 
    307          
     306 
     307                /* Remove a restricao de quantidade de contatos recentes */ 
     308                $oProc->query("DELETE FROM phpgw_config WHERE config_app = 'expressoMail1_2' AND config_name = 'expressoMail_Number_of_dynamic_contacts'"); 
    308309 
    309310                $GLOBALS['setup_info']['expressoMail1_2']['currentver'] = '2.4.7'; 
  • sandbox/2.4.1-3/expressoMail1_2/templates/default/main.css

    r6374 r6512  
    703703} 
    704704.message_options_trash { 
    705         background-image: url(../../../phpgwapi/templates/default/images/foldertree_trash.png); 
     705        background-image: url(images/page_white_delete.png); 
    706706        background-repeat: no-repeat; 
    707707        background-position:left center; 
     
    13301330 
    13311331.line-separator{ 
    1332         background: url(images/linha.png) repeat-x 0 96% ; 
     1332        background: url("images/linha.png") repeat-x scroll 0 8px transparent; 
     1333        clear : both; 
    13331334} 
    13341335 
  • sandbox/2.4.1-3/prototype/rest/catalog/ContactResource.php

    r6460 r6512  
    3030 
    3131        try { 
    32             $this->secured(); 
     32            //$this->secured(); 
    3333 
    3434            $contact = Controller::find( array( 'concept' => 'contact' ), false, array( 'filter' => array( 'AND', array('=', 'user',  Config::me("uidNumber") ), array('=', 'id', $id) )  ) ); 
  • sandbox/2.4.1-3/prototype/rest/catalog/ContactsResource.php

    r6455 r6512  
    3030 
    3131        try { 
    32             $this->secured(); 
     32            //$this->secured(); 
    3333 
    3434            $contacts = Controller::find( array( 'concept' => 'contact' ), false, array( 'filter' => array( '=', 'user',  Config::me("uidNumber") ) ) ); 
  • sandbox/2.4.1-3/prototype/rest/catalog/DynamicContactResource.php

    r6473 r6512  
    216216        //completar os atributos 
    217217        $params['owner']                = Config::me("uidNumber"); 
    218         $params['number_of_messages']   = '1'; 
    219218        $params['timestamp']            = time(); 
    220219        $params['id']                   = $id; 
     
    238237                ); 
    239238 
    240  
     239                 
    241240                //Se existe o recurso 
    242241                if($dynamicContact){ 
    243                     $params['number_of_messages']++; 
    244  
    245                     $dynamicContact = Controller::update( 
    246                                                         array('concept' => 'dynamicContact'), 
     242                                        $params['number_of_messages'] = $dynamicContact[0]['number_of_messages'] + 1; 
     243                                        $dynamicContact = Controller::update( 
     244                                                        array('concept' => 'dynamicContact', 
     245                                                                                                                'id'=>$id), 
    247246                                                        $params 
    248247                    ); 
     
    254253                } 
    255254                else{ 
    256  
     255                                        $params['number_of_messages']   = '1'; 
    257256                    $idDynamicContact = Controller::create( 
    258257                                                        array('concept' => 'dynamicContact'), 
  • sandbox/2.4.1-3/prototype/rest/catalog/DynamicContactsResource.php

    r6473 r6512  
    9090 
    9191                $i->addData($d); 
     92                                 
     93                                $d = new Data(); 
     94                $d->setName('id'); 
     95                $d->setValue($value['id']); 
     96                $d->setPrompt('Id do contato dinamico'); 
     97                $d->setDataType('integer'); 
     98                $d->setMaxLength('100'); 
     99                $d->setMinLength(null); 
     100                $d->setRequired(false); 
     101 
     102                $i->addData($d); 
    92103 
    93104                $l = new Link(); 
  • sandbox/2.4.1-3/prototype/rest/catalog/GroupResource.php

    r6439 r6512  
    3030 
    3131        try { 
    32             $this->secured(); 
     32            //$this->secured(); 
    3333 
    3434            $group = Controller::find( array( 'concept' => 'contactGroup' ), false, array( 'filter' => array( 'AND', array('=', 'user',  Config::me("uidNumber") ), array('=', 'id', $id) )  ) ); 
  • sandbox/2.4.1-3/prototype/rest/catalog/GroupsResource.php

    r6439 r6512  
    3030         
    3131        try { 
    32             $this->secured(); 
     32            //$this->secured(); 
    3333 
    3434        $groups = Controller::find( array( 'concept' => 'contactGroup' ), false, array( 'filter' => array('=', 'user',  Config::me("uidNumber") ), 'order' => array('name') ) );                         
  • sandbox/2.4.1-3/prototype/rest/user/UserResource.php

    r6460 r6512  
    2929        try { 
    3030 
    31             $this->secured(); 
     31            //$this->secured(); 
    3232 
    3333            $user = Controller::find(array('concept' => 'user','service'=>'OpenLDAP'), false, array('filter' => array('=', 'uid', $id ))); 
  • sandbox/2.4.1-3/prototype/rest/user/UsersResource.php

    r6437 r6512  
    3030 
    3131        try { 
    32             $this->secured(); 
     32            //$this->secured(); 
    3333 
    3434            //Executa uma consulta de usuários do LDAP a partir de um determinado atributo e valor 
  • sandbox/2.4.1-3/services/class.db.php

    r5842 r6512  
    263263                $query = 'select' 
    264264                                                . ' G.oid,' 
     265                                                . ' G.id_group,' 
    265266                                                . ' G.title,' 
    266267                                                . ' G.short_name'; 
     
    288289                                $all_contacts[ $object[ 'oid' ] ]['title'] = $object['title']; 
    289290                                $all_contacts[ $object[ 'oid' ] ]['short_name'] = $object['short_name']; 
     291                                $all_contacts[ $object[ 'oid' ] ]['id'] = $object[ 'id_group' ]; 
    290292                } 
    291293                return array_values($all_contacts); 
Note: See TracChangeset for help on using the changeset viewer.