Changeset 1752


Ignore:
Timestamp:
12/04/09 15:14:45 (14 years ago)
Author:
rafaelraymundo
Message:

Ticket #703 - Preview das mensagens configuravel. Por tool-tip e coluna de assunto

Location:
trunk/expressoMail1_2
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/inc/class.imap_functions.inc.php

    r1751 r1752  
    9090                        { 
    9191                                $temp = $this->get_info_head_msg($msg_number); 
     92                                $temp['msg_sample'] = $this->get_msg_sample($msg_number,$folder); 
    9293                                if(!$temp) 
     94                                { 
    9395                                        return false; 
     96                                } 
    9497 
    9598                                $return[$i] = $temp; 
     
    704707                $return['login'] = $_SESSION['phpgw_info']['expressomail']['user']['account_id'];//$GLOBALS['phpgw_info']['user']['account_id']; 
    705708                $return['reply_toaddress'] = $header->reply_toaddress; 
     709                return $return; 
     710        } 
     711 
     712        function get_msg_sample($msg_number,$folder) 
     713        { 
     714 
     715 
     716                include_once("class.message_components.inc.php"); 
     717                $msg = &new message_components($this->mbox); 
     718                $msg->fetch_structure($msg_number); 
     719                $return = ""; 
     720 
     721                if( (isset($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['preview_msg_subject']) && ($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['preview_msg_subject'] == "0")) && (isset($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['preview_msg_tip']) && ($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['preview_msg_tip'] == "0")) ) 
     722                { 
     723                //      $return['preview_msg_subject'] = ""; 
     724                //      $return['preview_msg_tip'] = ""; 
     725                        $return['body'] = ""; 
     726                        return $return; 
     727                /*} else{ 
     728                        if( isset($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['preview_msg_subject']) && ($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['preview_msg_subject'] == "0") ) 
     729                        { 
     730                                $return['preview_msg_subject'] = ""; 
     731                        } 
     732 
     733                        if( isset($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['preview_msg_tip']) && ($_SESSION['phpgw_info']['user']['preferences']['expressoMail']['preview_msg_tip'] == "0") ) 
     734                        { 
     735                                $return['preview_msg_tip'] = ""; 
     736                        } 
     737*/ 
     738                } 
     739 
     740 
     741 
     742                if(!$msg->structure[$msg_number]->parts) 
     743                { 
     744                        $content = ''; 
     745                        if (strtolower($msg->structure[$msg_number]->subtype) == "plain" || strtolower($msg->structure[$msg_number]->subtype) == "html") 
     746                        { 
     747                                $content = $this->decodeBody(imap_body($this->mbox, $msg_number, FT_UID|FT_PEEK), $msg->encoding[$msg_number][0], $msg->charset[$msg_number][0]); 
     748                        } 
     749                } 
     750                else 
     751                { 
     752                        foreach($msg->pid[$msg_number] as $values => $msg_part) 
     753                        { 
     754 
     755                                $file_type = strtolower($msg->file_type[$msg_number][$values]); 
     756                                if($file_type == "text/plain" || $file_type == "text/html") { 
     757                                        $content = $this->decodeBody(imap_fetchbody($this->mbox, $msg_number, $msg_part, FT_UID|FT_PEEK), $msg->encoding[$msg_number][$values], $msg->charset[$msg_number][$values]); 
     758                                        break; 
     759                                } 
     760                        } 
     761                } 
     762                $content = $this->replace_special_characters($content); 
     763                $tags_replace = array("<br>","<br/>","<br />"); 
     764                $content = str_replace($tags_replace," ", $content); 
     765                $content = strip_tags($content); 
     766                $content = str_replace(array("{","}","&nbsp;"), " ", $content); 
     767                $content = trim($content); 
     768                $content = substr($content,0,300); 
     769                $content != "" ? $return['body'] = " - " . $content: $return['body'] = ""; 
    706770                return $return; 
    707771        } 
     
    13741438                        $flag = preg_match('/importance *: *(.*)\r/i', $tempHeader, $importance); 
    13751439                        $return[$i]['Importance'] = $flag==0?"Normal":$importance[1]; 
     1440 
     1441                        $msg_sample = $this->get_msg_sample($msg_number); 
     1442                        $return[$i]['msg_sample'] = $msg_sample; 
    13761443 
    13771444                        $header = $this->get_header($msg_number); 
  • trunk/expressoMail1_2/inc/hook_settings.inc.php

    r1747 r1752  
    7373 
    7474create_select_box('What is the maximum number of messages per page?','max_email_per_page',$default,'This is the number of messages shown in your mailbox per page'); 
     75 
     76//$default = 0; 
     77create_check_box('Preview message text within subject column','preview_msg_subject','this exhibits a sample of message within the message subject column'); 
     78 
     79//$default = 0; 
     80create_check_box('Preview message text within a tool-tip box','preview_msg_tip','this exhibits a sample of message within a tool-tip box'); 
     81 
     82 
    7583create_check_box('Save deleted messages in trash folder?','save_deleted_msg','When delete message, send it automatically to trash folder'); 
    7684$default = array( 
  • trunk/expressoMail1_2/js/draw_api.js

    r1747 r1752  
    299299 
    300300                draw_paging(Element('tot_m').innerHTML); 
     301 
     302                if(document.getElementById("nINBOX/Trashtree_folders")) 
     303                { 
     304                        var trash = document.createElement("SPAN"); 
     305                        trash.id = 'empty_trash'; 
     306                        trash.className = 'clean_trash'; 
     307                        trash.style.cursor = 'pointer'; 
     308                        trash.onclick = function () {empty_trash_imap();}; 
     309                        trash.innerHTML = "["+get_lang("Clean")+"]"; 
     310                        trash.title="Limpar lixeira"; 
     311                        trash.onmouseover = function() {trash.style.color="red";}; 
     312                        trash.onmouseout= function() {trash.style.color="#666666";}; //#114FA4 
     313                        document.getElementById("nINBOX/Trashtree_folders").appendChild(trash); 
     314                } 
     315 
    301316                // Draw right menu folders. 
    302317                /* 
     
    417432                        return true; 
    418433                } 
    419                 proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort_box_type,search_box_type,sort_box_reverse,handler_draw_box); 
     434                proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort_box_type,search_box_type,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); 
    420435//              cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 
    421436        } 
     
    483498        if(current_page != 1) { 
    484499                lnk_page = document.createElement("A"); 
    485                 lnk_page.setAttribute("href", "javascript:current_page=1;kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+",function handler(data){draw_box(data, get_current_folder());});"); 
     500                lnk_page.setAttribute("href", "javascript:current_page=1;kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box(data, get_current_folder());});"); 
    486501        } 
    487502        else { 
     
    522537                        msg_range_begin = ((i*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 
    523538                        msg_range_end = (i*preferences.max_email_per_page); 
    524                         lnk_page.setAttribute("href", "javascript:current_page="+i+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+",function handler(data){draw_box(data, get_current_folder());});"); 
     539                        lnk_page.setAttribute("href", "javascript:current_page="+i+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box(data, get_current_folder());});"); 
    525540                } 
    526541                 
     
    539554                msg_range_begin = ((total_pages*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 
    540555                msg_range_end = (total_pages*preferences.max_email_per_page);            
    541                 lnk_page.setAttribute("href", "javascript:current_page="+total_pages+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+",function handler(data){draw_box(data, get_current_folder());});"); 
     556                lnk_page.setAttribute("href", "javascript:current_page="+total_pages+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box(data, get_current_folder());});"); 
    542557        } 
    543558        else { 
     
    783798                tr_element.id = headers_msgs.msg_number; 
    784799 
     800                tr_element.msg_sample = ""; 
     801                //if(headers_msgs.msg_sample && headers_msgs.msg_sample.preview_msg_subject != "") 
     802                if(headers_msgs.msg_sample && preferences.preview_msg_subject == "1") 
     803                { 
     804                        tr_element.msg_sample = headers_msgs.msg_sample.body.substr(0,120) + "..."; //trecho do body que sera exibido com o assunto; 
     805                } 
     806 
     807                tr_element.tip = ""; 
     808                if(headers_msgs.msg_sample && preferences.preview_msg_tip == "1") 
     809                { 
     810                        tr_element.tip = headers_msgs.msg_sample.body.substr(3,300) + "..."; //trecho do body que sera exibido no tool-tip; 
     811                } 
     812 
    785813                if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')){ 
    786814                        if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && parseInt(preferences.use_important_flag))) 
     
    899927                td_element3.className = "td_msg"; 
    900928                td_element3.id = "td_who_"+ headers_msgs.msg_number; 
    901                 td_element3.setAttribute("width", "30%"); 
     929                td_element3.setAttribute("width", "20%"); 
    902930                var _onclick = function(){InfoContact.hide();proxy_mensagens.get_msg(headers_msgs.msg_number, msg_folder,true, show_msg);}; 
    903931                td_element3.onclick = _onclick; 
     
    942970                td_element4 = document.createElement("TD"); 
    943971                td_element4.className = "td_msg"; 
    944                 td_element4.setAttribute("width", "40%"); 
     972                td_element4.setAttribute("width", "50%"); 
    945973                td_element4.onclick = _onclick; 
    946                 td_element4.innerHTML = !is_ie ? "<a id='a_message_"+tr_element.id+"'>&nbsp;" : "&nbsp;"; 
     974//              td_element4.setAttribute("style","white-space:nowrap;"); 
     975                td_element4.innerHTML = !is_ie ? "<a nowrap id='a_message_"+tr_element.id+"'>&nbsp;" : "&nbsp;"; 
    947976                 
    948977                if ((headers_msgs.subject)&&(headers_msgs.subject.length > 50)) 
    949                         td_element4.innerHTML += headers_msgs.subject.substring(0,50) + "..."; 
     978                { 
     979//                      if( (headers_msgs.subject.length+tr_element.msg_sample.length)> 
     980                        td_element4.innerHTML += headers_msgs.subject.substring(0,50) + "..." + "<span style=\"color:#b3b3b3;\">  " + tr_element.msg_sample +"</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; 
     981                } 
    950982                else 
    951                         td_element4.innerHTML += headers_msgs.subject; 
     983                { 
     984                        td_element4.innerHTML += headers_msgs.subject + "<span style=\"color:#b3b3b3;\">  " + tr_element.msg_sample + "</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; 
     985                } 
    952986                                         
     987                td_element4.title=tr_element.tip; 
    953988                if(!is_ie){ 
    954989                        td_element4.innerHTML += "</a>"; 
    955                         tr_element.onmouseover = function(){}; 
    956990                } 
    957991                 
     
    10201054        search_box_type = search; 
    10211055 
    1022         proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,handler_draw_box); 
     1056        proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); 
    10231057        current_page = 1; 
    10241058        //Comentado para nao sobrepor o numero de msgs nao lidas ao utilizar os filtros 
  • trunk/expressoMail1_2/js/local_messages.js

    r1747 r1752  
    445445                        var head = rs.field(1); 
    446446                        var codigoMail = rs.field(0); 
     447 
     448                        var msg_body = rs.field(5);//recebe o conteudo da coluna "body" do banco de dados; 
     449 
    447450                        var rs2 = this.dbGears.execute('select count(*) from anexo where id_mail = '+codigoMail); 
    448451                        var head_unserialized = connector.unserialize(head); 
     
    451454                                head_unserialized.Unseen = 'U';          
    452455                         
     456 
     457                        head_unserialized.subject=(head_unserialized.subject==null)?"":head_unserialized.subject; 
     458 
    453459                        //var email_unserialized = connector.unserialize(email); 
    454460                        retorno[cont] = head_unserialized; 
    455461                        retorno[cont]['msg_number'] = codigoMail; 
    456462                         
     463                        //declaracao do array() para receber o body de cada mensagem encontrada na busca sql realizada; 
     464                        msg_body=this.strip_tags(msg_body); 
     465                        msg_body=msg_body.replace(/\&nbsp;/ig," "); 
     466                        retorno[cont]['msg_sample'] = new Array(); 
     467 
     468                        if( (preview_msg_subject == 0) && (preview_msg_tip == 0) ) 
     469                        { 
     470                                retorno[cont]['msg_sample']['body'] = ""; 
     471                        } 
     472                        else 
     473                        { 
     474                                retorno[cont]['msg_sample']['body'] = " - " + msg_body.substr(3,300); 
     475                        } 
     476 
    457477                        cont++; 
    458478                        rs.next(); 
     
    10461066            while(rs.isValidRow()){ 
    10471067                mail = connector.unserialize(rs.field(0)); 
    1048                 src = this.get_src(mail.url_export_file); 
     1068                mail.msg_source?src = mail.msg_source:src = this.get_src(mail.url_export_file); 
    10491069                subject = rs.field(1); 
    10501070                mesgs += src; 
     
    10861106              msgs_to_export[j]=rs.field(2) 
    10871107              mail = connector.unserialize(rs.field(0)); 
    1088                       msg=this.get_src(mail.url_export_file); 
     1108                      mail.msg_source?src = mail.msg_source:src = this.get_src(mail.url_export_file); 
    10891109                      subject = rs.field(1); 
    10901110                      mesgs += msg; 
  • trunk/expressoMail1_2/js/messages_proxy.js

    r1691 r1752  
    99 * Retorna os cabeçalhos das mensagens a serem desenhadas na caixa de email. 
    1010 */ 
    11         messages_proxy.prototype.messages_list = function(folder,msg_range_begin,emails_per_page,sort_box_type,search_box_type,sort_box_reverse,call_back) { 
     11        messages_proxy.prototype.messages_list = function(folder,msg_range_begin,emails_per_page,sort_box_type,search_box_type,sort_box_reverse,preview_msg_subject,preview_msg_tip,call_back) { 
    1212                if(this.is_local_folder(folder)) { 
    1313                        var real_folder = folder.substr(6);              
    14                         var msgs = expresso_local_messages.get_local_range_msgs(real_folder,msg_range_begin,preferences.max_email_per_page,sort_box_type,sort_box_reverse,search_box_type); 
     14                        var msgs = expresso_local_messages.get_local_range_msgs(real_folder,msg_range_begin,preferences.max_email_per_page,sort_box_type,sort_box_reverse,search_box_type,preferences.preview_msg_subject,preferences.preview_msg_tip); 
    1515                        eval('call_back(msgs)'); 
    1616                }else { 
Note: See TracChangeset for help on using the changeset viewer.