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 *
Line 
1
2function cnews_edit()
3{
4    this.arrayWin = new Array();
5    this.rssXml;
6    this.xtools = new xtools('/expressoMail1_2/');
7}
8
9cnews_edit.prototype.read_rss = function(val)
10{
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
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    // Div
27    var _div = document.getElementById("content_id_0");
28        _div.innerHTML = this.xtools.parse( this.rssXml, 'stylesheet/news_read.xsl' , langs );
29   
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       
40    update_menu();
41   
42    var box = document.getElementById("tbody_box");
43   
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   
55    document.getElementById("tot_m").innerHTML = box.childNodes.length - 1 ;
56}
57
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   
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 )
75        delete_border(currentTab);
76   
77    var border_id = create_border(title, 'news_'+item_number, "RSS" );
78   
79    if(!border_id)
80        return false;
81
82    openTab.type[border_id] = 2;
83
84    var toolbarCode = "<div style='background-color: #FFF; font-size: larger;'>"+
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>'+
94    (this.rssXml.getElementsByTagName('item')[parseInt(item_number)] == undefined ? '<img style="cursor: default;" src="./templates/default/images/down.gray.button.png">' :
95    '<img onclick="news_edit.read_item('+(parseInt(item_number)+1)+')" style="cursor: pointer;" src="./templates/default/images/down.button.png">')+
96    "</td></tr></table><h2>"+title+"</h2><br>"+description+"</div>";
97   
98    document.getElementById('content_id_'+border_id).innerHTML = toolbarCode;
99   
100    resizeWindow();
101   
102    var footerMenu = document.getElementById("footer_menu");
103
104    // footer Menu;
105    if( footerMenu )
106    {
107                footerMenu.style.display = "none";
108    }
109}
110
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}
124
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
155cnews_edit.prototype.unsubscribe = function(url,el)
156{
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
169cnews_edit.prototype.subscribe = function()
170{
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    }
215};
216
217/* Build the Object */
218var news_edit;
219news_edit = new cnews_edit();
Note: See TracBrowser for help on using the repository browser.