From 71f108ffa36f116550da11c57dbbf7face6a9f53 Mon Sep 17 00:00:00 2001 From: sairajzero Date: Mon, 20 May 2019 01:11:49 +0530 Subject: [PATCH] Added follow features and changed profile listing UI --- app.js | 16 ++ home.html | 89 ++--------- home.js | 64 ++++++-- index.html | 5 + profile.html | 87 ++--------- profile.js | 180 +++++++++++++++------- reader | Bin 8528 -> 8528 bytes tweeter | Bin 176512 -> 176808 bytes websocket_storage/readBinFile.c | 57 ++++++- websocket_storage/reader | Bin 8528 -> 0 bytes websocket_storage/test.html | 240 ----------------------------- websocket_storage/tester | Bin 172296 -> 0 bytes websocket_storage/tmp/index.html | 85 ---------- websocket_storage/tweeter | Bin 176512 -> 0 bytes websocket_storage/websocket_chat.c | 189 +++++++++++++++++++---- 15 files changed, 433 insertions(+), 579 deletions(-) create mode 100644 index.html delete mode 100755 websocket_storage/reader delete mode 100644 websocket_storage/test.html delete mode 100755 websocket_storage/tester delete mode 100644 websocket_storage/tmp/index.html delete mode 100755 websocket_storage/tweeter diff --git a/app.js b/app.js index d2fa83f..298b36c 100644 --- a/app.js +++ b/app.js @@ -229,4 +229,20 @@ function getTime(time){ function logout(){ sessionStorage.clear(); location.reload(); +} + +function listProfiles(){ + console.log("listProfiles"); + var profileList = document.getElementById("profileList"); + profileList.innerHTML = ""; + for (p in profiles){ + var element = document.createElement("div"); + element.setAttribute("class", "media"); + element.innerHTML = `
+
${profiles[p].name}
+ @${p} +
` + profileList.appendChild(element); + } + //document.getElementById("profileInfo").style.display = "none"; } \ No newline at end of file diff --git a/home.html b/home.html index 6d63931..6b7e00b 100644 --- a/home.html +++ b/home.html @@ -54,19 +54,19 @@
TWEETS - 1,545 + -
FOLLOWING - 251 + -
FOLLOWERS - 153 + -
@@ -78,6 +78,7 @@
+
@@ -92,88 +93,24 @@
-
- +
-
-
-

- Who to follow - RefreshView all -

-
-
-
-
- -
-
-

Nome e cognome

- - + - - Follow - -
+ +
+ -
-
- -
-
-

Nome e cognome

- - + - - Follow - -
-
-
-
- -
-
-

Nome e cognome

- - + - - Follow - -
+
- -
-
- +
diff --git a/home.js b/home.js index fc90f38..5ba28e5 100644 --- a/home.js +++ b/home.js @@ -1,6 +1,6 @@ var profiles = [] var receiverID,tweeterID,recStat; -var selfwebsocket,receiverWebSocket; +var selfWebsocket,receiverWebSocket; var privKey; function userDataStartUp(){ @@ -23,10 +23,12 @@ function userDataStartUp(){ console.log(result); tweeterID = result; sessionStorage.privKey = privKey; + sessionStorage.selfID = tweeterID; alert(`${tweeterID}\nWelcome ${profiles[tweeterID].name}`) //readMsgfromIDB().then(function(result){ //console.log(result); initselfWebSocket(); + listProfiles(); //displayprofiles(); //const createClock = setInterval(checkStatusInterval, 30000); //}).catch(function(error){ @@ -77,11 +79,19 @@ function getDatafromAPI(){ reject("Error in opening IndexedDB!"); }; idb.onupgradeneeded = function(event) { - var objectStore = event.target.result.createObjectStore("profiles",{ keyPath: 'floID' }); - objectStore.createIndex('onionAddr', 'onionAddr', { unique: false }); - objectStore.createIndex('name', 'name', { unique: false }); - objectStore.createIndex('pubKey', 'pubKey', { unique: false }); - var objectStore2 = event.target.result.createObjectStore("lastTx"); + var db = event.target.result; + var objectStore1 = db.createObjectStore("profiles",{ keyPath: 'floID' }); + objectStore1.createIndex('onionAddr', 'onionAddr', { unique: false }); + objectStore1.createIndex('name', 'name', { unique: false }); + objectStore1.createIndex('pubKey', 'pubKey', { unique: false }); + var objectStore2 = db.createObjectStore("lastTx"); + var objectStore3 = db.createObjectStore("tweets",{ keyPath: 'id' }); + objectStore3.createIndex('floID', 'floID', { unique: false }); + objectStore3.createIndex('time', 'time', { unique: false }); + objectStore3.createIndex('data', 'data', { unique: false }); + var objectStore4 = db.createObjectStore("lastTweet"); + var objectStore5 = db.createObjectStore("followers"); + var objectStore6 = db.createObjectStore("following"); }; idb.onsuccess = function(event) { var db = event.target.result; @@ -308,26 +318,52 @@ function displayProfiles(){ } function initselfWebSocket(){ - selfwebsocket = new WebSocket("ws://"+location.host+"/ws"); - selfwebsocket.onopen = function(evt){ + selfWebsocket = new WebSocket("ws://"+location.host+"/ws"); + selfWebsocket.onopen = function(evt){ console.log("Connecting"); var pass = sessionStorage.serverPass || prompt("Enter server password :"); - selfwebsocket.send("$"+pass); + selfWebsocket.send("$"+pass); sessionStorage.serverPass = pass; }; - selfwebsocket.onclose = function(evt){ + selfWebsocket.onclose = function(evt){ console.log("DISCONNECTED"); }; - selfwebsocket.onmessage = function(evt){ + selfWebsocket.onmessage = function(evt){ console.log(evt.data); if(evt.data == "$Access Denied!"){ var pass = prompt("Access Denied! reEnter server password :"); - selfwebsocket.send("$"+pass); + selfWebsocket.send("$"+pass); sessionStorage.serverPass = pass; }else if(evt.data == "$Access Granted!") alert("Access Granted!") + else{ + try{ + data = JSON.parse(evt.data); + if(data.follow && encrypt.verify(selfID, data.sign, profiles[data.floID].pubKey)){ + var idb = indexedDB.open("FLO_Tweet"); + idb.onsuccess = function(event) { + var db = event.target.result; + var obs = db.transaction("followers", "readwrite").objectStore("followers"); + obs.add(data.sign,data.floID); + db.close(); + }; + selfWebsocket.send(`F${data.floID}`); + }else if(data.unfollow && encrypt.verify(selfID, data.sign, profiles[data.floID].pubKey)){ + var idb = indexedDB.open("FLO_Tweet"); + idb.onsuccess = function(event) { + var db = event.target.result; + var obs = db.transaction("followers", "readwrite").objectStore("followers"); + obs.delete(data.floID); + db.close(); + }; + selfWebsocket.send(`U${data.floID}`); + } + }catch(error){ + console.log(error.message); + } + } }; - selfwebsocket.onerror = function(evt){ + selfWebsocket.onerror = function(evt){ console.log(evt); }; } @@ -364,7 +400,7 @@ function postTweet(){ var sign = encrypt.sign(tweet,privKey); var data = JSON.stringify({floID:tweeterID,time:time,tweet:tweet,sign:sign}); console.log(data); - selfwebsocket.send(data); + selfWebsocket.send(data); } diff --git a/index.html b/index.html new file mode 100644 index 0000000..a8d67df --- /dev/null +++ b/index.html @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/profile.html b/profile.html index 916bba3..6b723f5 100644 --- a/profile.html +++ b/profile.html @@ -51,26 +51,31 @@
+
+
+ +
TWEETS - 1,545 + -
FOLLOWING - 251 + -
-
+
FOLLOWERS - 153 + -
+
@@ -87,81 +92,17 @@
+
-
+ -
-
-
- -
-
-

Nome e cognome

- - + - - Follow - -
-
-
-
- -
-
-

Nome e cognome

- - + - - Follow - -
-
-
-
- -
-
-

Nome e cognome

- - + - - Follow - -
-
-
- -
- -
+
diff --git a/profile.js b/profile.js index d4cf983..66e2406 100644 --- a/profile.js +++ b/profile.js @@ -1,52 +1,44 @@ -var profileWebsocket; +var profileWebsocket, selfWebsocket; var profiles; +var floID, privKey, selfID, serverPass; function viewProfile(){ - if(sessionStorage.profiles) - profiles = JSON.parse(sessionStorage.profiles) - else{ - alert("Profiles not loaded! redirecting to home!"); + if( sessionStorage.profiles === undefined || sessionStorage.privKey === undefined || sessionStorage.selfID === undefined || sessionStorage.serverPass === undefined){ + alert("Login credentials failed! Returning to home page!"); window.location.href = "home.html"; + return; } + profiles = JSON.parse(sessionStorage.profiles); console.log(profiles); + privKey = sessionStorage.privKey; + selfID = sessionStorage.selfID; + serverPass = sessionStorage.serverPass; var url = new URL(window.location.href); - var floID = url.searchParams.get("floID"); - if(floID) - displayProfile(floID); - else - listProfiles(); -} - -function listProfiles(){ - console.log("listProfiles"); - var profileBody = document.getElementById("profileBody"); - profileBody.innerHTML = ""; - for (p in profiles){ - var element = document.createElement("div"); - element.setAttribute("class", "media"); - element.innerHTML = `
-

${profiles[p].name}

- @${p} -
-
` - profileBody.appendChild(element); - } - document.getElementById("profileInfo").style.display = "none"; + floID = url.searchParams.get("floID"); + listProfiles(); + displayProfile(floID); } function displayProfile(floID){ - if(!validateAddr(floID)){ - alert("Invalid FLO ID"); - listProfiles(); - return; - } - if(!(floID in profiles)){ - alert("FLO ID not registered to FLO Tweet"); - listProfiles(); + console.log(floID); + var errorMsg; + if(!floID) + errorMsg = "Select a Profile to display"; + else if(!validateAddr(floID)) + errorMsg = "Invalid FLO ID"; + else if(!(floID in profiles)) + errorMsg = "FLO ID not registered to FLO Tweet"; + + if(errorMsg !== undefined){ + document.getElementById("profileBody").innerHTML = errorMsg; return; } + console.log("displayProfile"); + document.getElementById("profileName").innerHTML=profiles[floID].name; + document.getElementById("profileFloID").innerHTML='@'+floID; + initselfWebSocket(); displayTweetFromIDB(floID).then(function(result){ connectToX(floID).then(function(result){ console.log(result); @@ -62,19 +54,24 @@ function displayProfile(floID){ function displayTweetFromIDB(floID){ return new Promise( function(resolve,reject){ - var idb = indexedDB.open("FLO_Tweet",2); + var idb = indexedDB.open("FLO_Tweet"); idb.onerror = function(event) { reject("Error in opening IndexedDB!"); }; - idb.onupgradeneeded = function(event) { - var objectStore = event.target.result.createObjectStore("tweets",{ keyPath: 'id' }); - objectStore.createIndex('floID', 'floID', { unique: false }); - objectStore.createIndex('time', 'time', { unique: false }); - objectStore.createIndex('data', 'data', { unique: false }); - var objectStore2 = event.target.result.createObjectStore("lastTweet"); - }; idb.onsuccess = function(event) { var db = event.target.result; + var obj = db.transaction("following", "readwrite").objectStore("following"); + obj.get(floID).onsuccess = function (event) { + var followBtn = document.getElementById("follow-button"); + if(event.target.result === undefined){ + followBtn.innerHTML = "+ Follow"; + followBtn.value = "follow"; + }else{ + followBtn.innerHTML = "- Unfollow"; + followBtn.value = "unfollow"; + } + followBtn.disabled = false; + } var obs = db.transaction("tweets", "readwrite").objectStore("tweets"); obs.openCursor().onsuccess = function(event) { var cursor = event.target.result; @@ -144,17 +141,10 @@ function connectToX(floID){ } function storeTweet(data,id){ - var idb = indexedDB.open("FLO_Tweet",2); + var idb = indexedDB.open("FLO_Tweet"); idb.onerror = function(event) { console.log("Error in opening IndexedDB!"); }; - idb.onupgradeneeded = function(event) { - var objectStore = event.target.result.createObjectStore("tweets",{ keyPath: 'id' }); - objectStore.createIndex('floID', 'floID', { unique: false }); - objectStore.createIndex('time', 'time', { unique: false }); - objectStore.createIndex('data', 'data', { unique: false }); - var objectStore2 = event.target.result.createObjectStore("lastTweet"); - }; idb.onsuccess = function(event) { var db = event.target.result; var obs = db.transaction("tweets", "readwrite").objectStore("tweets"); @@ -169,17 +159,10 @@ function storeTweet(data,id){ function getTweetsFromX(floID){ return new Promise( function (resolve,reject){ - var idb = indexedDB.open("FLO_Tweet",2); + var idb = indexedDB.open("FLO_Tweet"); idb.onerror = function(event) { reject("Error in opening IndexedDB!"); }; - idb.onupgradeneeded = function(event) { - var objectStore = event.target.result.createObjectStore("tweets",{ keyPath: 'id' }); - objectStore.createIndex('floID', 'floID', { unique: false }); - objectStore.createIndex('time', 'time', { unique: false }); - objectStore.createIndex('data', 'data', { unique: false }); - var objectStore2 = event.target.result.createObjectStore("lastTweet"); - }; idb.onsuccess = function(event) { var db = event.target.result; //window["wait"] = addrList.length; @@ -208,3 +191,82 @@ function getTweetsFromX(floID){ } ); } + +function initselfWebSocket(){ + selfWebsocket = new WebSocket("ws://"+location.host+"/ws"); + selfWebsocket.onopen = function(evt){ + console.log("Connecting"); + var pass = sessionStorage.serverPass; + selfWebsocket.send("$"+pass); + }; + selfWebsocket.onclose = function(evt){ + console.log("DISCONNECTED"); + }; + selfWebsocket.onmessage = function(evt){ + console.log(evt.data); + if(evt.data[0] == '$') + return; + try{ + data = JSON.parse(evt.data); + if(data.follow && encrypt.verify(selfID, data.sign, profiles[data.floID].pubKey)){ + var idb = indexedDB.open("FLO_Tweet"); + idb.onsuccess = function(event) { + var db = event.target.result; + var obs = db.transaction("followers", "readwrite").objectStore("followers"); + obs.add(data.sign,data.floID); + db.close(); + }; + selfWebsocket.send(`F${data.floID}-${data.sign}`); + }else if(data.unfollow && encrypt.verify(selfID, data.sign, profiles[data.floID].pubKey)){ + var idb = indexedDB.open("FLO_Tweet"); + idb.onsuccess = function(event) { + var db = event.target.result; + var obs = db.transaction("followers", "readwrite").objectStore("followers"); + obs.delete(data.floID); + db.close(); + }; + selfWebsocket.send(`U${data.floID}`); + } + }catch(error){ + console.log(error.message) + } + }; + selfWebsocket.onerror = function(evt){ + console.log(evt); + }; +} + +function follow(){ + var followBtn = document.getElementById("follow-button"); + if(followBtn.value == 'follow'){ + var sign = encrypt.sign(floID,privKey); + var data = JSON.stringify({follow:true, floID:selfID, sign:sign}); + profileWebsocket.send(data); + selfWebsocket.send(`f${floID}-${sign}`) + var idb = indexedDB.open("FLO_Tweet"); + idb.onsuccess = function(event) { + var db = event.target.result; + var obs = db.transaction("following", "readwrite").objectStore("following"); + obs.add(sign,floID); + db.close(); + }; + followBtn.value = 'unfollow'; + followBtn.innerHTML = "- Unfollow"; + } + else if(followBtn.value == 'unfollow'){ + var sign = encrypt.sign(floID,privKey); + var data = JSON.stringify({unfollow:true, floID:selfID, sign:sign}); + profileWebsocket.send(data); + selfWebsocket.send(`u${floID}`) + var idb = indexedDB.open("FLO_Tweet"); + idb.onsuccess = function(event) { + var db = event.target.result; + var obs = db.transaction("following", "readwrite").objectStore("following"); + obs.delete(floID); + db.close(); + }; + followBtn.value = 'follow'; + followBtn.innerHTML = "+ Follow"; + } +} + diff --git a/reader b/reader index f563955651b47f7c9d41178b11122058ac35457a..f0dcabee2b82c3f4ec8000e50bd4248da4105b13 100755 GIT binary patch delta 1393 zcmaJ>Ye-XJ82)z7((UB(vK3)E2exjsVWnc0(6a0(3l?b!8EC1ovdz5pCs?o+j&;KL zx-F67D$C%*q`E%{g5K_HrM-}vtw$P4?f=aJn!>9?{mKMZNaU< ztt~+=M@OWUqdPa$lQgnWe)=70n`+4LI{#te^QI$LTsuCf-o3Z|NU@XQ&dW@$T06lK z!V5YtOW(zedPY_fQppF@=2alW`?rs+>*a;KFhht~J{^hhLKfx#jU#joA-`|wTL|86 z45V>A6hC7z1B%1@0=^Jdg$q*fK2rOi03if~`)E`wLW#fyNkZ^>B$oeGmkMeX-7YO2`4aijev*&N88R9*dWNKfIq8d?v}7BV9@T z9yHei9NF9*6rM3Bu@!F*r1R+)%a8)zI%at*mHgy6aMoHW&l-Ri0%~M|^?UJaehg@CmA71r&!1 z;IwMLBCB6?AbZAyj7C3RbM)ioAq5U-VAcU`1WbAhKCpAFlHU*~UAKk>Vtxix1|C;i z9jjhC1Y!}Q%)y znv!_z(=KT&c}9*K=4baM#qhk2_t5EEZC&WyGjEYJ@J|iXTc>WMlIN+twbwkY8=ldp?my-ZxJhHL}q1niSxTErEoZ^5Oc z#}f3ko!doQbUDl**ZEBMkyQ=S8+!c$mL!l6W=57I66G%n+GiF^l1N5e=eNY$Dkf7$ zZ|a+vk%ctbU}b_FEi$x%ApK@&O%8E#i#pmFhU=L`7Ljs}b}X)DnwiezB^P6vBsJ|w rwQ_?|HZ*@p%}!LBm8he4jcL?jOyCqtF!Qi6o6Crk<-t*#v6cA+eB~)k delta 790 zcmccMbirxD1+E2L3}CQ;YvQeaLJ^!09)g~{it(1n{RFdRo=?Odd{8P4aj>0mvpV?J z-pw3v5dU+2sPQK0dt$u?r14D{OH;bwU&=`+S*B^!lJbFzn89{1nO@Y*l zmH+<#_vmbmcmt%G_kt*fQgfiB5=hbpD7gd3V0fL--I@SW(mNGQH6LQ>JO)%H0hHVU za^Z_WkU8B`!RGWr)OKF1-v!dVuLtM~kIv&S{{022X+2Q7#iJWyAyDiWPz-E>N4M{f z6c1w_uv1G|Uwi~goIISS$1mRkvVehK-i3j|G2AiCv-7%RsAGsvuj)M(1%^F%FIsv3T{{R2~0!Z)pKUs}Oi;3g!>lhj5Og<z#v!)7V5Y3xivOp`as>T$sw2h{vZ)=Utl8Ah8<-Y6wMIY3T;3+5`I Tomp~bTr;4K2Rdq%+%hHrg&Xs? diff --git a/tweeter b/tweeter index d1a61359379104abf3aa88446e3878ba89b16033..d2e8515f24d479a18b0b319928c5a08cec333416 100755 GIT binary patch delta 48014 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 delta 45194 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%0Dvc4Rv>4&L0Cv;DjV$L01uljG;TQ4n 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 J6^UBy{|)8U)E)o; diff --git a/websocket_storage/test.html b/websocket_storage/test.html deleted file mode 100644 index 716b4ff..0000000 --- a/websocket_storage/test.html +++ /dev/null @@ -1,240 +0,0 @@ - - -Tweet Tester - - - - - - - \ No newline at end of file diff --git a/websocket_storage/tester b/websocket_storage/tester deleted file mode 100755 index a62ecdbd82a3f9527d236d0dee1591e06ff1914d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172296 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
  • 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 - - - - WebSocket Test - - - - - - -
    -

    Websocket PubSub Demonstration

    - -

    - This page demonstrates how Mongoose could be used to implement - - publish–subscribe pattern. Open this page in several browser - windows. Each window initiates persistent - WebSocket - connection with the server, making each browser window a websocket client. - Send messages, and see messages sent by other clients. -

    - -
    -
    - -

    - - -

    -
    - - diff --git a/websocket_storage/tweeter b/websocket_storage/tweeter deleted file mode 100755 index d1a61359379104abf3aa88446e3878ba89b16033..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176512 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 gbQs8SadRi%~6 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 T611ECo2@FnehyyCXQux@G&l&C diff --git a/websocket_storage/websocket_chat.c b/websocket_storage/websocket_chat.c index 5d58a10..e184c8b 100644 --- a/websocket_storage/websocket_chat.c +++ b/websocket_storage/websocket_chat.c @@ -11,12 +11,16 @@ static struct mg_serve_http_opts s_http_server_opts; static char serverpass[100]; static struct mg_connection *selfClient = NULL; -struct tweetData -{ +struct tweetData{ int id; char data[5000]; }; +struct followData{ + char floID[35]; + char sign[150]; +}; + static void signal_handler(int sig_num) { signal(sig_num, signal_handler); // Reinstantiate signal handler s_signal_received = sig_num; @@ -56,7 +60,7 @@ static void storeTweet(struct mg_connection *nc,const struct mg_str msg){ FILE *fptr; fptr = fopen("tweet.bin","ab"); if(fptr == NULL){ - printf("Error in opening tweet file"); + printf("Error in opening tweet.bin\n"); return; } fseek(fptr,0,SEEK_END); @@ -85,7 +89,7 @@ static void sendTweets(struct mg_connection *nc, const struct mg_str d){ FILE *fptr; fptr = fopen("tweet.bin","rb"); if(fptr == NULL){ - printf("Error in opening tweet file\n"); + printf("Error in opening tweet.bin\n"); return; } fseek(fptr, n*sizeof(tweet), SEEK_SET); @@ -97,6 +101,122 @@ static void sendTweets(struct mg_connection *nc, const struct mg_str d){ fclose(fptr); } +static void Follower(const struct mg_str d){ + struct followData data; + snprintf(data.floID, sizeof(data.floID), "%.*s", (int) (34), &d.p[1]); + snprintf(data.sign, sizeof(data.sign), "%.*s", (int) (d.len-36), &d.p[36]); + printf("Follower : %s\n",data.floID); + FILE *fptr; + fptr = fopen("followers.bin","ab"); + if(fptr == NULL){ + printf("Error in opening followers.bin\n"); + return; + } + fseek(fptr,0,SEEK_END); + fwrite(&data,sizeof(data),1,fptr); + fclose(fptr); +} + +static void Unfollower(const struct mg_str d){ + char floID[35]; + struct followData data; + snprintf(floID, sizeof(floID), "%.*s", (int) (34), &d.p[1]); + printf("Unfollower : %s\n",floID); + FILE *fp; + FILE *fp_tmp; + fp = fopen("followers.bin", "rb"); + if (!fp) { + printf("Error in opening followers.bin\n"); + return; + } + fp_tmp = fopen("tmp.bin", "wb"); + if (!fp) { + printf("Error in opening tmp.bin\n"); + return; + } + while(fread(&data,sizeof(data),1,fp)){ + if(strcmp(data.floID,floID)) //floID != follower.floID + fwrite(&data,sizeof(data),1,fp_tmp); + } + fclose(fp); + fclose(fp_tmp); + remove("followers.bin"); + rename("tmp.bin", "followers.bin"); + return; +} + +static void follow(const struct mg_str d){ + struct followData data; + snprintf(data.floID, sizeof(data.floID), "%.*s", (int) (34), &d.p[1]); + snprintf(data.sign, sizeof(data.sign), "%.*s", (int) (d.len-36), &d.p[36]); + printf("follow : %s\n",data.floID); + FILE *fptr; + fptr = fopen("following.bin","ab"); + if(fptr == NULL){ + printf("Error in opening following.bin\n"); + return; + } + fseek(fptr,0,SEEK_END); + fwrite(&data,sizeof(data),1,fptr); + fclose(fptr); +} + +static void unfollow(const struct mg_str d){ + char floID[35]; + struct followData data; + snprintf(floID, sizeof(floID), "%.*s", (int) (34), &d.p[1]); + printf("unfollow : %s\n",floID); + FILE *fp; + FILE *fp_tmp; + fp = fopen("following.bin", "rb"); + if (!fp) { + printf("Error in opening following.bin\n"); + return; + } + fp_tmp = fopen("tmp.bin", "wb"); + if (!fp) { + printf("Error in opening tmp.bin\n"); + return; + } + while(fread(&data,sizeof(data),1,fp)){ + if(strcmp(data.floID,floID)) //floID != follower.floID + fwrite(&data,sizeof(data),1,fp_tmp); + } + fclose(fp); + fclose(fp_tmp); + remove("following.bin"); + rename("tmp.bin", "following.bin"); + return; +} + +static void storeIncoming(const struct mg_str msg){ + char buf[5000]; + snprintf(buf, sizeof(buf), "%.*s", (int) msg.len, msg.p); + FILE *fptr; + fptr = fopen("incoming.bin","ab"); + if(fptr == NULL){ + printf("Error in opening incoming.bin\n"); + return; + } + fseek(fptr,0,SEEK_END); + fwrite(&buf,sizeof(buf),1,fptr); + fclose(fptr); +} + +static void forwardIncomings(){ + char buf[5000]; + FILE *fptr; + fptr = fopen("incoming.bin","rb"); + if(fptr == NULL){ + printf("No new Incomings\n"); + return; + } + while(fread(&buf,sizeof(buf),1,fptr)){ + mg_send_websocket_frame(selfClient, WEBSOCKET_OP_TEXT, buf, strlen(buf)); + } + fclose(fptr); + remove("incoming.bin"); +} static void ev_handler(struct mg_connection *nc, int ev, void *ev_data) { switch (ev) { case MG_EV_WEBSOCKET_HANDSHAKE_DONE: { @@ -108,30 +228,47 @@ static void ev_handler(struct mg_connection *nc, int ev, void *ev_data) { struct websocket_message *wm = (struct websocket_message *) ev_data; /* New websocket message. Tell everybody. */ struct mg_str d = {(char *) wm->data, wm->size}; - if (d.p[0] == '$'){ - char pass[100]; - snprintf(pass, sizeof(pass), "%.*s",(int)d.len-1, &d.p[1]); - if(!strcmp(pass,serverpass)){ - if(selfClient!=NULL) - unicast(selfClient,mg_mk_str("$Another login is encountered! Please close/refresh this window")); - selfClient = nc; - unicast(selfClient,mg_mk_str("$Access Granted!")); - broadcast(nc, mg_mk_str("#+")); - }else - unicast(nc,mg_mk_str("$Access Denied!")); - } - else if(d.p[0] == '#'){ - if(selfClient == NULL) - unicast(nc,mg_mk_str("#-")); + if(selfClient == nc){ + if(d.p[0] == 'F') + Follower(d); + else if(d.p[0] == 'U') + Unfollower(d); + else if(d.p[0] == 'f') + follow(d); + else if(d.p[0] == 'u') + unfollow(d); else - unicast(nc,mg_mk_str("#+")); - } - else if(d.p[0] == '>'){ - sendTweets(nc, d); - } - else if(selfClient == nc){ - storeTweet(nc, d); + storeTweet(nc, d); + }else{ + if (d.p[0] == '$'){ + char pass[100]; + snprintf(pass, sizeof(pass), "%.*s",(int)d.len-1, &d.p[1]); + if(!strcmp(pass,serverpass)){ + if(selfClient!=NULL) + unicast(selfClient,mg_mk_str("$Another login is encountered! Please close/refresh this window")); + selfClient = nc; + unicast(selfClient,mg_mk_str("$Access Granted!")); + forwardIncomings(); + }else + unicast(nc,mg_mk_str("$Access Denied!")); + } + else if(d.p[0] == '#'){ + if(selfClient == NULL) + unicast(nc,mg_mk_str("#-")); + else + unicast(nc,mg_mk_str("#+")); + } + else if(d.p[0] == '>'){ + sendTweets(nc, d); + } + else { + if(selfClient==NULL) + storeIncoming(d); + else + unicast(selfClient,d); + } } + break; } case MG_EV_HTTP_REQUEST: {