Vivaldi Mail Script
Forums:
tested firefox only
/**********************************************************
Vivaldi Mail
**********************************************************/
var name="Vivaldi Mail";
var ver="2015-04-01";
function init(){
this.initStage=ST_PRE;
this.loginData=["https://mail.vivaldi.net/webmail/","_user", "_pass","_task=mail&_action=login"];
this.dataURL="https://mail.vivaldi.net/webmail/?_task=mail&_action=getunread&&_remote=...";
this.viewURL="https://mail.vivaldi.net/webmail/";
this.cookieDomain="mail.vivaldi.net";
}
function getCount(aData) {
var fnd=aData.match(/"action":"getunread"/);
if(fnd) {
if(aData.match(/_task=login/))return -1;
fnd=aData.match(/\\"INBOX\\",(\d+),/);
return fnd?fnd[1]:0;
}
return -1;
}
function process(aData,aHttp){
switch(this.stage){
case ST_PRE:
this.getHtml(this.viewURL);
return false;
case ST_PRE_RES:
var fnd=aData.match(/"_token"\s+value="(\S+?)"/);
if(fnd){
this.stage=ST_LOGIN;
this.getHtml(this.loginData[LOGIN_URL],this.loginData[LOGIN_POST]+"&_token="+fnd[1]);
return false;
}
break;
case ST_LOGIN_RES:
var fnd=aData.match(/"request_token":"(\S+?)"/);
if(fnd){
this.stage=ST_DATA;
this.token=fnd[1];
}else break;
case ST_DATA:
this.getHtml(this.dataURL+(new Date().getTime()),null,{"X-Requested-With":"XMLHttpRequest","X-Roundcube-Request":this.token});
return false;
}
return this.baseProcess(aData,aHttp);
}