PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/outtheboxministry.org/nodejs/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //home/trave494/outtheboxministry.org/nodejs/main.js |
const moment = require("moment"); var fs = require('fs'); var express = require('express'); var app = express(); const path = require('path'); let ctx = {}; // var http = require('http').createServer(app); // var io = require('socket.io')(http); const configFile = require("./config.json") const { Sequelize, Op, DataTypes } = require("sequelize"); // const notificationTemplate = Handlebars.compile(notification.toString()); const listeners = require('./listeners/listeners') let serverPort let server let io async function loadConfig(ctx) { let config = await ctx.wo_config.findAll({ raw: true }) for (let c of config) { ctx.globalconfig[c.name] = c.value } ctx.globalconfig["site_url"] = configFile.site_url ctx.globalconfig['theme_url'] = ctx.globalconfig["site_url"] + '/themes/' + ctx.globalconfig['theme'] ctx.globalconfig["s3_site_url"] = "https://test.s3.amazonaws.com"; if (ctx.globalconfig["bucket_name"] && ctx.globalconfig["bucket_name"] != '') { ctx.globalconfig["s3_site_url"] = "https://"+ctx.globalconfig["bucket_name"]+".s3.amazonaws.com"; } ctx.globalconfig["wasabi_site_url"] = "https://s3.wasabisys.com"; if (ctx.globalconfig["wasabi_bucket_name"] && ctx.globalconfig["wasabi_bucket_name"] != '') { ctx.globalconfig["wasabi_site_url"] = "https://s3.wasabisys.com/"+ctx.globalconfig["wasabi_bucket_name"]; } ctx.globalconfig["s3_site_url_2"] = "https://test.s3.amazonaws.com"; if (ctx.globalconfig["bucket_name_2"] && ctx.globalconfig["bucket_name_2"] != '') { ctx.globalconfig["s3_site_url_2"] = "https://"+ctx.globalconfig["bucket_name_2"]+".s3.amazonaws.com"; } // if (ctx.globalconfig["redis"] === "Y") { // const redisAdapter = require('socket.io-redis'); // io.adapter(redisAdapter({ host: 'localhost', port: ctx.globalconfig["redis_port"] })); // } if (ctx.globalconfig["nodejs_ssl"] == 1) { var https = require('https'); var options = { key: fs.readFileSync(path.resolve(__dirname, ctx.globalconfig["nodejs_key_path"])), cert: fs.readFileSync(path.resolve(__dirname, ctx.globalconfig["nodejs_cert_path"])) }; serverPort = ctx.globalconfig["nodejs_ssl_port"]; server = https.createServer(options, app); } else { serverPort = ctx.globalconfig["nodejs_port"]; server = require('http').createServer(app); } } async function loadLangs(ctx) { let langs = await ctx.wo_langs.findAll({ raw: true }) for (let c of langs) { ctx.globallangs[c.lang_key] = c.english } } async function init() { var sequelize = new Sequelize('mysql://' + configFile.sql_db_user + ':' + configFile.sql_db_pass + '@' + configFile.sql_db_host + '/' + configFile.sql_db_name, { // Look to the next section for possible options logging: false }) ctx.wo_messages = require("./models/wo_messages")(sequelize, DataTypes) ctx.wo_userschat = require("./models/wo_userschat")(sequelize, DataTypes) ctx.wo_users = require("./models/wo_users")(sequelize, DataTypes) ctx.wo_notification = require("./models/wo_notifications")(sequelize, DataTypes) ctx.wo_groupchat = require("./models/wo_groupchat")(sequelize, DataTypes) ctx.wo_groupchatusers = require("./models/wo_groupchatusers")(sequelize, DataTypes) ctx.wo_videocalls = require("./models/wo_videocalles")(sequelize, DataTypes) ctx.wo_audiocalls = require("./models/wo_audiocalls")(sequelize, DataTypes) ctx.wo_appssessions = require("./models/wo_appssessions")(sequelize, DataTypes) ctx.wo_langs = require("./models/wo_langs")(sequelize, DataTypes) ctx.wo_config = require("./models/wo_config")(sequelize, DataTypes) ctx.wo_blocks = require("./models/wo_blocks")(sequelize, DataTypes) ctx.wo_followers = require("./models/wo_followers")(sequelize, DataTypes) ctx.wo_hashtags = require("./models/wo_hashtags")(sequelize, DataTypes) ctx.wo_posts = require("./models/wo_posts")(sequelize, DataTypes) ctx.wo_comments = require("./models/wo_comments")(sequelize, DataTypes) ctx.wo_comment_replies = require("./models/wo_comment_replies")(sequelize, DataTypes) ctx.wo_pages = require("./models/wo_pages")(sequelize, DataTypes) ctx.wo_groups = require("./models/wo_groups")(sequelize, DataTypes) ctx.wo_events = require("./models/wo_events")(sequelize, DataTypes) ctx.wo_userstory = require("./models/wo_userstory")(sequelize, DataTypes) ctx.wo_reactions_types = require("./models/wo_reactions_types")(sequelize, DataTypes) ctx.wo_reactions = require("./models/wo_reactions")(sequelize, DataTypes) ctx.wo_blog_reaction = require("./models/wo_blog_reaction")(sequelize, DataTypes) ctx.wo_mute = require("./models/wo_mute")(sequelize, DataTypes) ctx.globalconfig = {} ctx.globallangs = {} ctx.socketIdUserHash = {} ctx.userHashUserId = {} ctx.userIdCount = {} ctx.userIdChatOpen = {} ctx.userIdSocket = [] ctx.userIdExtra = {} ctx.userIdGroupChatOpen = {} await loadConfig(ctx) await loadLangs(ctx) } async function main() { await init() app.get('/', (req, res) => { res.sendFile(__dirname + '/index.html'); }); io = require('socket.io')(server); if (ctx.globalconfig["redis"] === "Y") { const redisAdapter = require('socket.io-redis'); io.adapter(redisAdapter({ host: 'localhost', port: ctx.globalconfig["redis_port"] })); } io.on('connection', async (socket, query) => { await listeners.registerListeners(socket, io, ctx) }) server.listen(serverPort, function() { console.log('server up and running at %s port', serverPort); }); } main()