Ignore:
Timestamp:
08/19/11 10:46:17 (13 years ago)
Author:
alexandrecorreia
Message:

Ticket #2083 - Corrigido para que a add de novos RSS é feito apenas pelo administrador

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/expressoMail1_2/js/news_edit.js

    r4684 r4957  
    99cnews_edit.prototype.read_rss = function(val) 
    1010{ 
    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      
     11    document.getElementById("border_id_0").innerHTML    = get_lang('News')+'&nbsp;&nbsp;<font face="Verdana" size="1" color="#505050">[ <span id="tot_m"></span> ]</font>'; 
     12 
    1313    current_folder = "NEWS/"+val; 
    1414    openTab.imapBox[0] = "NEWS/"+val; 
     
    2323        'lang_size'     : get_lang('size') 
    2424    }; 
    25      
     25 
     26    // Div 
    2627    var _div = document.getElementById("content_id_0"); 
    2728        _div.innerHTML = this.xtools.parse( this.rssXml, 'stylesheet/news_read.xsl' , langs ); 
    2829     
     30    resizeWindow();     
     31 
     32    var footerMenu = document.getElementById("footer_menu"); 
     33 
     34    // footer Menu; 
     35    if( footerMenu ) 
     36    { 
     37                footerMenu.style.display = "none"; 
     38    } 
     39         
    2940    update_menu(); 
    30     var box = Element("tbody_box"); 
     41     
     42    var box = document.getElementById("tbody_box"); 
    3143     
    3244    if(box.childNodes.length > 1) 
     
    4153    } 
    4254     
    43     Element("tot_m").innerHTML = box.childNodes.length - 1 ; 
     55    document.getElementById("tot_m").innerHTML = box.childNodes.length - 1 ; 
    4456} 
    4557 
     
    5567    } 
    5668     
    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) 
     69    var title   = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('title')[0].firstChild.nodeValue; 
     70    var pubDate = this.dateString(this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('pubDate')[0].firstChild.nodeValue); 
     71    var link    = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('link')[0].firstChild.nodeValue; 
     72    var owner   = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('owner')[0]; 
     73     
     74    if ( currentTab.toString().indexOf('news_') != -1 ) 
    6275        delete_border(currentTab); 
    63     var border_id = create_border(title, 'news_'+item_number); 
     76     
     77    var border_id = create_border(title, 'news_'+item_number, "RSS" ); 
     78     
    6479    if(!border_id) 
    6580        return false; 
     
    6883 
    6984    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>'+ 
     85                      "<table class='table_message' style='width:100%;'><tr><td>"+pubDate+"</td>"+ 
     86                      "<td width='30%' align='left'></td>"+ 
     87                      "<td nowrap='true' width='30%' align='right'><a target='_blank' href='"+link+"' style class='message_options'>"+get_lang("Complete news")+"</a>"; 
     88     
     89     
     90    toolbarCode +=  '<td nowrap="true" width="40px" align="right">'+ 
     91                            ( item_number == 1 ?  '<img style="cursor: default;" src="./templates/default/images/up.gray.button.png">' : 
     92                                '<img onclick="news_edit.read_item('+(parseInt(item_number)-1)+')" style="cursor: default;" src="./templates/default/images/up.button.png">')+ 
     93                                '<span>&nbsp;</span>'+ 
    8094    (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">')+ 
     95    '<img onclick="news_edit.read_item('+(parseInt(item_number)+1)+')" style="cursor: pointer;" src="./templates/default/images/down.button.png">')+ 
    8296    "</td></tr></table><h2>"+title+"</h2><br>"+description+"</div>"; 
    83     Element('content_id_'+border_id).innerHTML = toolbarCode; 
     97     
     98    document.getElementById('content_id_'+border_id).innerHTML = toolbarCode; 
     99     
    84100    resizeWindow(); 
     101     
     102    var footerMenu = document.getElementById("footer_menu"); 
     103 
     104    // footer Menu; 
     105    if( footerMenu ) 
     106    { 
     107                footerMenu.style.display = "none"; 
     108    } 
    85109} 
    86110 
     
    99123} 
    100124 
    101 cnews_edit.prototype.makeWindow = function(options) 
    102 { 
    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  
    144 cnews_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 } 
     125cnews_edit.prototype.trim = function(inputString) 
     126{ 
     127        if (typeof inputString != "string") 
     128                return inputString; 
     129         
     130        var retValue = inputString; 
     131        var ch = retValue.substring(0, 1); 
     132         
     133        while (ch == " ") 
     134        { 
     135                retValue = retValue.substring(1, retValue.length); 
     136                ch = retValue.substring(0, 1); 
     137        } 
     138                ch = retValue.substring(retValue.length-1, retValue.length); 
     139         
     140        while ( ch == " ") 
     141        { 
     142                retValue = retValue.substring(0, retValue.length-1); 
     143                ch = retValue.substring(retValue.length-1, retValue.length); 
     144        } 
     145         
     146        while (retValue.indexOf("  ") != -1)  
     147        { 
     148                retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); 
     149        } 
     150         
     151        return retValue; 
     152} 
     153 
     154 
    195155cnews_edit.prototype.unsubscribe = function(url,el) 
    196156{ 
    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 } 
     157        var _select = document.getElementById("list_rss"); 
     158         
     159        for( var i = 0 ; i < _select.options.length; i++ ) 
     160        { 
     161                if( _select.options[i].selected == true ) 
     162                { 
     163                        _select.removeChild(_select.options[i]); 
     164                        i--; 
     165                } 
     166        } 
     167} 
     168 
    214169cnews_edit.prototype.subscribe = function() 
    215170{ 
    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  
     171        var _select = document.getElementById("list_rss"); 
     172         
     173    var _rssUrl = this.trim( document.getElementById('rssEnter').value ); 
     174 
     175    if( _rssUrl != "" ) 
     176    { 
     177        var _lang = document.getElementById('lang_can_not_access_this_rss').value 
     178         
     179        try 
     180        { 
     181                this.rssXml = this.xtools.load('expressoMail1_2/controller.php?action=$this.rss.getContent&url='+escape(_rssUrl)); 
     182                 
     183                title = this.rssXml.getElementsByTagName("title"); 
     184         
     185                if( title.length > 0 && this.trim(title[0].childNodes[0].nodeValue) != "" ) 
     186                { 
     187                        var flag = false; 
     188                         
     189                        for( var i = 0; i < _select.options.length; i++ ) 
     190                        { 
     191                                if( this.trim( _select.options[i].value ) == this.trim( _rssUrl ) ) 
     192                                { 
     193                                        flag = true; 
     194                                } 
     195                        } 
     196                         
     197                        if( !flag ) 
     198                        { 
     199                                var _value = _rssUrl + "|" + title[0].childNodes[0].nodeValue; 
     200                                _select.options[_select.length] = new Option( title[0].childNodes[0].nodeValue, _value , false, true ); 
     201                        } 
     202                         
     203                        document.getElementById('rssEnter').value = ""; 
     204                } 
     205                else 
     206                { 
     207                        alert( _lang + "!!" ); 
     208                } 
     209        } 
     210        catch(e) 
     211        { 
     212                alert( _lang + "!!" ); 
     213        } 
     214    } 
    258215}; 
    259216 
Note: See TracChangeset for help on using the changeset viewer.