v0.1
This commit is contained in:
parent
8d99b55818
commit
7e37546ae9
108 changed files with 6063 additions and 1450 deletions
|
@ -29,6 +29,30 @@ function requestGroups(login,database,rootwindow,callback){
|
|||
});
|
||||
})}
|
||||
|
||||
function listFriends(login,database,callback){
|
||||
var db=Sql.LocalStorage.openDatabaseSync(database[0],database[1],database[2],database[3]);
|
||||
db.transaction( function(tx) {
|
||||
var result = tx.executeSql('SELECT * from contacts WHERE username="'+login.username+'" AND isFriend=1'); // check for friends
|
||||
var contactlist=[];
|
||||
for (var i=0;i<result.rows.length;i++){
|
||||
contactlist.push(result.rows.item(i))
|
||||
}
|
||||
callback(contactlist)
|
||||
});
|
||||
}
|
||||
|
||||
function deleteGroup(login,database,rootwindow,group, callback){
|
||||
var db=Sql.LocalStorage.openDatabaseSync(database[0],database[1],database[2],database[3]);
|
||||
Helperjs.friendicaPostRequest(login,"/api/friendica/group_delete?gid="+group.gid+"&name="+group.groupname,"","POST",rootwindow, function (obj){
|
||||
var deletereturn=JSON.parse(obj);
|
||||
if(deletereturn.success){
|
||||
db.transaction( function(tx) {
|
||||
var result = tx.executeSql('DELETE from groups where username="'+login.username+'" AND groupname="'+group.name+'"'); // delete group
|
||||
callback()
|
||||
});
|
||||
}})}
|
||||
|
||||
|
||||
function getFriendsTimeline(login,database,contacts,onlynew,rootwindow,callback){
|
||||
// retrieve and return timeline since last news, return contacts which are not friends and older than 2 days for update (friends can be updated in Contactstab)
|
||||
var db=Sql.LocalStorage.openDatabaseSync(database[0],database[1],database[2],database[3]);
|
||||
|
@ -37,7 +61,7 @@ function getFriendsTimeline(login,database,contacts,onlynew,rootwindow,callback)
|
|||
var result = tx.executeSql('SELECT status_id from news WHERE username="'+login.username+'" AND messagetype=0 ORDER BY status_id DESC LIMIT 1'); // check for last news id
|
||||
try{parameter=parameter+"&since_id="+result.rows.item(0).status_id;}catch(e){};})}
|
||||
var newContacts=[];
|
||||
Helperjs.friendicaRequest(login,"/api/statuses/friends_timeline"+parameter, rootwindow,function (obj){print(obj);
|
||||
Helperjs.friendicaRequest(login,"/api/statuses/friends_timeline"+parameter, rootwindow,function (obj){//print("newsjs "+JSON.stringify(contacts));
|
||||
var news=JSON.parse(obj);
|
||||
var newContacts=findNewContacts(news,contacts);
|
||||
callback(news,newContacts)
|
||||
|
@ -62,7 +86,7 @@ function getCurrentContacts(login,database,callback){
|
|||
callback(contactlist)
|
||||
}
|
||||
|
||||
function findNewContacts(news,contacts){//print("contacts: "+JSON.stringify(news))
|
||||
function findNewContacts(news,contacts){
|
||||
var newContacts=[];
|
||||
for (var i=0;i<news.length;i++){
|
||||
var url=news[i].user.url;
|
||||
|
@ -88,11 +112,12 @@ function findNewContacts(news,contacts){//print("contacts: "+JSON.stringify(news
|
|||
}
|
||||
}
|
||||
}
|
||||
// var owner_id=parseInt(news[i].friendica_owner.id);
|
||||
// if(contacts.indexOf(owner_id)==-1 && !(inArray(newContacts,"id",owner_id))){
|
||||
// news[i].friendica_owner.isFriend=0;
|
||||
// newContacts.push(news[i].friendica_owner);
|
||||
// }
|
||||
|
||||
var owner_url=news[i].friendica_owner.url;
|
||||
if(contacts.indexOf(owner_url)==-1 && !(inArray(newContacts,"url",owner_url))){
|
||||
news[i].friendica_owner.isFriend=0;
|
||||
newContacts.push(news[i].friendica_owner);
|
||||
}
|
||||
}
|
||||
return newContacts
|
||||
}
|
||||
|
@ -233,7 +258,7 @@ function deleteNews(login,database,newsid,messagetype,rootwindow,callback){
|
|||
if (messagetype==0){ api="/api/statuses/destroy?id="}
|
||||
else if (messagetype==1){ api="/api/direct_messages/destroy?id="}
|
||||
else if (messagetype==2){ api="/api/friendica/notifications/seen?id="}
|
||||
Helperjs.friendicaPostRequest(login,api+newsid, rootwindow,function (obj){
|
||||
Helperjs.friendicaPostRequest(login,api+newsid,"","POST", rootwindow,function (obj){
|
||||
var db=Sql.LocalStorage.openDatabaseSync(database[0],database[1],database[2],database[3]);
|
||||
db.transaction( function(tx) {var result = tx.executeSql('DELETE from news where username="'+login.username+'" AND messagetype='+messagetype+' AND status_id ='+newsid); // delete news id
|
||||
callback(obj)
|
||||
|
@ -241,7 +266,7 @@ function deleteNews(login,database,newsid,messagetype,rootwindow,callback){
|
|||
})}
|
||||
|
||||
function retweetNews(login,database,newsid,rootwindow,callback){
|
||||
Helperjs.friendicaPostRequest(login,"/api/statuses/retweet?id="+newsid, rootwindow,function (obj){
|
||||
Helperjs.friendicaPostRequest(login,"/api/statuses/retweet?id="+newsid,"","POST", rootwindow,function (obj){
|
||||
var answer=JSON.parse(obj);
|
||||
if(answer.status.error){Helperjs.showMessage("Repost",answer.status.code,rootwindow);}
|
||||
else{Helperjs.showMessage("Repost",obj,rootwindow)}
|
||||
|
@ -249,16 +274,14 @@ function retweetNews(login,database,newsid,rootwindow,callback){
|
|||
|
||||
function favorite(login,favorite,newsid,rootwindow){
|
||||
// toggle favorites
|
||||
if(favorite){ Helperjs.friendicaPostRequest(login,"/api/favorites/create?id="+newsid, rootwindow,function (obj){
|
||||
print("Favorite "+obj);
|
||||
if(favorite){ Helperjs.friendicaPostRequest(login,"/api/favorites/create?id="+newsid,"","POST", rootwindow,function (obj){
|
||||
})}
|
||||
else {Helperjs.friendicaPostRequest(login,"/api/favorites/destroy?id="+newsid, rootwindow,function (obj){
|
||||
print("Favorite destroyed "+obj);
|
||||
else {Helperjs.friendicaPostRequest(login,"/api/favorites/destroy?id="+newsid, "POST",rootwindow,function (obj){
|
||||
})}
|
||||
}
|
||||
|
||||
function likerequest(login,database,verb,newsid,rootwindow){
|
||||
Helperjs.friendicaPostRequest(login,"/api/friendica/activity/"+verb+"?id="+newsid, rootwindow,function (obj){
|
||||
Helperjs.friendicaPostRequest(login,"/api/friendica/activity/"+verb+"?id="+newsid, "","POST",rootwindow,function (obj){
|
||||
if (obj=='"ok"'){
|
||||
var db=Sql.LocalStorage.openDatabaseSync(database[0],database[1],database[2],database[3]);
|
||||
db.transaction( function(tx) {
|
||||
|
@ -289,7 +312,7 @@ function like(login,database,toggle,verb,newsid,rootwindow){
|
|||
}
|
||||
|
||||
function attend(login,database,attend,newsid,rootwindow,callback){
|
||||
Helperjs.friendicaPostRequest(login,"/api/friendica/activity/attend"+attend+"?id="+newsid, rootwindow,function (obj){
|
||||
Helperjs.friendicaPostRequest(login,"/api/friendica/activity/attend"+attend+"?id="+newsid, "","POST",rootwindow,function (obj){
|
||||
//print("attend: "+attend+obj);
|
||||
if (obj=='"ok"')
|
||||
var db=Sql.LocalStorage.openDatabaseSync(database[0],database[1],database[2],database[3]);
|
||||
|
@ -364,7 +387,7 @@ function chatsfromdb(database,user,callback,stop_time){
|
|||
try{var rs = tx.executeSql('select created_at from news WHERE username="'+username+'" ORDER BY created_at DESC LIMIT 1');
|
||||
stop="<="+rs.rows.item(0).created_at}catch(e){stop="<99999999999999"}}
|
||||
else{var stop="<"+stop_time}
|
||||
var conversationsrs=tx.executeSql('select DISTINCT statusnet_conversation_id from news WHERE username="'+user+'" AND created_at'+stop+' ORDER BY created_at DESC LIMIT 20');
|
||||
var conversationsrs=tx.executeSql('select DISTINCT statusnet_conversation_id from news WHERE username="'+user+'" AND created_at'+stop+' ORDER BY created_at DESC LIMIT 20'); //+' ORDER BY created_at DESC LIMIT 20');
|
||||
var conversations=[];
|
||||
for(var i = 0; i < conversationsrs.rows.length; i++) {
|
||||
conversations.push(conversationsrs.rows.item(i).statusnet_conversation_id);
|
||||
|
@ -372,15 +395,20 @@ function chatsfromdb(database,user,callback,stop_time){
|
|||
var newsArray=[];
|
||||
for(var j = 0; j< conversations.length; j++) {
|
||||
var newsrs=tx.executeSql('select * from news WHERE username="'+user+'" AND statusnet_conversation_id="'+conversations[j] +'" ORDER BY created_at ASC');
|
||||
// if(newsrs.rows.length>1){
|
||||
var helpernews=newsrs.rows.item(0);
|
||||
helpernews.newscount=newsrs.rows.length;
|
||||
helpernews=fetchUsersForNews(database,user,helpernews)
|
||||
newsArray.push(helpernews);
|
||||
//}
|
||||
}
|
||||
callback(newsArray);
|
||||
})}
|
||||
var helpernews=newsrs.rows.item(0);
|
||||
helpernews.newscount=newsrs.rows.length;
|
||||
helpernews=fetchUsersForNews(database,user,helpernews);
|
||||
//var chatArray=[];
|
||||
// for (var k=0;k<newsrs.rows.length;k++){
|
||||
// var helperchat=newsrs.rows.item(k);
|
||||
// helperchat=fetchUsersForNews(database,user,helperchat);
|
||||
// chatArray.push(helperchat)
|
||||
//}
|
||||
//helpernews.chatArray=chatArray;
|
||||
newsArray.push(helpernews);
|
||||
}
|
||||
callback(newsArray);
|
||||
})}
|
||||
|
||||
function inArray(list, prop, val) {
|
||||
if (list.length > 0 ) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue