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

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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                 
Note: See TracChangeset for help on using the changeset viewer.