| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /framework7/src/pages/store/ |
Upload File : |
import firebase, { app } from "firebase";
import * as db from './db';
import moment from 'moment';
import Framework7 from 'framework7/framework7.esm.bundle.js';
import f7 from "framework7-vue/utils/f7";
import message from "framework7-vue/components/message";
import icon from "framework7-vue/components/icon";
import { resolve } from "path";
const ChatModule = {
state: {
wallet: 0.00,
user_payout: 0.00,
gift: 0.00,
replyMessageURL:null,
replyMessage:false,
noRecordFollowing :false,
noRecordFollowers :false,
noRecordElite :false,
lastFollowersEmail:null,
lastFollowingEmail:null,
lastEliteEmail:null,
delete_photo2: false,
delete_photo3: false,
delete_photo4: false,
delete_photo5: false,
delete_photo6: false,
advert_default: null,
photoStatus: false,
chatOpen: false,
appUpdate: false,
updatePreloader: 0,
searchResult: 0,
top_page: false,
bottom_page: true,
back_page: false,
forward_page: true,
db_reference: null,
db_cursor: null,
onesignal_playerID: null,
sent_by: null,
received_by: null,
subscribe_affiliate_friend: false,
reference: null,
contacts: [],
followings: [],
followers: [],
elites: [],
search_contacts: [],
friends: [],
friendsMatch: [],
spotLight: [],
inspotlight: false,
friend_requests: [],
message_count: [],
chat_messages: [],
typing_message: 0,
friend_status: 0,
block_by_friend: 0,
members: [],
user_details: [],
},
getters: {
replyMessageURL: state => state.replyMessageURL,
replyMessage: state => state.replyMessage,
lastEliteEmail: state => state.lastEliteEmail,
lastFollowersEmail: state => state.lastFollowersEmail,
lastFollowingEmail: state => state.lastFollowingEmail,
noRecordFollowing: state => state.noRecordFollowing,
noRecordFollowers: state => state.noRecordFollowers,
noRecordElite: state => state.noRecordElite,
wallet: state => state.wallet,
user_payout: state => state.user_payout,
gift: state => state.gift,
delete_photo2: state => state.delete_photo2,
delete_photo3: state => state.delete_photo3,
delete_photo4: state => state.delete_photo4,
delete_photo5: state => state.delete_photo5,
delete_photo6: state => state.delete_photo6,
advert_default: state => state.advert_default,
inspotlight: state => state.inspotlight,
spotLight: state => state.spotLight,
photoStatus: state => state.photoStatus,
chatOpen: state => state.chatOpen,
friendsMatch: state => state.friendsMatch,
updatePreloader: state => state.updatePreloader,
appUpdate: state => state.appUpdate,
searchResult: state => state.searchResult,
top_page: state => state.top_page,
bottom_page: state => state.bottom_page,
back_page: state => state.back_page,
forward_page: state => state.forward_page,
db_reference: state => state.db_reference,
db_cursor: state => state.db_cursor,
onesignal_playerID: state => state.onesignal_playerID,
sent_by: state => state.sent_by,
received_by: state => state.received_by,
subscribe_affiliate_friend: state => state.subscribe_affiliate_friend,
reference: state => state.reference,
contacts: state => state.contacts,
followings: state => state.followings,
followers: state => state.followers,
elites: state => state.elites,
search_contacts: state => state.search_contacts,
friends: state => state.friends,
members: state => state.members,
friend_requests: state => state.friend_requests,
message_count: state => state.message_count,
chat_messages: state => state.chat_messages,
typing_message: state => state.typing_message,
friend_status: state => state.friend_status,
block_by_friend: state => state.block_by_friend,
user_details: state => state.user_details,
},
mutations: {
setReplyMessage(state, payload) {
state.replyMessage= payload;
},
setReplyMessageURL(state, payload) {
state.replyMessageURL= payload;
},
setLastFollowersEmail(state, payload) {
state.lastFollowersEmail= payload;
},
setLastFollowingEmail(state, payload) {
state.lastFollowingEmail= payload;
},
setLastEliteEmail(state, payload) {
state.lastEliteEmail= payload;
},
setNoRecordFollowers(state, payload) {
state.noRecordFollowers = payload;
},
setNoRecordFollowing(state, payload) {
state.noRecordFollowing = payload;
},
setNoRecordElite(state, payload) {
state.noRecordElite = payload;
},
setFollowings(state, payload) {
state.followings = payload;
},
setFollowers(state, payload) {
state.followers = payload;
},
setElites(state, payload) {
state.elites = payload;
},
setWallet(state, payload) {
state.wallet = payload;
},
setUserPayout(state, payload) {
state.user_payout = payload;
},
setGift(state, payload) {
state.gift = payload;
},
setInSpotLight(state, payload) {
state.inspotlight = payload;
},
setSpotLight(state, payload) {
state.spotLight = payload;
},
setDeletePhoto2(state, payload) {
state.delete_photo2 = payload;
},
setDeletePhoto3(state, payload) {
state.delete_photo3 = payload;
},
setDeletePhoto4(state, payload) {
state.delete_photo4 = payload;
},
setDeletePhoto5(state, payload) {
state.delete_photo5 = payload;
},
setDeletePhoto6(state, payload) {
state.delete_photo6 = payload;
},
setAdvertDefault(state, payload) {
state.advert_default = payload;
},
setReceivedBy(state, payload) {
state.received_by = payload;
},
setPhotoStatus(state, payload) {
state.photoStatus = payload;
},
setChatOpen(state, payload) {
state.chatOpen = payload;
},
setFriendsMatch(state, payload) {
state.friendsMatch = payload;
},
setAppUpdate(state, payload) {
state.appUpdate = payload;
},
setSearchResult(state, payload) {
state.searchResult = payload;
},
setUpdatePreloader(state, payload) {
state.updatePreloader = payload;
},
setTopPage(state, payload) {
state.top_page = payload;
},
setBottomPage(state, payload) {
state.bottom_page = payload;
},
setBackPage(state, payload) {
state.back_page = payload;
},
setForwardPage(state, payload) {
state.forward_page = payload;
},
setDbReference(state, payload) {
state.db_reference = payload;
},
setDbCursor(state, payload) {
state.db_cursor = payload;
},
setOnesignalPlayerID(state, payload) {
state.onesignal_playerID = payload;
},
setSentBy(state, payload) {
state.sent_by = payload;
},
setSubscribeAffiliateFriend(state, payload) {
state.subscribe_affiliate_friend = payload;
},
setReference(state, payload) {
state.reference = payload;
},
setSearchContacts(state, payload) {
state.search_contacts = payload;
},
setContacts(state, payload) {
state.contacts = payload;
},
setFriends(state, payload) {
state.friends = payload;
},
setMembers(state, payload) {
state.members = payload;
},
setFriendRequests(state, payload) {
state.friend_requests = payload;
},
setMessageCount(state, payload) {
state.message_count = payload;
},
setChatMessages(state, payload) {
state.chat_messages = payload
},
setTypingMessage(state, payload) {
state.typing_message = payload
},
setFriendStatus(state, payload) {
state.friend_status = payload
},
setBlockByFriend(state, payload) {
state.block_by_friend = payload
},
setUserDetails(state, payload) {
state.user_details = payload
},
},
actions: {
convertTextToImage({ }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = payload
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaltexttoimage.php",
postData,
function (data) {
resolve(data)
}
)
})
return promise
},
getFollowers({ commit }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = payload
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalfollowers.php",
postData,
function (data) {
// console.log(data)
if(data !="#"){
var obj = JSON.parse(data);
commit('setFollowers', obj)
commit("setNoRecordFollowers", false);
commit("setLastFollowersEmail", obj[0].email);
resolve(obj[0].email)
}else{
commit("setNoRecordFollowers", true);
resolve(data)
}
}
)
})
},
getElites({ commit }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = payload
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalelites.php",
postData,
function (data) {
if(data != "#"){
var obj = JSON.parse(data);
commit("setElites", obj);
commit("setLastEliteEmail", obj[0].email);
commit("setNoRecordElite", false);
resolve(obj[0].email)
}else{
commit("setNoRecordFollowers", true);
resolve(data)
}
}
)
})
},
getFollowing({ commit }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = payload
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalfollowing.php",
postData,
function (data) {
// console.log(data)
if(data.length>0){
var obj = JSON.parse(data);
commit('setFollowings', obj)
commit("setNoRecordFollowing", false);
commit("setLastFollowingEmail", obj[0].email);
resolve(obj[0].email)
}else{
commit("setNoRecordFollowing", true);
resolve(data)
}
}
)
})
},
getWallet({ commit }, payload) {
var promise = new Promise((resolve, reject) => {
var payload2 = {}
payload2.domain = payload.domain
payload2.email = payload.email;
var postData = payload2
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalwallet.php",
postData,
function (data) {
//console.log(data)
var obj = JSON.parse(data);
commit('setWallet', obj)
resolve(data)
}
)
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaluserpayout.php",
postData,
function (data) {
// console.log("nosa nosa nosa",data)
var obj = JSON.parse(data);
commit('setUserPayout', obj)
resolve(data)
}
)
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalgift.php",
postData,
function (data) {
// console.log(data)
var obj = JSON.parse(data);
commit('setGift', obj)
resolve(data)
}
)
})
return promise
},
getAdvertDefault({ commit }) {
var promise = new Promise((resolve, reject) => {
var payload = {}
payload.domain = "penpalamerica.com";
var postData = payload
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaladverts.php",
postData,
function (data) {
var obj = JSON.parse(data);
commit('setAdvertDefault', obj)
resolve(data)
}
)
})
return promise
},
async getAdvertCountry({ commit, dispatch }) {
commit('setAdvertCountry', myAdverts)
},
unMatchUser({ }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = payload
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalunmatch.php",
postData,
function (data) {
//console.log("unmatch user", data)
resolve(data)
}
);
})
return promise
},
sendEmailNotificationLike({ }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = payload
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalemailnotificationlike.php",
postData,
function (data) {
//console.log("message notification match", data)
resolve(data)
}
);
})
return promise
},
sendEmailNotificationMatch({ }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = payload
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalemailnotificationmatch.php",
postData,
function (data) {
//console.log("message notification match", data)
resolve(data)
}
);
})
return promise
},
sendEmailNotification({ }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = payload
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalemailnotification.php",
postData,
function (data) {
// console.log("message notification", data)
resolve(data)
}
);
})
return promise
},
resetPassword({ }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = {
email: payload.email,
domain: payload.domain
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalsendpasswordreset.php",
postData,
function (data) {
resolve(data)
}
);
})
return promise
},
async sendOneSignalToken({ }, payload) {
var postData = {
playerID: payload.playerID,
pushToken: payload.pushToken,
email: payload.email,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalonesignal.php",
postData,
function (data) {
}
)
},
async getUserNotifications({ commit }, payload) {
var postData = {
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalnotifications.php",
postData,
function (data) {
var obj = JSON.parse(data);
commit('setUserNotifications', obj)
}
)
},
updateUserProfile({ commit }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = {
name: payload.name,
profileMessage: payload.profileMessage,
location: payload.location,
email: payload.email,
domain: payload.domain,
photo_url1: payload.photo_url1,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalupdateuserprofile.php",
postData,
function (data) {
resolve(data)
}
);
})
return promise
},
updateUserStatus({ commit }, payload) {
var postData = {
email: payload.email,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalupdateuserstatus.php",
postData,
function (data) {
var obj = JSON.parse(data);
// commit("setFriends", obj);
}
);
},
addSpotLight({ commit }, payload) {
var postData = {
email: payload.email,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaladdspotlight.php",
postData,
function (data) {
var obj = JSON.parse(data);
if (data == "0")
commit("setAlertMessage", "Your profile added to spotlight")
//commit("setFriends", obj);
}
);
},
removeSpotLight({ commit }, payload) {
var postData = {
email: payload.email,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalremovespotlight.php",
postData,
function (data) {
var obj = JSON.parse(data);
if (data == "0")
commit("setAlertMessage", "Your profile has been removed from spotlight")
//commit("setFriends", obj);
}
);
},
userInSpotLight({ commit }, payload) {
var postData = {
email: payload.email,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalgetsportlight.php",
postData,
function (data) {
var obj = JSON.parse(data);
if (data == "1")
commit("setInSpotLight", true);
else
commit("setInSpotLight", false);
}
);
},
getFriendSpotLight({ commit }, payload) {
var postData = {
email: payload.email,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalspotlight.php",
postData,
async function (data) {
//console.log(data)
var obj = JSON.parse(data);
await commit("setSpotLight", obj);
}
);
},
getFriendList({ commit }, payload) {
var postData = {
email: payload.email,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalfriends.php",
postData,
function (data) {
if(data !="#"){
var obj = JSON.parse(data);
commit("setFriends", obj);
}
}
);
},
getFriendMatch({ commit }, payload) {
var postData = {
email: payload.email,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalmatchtable.php",
postData,
async function (data) {
if(data !="#"){
var obj = JSON.parse(data);
await commit("setFriendsMatch", obj);
}
}
);
},
deleteOldAccount({ commit }, payload) {
return
// User deleted.
var ref = firebase.database().ref(
"users/".concat(payload, "/")
);
ref.remove();
commit("setAlertMessage", "Please Verify Your Email")
},
async checkUserExistsAmerica({ dispatch }, payload) {
var myContacts = []
var promise = new Promise((resolve, reject) => {
firebase.database().ref('users').orderByValue().on('value', function (snapshot) {
var members = snapshot.val()
for (var member in members) {
if (members[member].email === payload.email) {
var tempUser = {}
var myString = members[member].photo
if (myString.includes('https://firebasestorage.googleapis.com/v0/b/penpalamerica.appspot.com/o/image_profile')) {
tempUser.photoUpload = true
}
else {
tempUser.photoUpload = false
}
tempUser.uid = members[member].uid,
tempUser.password = payload.password,
tempUser.country = members[member].country,
tempUser.name = members[member].name,
tempUser.email = members[member].email,
tempUser.gender = members[member].gender,
tempUser.phonenumber = members[member].phonenumber,
tempUser.location = members[member].location,
tempUser.profileMessage = members[member].profileMessage,
tempUser.birthDate = members[member].birthDate,
tempUser.emailverified = false,
tempUser.photo_url = members[member].photo,
tempUser.userType = members[member].userType,
tempUser.userStatus = members[member].userStatus,
tempUser.lastSeen = members[member].lastSeen,
tempUser.userToken = members[member].userToken,
tempUser.dateCreated = members[member].lastSeen,
tempUser.payout = "0",
tempUser.pageSize = 3,
tempUser.serviceExpiration = members[member].serviceExpiration
myContacts.push(tempUser)
break;
}
}
resolve(myContacts)
})
})
return promise
},
async sendLatestMessage({ dispatch }, payload) {
var user_id = firebase.auth().currentUser.uid
var user_key = payload.userkey;
var frd_id = payload.friend.uid;
var frd_key = payload.friend.frd_key;
var latest_message = '';
let messcount = await dispatch("getUserMessageCount", payload)
if (messcount != null) {
if (isNaN(messcount)) {
messcount = 0
} else {
messcount++
}
} else {
messcount = 0
}
if (payload.img != null) {
latest_message = 'photo'
} else {
latest_message = payload.msg
}
try {
// if (latest_message != null && frd_id != null) {
// await db.firefriends.child(user_id)
// .child(frd_key)////
//.update({
//latest_message: latest_message,
//uid: frd_id
//})
// }
if (latest_message != null && frd_id != null) {
await db.firefriends.child(frd_id)
.child(user_key)
.update({
message_count: messcount,
latest_message: latest_message,
uid: user_id
})
}
} catch (error) {
}
},
getOnesignalPlayerIDPlus({ commit }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = {
email: payload.email,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalgetonesignal.php",
postData,
function (data) {
//console.log("one signal chatmodule ", data)
if (data != "0") {
resolve(data);
} else {
resolve(null);
}
}
)
})
return promise
},
getOnesignalPlayerID({ commit }, payload) {
var postData = {
email: payload.email,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalgetonesignal.php",
postData,
function (data) {
//console.log("one signal chatmodule ", data)
if (data != "0") {
commit("setOnesignalPlayerID", data);
} else {
commit("setOnesignalPlayerID", null);
}
}
)
},
getFriendAffiliate({ commit }, payload) {
var frd_uid = payload;
//var promise = new Promise((resolve, reject) => {
firebase.database().ref('pay4me').child(frd_uid).once('value', snapshot => {
//var members = snapshot.val()
if (snapshot.val() != null && snapshot.val() != undefined) {
commit("setSubscribeAffiliateFriend", true);
} else {
commit("setSubscribeAffiliateFriend", false);
}
})
//})
//return promise
},
updateReadMessage({ dispatch }, payload) {
var user_uid = firebase.auth().currentUser.uid
var user_key = payload.userkey;
var frd_uid = payload.uid;
var frd_key = payload.frd_key;
var latest_message = '';
var current_user = firebase.auth().currentUser
db.firechats.child(frd_uid).child(user_uid).on('value', snapshot => {
var messages = snapshot.val()
_.forEach(messages, (message, key) => {
// _.forEach(messages, message => {
try {
db.firechats.child(frd_uid)
.child(user_uid)////
.child(key)////
.update({
read: "2"
})
} catch (error) {
console.log(error)
}
})
})
},
async resetMessageCount({ }, payload) {
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaltotalmessagesupdate.php",
postData,
async function (data) {
// commit("setTotalMessage", data)
// console.log("data resetmessage", data)
}
);
},
getUserMessageCount({ }, payload) {
var promise = new Promise((resolve, reject) => {
var frd_id = payload.friend.uid;
var userkey = payload.userkey;
db.firefriends.child(frd_id).child(userkey)
.once('value', snapshot => {
if (snapshot.val()) {
resolve(snapshot.val().message_count)
} else {
resolve("0")
}
})
.catch(err => {
reject(err)
})
})
return promise
},
confirmFriendRequest({ dispatch }, payload) {
try {
db.firefriends.child(firebase.auth().currentUser.uid)
.push({
uid: payload.friend.uid,
message_count: "0",
latest_message: " ",
})
db.firefriends.child(payload.friend.uid)
.push({
message_count: "0",
latest_message: " ",
uid: firebase.auth().currentUser.uid
})
} catch (error) {
reject(err)
}
//})
let result = "010220"
return result
},
createFriendTables({ dispatch }, payload) {
try {
var userKey = db.firefriends.child(firebase.auth().currentUser.uid).push().key
db.firefriends.child(firebase.auth().currentUser.uid).child(userKey)
.update({
uid: payload.friend.uid,
message_count: "0",
latest_message: " ",
})
db.firefriends.child(payload.friend.uid).child(userKey)
.update({
message_count: "0",
latest_message: " ",
uid: firebase.auth().currentUser.uid
})
} catch (error) {
console.log(error)
}
//})
return userKey
},
async sendDownTypingMessage({ }, payload) {
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
type: "1",
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaltyping.php",
postData,
async function (data) {
}
);
},
async sendUpTypingMessage({ }, payload) {
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
type: "0",
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaltyping.php",
postData,
async function (data) {
}
);
},
getTypingMessages({ commit }, payload) {
if ((payload.email_u != null) && (payload.email_f != null)) {
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaltypingcommit.php",
postData,
async function (data) {
if (data == "1") {
commit('setSentBy', payload.email_u)
commit('setReceivedBy', payload.email_f)
commit('setTypingMessage', "1")
}//end of 1
if (data == "2") {
commit('setSentBy', payload.email_f)
commit('setReceivedBy', payload.email_u)
commit('setTypingMessage', "1")
}//end of 2
if (data == "3") {
commit('setSentBy', payload.email_u)
commit('setReceivedBy', payload.email_f)
commit('setSentBy', payload.email_f)
commit('setReceivedBy', payload.email_u)
commit('setTypingMessage', "1")
}//end of 3
if (data == "0") {
commit('setTypingMessage', "0")
}//end of 3
}
);
}
},
getUserKey({ }, payload) {
var promise = new Promise((resolve, reject) => {
var frd_id = payload.friend.uid;
db.firefriends.child(frd_id).orderByChild("uid")
.equalTo(firebase.auth().currentUser.uid)
.once('value', snapshot => {
let userkey;
for (var key in snapshot.val()) userkey = key;
resolve(userkey)
})
.catch(err => {
reject(err)
})
})
return promise
},
getUserMessageCount2({ }, payload) {
var promise = new Promise((resolve, reject) => {
var frd_id = payload.friend.uid;
var userKey = payload.friend.userKey;
db.firemessagecount.child(frd_id).child(userKey).orderByChild("uid")
.equalTo(firebase.auth().currentUser.uid)
.on('value', snapshot => {
resolve(snapshot.message_count)
})
.catch(err => {
reject(err)
})
})
return promise
},
async getChatMessagesPlus({ dispatch, commit }, payload) {
// var current_user = firebase.auth().currentUser
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
domain: payload.domain //payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalgetmessages.php",
postData,
function (data) {
var messages = JSON.parse(data);
var new_date = ""
_.forEach(messages, message => {
message.type = message.sentby == payload.email_u ? 'sent' : 'received';
message.name = message.sentby == payload.email_u ? message.myName : message.myFriendName;
message.date = moment(message.datecreated).format("MMMM Do dddd");
message.smalldate = moment(message.datecreated).format("LTS");
if (message.sentby == payload.email_u) {
message.status = "1"
} else {
message.status = "0"
}
new_date = message.datecreated
})
var groupedmessages = _.groupBy(messages, 'date')
var last_update = sessionStorage.getItem('last_update');
var friend_email = sessionStorage.getItem('friend_email');
// console.log("last_update", last_update)
// console.log("new_date", new_date)
if ((new_date > last_update) && (friend_email == payload.email_f)) {
// console.log("******last_update2", last_update)
commit('setChatMessages', groupedmessages)
commit('setSentBy', message.email_u)
sessionStorage.setItem('last_update', new_date);
}
}
);
},
async getChatMessagesPromise({ dispatch, commit }, payload) {
// var current_user = firebase.auth().currentUser
var promise = new Promise((resolve, reject) => {
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
domain: payload.domain //payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalgetmessages.php",
postData,
function (data) {
var messages = JSON.parse(data);
var new_date = ""
_.forEach(messages, message => {
message.type = message.sentby == payload.email_u ? 'sent' : 'received';
message.name = message.sentby == payload.email_u ? message.myName : message.myFriendName;
message.date = moment(message.datecreated).format("MMMM Do dddd");
message.smalldate = moment(message.datecreated).format("LTS");
if (message.sentby == payload.email_u) {
message.status = "1"
} else {
message.status = "0"
}
new_date = message.datecreated
})
var groupedmessages = _.groupBy(messages, 'date')
commit('setChatMessages', groupedmessages)
commit('setSentBy', message.email_u)
resolve(groupedmessages)
}
);
return promise
})
},
async getChatMessages({ dispatch, commit }, payload) {
// var current_user = firebase.auth().currentUser
//console.log("deleted")
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
domain: payload.domain //payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalgetmessages.php",
postData,
function (data) {
var messages = JSON.parse(data);
var message_update = ""
_.forEach(messages, message => {
message.type = message.sentby == payload.email_u ? 'sent' : 'received';
message.name = message.sentby == payload.email_u ? message.myName : message.myFriendName;
message.date = moment(message.datecreated).format("MMMM Do dddd");
message.smalldate = moment(message.datecreated).format("LTS");
if (message.sentby == payload.email_u) {
message.status = "1"
} else {
message.status = "0"
}
message_update = message.datecreated
})
var groupedmessages = _.groupBy(messages, 'date')
//console.log("######################", message_update)
sessionStorage.setItem('last_update', message_update);
sessionStorage.setItem('friend_email', payload.email_f);
commit('setChatMessages', groupedmessages)
commit('setSentBy', message.email_u)
}
);
},
resetTotalNotify({ commit }, payload) {
//console.log("Totatmessages", payload.email);
var postData = {
email: payload.email,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalresettotalnotifications.php",
postData,
async function (data) {
//console.log("moses", data)
commit("setTotalNotify", 0)
}
);
},
getTotalNotify({ commit }, payload) {
//console.log("Totatmessages", payload.email);
var postData = {
email: payload.email,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaltotalnotifications.php",
postData,
async function (data) {
//console.log("moses", data)
commit("setTotalNotify", data)
}
);
},
getTotalMessage({ commit }, payload) {
// console.log("Totatmessages", payload.email);
var postData = {
email: payload.email,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaltotalmessages.php",
postData,
async function (data) {
commit("setTotalMessage", data)
}
);
},
confirmRequest({ dispatch }, payload) {
var promise = new Promise((resolve, reject) => {
db.firefriends.child(firebase.auth().currentUser.uid)
.push({ uid: payload.uid })
.then(() => {
db.firefriends.child(payload.uid)
.push({ uid: firebase.auth().currentUser.uid })
})
.then(() => {
dispatch('deleteRequest', payload).then(() => {
resolve(true)
})
})
.catch(err => {
reject(err)
})
})
return promise
},
deleteRequest({ }, payload) {
var promise = new Promise((resolve, reject) => {
db.firerequest.child(firebase.auth().currentUser.uid)
.orderByChild('sender')
.equalTo(payload.uid)
.once('value', snapshot => {
let userkey;
for (var key in snapshot.val()) userkey = key
db.firerequest.child(firebase.auth().currentUser.uid)
.child(userkey)
.remove()
.then(() => {
resolve(true)
})
.catch(err => {
reject(err)
})
}).catch(err => {
reject(err)
})
})
return promise
},
async getMyRequests({ commit, dispatch }) {
var users = await dispatch('getAllUsers')
db.firerequest.child(firebase.auth().currentUser.uid)
.on('value', snapshot => {
var frd_request_id = _.map(snapshot.val(), "sender")
var userdetails = []
_.forEach(frd_request_id, uid => {
var user = _.find(users, ["uid", uid])
userdetails.push(user)
})
commit('setFriendRequests', userdetails)
})
},
async sendMessage({ commit, dispatch }, payload) {
// console.log("sendMessage", payload)
var postData = {
email_f: payload.email_f,
message: payload.msg,
image_url: payload.img,
email_u: payload.email_u,
domain: payload.domain,
sentby: payload.sentby,
messageType:payload.messageType,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalchatmessages.php",
postData,
async function (data) {
//console.log(data)
var obj = JSON.parse(data);
dispatch("getChatMessages", payload);
}, function (err) {
commit(
"setAlertMessage",
"Network Issue. Please check your internet connection and try again"
);
}
);
},
sendNotificationPlus({ }, payload) {
// console.log("playload onesignal", payload)
var onesignal_playerID = payload.onesignal_playerID
var onesignal_message = payload.message
var photoUrl = payload.photo_url1
// console.log("photo", photoUrl)
var message = {
app_id: "1bdd80c5-cabb-4296-9e59-ef5fa8638eed",
contents: { en: onesignal_message },
headings: { en: 'penpalamerica.com' },
large_icon: photoUrl,
include_player_ids: [onesignal_playerID],
};
// console.log(message)
var headers = {
"Content-Type": "application/json; charset=utf-8"
};
var options = {
host: "onesignal.com",
port: 443,
path: "/api/v1/notifications",
method: "POST",
headers: headers
};
var https = require('https');
var req = https.request(options, function (res) {
res.on('data', function (message) {
});
});
req.on('error', function (e) {
console.log(e);
});
req.write(JSON.stringify(message));
req.end();
},
sendNotification({ }, payload) {
// console.log("playload onesignal", payload)
var onesignal_playerID = payload.onesignal_playerID
var onesignal_message = payload.message
var message = {
app_id: "d020a469-2d65-4261-89b1-e46983faf44c",
contents: { en: onesignal_message },
include_player_ids: [onesignal_playerID],
};
var headers = {
"Content-Type": "application/json; charset=utf-8"
};
var options = {
host: "onesignal.com",
port: 443,
path: "/api/v1/notifications",
method: "POST",
headers: headers
};
var https = require('https');
var req = https.request(options, function (res) {
res.on('data', function (message) {
});
});
req.on('error', function (e) {
console.log(e);
});
req.write(JSON.stringify(message));
req.end();
},
getMyFriendsList({ }, payload) {
var promise = new Promise((resolve, reject) => {
var frd_id = payload.friend.uid;
db.firefriends.child(frd_id).orderByChild("uid")
.equalTo(firebase.auth().currentUser.uid)
.once('value', snapshot => {
let userkey = null;
for (var key in snapshot.val()) userkey = key;
resolve(userkey)
})
.catch(err => {
reject(err)
})
})
return promise
},
checkUserExists2({ }, payload) {
var promise = new Promise((resolve, reject) => {
firebase.database().ref('appState').child(payload).on('value', snapshot => {
if (snapshot.val() != null && snapshot.val() != undefined) {
resolve("OK")
} else {
resolve("#")
}
})
})
return promise
},
checkUserExists({ }, payload) {
var promise = new Promise((resolve, reject) => {
firebase.database().ref('users').orderByValue().on('value', function (snapshot) {
var members = snapshot.val()
var myContacts = []
_.forEach(members, member => {
if (member.country == payload) {
myContacts.push(member)
}
})
resolve(myContacts)
})
})
return promise
},
async getAllUsers({ commit, dispatch }) {
//var user_id = firebase.auth().currentUser.uid
var payload = []
// payload.name = await dispatch("getUserCountry")
var promise = new Promise((resolve, reject) => {
firebase.database().ref('users').orderByValue().on('value', function (snapshot) {
var members = snapshot.val()
var myContacts = []
_.forEach(members, member => {
//if (member.country == payload.name) {
if (firebase.auth().currentUser.uid !== member.uid) {
myContacts.push(member)
}
//}
})
commit('setContacts', myContacts)
//resolve(snapshot.val())
resolve(myContacts)
})
})
return promise
},
mergeMessages({ }, payload) {
//var user_id = firebase.auth().currentUser.uid
var promise = new Promise((resolve, reject) => {
var current_user = firebase.auth().currentUser
var messages1 = {}
db.firechats.child(current_user.uid).child(payload.uid).on('value', snapshot => {
resolve(snapshot.val())
})
})
return promise
},
mergeMessagesFriend({ }, payload) {
var promise = new Promise((resolve, reject) => {
var current_user = firebase.auth().currentUser
db.firechats.child(payload.uid).child(current_user.uid).on('value', snapshot => {
resolve(snapshot.val())
})
})
return promise
},
getMessageCount({ commit }) {
var promise = new Promise((resolve, reject) => {
firebase.database().ref('users').child(firebase.auth().currentUser.uid).once('value', snapshot => {
resolve(snapshot.val().country)
})
})
return promise
},
checkUserInFriendList({ commit }, payload) {
var user_uid = firebase.auth().currentUser.uid
if (payload.frd_key == null) {
commit("setAlertMessage", "User not in your friend list")
return
}
var frd_key = payload.frd_key
var promise = new Promise((resolve, reject) => {
db.firefriends.child(user_uid).child(frd_key)
.once('value', snapshot => {
if (snapshot.val()) {
resolve(snapshot.val().message_count)
}
})
.catch(err => {
reject(err)
})
})
return promise
},
async blockUser({ commit, dispatch }, payload) {
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaladdblockuser.php",
postData,
function (data) {
//console.log(data)
if (data == "0") {
commit("setAlertMessage", "User has been blocked")
} else {
commit("setAlertMessage", "User cannot be blocked now. Please try again later")
}
}
);
},
async unBlockUser({ commit, dispatch }, payload) {
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalunblockuser.php",
postData,
function (data) {
if (data == "0") {
commit("setAlertMessage", "User has been un-blocked")
} else {
commit("setAlertMessage", "User cannot be un-blocked now. Please try again later")
}
}
);
},
async checkUserUnmatch({ commit }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalgetunmatch.php",
postData,
function (data) {
resolve(data)
}
);
})
return promise
},
async checkMessageType({ }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
domain: payload.domain,
};
//console.log(payload)
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalcheckmessagetype.php",
postData,
function (data) {
//console.log(data)
resolve(data)
}
);
//resolve("Sender")
})
return promise
},
async chargeUser({ dispatch}, payload) {
var promise = new Promise((resolve, reject) => {
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
domain: payload.domain,
pay_amount: payload.amount
};
//console.log(payload)
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalchargeusermessage.php",
postData,
function (data) {
//console.log(data)
dispatch('getWallet', payload)
resolve(data)
}
);
//resolve("Sender")
})
return promise
},
async payUser({ dispatch}, payload) {
var promise = new Promise((resolve, reject) => {
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
domain: payload.domain,
pay_amount: payload.amount
};
//console.log(payload)
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalpayuser.php",
postData,
function (data) {
console.log(data)
//dispatch('getWallet', payload)
resolve(data)
}
);
//resolve("Sender")
})
return promise
},
async checkUserBlocked({ commit }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalgetblockuser.php",
postData,
function (data) {
// console.log(data)
resolve(data)
}
);
})
return promise
},
async userMigration({ commit, dispatch }) {
var cnt = 0
var promise = new Promise((resolve, reject) => {
firebase.database().ref('users').orderByValue().on('value', function (snapshot) {
var members = snapshot.val()
var genderSearch = "F"
_.forEach(members, (member, key) => {
if (member.migrated2 == null) {
cnt++
if (member.gender == "M") {
genderSearch = "F"
} else {
genderSearch = "M"
}
var date = new Date(member.dateCreated);
var dateCreated =
date.getFullYear() +
"/" +
(date.getMonth() + 1) +
"/" +
date.getDate() +
" " +
date.getHours() +
":" +
date.getMinutes() +
":" +
date.getSeconds();
var date = new Date(member.lastSeen);
var lastSeen =
date.getFullYear() +
"/" +
(date.getMonth() + 1) +
"/" +
date.getDate() +
" " +
date.getHours() +
":" +
date.getMinutes() +
":" +
date.getSeconds();
var postData = {
birthDate: member.birthDate,
country: member.country,
dateCreated: dateCreated,
email: member.email,
emailverified: member.emailverified,
gender: member.gender,
genderSearch: genderSearch,
lastSeen: lastSeen,
location: member.location,
name: member.name,
phonenumber: member.phonenumber,
photoUpload: member.photoUpload,
photo_url1: member.photo_url,
profileMessage: member.profileMessage,
userToken: member.userToken,
userType: member.userType,
domain: "penpalamerica.com",
};
setTimeout(httpPost(postData, key), 5000);
//end of database
cnt++
}
//}
})
resolve(cnt)
})
})
return promise
},
async checkBlockByFriend({ commit }, payload) {
if (payload.frd_key == null) {
var flag = "0"
commit("setBlockByFriend", flag)
return flag
}
var user_uid = firebase.auth().currentUser.uid
var frd_uid = payload.uid
var promise = new Promise((resolve, reject) => {
db.fireblockfriends.child(frd_uid).child(user_uid)
.once('value', snapshot => {
if (snapshot.val()) {
commit("setBlockByFriend", snapshot.val().flag)
}
resolve(snapshot.val())
})
.catch(err => {
reject(err)
})
})
return promise
},
async getAllUsersMigration({ commit, dispatch }) {
//var user_id = firebase.auth().currentUser.uid
var payload = []
var cnt = 0;
var newDate
var userLastSeen
// payload.name = await dispatch("getUserCountry")
var promise = new Promise((resolve, reject) => {
firebase.database().ref('users').orderByValue().on('value', function (snapshot) {
var members = snapshot.val()
var cnt = 0
_.forEach(members, (member, key) => {
// if (member.userName == null) {
if (member.birthDate == null) {
if (member.age != null) {
newDate = moment().subtract(member.age, 'years').format("YYYY-MM-DD")
} else {
newDate = moment().subtract(20, 'years').format("YYYY-MM-DD")
}
//database update
firebase
.database()
.ref("users")
.child(key)
.update({
name: member.userName,
uid: key,
phonenumber: member.phone,
birthDate: newDate,
emailverified: false,
photo_url: member.photo,
userType: "1",
userStatus: "offline",
lastSeen: firebase.database.ServerValue.TIMESTAMP,
userToken: "web",
dateCreated: firebase.database.ServerValue.TIMESTAMP,
payout: "0",
photoUpload: false,
pageSize: 3,
serviceExpiration: firebase.database.ServerValue.TIMESTAMP,
})
//end of database
cnt++
if (cnt > 100) {
return false
}
}
//end of else
// }
})
resolve(cnt)
})
})
return promise
},
async reportUserToAdmin({ commit, dispatch }, payload) {
var postData = {
email_u: payload.email_u,
email_f: payload.email_f,
userAbuse: payload.userAbuse,
domain: payload.domain,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalreportuser.php",
postData,
function (data) {
//console.log(data)
if (data == "0") {
commit("setAlertMessage", "Your report has been submitted and will be reviewed by admin")
} else {
commit("setAlertMessage", "Your report cannot be submitted now, please try again later. ")
}
}
);
},
async editPayPal({ commit }, payload) {
var paypal_email =payload.paypal
if( !ValidateEmail(paypal_email)){
commit("setAlertMessage", "Your new email is not valid");
return;
}
// console.log(paypal_email);
var postData = {
paypal_email: paypal_email,
domain: payload.domain,
email: payload.email,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalupdatepaypal.php",
postData,
function (data) {
//var obj = JSON.parse(data);
if (data == '0') {
// commit("setUserLocation", payload.location)
commit("setAlertMessage", "Your new PayPal Email has been updated.")
} else {
commit("setAlertMessage", "Sorry, your new PayPal Email cannot be updated ")
}
}
);
},
async editLocation({ commit }, payload) {
if (payload.location.length < 2) {
commit("setAlertMessage", "Your Location is too short");
return;
}
if (payload.location.length > 50) {
commit("setAlertMessage", "Your Location is too long");
return;
}
var postData = {
location: payload.location,
domain: payload.domain,
email: payload.email,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalupdateuserlocation.php",
postData,
function (data) {
//var obj = JSON.parse(data);
if (data == '0') {
commit("setUserLocation", payload.location)
commit("setAlertMessage", "Your location has been updated.")
} else {
commit("setAlertMessage", "Sorry, Your location cannot be updated now")
}
}
);
},
async editgenderSearch({ commit }, payload) {
var postData = {
genderSearch: payload.genderSearch,
domain: payload.domain,
email: payload.email,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalupdateusergendersearch.php",
postData,
function (data) {
// console.log("location data", data)
//var obj = JSON.parse(data);
if (data == '0') {
commit("setGenderSearch", payload.genderSearch)
commit("setAlertMessage", "Your genderSearch has been updated.")
} else {
commit("setAlertMessage", "Sorry, Your genderSearch cannot be changed now")
}
}
);
},
async editProfileMessage({ commit }, payload) {
if (payload.profileMessage.length < 10) {
commit("setAlertMessage", "profile message is too short");
return;
}
if (payload.profileMessage.length > 200) {
self.$store.commit("setAlertMessage", "profile message is too long");
return;
}
var postData = {
profileMessage: payload.profileMessage,
domain: payload.domain,
email: payload.email,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalupdateuserprofilemessage.php",
postData,
function (data) {
//console.log("location data", data)
//var obj = JSON.parse(data);
if (data == '0') {
commit("setProfileMessage", payload.profileMessage);
commit("setAlertMessage", "Your new Profile message has been updated.")
} else {
commit("setAlertMessage", "Sorry, Your new Profile Message cannot be changed now")
}
}
);
},
getReference({ commit }, payload) {
let text = "";
if (payload.domain == "penpalamerica.com") {
text = "ame"
}
if (payload.domain == "penpaleurope.com") {
text = "eur"
}
if (payload.domain == "penpalasia.com") {
text = "asi"
}
if (payload.domain == "penpalafrica.com") {
text = "afr"
}
if (payload.domain == "americanmeets.com") {
text = "can"
}
if (payload.domain == "misscomely.com") {
text = "mis"
}
let possible =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (let i = 0; i < 10; i++)
text += possible.charAt(Math.floor(Math.random() * possible.length));
commit("setReference", text)
},
async deleteAccount({ commit }, payload) {
var postData = {
domain: payload.domain,
email: payload.email,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaldeleteuseraccount.php",
postData,
function (data) {
//console.log("location data", data)
//var obj = JSON.parse(data);
if (data == '0') {
commit("setAlertMessage", "Your Account has been deleted")
commit("setShowResendEmail", false)
commit("setSignedIn", false);
} else {
commit("setAlertMessage", "Your Account cannot be deleted now, please try again")
}
}
);
},
async deleteMessage({ dispatch,commit }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = {
message_id: payload.message_id,
domain: payload.domain,
email_u: payload.email_u,
email_f: payload.email_f,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaldeleteusermessage.php",
postData,
function (data) {
if (data == '0') {
commit("setAlertMessage", "The message has been deleted")
dispatch("getChatMessagesPromise", payload);
} else {
commit("setAlertMessage", "The message could not be deleted now, please try again")
}
}
);
return promise
})
},
async deleteMessageMe({ dispatch,commit }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = {
message_id: payload.message_id,
domain: payload.domain,
email_u: payload.email_u,
email_f: payload.email_f,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaldeleteusermessageme.php",
postData,
function (data) {
if (data == '0') {
commit("setAlertMessage", "The message has been deleted")
dispatch("getChatMessagesPromise", payload);
} else {
commit("setAlertMessage", "The message could not be deleted now, please try again")
}
}
);
return promise
})
},
async deleteMessageMePlus({ dispatch,commit }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = {
message_id: payload.message_id,
domain: payload.domain,
email_u: payload.email_u,
email_f: payload.email_f,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaldeleteusermessagemeplus.php",
postData,
function (data) {
if (data == '0') {
commit("setAlertMessage", "The message has been deleted")
dispatch("getChatMessagesPromise", payload);
} else {
commit("setAlertMessage", "The message could not be deleted now, please try again")
}
}
);
return promise
})
},
async sendGiftVenus({ commit,dispatch }, payload) {
//console.log(payload.amount)
var message_out =""
if(payload.amount ==100){
message_out= "You just received a Venus Gift worths 100 points"
}
if(payload.amount ==500){
message_out= "You just received a Mars Gift worths 500 points"
}
if(payload.amount ==1000){
message_out= "You just received a Jupiter Gift worths 1000 points"
}
var postData = {
domain: payload.domain,
email_u: payload.email_u,
email_f: payload.email_f,
pay_amount: payload.amount
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpalsendgiftvenus.php",
postData,
function (data) {
//console.log("data",data)
if (data == '1') {
commit("setAlertMessage", "Your wallet is to low to gift " + payload.name + " Top up your account")
}
if (data == '0') {
commit("setAlertMessage", "Venus Gift successful sent to " + payload.name)
dispatch("sendMessage", {
email_f: payload.email_f,
msg: message_out,
img: "",
email_u: payload.email_u,
domain: payload.domain,
sentby: payload.email_u,
});
} else {
commit("setAlertMessage", "Sorry Venue Gifting is not possible now, please try again")
}
}
);
},
async deletePhoto({ commit }, payload) {
var image_url_default = 'https://penpalamerica.com/images/profilepicture.png'
var postData = {
url: payload.url,
domain: payload.domain,
email: payload.email,
};
Framework7.request.post(
"https://penpalamerica.com/penpal/penpaldeleteuserphotos.php",
postData,
function (data) {
//console.log("location data", data)
//var obj = JSON.parse(data);
var action_name1 = "setDeletePhoto" + payload.url
var action_name2 = "setImageURL" + payload.url
if (data == '0') {
commit("setAlertMessage", "Your Photo has been deleted")
commit(action_name1, false);
commit(action_name2, image_url_default)
} else {
commit("setAlertMessage", "Your Photo cannot be deleted now, please try again")
}
}
);
},
addModerator({ commit }, payload) {
var ref = firebase.database().ref('users/' + payload);
ref.update({
userType: "2",
});
var ref = firebase.database().ref('userProfile/' + payload);
ref.update({
userType: "2",
});
commit("setAlertMessage", "User Account has been changed to Moderator")
},
removeModerator({ commit }, payload) {
var ref = firebase.database().ref('users/' + payload);
ref.update({
userType: "1",
});
var ref = firebase.database().ref('userProfile/' + payload);
ref.update({
userType: "1",
});
commit("setAlertMessage", "Moderator Profile has been removed from your Account")
},
async getAllUsersNew({ commit, dispatch }) {
var ref = firebase.database().ref("/users");
commit('setDbReference', ref)
var user_uid = firebase.auth().currentUser.uid
var pageSize = await dispatch('getUserPageSize')
var promise = new Promise((resolve, reject) => {
ref = ref.orderByKey()
ref = ref.limitToFirst(pageSize + 1)
ref.once('value')
.then(function (snap) {
var keys = []
var collection = {}
// cursor = undefined
snap.forEach(function (childSnap) {
keys.push(childSnap.key)
if (keys.length != pageSize + 1) {
if (childSnap.key != user_uid) {
collection[childSnap.key] = childSnap.val()
}
} else {
commit('setDbCursor', childSnap.key);
}
})
commit('setContacts', collection);
resolve(collection)
})
})
return promise
},
async getAllUsersForward({ commit, dispatch }, payload) {
var ref = payload.dbReference
var dbCursor = payload.cursor
var user_uid = payload.uid
var pageSize = payload.pageSize
ref = ref.orderByKey()
ref = ref.limitToFirst(pageSize + 1)
ref = ref.startAt(dbCursor)
ref.once('value')
.then(function (snap) {
var keys = []
var collection = {}
if (Object.keys(snap.val()).length) {
if (Object.keys(snap.val()).length < pageSize + 1) {
// goto top page
var mypayload = {}
mypayload.ref = ref
mypayload.pageSize = pageSize
mypayload.uid = user_uid
dispatch("gotoBottomPage", mypayload)
return
}
var cnt = 0
snap.forEach(function (childSnap) {
//if (childSnap.key != "QTXLAfzHv6ekb3CKadr3Mc8x9Cn1") {
keys.push(childSnap.key)
if (keys.length != pageSize + 1) {
if (childSnap.key != user_uid) {
collection[childSnap.key] = childSnap.val()
} else {
//the current user
cnt = 1
}
} else {
if (cnt == 1) {
collection[childSnap.key] = childSnap.val()
commit('setDbCursor', childSnap.key);
} else {
commit('setDbCursor', childSnap.key);
}
}
//}
})
commit('setTopPage', true);
commit('setBottomPage', true)
commit('setForwardPage', true);
commit('setBackPage', true);
commit('setContacts', collection);
} else {
//record is null
var mypayload = {}
mypayload.ref = ref
mypayload.pageSize = pageSize
mypayload.uid = user_uid
dispatch("gotoBottomPage", mypayload)
return
}
})
},
async getAllUsersBackward({ commit, dispatch }, payload) {
var ref = payload.dbReference
var dbCursor = payload.cursor
var user_uid = payload.uid
var pageSize = payload.pageSize
ref = ref.orderByKey()
ref = ref.limitToLast(pageSize + 1)
ref = ref.endAt(dbCursor)
ref.once('value')
.then(function (snap) {
var keys = []
var collection = {}
if (Object.keys(snap.val()).length) {
if (Object.keys(snap.val()).length < pageSize + 1) {
// goto top page
var mypayload = {}
mypayload.ref = ref
mypayload.pageSize = pageSize
mypayload.uid = user_uid
dispatch("gotoTopPage", mypayload)
return
}
//end of top page
snap.forEach(function (childSnap) {
keys.push(childSnap.key)
if (keys.length != 1) {
if (childSnap.key != user_uid) {
collection[childSnap.key] = childSnap.val()
}
} else {
commit('setDbCursor', childSnap.key);
}
//}
})
commit('setTopPage', true);
commit('setBottomPage', true)
commit('setBackPage', true)
commit('setForwardPage', true);
commit('setContacts', collection);
} else {
//snap value is null
var mypayload = {}
mypayload.ref = ref
mypayload.pageSize = pageSize
mypayload.uid = user_uid
dispatch("gotoTopPage", mypayload)
return
}
})
},
gotoTopPage({ commit }, payload) {
//var ref2 = payload.ref
var pageSize = payload.pageSize
var user_uid = payload.uid
var ref2 = firebase.database().ref("/users");
ref2 = ref2.orderByKey()
ref2 = ref2.limitToFirst(pageSize + 1)
//this.ref = this.ref.endAt(dbCursor)
ref2.once('value')
.then(function (snap) {
var keys = []
var collection = {}
if (Object.keys(snap.val()).length) {
snap.forEach(function (childSnap) {
keys.push(childSnap.key)
if (keys.length != pageSize + 1) {
if (childSnap.key != user_uid) {
collection[childSnap.key] = childSnap.val()
}
} else {
commit('setDbCursor', childSnap.key);
}
//}
})
commit('setTopPage', false);
commit('setBottomPage', true);
commit('setForwardPage', true);
commit('setBackPage', false);
commit('setContacts', collection);
}
})
},
gotoTopPage({ commit }, payload) {
//var ref2 = payload.ref
var pageSize = payload.pageSize
var user_uid = payload.uid
var ref2 = firebase.database().ref("/users");
ref2 = ref2.orderByChild('dateCreated')
ref2 = ref2.limitToFirst(pageSize + 1)
//this.ref = this.ref.endAt(dbCursor)
ref2.once('value')
.then(function (snap) {
var keys = []
var collection = {}
if (Object.keys(snap.val()).length) {
snap.forEach(function (childSnap) {
//if (childSnap.key != "QTXLAfzHv6ekb3CKadr3Mc8x9Cn1") {
keys.push(childSnap.key)
if (keys.length != pageSize + 1) {
if (childSnap.key != user_uid) {
collection[childSnap.key] = childSnap.val()
}
} else {
commit('setDbCursor', childSnap.key);
}
//}
})
commit('setTopPage', false);
commit('setBottomPage', true);
commit('setForwardPage', true);
commit('setBackPage', false);
commit('setContacts', collection);
}
})
},
gotoSearchUsers({ commit }, payload) {
//var ref2 = payload.ref
var pageSize = payload.pageSize
var user_uid = payload.uid
var userStatus = payload.userStatus
var ref2 = firebase.database().ref("/users");
ref2 = ref2.orderByKey()
//ref2 = ref2.limitToFirst(100)
//this.ref = this.ref.endAt(dbCursor)
ref2.once('value')
.then(function (snap) {
var keys = []
var collection = {}
if (Object.keys(snap.val()).length) {
commit("setUpdatePreloader", 1)
snap.forEach(function (childSnap) {
if (childSnap.val() != null) {
if (childSnap.key != user_uid) {
// if (childSnap.val().country == "Nigeria") {
if (childSnap.val().userStatus == userStatus) {
if (childSnap.val().name != undefined) {
collection[childSnap.key] = childSnap.val()
commit("setSearchResult", true)
}
}
}
}
})
commit('setTopPage', false);
commit('setBottomPage', true);
commit('setForwardPage', true);
commit('setBackPage', false);
commit('setContacts', collection);
}
})
},
searchUsersOnline({ commit }, payload) {
var user_uid = payload.uid
var ref2 = firebase.database().ref("/users");
var cnt = 0;
ref2 = ref2.orderByKey()
ref2.once('value')
.then(function (snap) {
var collection = {}
if (Object.keys(snap.val()).length) {
snap.forEach(function (childSnap) {
if (childSnap.val() != null) {
if (childSnap.key != user_uid) {
if (childSnap.val().userStatus == "online") {
if (childSnap.val().name != undefined) {
collection[childSnap.key] = childSnap.val()
commit("setSearchResult", 1)
cnt++
}
}
}
}
})
commit('setSearchContacts', collection);
if (cnt === 0) {
commit('setSearchResult', 2)
}
} else {
commit("setSearchResult", 2)
}
})
return cnt
},
searchUsersName({ commit }, payload) {
var user_uid = payload.uid
var userName = payload.name
var ref2 = firebase.database().ref("/users");
var cnt = 0;
ref2 = ref2.orderByKey()
ref2.once('value')
.then(function (snap) {
var collection = {}
if (Object.keys(snap.val()).length) {
snap.forEach(function (childSnap) {
if (childSnap.val() != null) {
if (childSnap.key != user_uid) {
if (childSnap.val().name == userName) {
if (childSnap.val().name != undefined) {
collection[childSnap.key] = childSnap.val()
commit("setSearchResult", 1)
cnt++
}
}
}
}
})
commit('setSearchContacts', collection);
if (cnt === 0) {
commit('setSearchResult', 2)
}
} else {
commit("setSearchResult", 2)
}
})
return cnt
},
searchUsersLocation({ commit }, payload) {
var user_uid = payload.uid
var userLocation = payload.location
var ref2 = firebase.database().ref("/users");
var cnt = 0;
ref2 = ref2.orderByKey()
ref2.once('value')
.then(function (snap) {
var collection = {}
if (Object.keys(snap.val()).length) {
snap.forEach(function (childSnap) {
if (childSnap.val() != null) {
if (childSnap.key != user_uid) {
if (childSnap.val().location == userLocation) {
if (childSnap.val().name != undefined) {
collection[childSnap.key] = childSnap.val()
commit("setSearchResult", 1)
cnt++
}
}
}
}
})
commit('setSearchContacts', collection);
if (cnt === 0) {
commit('setSearchResult', 2)
}
} else {
commit("setSearchResult", 2)
}
})
return cnt
},
searchUsersCountry({ commit }, payload) {
var user_uid = payload.uid
var userCountry = payload.country
var ref2 = firebase.database().ref("/users");
var cnt = 0;
ref2 = ref2.orderByKey()
ref2.once('value')
.then(function (snap) {
var collection = {}
if (Object.keys(snap.val()).length) {
snap.forEach(function (childSnap) {
if (childSnap.val() != null) {
if (childSnap.key != user_uid) {
if (childSnap.val().country == userCountry) {
if (childSnap.val().name != undefined) {
collection[childSnap.key] = childSnap.val()
commit("setSearchResult", 1)
cnt++
}
}
}
}
})
commit('setSearchContacts', collection);
if (cnt === 0) {
commit('setSearchResult', 2)
}
} else {
commit("setSearchResult", 2)
}
})
return cnt
},
gotoBottomPage({ commit }, payload) {
//var ref = payload.ref
var pageSize = payload.pageSize
var user_uid = payload.uid
var ref2 = firebase.database().ref("/users");
ref2 = ref2.orderByChild("dateCreated")
ref2 = ref2.limitToLast(pageSize + 1)
//this.ref = this.ref.endAt(dbCursor)
ref2.once('value')
.then(function (snap) {
var keys = []
var collection = {}
if (Object.keys(snap.val()).length) {
snap.forEach(function (childSnap) {
//if (childSnap.key != "QTXLAfzHv6ekb3CKadr3Mc8x9Cn1") {
keys.push(childSnap.key)
if (keys.length != 1) {
if (childSnap.key != user_uid) {
collection[childSnap.key] = childSnap.val()
}
} else {
commit('setDbCursor', childSnap.key);
}
//}
})
commit('setTopPage', true);
commit('setBottomPage', false);
commit('setForwardPage', false);
commit('setBackPage', true);
commit('setContacts', collection);
}
})
},
getUserPageSize({ }) {
var promise = new Promise((resolve, reject) => {
var current_user = firebase.auth().currentUser.uid
firebase.database().ref("/users").child(current_user).on('value', snapshot => {
if (snapshot.val()) {
resolve(snapshot.val().pageSize)
}
else {
resolve(3)
}
})
})
return promise
},
getUserPhotoStatus({ commit }, payload) {
var promise = new Promise((resolve, reject) => {
var postData = payload
Framework7.request.post(
"https://penpalamerica.com/penpal/getuserphotostatus.php",
postData,
function (data) {
if (data == "0") {
//console.log("was this done*************************")
commit("setPhotoStatus", true)
resolve(true)
}
else {
commit("setPhotoStatus", false)
resolve(false)
}
}
);
})
return promise
},
sendRequest({ commit }, payload) {
var promise = new Promise((resolve, reject) => {
db.firerequest.child(payload.recipient).push({ sender: payload.sender })
.then(() => {
resolve({ success: true })
})
.catch(err => {
reject(err)
})
})
return promise
}
}
};
function ValidateEmail(email) {
var validRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
if (email.match(validRegex)) {
return true;
}else{
return false;
}
};
function httpPost(postData, key) {
Framework7.request.post(
"https://penpalamerica.com/penpal/migrationpenpal.php",
postData,
async function (data) {
if (data == "0") {
await firebase
.database()
.ref("users")
.child(key)
.update({
migrated2: true,
});
}
}
);
}
export default ChatModule;