Changeset 345


Ignore:
Timestamp:
07/04/08 17:14:41 (16 years ago)
Author:
niltonneto
Message:
  • Frases truncadas devido ao commit anterior, proveniente de

charset incorreto usado, foram revertidas de forma correta;

  • Correção na inserção de imagens em nova mensagem;
  • Correção de problema com mensagens que contêm caracteres

especiais conflitantes com a função unserialize no Javascript;

  • Otimização das funções IMAP: replace_links,

htmlspecialchars_encode(decode);

  • Inserção de verificações em variáveis nulas;
  • Otimização do código que carrega a cota da pasta compartilhada,

evitando várias requisições ao servidor, ou seja, trazendo as
informações do IMAP em uma requisição.
-Correção ao mover/deletar mensagens do resultado da pesquisa.

  • Função IMAP spam() foi revertida corretamente.
Location:
trunk/expressoMail1_2
Files:
4 edited

Legend:

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

    r325 r345  
    692692 
    693693        function replace_links($body) {                                  
    694                 // Search for links,then open the link in new window. 
    695                 //$body = @ereg_replace('[a-zA-Z]+://(([.]?[a-zA-Z0-9_/-])*)', '<a href="\\0" title="'.$this->functions->getLang("Open in New Window").'">\\0</a>',$body);         
    696                 //Search for emails, then open a new message tab. 
    697                 //$body = @ereg_replace('[a-zA-Z0-9!#$%&\'*+/=?^_`{|}~]+@([.]?[a-zA-Z0-9_/-])*', '<a title=\''.$this->functions->getLang("New Message").' -> \\0\'" onclick="Element(\'msg_number\').value=\'\\0\';new_message(\'new\',\'null\')" href="#">\\0</a>',$body);              
    698                 //$matches = array(); 
     694                $matches = array(); 
    699695                // Verify exception. 
    700                 //@preg_match("/<a href=\"notes:\/\/\//",$body,$matches); 
     696                @preg_match("/<a href=\"notes:\/\/\//",$body,$matches); 
    701697                // It no has exception,then open the link in new window. 
    702                 /*if(!count($matches)){ 
    703                         $body = @eregi_replace("<a (.*) href=", "<a \\1 target='_blank' href=", $body); 
    704                         $body = @str_replace("<a href=", "<a target='_blank' href=", $body); 
    705                         $body = @eregi_replace("target=\"\"", "target='_blank'", $body); 
    706                         $body = @eregi_replace("target=''", "target='_blank'", $body); 
    707                 }*/ 
    708                 $body = preg_replace('/(?<=[\s|(<br>)|\n|\r|;])((http(s?):\/\/((?:[\w]\.?)+(?::[\d]+)?[\/.\-~&=?%;@#,+\w]*))|((?:www?\.)(?:\w\.?)*(?::\d+)?[\/\w.\-~&=?%;@+]*))/i', '<a href="http$3://$4$5" target="_blank">http$3://$4$5</a>', $body); 
    709                 return $body; 
     698                if(count($matches)) 
     699                        return $body; 
     700                return preg_replace('/(?<=[\s|(<br>)|\n|\r|;])((http(s?):\/\/((?:[\w]\.?)+(?::[\d]+)?[\/.\-~&=?%;@#,+\w]*))|((?:www?\.)(?:\w\.?)*(?::\d+)?[\/\w.\-~&=?%;@+]*))/i', '<a href="http$3://$4$5" target="_blank">http$3://$4$5</a>', $body); 
    710701        } 
    711702 
     
    790781                $return = array(); 
    791782                 
    792                 if ($params['get_previous_msg']) 
     783                if ($params['get_previous_msg']){ 
    793784                        $return['previous_msg'] = $this->get_info_previous_msg($params); 
     785                        // Fix problem in unserialize function JS. 
     786                        $return['previous_msg']['body'] = str_replace(array('{','}'), array('&#123;','&#125;'), $return['previous_msg']['body']); 
     787                } 
    794788 
    795789                //$mbox_stream = $this->open_mbox($folder); 
     
    937931        } 
    938932 
    939         function get_folders_list() 
     933        function get_folders_list($params = null) 
    940934        { 
    941935                $mbox_stream = $this->open_mbox();               
     
    967961                                        } 
    968962                                } 
    969                                                                  
     963                                 
    970964                                $tmp_folder_parent = implode($this->imap_delimiter, $tmp_folder_parent); 
    971965                                $result[$i]['folder_parent'] = $tmp_folder_parent == 'INBOX' ? '' : $tmp_folder_parent; 
     
    992986                } 
    993987                 
    994                 if($mbox_stream) 
    995                         imap_close($mbox_stream); 
    996                 return array_merge($result2); 
     988                $current_folder = "INBOX"; 
     989                if($params && $params['folder']) 
     990                        $current_folder = $params['folder']; 
     991                return array_merge($result2, $this->get_quota(array(folder_id => $current_folder))); 
    997992        } 
    998993         
     
    11461141//////////////////////////////////////////////////////////////////////////////////////////////////// 
    11471142                //      Build CID for embedded Images!!! 
    1148                 $pattern = '/src="([^"]*?show_embedded_attach.php\?msg_folder=(.+)?&amp;msg_num=(.+)?&amp;msg_part=(.+)?)"/isU'; 
     1143                $pattern = '/src="([^"]*?show_embedded_attach.php\?msg_folder=(.+)?&(amp;)?msg_num=(.+)?&(amp;)?msg_part=(.+)?)"/isU'; 
    11491144                $cid_imgs = ''; 
    11501145                $name_cid_files = array(); 
    11511146                preg_match_all($pattern,$mail->Body,$cid_imgs,PREG_PATTERN_ORDER); 
    11521147                $cid_array = array(); 
    1153                 foreach($cid_imgs[4] as $j => $val){ 
    1154                                 if ( !array_key_exists($cid_imgs[3][$j].$val, $cid_array) ) 
     1148                foreach($cid_imgs[6] as $j => $val){ 
     1149                                if ( !array_key_exists($cid_imgs[4][$j].$val, $cid_array) ) 
    11551150                        { 
    1156                 $cid_array[$cid_imgs[3][$j].$val] = base_convert(microtime(), 10, 36); 
     1151                $cid_array[$cid_imgs[4][$j].$val] = base_convert(microtime(), 10, 36); 
    11571152                        } 
    1158                         $cid = $cid_array[$cid_imgs[3][$j].$val];  
     1153                        $cid = $cid_array[$cid_imgs[4][$j].$val];  
    11591154                        $mail->Body = str_replace($cid_imgs[1][$j], "cid:".$cid, $mail->Body); 
    11601155                         
    1161                                 if ($msg_uid != $cid_imgs[3][$j]) // The image isn't in the same mail? 
     1156                                if ($msg_uid != $cid_imgs[4][$j]) // The image isn't in the same mail? 
    11621157                                { 
    1163                                         $fileContent = $this->get_forwarding_attachment($cid_imgs[2][$j], $cid_imgs[3][$j], $cid_imgs[4][$j], 'base64'); 
     1158                                        $fileContent = $this->get_forwarding_attachment($cid_imgs[2][$j], $cid_imgs[4][$j], $cid_imgs[6][$j], 'base64'); 
    11641159                                        $fileName = "image_".($j).".jpg"; 
    11651160                                        $fileCode = "base64"; 
     
    11681163                                else 
    11691164                                { 
    1170                                         $attach_img = $forwarding_attachments[$cid_imgs[4][$j]-2]; 
     1165                                        $attach_img = $forwarding_attachments[$cid_imgs[6][$j]-2]; 
    11711166                                        $file_description = unserialize(rawurldecode($attach_img)); 
    11721167 
     
    11781173                                        $fileCode = $file_description[4]; 
    11791174                                        $fileType = $this->get_file_type($file_description[2]); 
    1180                                         unset($forwarding_attachments[$cid_imgs[4][$j]-2]); 
     1175                                        unset($forwarding_attachments[$cid_imgs[6][$j]-2]); 
    11811176                                } 
    11821177                                $tempDir = ini_get("session.save_path"); 
     
    14421437                // Caso estejamos no box principal, nï¿œo ï¿œ necessï¿œrio pegar a informaᅵᅵo da mensagem anterior.                  
    14431438                if (($params['get_previous_msg']) && ($params['border_ID'] != 'null') && ($params['border_ID'] != '')) 
     1439                { 
    14441440                        $return['previous_msg'] = $this->get_info_previous_msg($params); 
     1441                        // Fix problem in unserialize function JS. 
     1442                        $return['previous_msg']['body'] = str_replace(array('{','}'), array('&#123;','&#125;'), $return['previous_msg']['body']); 
     1443                } 
    14451444                 
    14461445                $mbox_stream = $this->open_mbox($folder);        
     
    17891788        function htmlspecialchars_encode($str) 
    17901789        { 
    1791                 /*// replace  '  and  "  with htmlspecialchars */ 
    1792                 $str = ereg_replace('&', '&amp;', $str); 
    1793                 // any ampersand & that ia already in a "&amp;" should NOT be encoded 
    1794                 //$str = preg_replace("/&(?![:alnum:]*;)/", "&amp;", $str); 
    1795                 $str = ereg_replace('"', '&quot;', $str); 
    1796                 $str = ereg_replace('\'', '&#039;', $str); 
    1797                  
    1798                 $str = ereg_replace('<', '&lt;', $str); 
    1799                 $str = ereg_replace('>', '&gt;', $str); 
    1800                 // these {  and  }  must be html encoded or else they conflict with the template system 
    1801                 $str = str_replace("{", '&#123;', $str); 
    1802                 $str = str_replace("}", '&#125;', $str); 
    1803                 return $str; 
     1790                return  str_replace( array('&', '"','\'','<','>','{','}'), array('&amp;','&quot;','&#039;','&lt;','&gt;','&#123;','&#125;'), $str); 
    18041791        } 
    18051792        function htmlspecialchars_decode($str) 
    18061793        { 
    1807                 /*// replace  '  and  "  with htmlspecialchars */ 
    1808                 $str = ereg_replace('&amp;','&',  $str); 
    1809                 // any ampersand & that ia already in a "&amp;" should NOT be encoded 
    1810                 //$str = preg_replace("/&(?![:alnum:]*;)/", "&amp;", $str); 
    1811                 $str = ereg_replace('&quot;', '"', $str); 
    1812                 $str = ereg_replace('&#039;', '\'', $str); 
    1813                 $str = ereg_replace('&lt;','<', $str); 
    1814                 $str = ereg_replace('&gt;', '>', $str); 
    1815                 // these {  and  }  must be html encoded or else they conflict with the template system 
    1816                 $str = str_replace('&#123;', "{", $str); 
    1817                 $str = str_replace( '&#125;',"}", $str); 
    1818                 return $str; 
     1794                return  str_replace( array('&amp;','&quot;','&#039;','&lt;','&gt;','&#123;','&#125;'), array('&', '"','\'','<','>','{','}'), $str); 
    18191795        } 
    18201796         
     
    19251901         
    19261902        function get_quota($params){ 
    1927                 $folder_id = $params['folder_id']; 
     1903                // folder_id = user/{uid} for shared folders 
     1904                if(substr($params['folder_id'],0,5) != 'INBOX' && preg_match('/user\\'.$this->imap_delimiter.'/i', $params['folder_id'])){ 
     1905                        $array_folder =  explode($this->imap_delimiter,$params['folder_id']); 
     1906                        $folder_id = "user".$this->imap_delimiter.$array_folder[1];              
     1907                } 
     1908                // folder_id = INBOX for inbox folders 
     1909                else 
     1910                        $folder_id = "INBOX"; 
     1911                 
    19281912                if(!$this->mbox) 
    19291913                        $this->mbox = $this->open_mbox(); 
    1930                  
     1914 
    19311915                $quota = imap_get_quotaroot($this->mbox, $folder_id); 
    19321916                if($this->mbox) 
     
    19651949                $toaddress = $params['notificationto']; 
    19661950                 
    1967                 $subject = 'Confirmaᅵᅵo de leitura: ' . $params['subject']; 
     1951                $subject = 'Confirmação de leitura: ' . $params['subject']; 
    19681952                $body = 'Sua mensagem: ' . $params['subject'] . '<br>'; 
    19691953                $body .= 'foi lida por: ' . $_SESSION['phpgw_info']['expressomail']['user']['fullname'] . ' &lt;' . $_SESSION['phpgw_info']['expressomail']['user']['email'] . '&gt; em ' . date("d/m/Y H:i"); 
     
    21122096        function remove_accents($string) { 
    21132097                return strtr($string,  
    2114                 "?ï¿œ??ï¿œ?ï¿œ?ᅵᅵᅵᅵᅵᅵᅵᅵᅵᅵᅵᅵᅵ?ᅵᅵᅵᅵᅵᅵᅵᅵᅵᅵ?ᅵᅵ?ᅵᅵᅵᅵᅵᅵᅵᅵᅵᅵᅵᅵ?ᅵᅵᅵᅵᅵᅵᅵᅵᅵᅵ?ᅵᅵᅵᅵ",  
     2098                "?Ó??ó?Ý?úÁÀÃÂÄÇÉÈÊËÍÌ?ÎÏÑÕÔÓÒÖÚÙ?ÛÜ?áàãâäçéèêëíì?îïñóòõôöúù?ûüýÿ",  
    21152099                "SOZsozYYuAAAAACEEEEIIIIINOOOOOUUUUUsaaaaaceeeeiiiiinooooouuuuuyy"); 
    21162100        } 
     
    23212305                //No caso de se tratar da caixa do proprio usuario logado, utiliza a sintaxe abaixo 
    23222306                if(substr($user,0,4) != 'user') 
    2323                   $mbox_acl = imap_getacl($mbox_stream, 'user'.$this->imap_delimiter.$user); 
     2307                $mbox_acl = imap_getacl($mbox_stream, 'user'.$this->imap_delimiter.$user); 
    23242308                else 
    23252309                  $mbox_acl = imap_getacl($mbox_stream, $user); 
     
    23902374                        $msg = $header . $body; 
    23912375                        $email = $_SESSION['phpgw_info']['expressomail']['user']['email']; 
    2392                         //$tmp_file = $tmp_dir . "msg." . $email . '.'. $msg_number . time(); 
    2393                         // maybe we can get it faster with regex, don't know how :'( 
    2394                         $signature = trim(substr($header, strpos($header, 'X-DSPAM-Signature:') + 18)); 
     2376                        $username = $this->username; 
    23952377                        strtok($email, '@'); 
    23962378                        $domain = strtok('@'); 
    23972379 
     2380                        //Encontrar a assinatura do dspam no cabecalho 
     2381                        $v = explode("\r\n", $header); 
     2382                        foreach ($v as $linha){ 
     2383                                if (eregi("^X-DSPAM-Signature", $linha)) { 
     2384                                         
     2385                                        $args = explode(" ",$linha); 
     2386                                        $signature = $args[1]; 
     2387                                } 
     2388                        } 
     2389 
    23982390                        // feed dspam 
    2399                         if ($is_spam) 
    2400                                 $cmd = str_replace( 
    2401                                                         array('##EMAIL##', '##USERNAME##', '##DOMAIN##', '##SIGNATURE##'),  
    2402                                                         array($email, $this->username, $domain, $signature), $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_command_for_spam'] 
    2403                                                 ); 
    2404                         else 
    2405                                 $cmd = str_replace( 
    2406                                                         array('##EMAIL##', '##USERNAME##', '##DOMAIN##', '##SIGNATURE##'), 
    2407                                                 array($email, $this->username, $domain, $signature), $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_command_for_ham'] 
    2408                                         ); 
    2409                          
     2391                        switch($is_spam){ 
     2392                                case 'true':  $cmd = $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_command_for_spam']; break; 
     2393                                case 'false': $cmd = $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_command_for_ham']; break; 
     2394                        } 
     2395                        $tags = array('##EMAIL##', '##USERNAME##', '##DOMAIN##', '##SIGNATURE##'); 
     2396                        $cmd = str_replace($tags,array($email,$username,$domain,$signature),$cmd); 
    24102397                        system($cmd); 
    2411                          
    24122398                } 
    24132399                imap_close($mbox_stream); 
  • trunk/expressoMail1_2/js/TreeShow.js

    r320 r345  
    2929                                tree_folders.getNodeById(get_current_folder())._select(); 
    3030                } 
    31                 cExecute ("$this.imap_functions.get_folders_list", handler_update_folders);              
     31                cExecute ("$this.imap_functions.get_folders_list&folder="+current_folder, handler_update_folders);               
    3232        } 
    3333 
  • trunk/expressoMail1_2/js/draw_api.js

    r325 r345  
    1010        if (Element('dftree_tree_folders')){ 
    1111                var update_tree_folders = function(data){ 
     12                        build_quota(data); 
    1213                        for (var i=0; i<data.length; i++){ 
    1314                                var folder_unseen = Element('dftree_'+data[i].folder_id+'_unseen'); 
     
    3435//                                      } 
    3536                                        Element('new_m').innerHTML = data[i].folder_unseen ? '<font color="RED">'+data[i].folder_unseen+'</font>' : 0; 
    36                                         draw_paging(Element('tot_m').innerHTML);                 
     37                                        draw_paging(Element('tot_m').innerHTML); 
    3738                                } 
    3839                        } 
    3940                } 
    40                 cExecute ("$this.imap_functions.get_folders_list", update_tree_folders); 
     41                cExecute ("$this.imap_functions.get_folders_list&folder="+current_folder, update_tree_folders); 
    4142                return; 
    4243        } 
     
    114115                draw_tree_folders(data); 
    115116                if(data) { 
    116                         update_quota('INBOX');                   
     117                        build_quota(data);                       
    117118                        var f_unseen = Element('dftree_'+get_current_folder()+'_unseen'); 
    118119                        if(f_unseen && f_unseen.innerHTML) 
     
    148149                        Element("tot_m").innerHTML = data.num_msgs; 
    149150                        update_menu(); 
    150                         update_quota(folder); 
    151151                        return true; 
    152152                } 
     
    157157 
    158158function open_folder(folder, folder_name){ 
    159         if (get_current_folder() != folder) { 
     159        if (get_current_folder()!= folder) { 
    160160                current_folder = folder; 
    161161                var handler_draw_box = function(data){ 
    162                         if (!verify_session(data))  
    163                                 return; 
    164                         Element("border_id_0").innerHTML = "&nbsp;" + lang_folder(folder_name) + '&nbsp;<font face="Verdana" size="1" color="#505050">[<span id="new_m">&nbsp;</span> / <span id="tot_m"></span>]</font>'; 
    165                         draw_box(data, current_folder); 
    166                         draw_paging(data.num_msgs); 
    167                         Element("tot_m").innerHTML = data.num_msgs; 
    168                         update_menu(); 
    169                         update_quota(folder); 
    170                         alternate_border(0); 
    171                 } 
    172                 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); 
     162                        if(!verify_session(data)) 
     163                                return false; 
     164                        numBox++; 
     165                        create_border(folder_name,numBox.toString()); 
     166                        draw_box(data, current_folder, false); 
     167                        alternate_border(numBox); 
     168                        return true; 
     169                } 
     170                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); 
    173171        } 
    174172        else 
    175                 alternate_border(0); 
     173                alternate_border(numBox); 
     174        return true; 
    176175} 
    177176 
     
    18451844        } 
    18461845        else{ 
    1847         div.innerHTML = null; 
     1846        if(div) 
     1847                div.innerHTML = null; 
    18481848        value = data['quota_percent']; 
    18491849        q_used = data['quota_used']; 
     
    19141914} 
    19151915 
    1916 function update_quota(folder_id){        
     1916function update_quota(folder_id){ 
    19171917        cExecute ("$this.imap_functions.get_quota&folder_id="+folder_id,build_quota); 
    19181918} 
  • trunk/expressoMail1_2/js/main.js

    r336 r345  
    160160                        if(data.new_msgs > 0){ 
    161161                        Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + parseInt(data.new_msgs); //refresh tab title 
    162                         update_quota(); 
     162                        update_quota(get_current_folder()); 
    163163                        } 
    164164                } 
     
    250250        var main_list = Element("tbody_resultsearch_"+border_id.substr(18)).childNodes;  
    251251        for (j = 0; j < main_list.length; j++)  { 
    252                 var check_box = Element("check_box_message_"+main_list[j].id); 
     252                var check_box = main_list[j].firstChild.firstChild;  
    253253                if(check_box && check_box.checked) { 
    254254                        selected_messages += main_list[j].id + ','; 
     
    321321                        return false; 
    322322                } 
    323  
    324  
     323                 
    325324                Element('chk_box_select_all_messages').checked = false; 
    326                 mail_msg = Element("tbody_box"); 
    327                 //mail_msg = document.getElementById("divScrollMain_"+numBox).firstChild.firstChild; 
     325                 
     326                mail_msg = ( Element("divScrollMain_"+numBox) ) ? Element("divScrollMain_"+numBox).firstChild.firstChild : Element("divScrollMain_0").firstChild.firstChild; 
     327                if (! mail_msg) 
     328                                mail_msg = Element("tbody_box"); 
    328329                data.msgs_number = data.msgs_number.split(","); 
    329330 
    330                 var msg_to_delete;               
    331                 all_search_msg = msgs_number.split(','); 
     331                var msg_to_delete; 
     332                if( typeof(msgs_number) == 'string' ) 
     333                        all_search_msg = msgs_number.split(','); 
     334                else if( typeof(msgs_number) == 'number') 
     335                        all_search_msg = msgs_number; 
    332336                for (var i=0; i <= all_search_msg.length; i++) 
    333337                { 
     
    390394 
    391395function get_selected_messages(){ 
    392         main = Element("tbody_box"); 
    393 //      main = document.getElementById("divScrollMain_"+numBox).firstChild.firstChild; 
     396        main = document.getElementById("divScrollMain_"+numBox).firstChild.firstChild; 
     397        if (! main) 
     398                main = Element("tbody_box"); 
    394399 
    395400        // Get all TR (messages) in tBody. 
     
    516521                        } 
    517522                        else{  
    518                                 body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'></body></html>"); 
     523                        body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'></body></html>"); 
    519524                        } 
    520525                        body.contentWindow.document.close(); 
     
    545550                        } 
    546551                        else { 
    547                                 body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'>" + block_quoted_body + "</body></html>"); 
     552                        body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'>"+block_quoted_body+"</body></html>"); 
    548553                        } 
    549554                        body.contentWindow.document.close(); 
     
    590595                        } 
    591596                        else { 
    592                                 body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'></body></html>"); 
     597                        body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'></body></html>"); 
    593598                        } 
    594599                        body.contentWindow.document.close(); 
     
    635640                        } 
    636641                        else { 
    637                                 body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'>" + block_quoted_body + "</body></html>"); 
     642                        body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'>"+block_quoted_body+"</body></html>"); 
    638643                        } 
    639644                        body.contentWindow.document.close(); 
     
    683688                        } 
    684689                        else { 
    685                                 body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'>" + make_forward_body(data.body, data.to, data.date, data.subject, data.to_all, data.cc) + "</body></html>"); 
     690                        body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'>"+make_forward_body(data.body, data.to, data.date, data.subject, data.to_all, data.cc)+"</body></html>"); 
    686691                        } 
    687692                        body.contentWindow.document.close(); 
     
    716721                        } 
    717722                        else { 
    718                                 body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'></body></html>"); 
     723                        body.contentWindow.document.write("<html><body bgcolor='#FFFFFF'></body></html>"); 
    719724                        } 
    720725                        body.contentWindow.document.close(); 
Note: See TracChangeset for help on using the changeset viewer.