source: branches/2.2/expressoMail1_2/js/news_edit.js @ 4957

Revision 4957, 6.7 KB checked in by alexandrecorreia, 13 years ago (diff)

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

  • Property svn:executable set to *
RevLine 
[3178]1
2function cnews_edit()
3{
[4684]4    this.arrayWin = new Array();
5    this.rssXml;
6    this.xtools = new xtools('/expressoMail1_2/');
[3178]7}
8
9cnews_edit.prototype.read_rss = function(val)
10{
[4957]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
[4684]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));
[3178]17
[4684]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    };
[4957]25
26    // Div
[4684]27    var _div = document.getElementById("content_id_0");
28        _div.innerHTML = this.xtools.parse( this.rssXml, 'stylesheet/news_read.xsl' , langs );
29   
[4957]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       
[4684]40    update_menu();
41   
[4957]42    var box = document.getElementById("tbody_box");
43   
[4684]44    if(box.childNodes.length > 1)
45        updateBoxBgColor(box.childNodes);
46   
47    for( var i = 0 ; i < box.childNodes.length ; i++ )
48    {
49        if( box.childNodes[i].childNodes[2].getAttribute("convertDate") )
50        {
51            box.childNodes[i].childNodes[2].innerHTML = this.dateString(box.childNodes[i].childNodes[2].getAttribute("convertDate"));
52        }
53    }
54   
[4957]55    document.getElementById("tot_m").innerHTML = box.childNodes.length - 1 ;
[3178]56}
57
[4684]58cnews_edit.prototype.read_item = function(item_number)
59{
60    try
61    {
62        var description = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('description')[0].firstChild.nodeValue;
63    }
64    catch(e)
65    {
66        return;
67    }
68   
[4957]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 )
[4684]75        delete_border(currentTab);
[4957]76   
77    var border_id = create_border(title, 'news_'+item_number, "RSS" );
78   
[4684]79    if(!border_id)
80        return false;
[3178]81
[4684]82    openTab.type[border_id] = 2;
[3178]83
[4684]84    var toolbarCode = "<div style='background-color: #FFF; font-size: larger;'>"+
[4957]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>'+
[4684]94    (this.rssXml.getElementsByTagName('item')[parseInt(item_number)] == undefined ? '<img style="cursor: default;" src="./templates/default/images/down.gray.button.png">' :
[4957]95    '<img onclick="news_edit.read_item('+(parseInt(item_number)+1)+')" style="cursor: pointer;" src="./templates/default/images/down.button.png">')+
[4684]96    "</td></tr></table><h2>"+title+"</h2><br>"+description+"</div>";
[4957]97   
98    document.getElementById('content_id_'+border_id).innerHTML = toolbarCode;
99   
[4684]100    resizeWindow();
[4957]101   
102    var footerMenu = document.getElementById("footer_menu");
103
104    // footer Menu;
105    if( footerMenu )
106    {
107                footerMenu.style.display = "none";
108    }
[3178]109}
110
[4684]111cnews_edit.prototype.dateString = function(StringDate)
112{
113    var _date   = new Date(StringDate);
114   
115    var _day    = ( (_date.getDate()).toString().length > 1 ) ? _date.getDate() : "0" + _date.getDate();
116   
117    var _month  = _date.getMonth() + 1;
118        _month  = ( _month.toString().length > 1 ) ? _month : "0" + _month;
119   
120    var _year   = _date.getFullYear();
121   
122    return ( _day + "/" + _month + "/" + _year );
123}
[3178]124
[4957]125cnews_edit.prototype.trim = function(inputString)
[3178]126{
[4957]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;
[4684]152}
[3178]153
154
[4684]155cnews_edit.prototype.unsubscribe = function(url,el)
156{
[4957]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        }
[4684]167}
[4957]168
[4684]169cnews_edit.prototype.subscribe = function()
170{
[4957]171        var _select = document.getElementById("list_rss");
172       
173    var _rssUrl = this.trim( document.getElementById('rssEnter').value );
[3178]174
[4957]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        }
[4684]214    }
215};
216
[3178]217/* Build the Object */
218var news_edit;
[4684]219news_edit = new cnews_edit();
Note: See TracBrowser for help on using the repository browser.