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 = "
";
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();