function cnews_edit() { this.arrayWin = new Array(); this.rssXml; this.xtools = new xtools('/expressoMail1_2/'); } cnews_edit.prototype.read_rss = function(val) { Element("border_id_0").innerHTML = get_lang('News')+'  [ ]'; current_folder = "NEWS/"+val; openTab.imapBox[0] = "NEWS/"+val; this.rssXml = this.xtools.load('controller.php?action=$this.rss.getContent&url='+escape(val)); var langs = { 'lang_who' : get_lang('Who'), 'lang_subject' : get_lang('subject'), 'lang_date' : get_lang('date'), 'lang_size' : get_lang('size') }; var _div = document.getElementById("content_id_0"); _div.innerHTML = this.xtools.parse( this.rssXml, 'stylesheet/news_read.xsl' , langs ); update_menu(); var box = Element("tbody_box"); if(box.childNodes.length > 1) updateBoxBgColor(box.childNodes); for( var i = 0 ; i < box.childNodes.length ; i++ ) { if( box.childNodes[i].childNodes[2].getAttribute("convertDate") ) { box.childNodes[i].childNodes[2].innerHTML = this.dateString(box.childNodes[i].childNodes[2].getAttribute("convertDate")); } } Element("tot_m").innerHTML = box.childNodes.length - 1 ; } cnews_edit.prototype.read_item = function(item_number) { try { var description = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('description')[0].firstChild.nodeValue; } catch(e) { return; } var title = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('title')[0].firstChild.nodeValue; var pubDate = this.dateString(this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('pubDate')[0].firstChild.nodeValue); var link = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('link')[0].firstChild.nodeValue; var owner = this.rssXml.getElementsByTagName('item')[item_number-1].getElementsByTagName('owner')[0]; if (currentTab.toString().indexOf('news_') != -1) delete_border(currentTab); var border_id = create_border(title, 'news_'+item_number); if(!border_id) return false; openTab.type[border_id] = 2; var toolbarCode = "
"+ ""+ ''+ ''; toolbarCode += '
"+(owner != undefined?owner.firstChild.nodeValue:get_lang('nobody'))+", "+pubDate+"'+get_lang('Complete news')+''; if ( owner != undefined ) toolbarCode += ' | '+get_lang('forward')+' | '+ 'Responder'+ ( item_number == 1 ? '' : '')+ ' '+ (this.rssXml.getElementsByTagName('item')[parseInt(item_number)] == undefined ? '' : '')+ "

"+title+"


"+description+"
"; Element('content_id_'+border_id).innerHTML = toolbarCode; resizeWindow(); } cnews_edit.prototype.dateString = function(StringDate) { var _date = new Date(StringDate); var _day = ( (_date.getDate()).toString().length > 1 ) ? _date.getDate() : "0" + _date.getDate(); var _month = _date.getMonth() + 1; _month = ( _month.toString().length > 1 ) ? _month : "0" + _month; var _year = _date.getFullYear(); return ( _day + "/" + _month + "/" + _year ); } cnews_edit.prototype.makeWindow = function(options) { _this = this; var params = { 'lang_label1' : get_lang('Enter the URL of RSS service'), 'lang_label2' : get_lang('List of registered RSS'), 'lang_subscribe' : get_lang('Subscribe') }; var el = document.createElement("DIV"); el.style.visibility = "hidden"; el.style.position = "absolute"; el.style.left = "0px"; el.style.top = "0px"; el.style.width = "0px"; el.style.height = "0px"; el.id = 'dJSWin_newswin'; el.innerHTML = this.xtools.parse( this.xtools.xml('make_window'), 'stylesheet/makeWindow.xsl', params ); document.body.appendChild(el); var butt = Element('dJSWin_wfolders_bok'); if ( !butt ) { butt = document.createElement('INPUT'); butt.style.margin = "3px"; butt.id = 'dJSWin_wfolders_bok'; butt.type = 'button'; butt.value = get_lang('Close'); el.appendChild(butt); } butt.onclick = function () { news_edit.arrayWin[el.id].close(); } _this.showWindow(el); } cnews_edit.prototype.showWindow = function (div) { if(! this.arrayWin[div.id]) { div.style.height = "280px"; div.style.width = "340px"; var title = " "; var wHeight = div.offsetHeight + "px"; var wWidth = div.offsetWidth + "px"; div.style.width = div.offsetWidth - 5; win = new dJSWin({ id: 'win_'+div.id, content_id: div.id, width: wWidth, height: wHeight, title_color: '#3978d6', bg_color: '#eee', title: title, title_text_color: 'white', button_x_img: '../phpgwapi/images/winclose.gif', border: true }); this.arrayWin[div.id] = win; win.draw(); } else { win = this.arrayWin[div.id]; } win.open(); var handlerChannel = function( data ) { var _listRss = document.getElementById("listRSS"); if( data != null ) { for( var i = 0 ; i < data.length; i++) { _listRss.innerHTML += "
" + "" + "" + "
"; } } } cExecute('$this.rss.getChannels',handlerChannel); } cnews_edit.prototype.unsubscribe = function(url,el) { var rem_handler = function (data) { if ( data != "Success" ) { if (data == "Error") alert(get_lang("Database Error")); else alert(get_lang("Invalid entry")); } else { el.parentNode.parentNode.removeChild( el.parentNode ); } }; cExecute('$this.rss.removeChannel&url='+escape(url),rem_handler); } cnews_edit.prototype.subscribe = function() { var newTableEl = document.getElementById("listRSS"); var val = trim( Element('rssEnter').value ); if( val != "" ) { this.rssXml = this.xtools.load('controller.php?action=$this.rss.getContent&url='+escape(val)); var params = { 'linkURL' : val }; var _div = document.createElement("div"); _div.innerHTML = this.xtools.parse( this.rssXml, 'stylesheet/news_add.xsl', params ); var add_handler = function (data) { if ( data != "Success" ) { if ( data == "Error" ) alert( get_lang("Database Error") ); else alert( get_lang("Invalid entry") ); } else { newTableEl.appendChild(_div); } }; try { if( _div.childNodes[2].getAttribute("titleRss") ) { var name = _div.childNodes[2].getAttribute("titleRss"); cExecute('$this.rss.addChannel&url='+escape(val)+'&name='+name,add_handler); } } catch(e){ } } }; /* Build the Object */ var news_edit; news_edit = new cnews_edit();