uawdijnntqw1x1x1
IP : 216.73.216.93
Hostname : panel.codeskitter.com
Kernel : Linux panel.codeskitter.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
Disable Function : apache_child_terminate, apache_note, apache_setenv, define_syslog_variables, dl, link, opcache_get_status, openlog, pcntl_exec, pcntl_fork, pcntl_setpriority, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid
OS : Linux
PATH:
/
home
/
users
/
unlimited
/
www
/
facebook.codeskitter.site
/
nodejs
/
controllers
/
JoinController.js
/
/
const funcs = require('../functions/functions') const compiledTemplates = require('../compiledTemplates/compiledTemplates') const socketEvents = require('../events/events') const { Sequelize, Op, DataTypes } = require("sequelize"); const striptags = require('striptags'); const moment = require("moment") const JoinController = async (ctx, data, io,socket,callback) => { if (data.user_id === '') { console.log("killing connection user_id not received") socket.disconnect(true) return } let user_id = await ctx.wo_appssessions.findOne({ attributes: [ "user_id", ], where: { session_id: data.user_id } }) if (user_id == null) { console.log("User is not found! Please check if you are logged in, or you are using the same database as written in config.php. You can edit MySQL settings in nodejs/config.json") socket.disconnect(true) return; } user_id = user_id.user_id; let user_status = await ctx.wo_users.findOne({ attributes: [ "status" ], where: { user_id: user_id } }) user_status = user_status.status; ctx.socketIdUserHash[socket.id] = data.user_id; ctx.userIdSocket[user_id] ? ctx.userIdSocket[user_id].push(socket) : ctx.userIdSocket[user_id] = [socket] ctx.userHashUserId[data.user_id] = user_id; ctx.userIdCount[user_id] = ctx.userIdCount[user_id] ? ctx.userIdCount[user_id] + 1 : 1; if (data.recipient_ids && data.recipient_ids.length) { for (let recipient_id of data.recipient_ids) { ctx.userIdChatOpen[ctx.userHashUserId[data.user_id]] && ctx.userIdChatOpen[ctx.userHashUserId[data.user_id]].length ? ctx.userIdChatOpen[ctx.userHashUserId[data.user_id]].push(recipient_id) : ctx.userIdChatOpen[ctx.userHashUserId[data.user_id]] = [recipient_id] } } if (data.recipient_group_ids && data.recipient_group_ids.length) { for (let recipient_id of data.recipient_group_ids) { ctx.userIdGroupChatOpen[ctx.userHashUserId[data.user_id]] && ctx.userIdGroupChatOpen[ctx.userHashUserId[data.user_id]].length ? ctx.userIdGroupChatOpen[ctx.userHashUserId[data.user_id]].push(recipient_id) : ctx.userIdGroupChatOpen[ctx.userHashUserId[data.user_id]] = [recipient_id] } } await socketEvents.emitUserStatus(ctx, socket, ctx.userHashUserId[data.user_id]) if (user_status == 0) { let followers = await ctx.wo_followers.findAll({ attributes: ["following_id"], where: { follower_id: user_id, following_id: { [Op.not]: user_id } }, raw: true }) for (let follow of followers) { await io.to(follow.following_id).emit("on_user_loggedin", { user_id: user_id }) } } socket.join(user_id); //subscribe to all groups let groupIds = await funcs.getAllGroupsForUser(ctx, user_id) for (let groupId of groupIds) { socket.join("group" + groupId.group_id) } callback() }; module.exports = { JoinController };
/home/users/unlimited/www/facebook.codeskitter.site/nodejs/controllers/JoinController.js