Ignore:
Timestamp:
07/15/11 18:03:42 (13 years ago)
Author:
fernando-alberto
Message:

Ticket #1269 - Mergiando revisoes do branch22 de rev4644 ate rev4755

Location:
sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js/common_functions.js

    r4661 r4778  
    653653} 
    654654 
    655 function editrss(){ 
    656         connector.loadScript("news_edit"); 
    657         if (typeof(news_edit) == 'undefined') 
    658         { 
    659                 setTimeout('editrss()',500); 
    660                 return false; 
    661         } 
    662         news_edit.makeWindow(); 
    663 } 
    664  
    665  
     655function editrss() 
     656{ 
     657 
     658    connector.loadScript("news_edit"); 
     659 
     660    if (typeof(news_edit) == 'undefined') 
     661    { 
     662            setTimeout('editrss()',500); 
     663            return false; 
     664    } 
     665    news_edit.makeWindow(); 
     666         
     667} 
    666668 
    667669 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js/doiMenuData.js

    r4663 r4778  
    88        var _option1 = preferences.hide_folders == "1" ? false : true; 
    99                                                                 
    10         if (!expresso_offline) { 
    11                 var itens = new Array("preferences_mail()|" + get_lang("Preferences") + "|preferences.png", 
    12                                 "search_emails(\"\")|" + get_lang("Search") + "|search.png", 
    13                                 "filterbox()|" + get_lang("Edit filters") + "|filters.png", 
    14                                 "folderbox()|" + get_lang("Edit folders") + "|editfolders.png", 
    15                                 "sharebox()|" + get_lang("Share mailbox") + "|usersfolders.png", 
    16 //                              "editrss()|" + get_lang("Edit my news") + "|rss.png", 
    17                                 "empty_trash_imap()|" + get_lang("Empty trash") + "|trash.png"); 
    18                 if(window.google && google.gears && preferences.use_local_messages==1) { 
     10        if (!expresso_offline) 
     11        { 
     12                if( eval(enabledReadRSS ) == true )  
     13                { 
     14                        var itens = new Array(  "preferences_mail()|" + get_lang("Preferences") + "|preferences.png", 
     15                                                                        "search_emails(\"\")|" + get_lang("Search") + "|search.png", 
     16                                                                        "filterbox()|" + get_lang("Edit filters") + "|filters.png", 
     17                                                                        "folderbox()|" + get_lang("Edit folders") + "|editfolders.png", 
     18                                                                        "sharebox()|" + get_lang("Share mailbox") + "|usersfolders.png", 
     19                                                                        "editrss()|" + get_lang("Edit my news") + "|rss.png", 
     20                                                                        "empty_trash_imap()|" + get_lang("Empty trash") + "|trash.png"); 
     21                } 
     22                else 
     23                { 
     24                        var itens = new Array(  "preferences_mail()|" + get_lang("Preferences") + "|preferences.png", 
     25                                        "search_emails(\"\")|" + get_lang("Search") + "|search.png", 
     26                                        "filterbox()|" + get_lang("Edit filters") + "|filters.png", 
     27                                        "folderbox()|" + get_lang("Edit folders") + "|editfolders.png", 
     28                                        "sharebox()|" + get_lang("Share mailbox") + "|usersfolders.png", 
     29                                        "empty_trash_imap()|" + get_lang("Empty trash") + "|trash.png"); 
     30                         
     31                } 
     32                 
     33                if(window.google && google.gears && preferences.use_local_messages==1) 
     34                { 
    1935                        if(expresso_local_messages.is_offline_installed()) { 
    2036                                itens.push("force_check_queue()|" + get_lang("Send from queue") + "|queue.jpg"); 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js/draw_api.js

    r4716 r4778  
    168168                        tree_folders = new dFTree({name: 'tree_folders'}); 
    169169 
    170                         var n_root = new dNode({id:'root', caption: get_lang("My Folders")}); 
    171                         tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything. 
    172  
    173                         var unseen_in_mailbox = 0; 
    174                         var unseen_in_shared_folders = 0; 
    175                         for (var i=0; i<folders.length; i++){ 
    176                                 if (folders[i].folder_unseen > 0) 
    177                                 { 
    178                                         unseen_in_mailbox = parseInt( unseen_in_mailbox + folders[ i ].folder_unseen ); 
    179                                         if ( folders[i].folder_id.indexOf( 'INBOX' ) !== 0 ) 
    180                                                 unseen_in_shared_folders = parseInt( unseen_in_shared_folders + folders[ i ].folder_unseen ); 
    181  
    182                                         var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+folders[i].folder_id+'_unseen" style=color:red>'+folders[i].folder_unseen+'</span><font style=color:red>)</font>', onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 
    183  
    184                                         if( folders[i].folder_name.toLowerCase() == 'inbox' ) 
    185                                                 Element('new_m').innerHTML = '<font style="color:red">' + folders[i].folder_unseen + '</font>'; 
    186                                 } 
    187                                 else 
    188                                         var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name), onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 
    189  
    190                                 if (folders[i].folder_parent == '') 
    191                                         folders[i].folder_parent = 'root'; 
    192                                 else if (folders[i].folder_parent == 'user'){ 
    193  
    194                                         if (!tree_folders.getNodeById('user')){ 
    195                                                                                                 tmpFolderId = folders[i].folder_id.split(cyrus_delimiter).pop(); 
    196                                                                                                 if (tmpFolderId != folders[i].folder_name) 
    197                                                                                                 { 
    198                                                                                                         translatedFolders.add(tmpFolderId, folders[i].folder_name); 
    199                                                                                                 } 
    200                                                 var n_root_shared_folders = new dNode({id:'user', caption:get_lang("Shared folders"), plusSign:true}); 
    201                                                 tree_folders.add(n_root_shared_folders,'root'); 
    202                                         } 
    203                                 } 
    204                                 tree_folders.add(nn,folders[i].folder_parent); 
    205                         } 
     170                    var n_root = new dNode({id:'root', caption: get_lang("My Folders")}); 
     171                    tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything. 
     172 
     173                    var unseen_in_mailbox = 0; 
     174                    var unseen_in_shared_folders = 0; 
     175                    for (var i=0; i<folders.length; i++) 
     176                    { 
     177                        if (folders[i].folder_unseen > 0) 
     178                        { 
     179                                unseen_in_mailbox = parseInt( unseen_in_mailbox + folders[ i ].folder_unseen ); 
     180                                if ( folders[i].folder_id.indexOf( 'INBOX' ) !== 0 ) 
     181                                        unseen_in_shared_folders = parseInt( unseen_in_shared_folders + folders[ i ].folder_unseen ); 
     182 
     183                                var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+folders[i].folder_id+'_unseen" style=color:red>'+folders[i].folder_unseen+'</span><font style=color:red>)</font>', onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 
     184 
     185                                if( folders[i].folder_name.toLowerCase() == 'inbox' ) 
     186                                        Element('new_m').innerHTML = '<font style="color:red">' + folders[i].folder_unseen + '</font>'; 
     187                        } 
     188                        else 
     189                            var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name), onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 
     190 
     191                        if (folders[i].folder_parent == '') 
     192                                folders[i].folder_parent = 'root'; 
     193                        else if (folders[i].folder_parent == 'user') 
     194                        { 
     195 
     196                            if (!tree_folders.getNodeById('user')) 
     197                            { 
     198                                tmpFolderId = folders[i].folder_id.split(cyrus_delimiter).pop(); 
     199                                if (tmpFolderId != folders[i].folder_name) 
     200                                { 
     201                                        translatedFolders.add(tmpFolderId, folders[i].folder_name); 
     202                                } 
     203                                var n_root_shared_folders = new dNode({id:'user', caption:get_lang("Shared folders"), plusSign:true}); 
     204                                tree_folders.add(n_root_shared_folders,'root'); 
     205                            } 
     206                        } 
     207                        tree_folders.add(nn,folders[i].folder_parent); 
     208                    } 
    206209                } 
    207210                //MAILARCHIVER 
     
    230233                }                 
    231234 
    232  
    233  
    234                 var handlerChannel = function(data){ 
    235                         if (data == null || typeof(data) == 'string') 
    236                                 return; 
    237                         /* 
    238                         *  RSS NEWS 
    239                         */ 
    240                         var root_rss = new dNode({ 
    241                                 id: "news_root", 
    242                                 caption: get_lang('News') 
    243                         }); 
    244                         tree_folders.add(root_rss, "root"); 
    245                         for(i=0; i < data.length; i++) 
    246                         { 
    247                                 var nodeNews = new dNode({ 
    248                                         id: "NEWS/"+data[i].name, 
    249                                         caption: data[i].name, 
    250                                         onClick: "open_rss('"+data[i].rss_url+"')", 
    251                                         plusSign: 0 
    252                                 }); 
    253                                 tree_folders.add(nodeNews,"news_root"); 
    254                         } 
    255                         var noden=document.getElementById('lnews_roottree_folders'); 
    256                         noden.style.backgroundImage="url(templates/"+template+"/images/menu/rss.png)"; 
    257                 } 
    258 //              cExecute('$this.rss.getChannels',handlerChannel); 
    259  
    260               
     235                var handlerChannel = function(data) 
     236                { 
     237 
     238                        if ( data == null || typeof(data) == 'string') 
     239                    {     
     240                                return false; 
     241                    } 
     242 
     243                    var nodeParent  = document.getElementById('content_folders'); 
     244                    var treeRss     = new dFTree({name: 'treeRss'}); 
     245                    var root_rss    = new dNode({id:'news_root', caption: get_lang("News")}); 
     246                     
     247                    treeRss.add(root_rss,'anything'); 
     248 
     249                    for( i=0; i < data.length; i++ ) 
     250                    { 
     251                        var nodeNews = new dNode( 
     252                        { 
     253                            id: "NEWS/"+data[i].name, 
     254                            caption: data[i].name, 
     255                            onClick: "open_rss('"+data[i].rss_url+"')", 
     256                            plusSign: 0 
     257                        }); 
     258                        treeRss.add(nodeNews,"news_root"); 
     259                    } 
     260                     
     261                    treeRss.draw( nodeParent ); 
     262                     
     263                    with ( document.getElementById('lnews_roottreeRss') ) 
     264                    { 
     265                        style.backgroundImage   = "url(templates/"+template+"/images/menu/rss.png)"; 
     266                        style.marginLeft        = "2px"; 
     267                    } 
     268 
     269                    if( nodeParent.firstChild.id != ("dftree_" + treeRss.name ) ) 
     270                    { 
     271                        var _folder     = Element(nodeParent.firstChild.id); 
     272                        var _rssNews    = Element("dftree_" + treeRss.name ); 
     273                         
     274                        nodeParent.insertBefore( _rssNews, _folder ); 
     275                    } 
     276                     
     277                } 
     278                 
     279       if( eval(enabledReadRSS ) == true )  
     280           cExecute('$this.rss.getChannels',handlerChannel); 
    261281 
    262282                tree_folders.draw(Element('content_folders')); 
     
    10871107                                var spanSender = document.createElement("SPAN"); 
    10881108                                spanSender.onmouseover = function (event) {this.style.textDecoration = "underline";try {InfoContact.begin(this,headers_msgs.from.email)} catch(e){};}; 
    1089                                 spanSender.onmouseout = function (){ try {this.style.textDecoration = "none"; clearTimeout(InfoContact.timeout);} catch(e){}}; 
     1109                                spanSender.onmouseout = function (){try {this.style.textDecoration = "none";clearTimeout(InfoContact.timeout);} catch(e){}}; 
    10901110                                spanSender.innerHTML =  headers_msgs.from.name != null ? headers_msgs.from.name : headers_msgs.from.email; 
    10911111                                if (spanSender.innerHTML.indexOf(" ") == '-1' && spanSender.innerHTML.length > 25){ 
     
    14221442        var option_hide_more = document.createElement("SPAN"); 
    14231443        option_hide_more.className = 'message_options'; 
    1424         option_hide_more.onmouseover=function () { this.className='message_options_active'; }; 
    1425         option_hide_more.onmouseout=function () { this.className='message_options' }; 
     1444        option_hide_more.onmouseover=function () {this.className='message_options_active';}; 
     1445        option_hide_more.onmouseout=function () {this.className='message_options'}; 
    14261446        options.align = 'right'; 
    14271447        option_hide_more.value = 'more_options'; 
     
    14461466        var option_mark_as_unseen = document.createElement("SPAN"); 
    14471467        option_mark_as_unseen.className = "message_options"; 
    1448         option_mark_as_unseen.onclick = function () { changeLinkState(this,'seen'); 
     1468        option_mark_as_unseen.onclick = function () {changeLinkState(this,'seen'); 
    14491469                proxy_mensagens.proxy_set_message_flag(folder_id,'unseen'); 
    14501470                write_msg(get_lang('Message marked as ')+get_lang("Unseen")); 
    14511471        }; 
    1452         option_mark_as_unseen.onmouseover=function () { this.className='message_options_active'; }; 
    1453         option_mark_as_unseen.onmouseout=function () { this.className='message_options' }; 
     1472        option_mark_as_unseen.onmouseover=function () {this.className='message_options_active';}; 
     1473        option_mark_as_unseen.onmouseout=function () {this.className='message_options'}; 
    14541474        option_mark_as_unseen.innerHTML = get_lang("Unseen"); 
    14551475 
     
    14571477        option_mark_important.className = 'message_options'; 
    14581478        option_mark_important.style.paddingLeft = "10px"; 
    1459         option_mark_important.onmouseover=function () { this.className='message_options_active'; }; 
    1460         option_mark_important.onmouseout=function () { this.className='message_options' }; 
     1479        option_mark_important.onmouseover=function () {this.className='message_options_active';}; 
     1480        option_mark_important.onmouseout=function () {this.className='message_options'}; 
    14611481 
    14621482        if (info_msg.Flagged == "F"){ 
     
    14741494        } 
    14751495        else{ 
    1476                 option_mark_important.onclick = function() { changeLinkState(this,'normal'); 
     1496                option_mark_important.onclick = function() {changeLinkState(this,'normal'); 
    14771497                        proxy_mensagens.proxy_set_message_flag(folder_id,'flagged'); 
    14781498                        write_msg(get_lang('Message marked as ')+get_lang("Important")); 
     
    14971517        option_forward.className = 'message_options'; 
    14981518        option_forward.onclick = function(){new_message('forward', ID);}; 
    1499         option_forward.onmouseover=function () { this.className='message_options_active'; }; 
    1500         option_forward.onmouseout=function () { this.className='message_options' }; 
     1519        option_forward.onmouseover=function () {this.className='message_options_active';}; 
     1520        option_forward.onmouseout=function () {this.className='message_options'}; 
    15011521        option_forward.innerHTML = get_lang('Forward'); 
    15021522        options.appendChild(space1); 
     
    15071527        option_reply.onclick = function(){new_message('reply_with_history', ID);}; 
    15081528        option_reply.innerHTML = get_lang('Reply'); 
    1509         option_reply.onmouseover=function () { this.className='message_options_active'; }; 
    1510         option_reply.onmouseout=function () { this.className='message_options' }; 
     1529        option_reply.onmouseover=function () {this.className='message_options_active';}; 
     1530        option_reply.onmouseout=function () {this.className='message_options'}; 
    15111531 
    15121532        options.appendChild(space2); 
     
    22182238                case 'important': 
    22192239                        { 
    2220                                 el.onclick = function(){changeLinkState(el,'normal');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'flagged'); write_msg(get_lang('Message marked as ')+get_lang("Important"))} 
     2240                                el.onclick = function(){changeLinkState(el,'normal');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'flagged');write_msg(get_lang('Message marked as ')+get_lang("Important"))} 
    22212241                                break; 
    22222242                        } 
     
    22362256                case 'unseen': 
    22372257                        { 
    2238                                 el.onclick = function(){  changeLinkState(el,'seen');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'unseen');write_msg(get_lang('Message marked as ')+get_lang("unseen"))} 
     2258                                el.onclick = function(){changeLinkState(el,'seen');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'unseen');write_msg(get_lang('Message marked as ')+get_lang("unseen"))} 
    22392259                                break; 
    22402260 
     
    22422262                case 'seen': 
    22432263                        { 
    2244                                 el.onclick = function(){  changeLinkState(el,'unseen');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'seen');write_msg(get_lang('Message marked as ')+get_lang("seen"))} 
     2264                                el.onclick = function(){changeLinkState(el,'unseen');proxy_mensagens.proxy_set_message_flag(currentTab.substr(0,currentTab.indexOf("_r")),'seen');write_msg(get_lang('Message marked as ')+get_lang("seen"))} 
    22452265                                break; 
    22462266 
     
    23722392        input_replyto.style.width = "100%"; 
    23732393        input_replyto.setAttribute("wrap","soft"); 
    2374         input_replyto.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus', this.id);}; 
     2394        input_replyto.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer));search_contacts('onfocus', this.id);}; 
    23752395        input_replyto.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);}; 
    23762396 
     
    24552475        input_to.style.width = "100%"; 
    24562476        input_to.setAttribute("wrap","soft"); 
    2457         input_to.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus', this.id);}; 
     2477        input_to.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer));search_contacts('onfocus', this.id);}; 
    24582478        input_to.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);}; 
    24592479        if (!is_ie) 
     
    25512571        input_cc.setAttribute("tabIndex","1"); 
    25522572        input_cc.style.width = "100%"; 
    2553         input_cc.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);}; 
     2573        input_cc.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer));search_contacts('onfocus',this.id);}; 
    25542574        input_cc.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);}; 
    25552575        if (!is_ie) 
     
    26332653        input_cco.setAttribute("tabIndex","1"); 
    26342654        input_cco.style.width = "100%"; 
    2635         input_cco.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);}; 
     2655        input_cco.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer));search_contacts('onfocus',this.id);}; 
    26362656        input_cco.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);}; 
    26372657 
     
    27092729        a_cc_link.setAttribute("href","javascript:void(0)"); 
    27102730        a_cc_link.setAttribute("tabIndex","-1"); 
    2711         a_cc_link.onclick = function () {this.style.display='none';document.getElementById('tr_cc_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cc.focus(); return false;} 
     2731        a_cc_link.onclick = function () {this.style.display='none';document.getElementById('tr_cc_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cc.focus();return false;} 
    27122732        td2_link.appendChild(a_cc_link); 
    27132733        var space = document.createElement("span"); 
     
    27202740        a_cco_link.setAttribute("href","javascript:void(0)"); 
    27212741        a_cco_link.setAttribute("tabIndex","-1"); 
    2722         a_cco_link.onclick = function () {this.style.display='none';document.getElementById('tr_cco_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cco.focus(); return false;} 
     2742        a_cco_link.onclick = function () {this.style.display='none';document.getElementById('tr_cco_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cco.focus();return false;} 
    27232743        td2_link.appendChild(a_cco_link); 
    27242744        var space = document.createElement("span"); 
     
    27312751        a_replyto_link.setAttribute("href","javascript:void(0)"); 
    27322752        a_replyto_link.setAttribute("tabIndex","-1"); 
    2733         a_replyto_link.onclick = function () {this.style.display='none';document.getElementById('tr_replyto_'+ID).style.display='';document.getElementById('space_link_2_'+ID).style.display='none';input_replyto.focus(); return false;} 
     2753        a_replyto_link.onclick = function () {this.style.display='none';document.getElementById('tr_replyto_'+ID).style.display='';document.getElementById('space_link_2_'+ID).style.display='none';input_replyto.focus();return false;} 
    27342754        td2_link.appendChild(a_replyto_link); 
    27352755        tr_link.appendChild(td1_link); 
     
    28922912        var add_files = document.createElement("A"); 
    28932913        add_files.setAttribute("href", "javascript:void(0)"); 
    2894         add_files.onclick = function () { addFile(ID); return false;}; 
     2914        add_files.onclick = function () {addFile(ID);return false;}; 
    28952915        add_files.innerHTML =  get_lang("Attachments: add+"); 
    28962916        add_files.setAttribute("tabIndex","-1"); 
  • sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js/news_edit.js

    r3178 r4778  
    1 function loadXMLDoc(fname) 
    2 { 
    3         var xmlDoc; 
    4         // code for IE 
    5         if (window.ActiveXObject) 
    6         { 
    7                 xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
    8         } 
    9         // code for Mozilla, Firefox, Opera, etc. 
    10         else if (document.implementation  
    11                         && document.implementation.createDocument) 
    12         { 
    13                 xmlDoc=document.implementation.createDocument("","",null); 
    14         } 
    15         else 
    16         { 
    17                 alert('Your browser cannot handle this script'); 
    18         } 
    19         xmlDoc.async=false; 
    20         xmlDoc.load(fname); 
    21         return(xmlDoc); 
    22 } 
    23  
    241 
    252function cnews_edit() 
    263{ 
    27         this.arrayWin = new Array(); 
    28         this.rssXml; 
     4    this.arrayWin = new Array(); 
     5    this.rssXml; 
     6    this.xtools = new xtools('/expressoMail1_2/'); 
    297} 
    308 
    319cnews_edit.prototype.read_rss = function(val) 
    3210{ 
    33         Element("border_id_0").innerHTML = get_lang('News')+'&nbsp;&nbsp;<font face="Verdana" size="1" color="#505050">[<span id="new_m">&nbsp;</span> / <span id="tot_m"></span>]</font>'; 
    34  
    35         Element("tot_m").innerHTML = 0; 
    36         Element('content_id_0').innerHTML = ''; 
    37         current_folder = "NEWS/"+val; 
    38         openTab.imapBox[0] = "NEWS/"+val; 
    39         this.rssXml = loadXMLDoc('controller.php?action=$this.rss.getContent&url='+escape(val)); 
    40         var xsl = loadXMLDoc('stylesheet/news_read.xsl'); 
    41  
    42         document.getElementById("content_id_0").innerHTML= '<tr class="message_header">'+ 
    43                 '<td width="1%"><input type="checkbox" id="chk_box_select_all_messages" class="checkbox"/></td>'+ 
    44                 '<td width="2%"/><td>   </td><td>   </td><td>  </td>'+ 
    45                 '<td width="16%" align="left">'+get_lang('Who')+'</td>'+ 
    46                 '<td width="50%" align="left">'+get_lang('subject')+'</td>'+ 
    47                 '<td width="17%" align="center">'+get_lang('date')+'</td>'+ 
    48                 '<td width="14%" align="center">'+get_lang('size')+'</td></tr>'; 
    49         // code for IE 
    50         if (window.ActiveXObject) 
    51         { 
    52                 ex=this.rssXml.transformNode(xsl); 
    53                 document.getElementById("content_id_0").innerHTML=ex; 
    54         } 
    55         // code for Mozilla, Firefox, Opera, etc. 
    56         else if (document.implementation && document.implementation.createDocument) 
    57         { 
    58                 xsltProcessor=new XSLTProcessor(); 
    59                 xsltProcessor.importStylesheet(xsl); 
    60                 resultDocument = xsltProcessor.transformToFragment(this.rssXml,document); 
    61                 document.getElementById("content_id_0").appendChild(resultDocument); 
    62                 resizeWindow(); 
    63         } 
    64  
    65         update_menu(); 
    66         var box = Element("tbody_box"); 
    67         if(box.childNodes.length > 1) 
    68                 updateBoxBgColor(box.childNodes); 
    69 } 
    70  
    71 cnews_edit.prototype.read_item = function(item_number){ 
    72         try { 
    73                 var description = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('description')[0].firstChild.nodeValue; 
    74         }catch(e){ 
    75                 return; 
    76         } 
    77         var title = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('title')[0].firstChild.nodeValue; 
    78         var pubDate = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('pubDate')[0].firstChild.nodeValue; 
    79         var link = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('link')[0].firstChild.nodeValue; 
    80         var owner = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('owner')[0]; 
    81         if (currentTab.toString().indexOf('news_') != -1) 
    82                 delete_border(currentTab); 
    83         var border_id = create_border(title, 'news_'+item_number); 
    84         if(!border_id) 
    85                 return false; 
    86  
    87           openTab.type[border_id] = 2; 
    88  
    89         var toolbarCode = "<div style='background-color: #FFF; font-size: larger;'>"+ 
    90         "<table class='table_message' style='width:100%;'><tr><td>"+(owner != undefined?owner.firstChild.nodeValue:get_lang('nobody'))+", "+pubDate+"</td>"+ 
    91         '<td width="30%" align="left">Marcar como: <span class="message_options">'+get_lang('unseen')+'</span></td>'+ 
    92         '<td nowrap="true" width="30%" align="right"><a target="_blank" href="'+link+'" style class="message_options">'+get_lang('Complete news')+'</a>'; 
    93         if (owner != undefined) 
    94                 toolbarCode += '<span>&nbsp;|&nbsp;</span><span class="message_options">'+get_lang('forward')+'</span><span>&nbsp;|&nbsp;</span>'+ 
    95                                 '<span class="message_options">Responder</span></td>'; 
    96         toolbarCode += '<td nowrap="true" width="40px" align="right">'+ 
    97         ( item_number == 1 ?  '<img style="cursor: default;" src="./templates/default/images/up.gray.button.png">' : 
    98         '<img onclick="news_edit.read_item('+(parseInt(item_number)-1)+')" style="cursor: default;" src="./templates/default/images/up.button.png">')+ 
    99         '<span>&nbsp;</span>'+ 
    100         (this.rssXml.getElementsByTagName('item')[parseInt(item_number)] == undefined ? '<img style="cursor: default;" src="./templates/default/images/down.gray.button.png">' : 
    101         '<img onclick="news_edit.read_item('+(parseInt(item_number)+1)+')" style="cursor: pointer;" src="./templates/default/images/down.button.png">')+ 
    102         "</td></tr></table><h2>"+title+"</h2><br>"+description+"</div>"; 
    103         Element('content_id_'+border_id).innerHTML = toolbarCode; 
    104         resizeWindow(); 
    105 } 
    106  
     11    Element("border_id_0").innerHTML    = get_lang('News')+'&nbsp;&nbsp;<font face="Verdana" size="1" color="#505050">[ <span id="tot_m"></span> ]</font>'; 
     12     
     13    current_folder = "NEWS/"+val; 
     14    openTab.imapBox[0] = "NEWS/"+val; 
     15     
     16    this.rssXml = this.xtools.load('controller.php?action=$this.rss.getContent&url='+escape(val)); 
     17 
     18    var langs =  
     19    { 
     20        'lang_who'      : get_lang('Who'), 
     21        'lang_subject'  : get_lang('subject'), 
     22        'lang_date'     : get_lang('date'), 
     23        'lang_size'     : get_lang('size') 
     24    }; 
     25     
     26    var _div = document.getElementById("content_id_0"); 
     27        _div.innerHTML = this.xtools.parse( this.rssXml, 'stylesheet/news_read.xsl' , langs ); 
     28     
     29    update_menu(); 
     30    var box = Element("tbody_box"); 
     31     
     32    if(box.childNodes.length > 1) 
     33        updateBoxBgColor(box.childNodes); 
     34     
     35    for( var i = 0 ; i < box.childNodes.length ; i++ ) 
     36    { 
     37        if( box.childNodes[i].childNodes[2].getAttribute("convertDate") ) 
     38        { 
     39            box.childNodes[i].childNodes[2].innerHTML = this.dateString(box.childNodes[i].childNodes[2].getAttribute("convertDate")); 
     40        } 
     41    } 
     42     
     43    Element("tot_m").innerHTML = box.childNodes.length - 1 ; 
     44} 
     45 
     46cnews_edit.prototype.read_item = function(item_number) 
     47{ 
     48    try  
     49    { 
     50        var description = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('description')[0].firstChild.nodeValue; 
     51    } 
     52    catch(e) 
     53    { 
     54        return; 
     55    } 
     56     
     57    var title = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('title')[0].firstChild.nodeValue; 
     58    var pubDate = this.dateString(this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('pubDate')[0].firstChild.nodeValue); 
     59    var link = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('link')[0].firstChild.nodeValue; 
     60    var owner = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('owner')[0]; 
     61    if (currentTab.toString().indexOf('news_') != -1) 
     62        delete_border(currentTab); 
     63    var border_id = create_border(title, 'news_'+item_number); 
     64    if(!border_id) 
     65        return false; 
     66 
     67    openTab.type[border_id] = 2; 
     68 
     69    var toolbarCode = "<div style='background-color: #FFF; font-size: larger;'>"+ 
     70                      "<table class='table_message' style='width:100%;'><tr><td>"+(owner != undefined?owner.firstChild.nodeValue:get_lang('nobody'))+", "+pubDate+"</td>"+ 
     71                      '<td width="30%" align="left"></td>'+ 
     72                      '<td nowrap="true" width="30%" align="right"><a target="_blank" href="'+link+'" style class="message_options">'+get_lang('Complete news')+'</a>'; 
     73    if ( owner != undefined ) 
     74        toolbarCode += '<span>&nbsp;|&nbsp;</span><span class="message_options">'+get_lang('forward')+'</span><span>&nbsp;|&nbsp;</span>'+ 
     75        '<span class="message_options">Responder</span></td>'; 
     76    toolbarCode += '<td nowrap="true" width="40px" align="right">'+ 
     77    ( item_number == 1 ?  '<img style="cursor: default;" src="./templates/default/images/up.gray.button.png">' : 
     78        '<img onclick="news_edit.read_item('+(parseInt(item_number)-1)+')" style="cursor: default;" src="./templates/default/images/up.button.png">')+ 
     79    '<span>&nbsp;</span>'+ 
     80    (this.rssXml.getElementsByTagName('item')[parseInt(item_number)] == undefined ? '<img style="cursor: default;" src="./templates/default/images/down.gray.button.png">' : 
     81        '<img onclick="news_edit.read_item('+(parseInt(item_number)+1)+')" style="cursor: pointer;" src="./templates/default/images/down.button.png">')+ 
     82    "</td></tr></table><h2>"+title+"</h2><br>"+description+"</div>"; 
     83    Element('content_id_'+border_id).innerHTML = toolbarCode; 
     84    resizeWindow(); 
     85} 
     86 
     87cnews_edit.prototype.dateString = function(StringDate) 
     88{ 
     89    var _date   = new Date(StringDate); 
     90     
     91    var _day    = ( (_date.getDate()).toString().length > 1 ) ? _date.getDate() : "0" + _date.getDate(); 
     92     
     93    var _month  = _date.getMonth() + 1; 
     94        _month  = ( _month.toString().length > 1 ) ? _month : "0" + _month; 
     95     
     96    var _year   = _date.getFullYear(); 
     97     
     98    return ( _day + "/" + _month + "/" + _year ); 
     99} 
    107100 
    108101cnews_edit.prototype.makeWindow = function(options) 
    109102{ 
    110         _this = this; 
    111  
    112         var el = document.createElement("DIV"); 
    113         el.style.visibility = "hidden"; 
    114         el.style.position = "absolute"; 
    115         el.style.left = "0px"; 
    116         el.style.top = "0px"; 
    117         el.style.width = "0px"; 
    118         el.style.height = "0px"; 
    119         el.id = 'dJSWin_newswin'; 
    120         document.body.appendChild(el); 
    121         el.innerHTML = "<table border=0><tbody><tr>"+ 
    122                 '<td valign="bottom"><input type="text" id="rssEnter" size="40"><input value="'+get_lang('subscribe')+ 
    123                 '" onclick="news_edit.subscribe();" type="button">'+ 
    124                 '<br>Enter de url of RSS service<br>'+ 
    125                 '</td></tr>'+ 
    126                 '<tr><td id="serv_table"></td></tr>'+ 
    127                 "</tbody></table><br>"; 
    128  
    129  
    130         var butt = Element('dJSWin_wfolders_bok') 
    131                 if (!butt){ 
    132                         butt = document.createElement('INPUT'); 
    133                         butt.id = 'dJSWin_wfolders_bok'; 
    134                         butt.type = 'button'; 
    135                         butt.value = get_lang('Close'); 
    136                         el.appendChild(butt); 
    137                 } 
    138         butt.onclick = function () 
    139         { 
    140                 news_edit.arrayWin[el.id].close(); 
    141         } 
    142  
    143  
    144                 _this.showWindow(el); 
    145         } 
    146  
    147         cnews_edit.prototype.showWindow = function (div) 
    148         { 
    149                 if(! div) { 
    150                         alert(get_lang('This list has no participants')); 
    151                         return; 
    152                 } 
    153  
    154                 if(! this.arrayWin[div.id]) 
    155                 { 
    156                         div.style.height = "280px"; 
    157                         div.style.width = "340px"; 
    158                         var title = ":: "+get_lang("News edit")+" ::"; 
    159                         var wHeight = div.offsetHeight + "px"; 
    160                         var wWidth =  div.offsetWidth   + "px"; 
    161                         div.style.width = div.offsetWidth - 5; 
    162  
    163                         win = new dJSWin({ 
    164                                 id: 'win_'+div.id, 
    165                                 content_id: div.id, 
    166                                 width: wWidth, 
    167                                 height: wHeight, 
    168                                 title_color: '#3978d6', 
    169                                 bg_color: '#eee', 
    170                                 title: title, 
    171                                 title_text_color: 'white', 
    172                                 button_x_img: '../phpgwapi/images/winclose.gif', 
    173                                 border: true }); 
    174                         this.arrayWin[div.id] = win; 
    175                         win.draw(); 
    176                 } 
    177                 else { 
    178                         win = this.arrayWin[div.id]; 
    179                 } 
    180                 win.open(); 
    181                 var handlerChannel = function(data){ 
    182                         document.getElementById("serv_table").innerHTML = ''; 
    183                         for(i=0; i < data.length; i++) 
    184                                 document.getElementById("serv_table").innerHTML += "<div><span>"+data[i].name+ 
    185                                 "</span><span></span><img onclick='news_edit.unsubscribe(\""+data[i].rss_url+"\",this)' src='../phpgwapi/templates/default/images/foldertree_trash.png'/></div>"; 
    186                 } 
    187                 cExecute('$this.rss.getChannels',handlerChannel); 
    188         } 
    189         cnews_edit.prototype.unsubscribe = function(url,el){ 
    190                 var rem_handler = function (data){ 
    191                         if (data != "Success") 
    192                                 if (data == "Error") 
    193                                         alert(get_lang("Database Error")); 
    194                                 else 
    195                                         alert(get_lang("Invalid entry")); 
    196                         else 
    197                         { 
    198                                 var pnode = el.parentNode; 
    199                                 pnode.parentNode.removeChild(pnode); 
    200                         } 
    201                 }; 
    202  
    203                 cExecute('$this.rss.removeChannel&url='+escape(url),rem_handler); 
    204         } 
    205         cnews_edit.prototype.subscribe = function(){ 
    206                 var val = Element('rssEnter').value; 
    207                 var rssXml = loadXMLDoc('controller.php?action=$this.rss.getContent&url='+escape(val)); 
    208                 var xsl = loadXMLDoc('stylesheet/news_add.xsl'); 
    209                 newTableEl = document.getElementById("serv_table"); 
    210                 // code for IE 
    211                 if (window.ActiveXObject) 
    212                 { 
    213                         ex=rssXml.transformNode(xsl); 
    214                         newTableEl.innerHTML='<div id="'+escape(val)+'">'+ex+'</div>'; 
    215                 } 
    216                 // code for Mozilla, Firefox, Opera, etc. 
    217                 else if (document.implementation && document.implementation.createDocument) 
    218                 { 
    219                         xsltProcessor=new XSLTProcessor(); 
    220                                 xsltProcessor.importStylesheet(xsl); 
    221                         resultDocument = xsltProcessor.transformToFragment(rssXml,document); 
    222                         var ndiv = document.createElement('DIV'); 
    223                         ndiv.id = escape(val); 
    224                         ndiv.appendChild(resultDocument); 
    225                         newTableEl.appendChild(ndiv); 
    226                 } 
    227                 var add_handler = function (data){ 
    228                         if (data != "Success") 
    229                                 if (data == "Error") 
    230                                         alert(get_lang("Database Error")); 
    231                                 else 
    232                                         alert(get_lang("Invalid entry")); 
    233                 }; 
    234                 if(!ndiv) 
    235                         var ndiv = document.getElementById(escape(val)); 
    236                 var name = ndiv.childNodes[1].innerHTML; 
    237                 cExecute('$this.rss.addChannel&url='+escape(val)+'&name='+name,add_handler); 
    238  
    239         }; 
     103    _this = this; 
     104 
     105    var params =  
     106    { 
     107        'lang_label1'       :   get_lang('Enter the URL of RSS service'), 
     108        'lang_label2'       :   get_lang('List of registered RSS'), 
     109        'lang_subscribe'    :   get_lang('Subscribe')  
     110    }; 
     111 
     112    var el = document.createElement("DIV"); 
     113        el.style.visibility = "hidden"; 
     114        el.style.position = "absolute"; 
     115        el.style.left = "0px"; 
     116        el.style.top = "0px"; 
     117        el.style.width = "0px"; 
     118        el.style.height = "0px"; 
     119        el.id = 'dJSWin_newswin'; 
     120        el.innerHTML = this.xtools.parse( this.xtools.xml('make_window'), 'stylesheet/makeWindow.xsl', params ); 
     121 
     122    document.body.appendChild(el); 
     123     
     124    var butt = Element('dJSWin_wfolders_bok'); 
     125     
     126    if ( !butt ) 
     127    { 
     128        butt = document.createElement('INPUT'); 
     129        butt.style.margin = "3px"; 
     130        butt.id = 'dJSWin_wfolders_bok'; 
     131        butt.type = 'button'; 
     132        butt.value = get_lang('Close'); 
     133        el.appendChild(butt); 
     134    } 
     135     
     136    butt.onclick = function () 
     137    { 
     138        news_edit.arrayWin[el.id].close(); 
     139    } 
     140 
     141    _this.showWindow(el); 
     142} 
     143 
     144cnews_edit.prototype.showWindow = function (div) 
     145{ 
     146    if(! this.arrayWin[div.id]) 
     147    { 
     148        div.style.height = "280px"; 
     149        div.style.width = "340px"; 
     150        var title = "<label style='margin-left:5px;'>:: "+get_lang("News edit")+" ::</label> "; 
     151        var wHeight = div.offsetHeight + "px"; 
     152        var wWidth =  div.offsetWidth   + "px"; 
     153        div.style.width = div.offsetWidth - 5; 
     154 
     155        win = new dJSWin({ 
     156            id: 'win_'+div.id, 
     157            content_id: div.id, 
     158            width: wWidth, 
     159            height: wHeight, 
     160            title_color: '#3978d6', 
     161            bg_color: '#eee', 
     162            title: title, 
     163            title_text_color: 'white', 
     164            button_x_img: '../phpgwapi/images/winclose.gif', 
     165            border: true 
     166        }); 
     167        this.arrayWin[div.id] = win; 
     168        win.draw(); 
     169    } 
     170    else 
     171    { 
     172        win = this.arrayWin[div.id]; 
     173    } 
     174     
     175    win.open(); 
     176     
     177    var handlerChannel = function( data ) 
     178    { 
     179        var _listRss =  document.getElementById("listRSS"); 
     180         
     181        if( data != null ) 
     182        { 
     183            for( var i = 0 ; i < data.length; i++) 
     184            {     
     185                _listRss.innerHTML += "<div>" + 
     186                                        "<img onclick='news_edit.unsubscribe(\""+data[i].rss_url+"\",this);' style='width:16px; height:16px; cursor: pointer;' src='../phpgwapi/templates/default/images/foldertree_trash.png' />" + 
     187                                        "<label style='margin-right: 2px'>"+data[i].name+"</label>" +                 
     188                                       "</div>"; 
     189            } 
     190        } 
     191    } 
     192     
     193    cExecute('$this.rss.getChannels',handlerChannel); 
     194} 
     195cnews_edit.prototype.unsubscribe = function(url,el) 
     196{ 
     197    var rem_handler = function (data) 
     198    { 
     199        if ( data != "Success" ) 
     200        {     
     201            if (data == "Error") 
     202                alert(get_lang("Database Error")); 
     203            else 
     204                alert(get_lang("Invalid entry")); 
     205        } 
     206        else 
     207        { 
     208           el.parentNode.parentNode.removeChild( el.parentNode ); 
     209        } 
     210    }; 
     211 
     212    cExecute('$this.rss.removeChannel&url='+escape(url),rem_handler); 
     213} 
     214cnews_edit.prototype.subscribe = function() 
     215{ 
     216    var newTableEl  = document.getElementById("listRSS"); 
     217    var val         = trim( Element('rssEnter').value ); 
     218     
     219    if( val != "" ) 
     220    { 
     221        this.rssXml = this.xtools.load('controller.php?action=$this.rss.getContent&url='+escape(val)); 
     222 
     223        var params = 
     224        { 
     225            'linkURL' : val 
     226        }; 
     227 
     228        var _div = document.createElement("div"); 
     229            _div.innerHTML = this.xtools.parse( this.rssXml, 'stylesheet/news_add.xsl', params ); 
     230 
     231        var add_handler = function (data) 
     232        { 
     233            if ( data != "Success" ) 
     234            { 
     235                if ( data == "Error" ) 
     236                    alert( get_lang("Database Error") ); 
     237                else 
     238                    alert( get_lang("Invalid entry") ); 
     239            } 
     240            else 
     241            { 
     242                newTableEl.appendChild(_div); 
     243            } 
     244        }; 
     245 
     246        try 
     247        { 
     248            if( _div.childNodes[2].getAttribute("titleRss") ) 
     249            {     
     250                var name = _div.childNodes[2].getAttribute("titleRss"); 
     251 
     252                cExecute('$this.rss.addChannel&url='+escape(val)+'&name='+name,add_handler); 
     253            } 
     254        } 
     255        catch(e){ } 
     256    } 
     257 
     258}; 
    240259 
    241260/* Build the Object */ 
Note: See TracChangeset for help on using the changeset viewer.