From 665680b5317b001093ef24cd3eef18584a011ee2 Mon Sep 17 00:00:00 2001 From: paoloar77 Date: Thu, 23 Dec 2021 14:13:40 +0100 Subject: [PATCH] Protetto le password (al load) che vengono settate in settings --- package.json | 2 +- src/server/models/contribtype.js | 2 +- src/server/models/discipline.js | 2 +- src/server/models/extralist.js | 2 +- src/server/models/flotta.js | 2 +- src/server/models/graduatoria.js | 2 +- src/server/models/level.js | 2 +- src/server/models/listaingresso.js | 2 +- src/server/models/myevent.js | 2 +- src/server/models/myskill.js | 2 +- src/server/models/nave.js | 2 +- src/server/models/navepersistente.js | 2 +- src/server/models/newstosent.js | 2 +- src/server/models/operator.js | 2 +- src/server/models/paymenttype.js | 2 +- src/server/models/permission.js | 2 +- src/server/models/sector.js | 2 +- src/server/models/settings.js | 33 ++- src/server/models/skill.js | 2 +- src/server/models/statusSkill.js | 2 +- src/server/models/user.js | 76 ++++--- src/server/models/where.js | 2 +- src/server/router/index_router.js | 41 +++- src/server/router/newsletter_router.js | 2 +- ...WhatsApp Image 2019-11-02 at 18.05.25.jpeg | Bin 154213 -> 0 bytes src/server/router/users_router.js | 6 +- src/server/server.js | 14 +- src/server/telegram/telegrambot.js | 132 ++++++------ src/server/tools/general.js | 191 +++++------------- src/server/tools/shared_nodejs.js | 5 + src/server/tools/shared_vuejs.ts | 2 +- yarn.lock | 8 +- 32 files changed, 248 insertions(+), 302 deletions(-) delete mode 100755 src/server/router/upload/WhatsApp Image 2019-11-02 at 18.05.25.jpeg diff --git a/package.json b/package.json index 679280f..5acb337 100755 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "node-emoji": "^1.11.0", "node-image-resizer": "^1.0.0", "node-pre-gyp": "^0.14.0", - "node-telegram-bot-api": "^0.54.0", + "node-telegram-bot-api": "^0.56.0", "nodemailer": "^6.6.3", "preview-email": "^3.0.5", "pug": "^3.0.2", diff --git a/src/server/models/contribtype.js b/src/server/models/contribtype.js index 6ecf274..1c6e2a9 100755 --- a/src/server/models/contribtype.js +++ b/src/server/models/contribtype.js @@ -40,7 +40,7 @@ ContribtypeSchema.statics.DuplicateAllRecords = async function (idapporig, idapp }; -ContribtypeSchema.statics.findAllIdApp = function (idapp) { +ContribtypeSchema.statics.findAllIdApp = async function (idapp) { const Contribtype = this; const myfind = { idapp }; diff --git a/src/server/models/discipline.js b/src/server/models/discipline.js index d3901db..7f3e6d5 100755 --- a/src/server/models/discipline.js +++ b/src/server/models/discipline.js @@ -55,7 +55,7 @@ const DisciplineSchema = new Schema({ }], }); -DisciplineSchema.statics.findAllIdApp = function (idapp) { +DisciplineSchema.statics.findAllIdApp = async function (idapp) { const Discipline = this; const query = [ diff --git a/src/server/models/extralist.js b/src/server/models/extralist.js index 4064a49..f7a9ae6 100755 --- a/src/server/models/extralist.js +++ b/src/server/models/extralist.js @@ -222,7 +222,7 @@ ExtraListSchema.statics.executeQueryTable = function (idapp, params) { return tools.executeQueryTable(this, idapp, params); }; -ExtraListSchema.statics.findAllIdApp = function (idapp) { +ExtraListSchema.statics.findAllIdApp = async function (idapp) { const ExtraList = this; const myfind = { idapp }; diff --git a/src/server/models/flotta.js b/src/server/models/flotta.js index 202477f..62c186b 100755 --- a/src/server/models/flotta.js +++ b/src/server/models/flotta.js @@ -208,7 +208,7 @@ FlottaSchema.statics.executeQueryTable = function (idapp, params) { return tools.executeQueryTable(this, idapp, params); }; -FlottaSchema.statics.findAllIdApp = function (idapp) { +FlottaSchema.statics.findAllIdApp = async function (idapp) { const Flotta = this; const myfind = { idapp }; diff --git a/src/server/models/graduatoria.js b/src/server/models/graduatoria.js index fa9e132..069b2e0 100755 --- a/src/server/models/graduatoria.js +++ b/src/server/models/graduatoria.js @@ -308,7 +308,7 @@ GraduatoriaSchema.statics.executeQueryTable = function (idapp, params) { return tools.executeQueryTable(this, idapp, params); }; -GraduatoriaSchema.statics.findAllIdApp = function (idapp) { +GraduatoriaSchema.statics.findAllIdApp = async function (idapp) { const Graduatoria = this; const myfind = { idapp }; diff --git a/src/server/models/level.js b/src/server/models/level.js index 706ed98..5e5e045 100755 --- a/src/server/models/level.js +++ b/src/server/models/level.js @@ -48,7 +48,7 @@ LevelSchema.pre('save', async function (next) { }); -LevelSchema.statics.findAllIdApp = function(idapp) { +LevelSchema.statics.findAllIdApp = async function(idapp) { const Level = this; const query = [ diff --git a/src/server/models/listaingresso.js b/src/server/models/listaingresso.js index e2ae55b..d481637 100755 --- a/src/server/models/listaingresso.js +++ b/src/server/models/listaingresso.js @@ -529,7 +529,7 @@ ListaIngressoSchema.statics.executeQueryTable = function (idapp, params) { return tools.executeQueryTable(this, idapp, params); }; -ListaIngressoSchema.statics.findAllIdApp = function (idapp) { +ListaIngressoSchema.statics.findAllIdApp = async function (idapp) { const ListaIngresso = this; const myfind = { idapp }; diff --git a/src/server/models/myevent.js b/src/server/models/myevent.js index 32f5e4a..d167326 100755 --- a/src/server/models/myevent.js +++ b/src/server/models/myevent.js @@ -139,7 +139,7 @@ const MyEventSchema = new Schema({ }, }); -MyEventSchema.statics.findAllIdApp = function(socioresidente, idapp) { +MyEventSchema.statics.findAllIdApp = async function(socioresidente, idapp) { const Event = this; let query = []; diff --git a/src/server/models/myskill.js b/src/server/models/myskill.js index eda24a6..261b89c 100755 --- a/src/server/models/myskill.js +++ b/src/server/models/myskill.js @@ -89,7 +89,7 @@ MySkillSchema.pre('save', async function(next) { next(); }); -MySkillSchema.statics.findAllIdApp = function(idapp) { +MySkillSchema.statics.findAllIdApp = async function(idapp) { const query = [ {$match: {idapp}}, diff --git a/src/server/models/nave.js b/src/server/models/nave.js index d9b883a..51bc3e9 100755 --- a/src/server/models/nave.js +++ b/src/server/models/nave.js @@ -190,7 +190,7 @@ NaveSchema.statics.executeQueryTable = function (idapp, params) { return tools.executeQueryTable(this, idapp, params); }; -NaveSchema.statics.findAllIdApp = function (idapp) { +NaveSchema.statics.findAllIdApp = async function (idapp) { const Nave = this; const myfind = { idapp }; diff --git a/src/server/models/navepersistente.js b/src/server/models/navepersistente.js index 8b2eb22..0851341 100755 --- a/src/server/models/navepersistente.js +++ b/src/server/models/navepersistente.js @@ -181,7 +181,7 @@ NavePersistenteSchema.statics.executeQueryTable = function (idapp, params) { return tools.executeQueryTable(this, idapp, params); }; -NavePersistenteSchema.statics.findAllIdApp = function (idapp) { +NavePersistenteSchema.statics.findAllIdApp = async function (idapp) { const NavePersistente = this; const myfind = { idapp }; diff --git a/src/server/models/newstosent.js b/src/server/models/newstosent.js index 812f408..41384fe 100755 --- a/src/server/models/newstosent.js +++ b/src/server/models/newstosent.js @@ -133,7 +133,7 @@ NewstosentSchema.statics.findNewsletterPending_To_Send = function (idapp) { }); }; -NewstosentSchema.statics.findAllIdApp = function (idapp) { +NewstosentSchema.statics.findAllIdApp = async function (idapp) { const Newstosent = this; const myfind = { idapp }; diff --git a/src/server/models/operator.js b/src/server/models/operator.js index 920b3c6..bd0d728 100755 --- a/src/server/models/operator.js +++ b/src/server/models/operator.js @@ -97,7 +97,7 @@ OperatorSchema.statics.executeQueryTable = function (idapp, params) { return tools.executeQueryTable(this, idapp, params); }; -OperatorSchema.statics.findAllIdApp = function (idapp) { +OperatorSchema.statics.findAllIdApp = async function (idapp) { const Operator = this; const myfind = { idapp }; diff --git a/src/server/models/paymenttype.js b/src/server/models/paymenttype.js index 36adcd8..5fbf42f 100755 --- a/src/server/models/paymenttype.js +++ b/src/server/models/paymenttype.js @@ -33,7 +33,7 @@ PaymentTypeSchema.statics.executeQueryTable = function (idapp, params) { return tools.executeQueryTable(this, idapp, params); }; -PaymentTypeSchema.statics.findAllIdApp = function (idapp) { +PaymentTypeSchema.statics.findAllIdApp = async function (idapp) { const PaymentType = this; const myfind = { idapp }; diff --git a/src/server/models/permission.js b/src/server/models/permission.js index e95715b..a55cb69 100755 --- a/src/server/models/permission.js +++ b/src/server/models/permission.js @@ -45,7 +45,7 @@ PermissionSchema.statics.executeQueryTable = function (idapp, params) { return tools.executeQueryTable(this, 0, params); }; -PermissionSchema.statics.findAllIdApp = function () { +PermissionSchema.statics.findAllIdApp = async function () { const Permission = this; const myfind = { }; diff --git a/src/server/models/sector.js b/src/server/models/sector.js index 8c7f9cf..b7478e0 100755 --- a/src/server/models/sector.js +++ b/src/server/models/sector.js @@ -56,7 +56,7 @@ SectorSchema.pre('save', async function (next) { next(); }); -SectorSchema.statics.findAllIdApp = function (idapp) { +SectorSchema.statics.findAllIdApp = async function (idapp) { const Sector = this; const query = [ diff --git a/src/server/models/settings.js b/src/server/models/settings.js index fa1eeff..7367b80 100755 --- a/src/server/models/settings.js +++ b/src/server/models/settings.js @@ -39,6 +39,10 @@ const SettingsSchema = new Schema({ serv: { type: Boolean, default: false + }, + crypted: { + type: Boolean, + default: false } }); @@ -63,6 +67,8 @@ SettingsSchema.statics.getValDbSettings = function (idapp, key, def) { return myrec.value_num; else if (myrec.type === tools.FieldType.boolean) return myrec.value_bool; + else if (myrec.type === tools.FieldType.crypted) + return tools.decryptdata(myrec.value_str); else return myrec.value_str; } else { @@ -82,18 +88,35 @@ SettingsSchema.statics.DuplicateAllRecords = async function (idapporig, idappdes }; -SettingsSchema.statics.findAllIdApp = function (idapp, serv) { +SettingsSchema.statics.findAllIdApp = async function (idapp, serv, crypted = false) { const Settings = this; let myfind = ''; - if (serv) - myfind = { idapp, serv }; - else + if (serv) { + myfind = {idapp, serv }; + } else myfind = { idapp }; - return Settings.find(myfind, (err, arrrec) => { + // myfind = {...myfind, $or: [{ crypted: { $exists: false } }, { crypted: { $exists: true, $eq: crypted } }]}; + + const arrorig = await Settings.find(myfind, (err, arrrec) => { return arrrec }); + + let myarr = [] + + if (!crypted) { + arrorig.forEach((rec) => { + if (rec.crypted) { + rec._doc.value_str = '' + } + myarr.push({...rec._doc}); + }) + } else { + myarr = [...arrorig]; + } + + return myarr; }; SettingsSchema.statics.setKeyNum = async function (idapp, key, value) { diff --git a/src/server/models/skill.js b/src/server/models/skill.js index 39bede3..e965d87 100755 --- a/src/server/models/skill.js +++ b/src/server/models/skill.js @@ -31,7 +31,7 @@ const SkillSchema = new Schema({ }, }); -SkillSchema.statics.findAllIdApp = function (idapp) { +SkillSchema.statics.findAllIdApp = async function (idapp) { const Skill = this; const query = [ diff --git a/src/server/models/statusSkill.js b/src/server/models/statusSkill.js index 95c7f5e..1c357c8 100755 --- a/src/server/models/statusSkill.js +++ b/src/server/models/statusSkill.js @@ -45,7 +45,7 @@ StatusSkillSchema.pre('save', async function (next) { -StatusSkillSchema.statics.findAllIdApp = function (idapp) { +StatusSkillSchema.statics.findAllIdApp = async function (idapp) { const StatusSkill = this; const query = [ diff --git a/src/server/models/user.js b/src/server/models/user.js index 67381a9..2e2f5cb 100755 --- a/src/server/models/user.js +++ b/src/server/models/user.js @@ -364,7 +364,7 @@ UserSchema.statics.setZoomPresenza = async function(idapp, id, presenza) { allData.precDataUser = await User.getInfoUser(idapp, allData.myuser.username); - return await User.findByIdAndUpdate(id, + return User.findByIdAndUpdate(id, {$set: {'profile.saw_zoom_presentation': presenza}}).then((rec) => { if (presenza) { const messaggio = tools.get__('ZOOM_CONFERMATO'); @@ -1086,7 +1086,7 @@ UserSchema.methods.removeToken = function(token) { UserSchema.statics.getEmailByUsername = async function(idapp, username) { const User = this; - return await User.findOne({ + return User.findOne({ idapp, username, $or: [{deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}], }).then((arrrec) => { @@ -1099,7 +1099,7 @@ UserSchema.statics.getEmailByUsername = async function(idapp, username) { UserSchema.statics.getUsernameById = async function(idapp, id) { const User = this; - return await User.findOne({ + return User.findOne({ idapp, _id: id, $or: [{deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}], }, {username: 1}).then((myuser) => { @@ -1122,7 +1122,7 @@ UserSchema.statics.getAportadorSolidarioByUsername = async function( idapp, username) { const User = this; - return await User.findOne({ + return User.findOne({ idapp, username, $or: [{deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}], }).then((rec) => { @@ -1135,7 +1135,7 @@ UserSchema.statics.getAportadorSolidarioByUsername = async function( UserSchema.statics.UserByIdTelegram = async function(idapp, teleg_id) { const User = this; - return await User.findOne({ + return User.findOne({ idapp, 'profile.teleg_id': teleg_id, $or: [{deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}], }).then((rec) => { @@ -1148,7 +1148,7 @@ UserSchema.statics.UserByIdTelegram = async function(idapp, teleg_id) { UserSchema.statics.UsersByIdTelegram = async function(idapp, teleg_id) { const User = this; - return await User.find({ + return User.find({ idapp, 'profile.teleg_id': teleg_id, $or: [{deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}], }).then((rec) => { @@ -1161,7 +1161,7 @@ UserSchema.statics.UsersByIdTelegram = async function(idapp, teleg_id) { UserSchema.statics.TelegIdByUsername = async function(idapp, username) { const User = this; - return await User.findOne({ + return User.findOne({ idapp, username, $or: [{deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}], }, {'profile.teleg_id': 1}).then((rec) => { @@ -1179,7 +1179,7 @@ UserSchema.statics.SetTelegramCheckCode = async function( 'profile.teleg_checkcode': teleg_checkcode, }; - return await User.findOneAndUpdate({ + return User.findOneAndUpdate({ _id: id, }, {$set: fields_to_update}, {new: false}).then((record) => { return !!record; @@ -1194,7 +1194,7 @@ UserSchema.statics.NonVoglioImbarcarmi = async function(idapp, username) { non_voglio_imbarcarmi: true, }; - return await User.findOneAndUpdate({ + return User.findOneAndUpdate({ idapp, username, }, {$set: fields_to_update}, {new: false}).then((record) => { @@ -1212,7 +1212,7 @@ UserSchema.statics.SetTelegramIdSuccess = async function(idapp, id, teleg_id) { 'profile.teleg_checkcode': 0, }; - return await User.findOneAndUpdate({ + return User.findOneAndUpdate({ idapp, _id: id, }, {$set: fields_to_update}, {new: false}).then((record) => { @@ -1236,7 +1236,7 @@ UserSchema.statics.SetLang = async function(idapp, id, lang) { lang, }; - return await User.findOneAndUpdate({ + return User.findOneAndUpdate({ _id: id, }, {$set: fields_to_update}, {new: false}).then((record) => { return record; @@ -1267,7 +1267,7 @@ UserSchema.statics.SetTelegramWasBlocked = async function(idapp, teleg_id) { UserSchema.statics.getNameSurnameByUsername = async function(idapp, username) { const User = this; - return await User.findOne({ + return User.findOne({ idapp, username, $or: [{deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}], }, {name: 1, surname: 1}).then((rec) => { @@ -1280,7 +1280,7 @@ UserSchema.statics.getNameSurnameByUsername = async function(idapp, username) { UserSchema.statics.getNameSurnameById = async function(idapp, userId) { const User = this; - return await User.findOne({ + return User.findOne({ idapp, _id: userId, $or: [{deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}], @@ -1384,7 +1384,7 @@ UserSchema.statics.getRecByIndOrder = async function(idapp, ind_order) { UserSchema.statics.getusersManagers = async function(idapp) { const User = this; - return await User.find({idapp, 'profile.manage_telegram': true}, + return User.find({idapp, 'profile.manage_telegram': true}, {'profile.teleg_id': 1, perm: 1}).then((arrrec) => { return (!!arrrec) ? arrrec : null; }).catch((e) => { @@ -1395,7 +1395,7 @@ UserSchema.statics.getusersManagers = async function(idapp) { UserSchema.statics.getusersRespList = async function(idapp) { const User = this; - return await User.find({idapp, 'profile.resplist': true}, + return User.find({idapp, 'profile.resplist': true}, {_id: 1, username: 1, name: 1, surname: 1}).then((arrrec) => { return (!!arrrec) ? arrrec : null; }).catch((e) => { @@ -1406,7 +1406,7 @@ UserSchema.statics.getusersRespList = async function(idapp) { UserSchema.statics.getusersWorkersList = async function(idapp) { const User = this; - return await User.find({idapp, 'profile.workerslist': true}, + return User.find({idapp, 'profile.workerslist': true}, {_id: 1, username: 1, name: 1, surname: 1}).then((arrrec) => { return (!!arrrec) ? arrrec : null; }).catch((e) => { @@ -1417,7 +1417,7 @@ UserSchema.statics.getusersWorkersList = async function(idapp) { UserSchema.statics.getusersManagersAndZoomeri = async function(idapp) { const User = this; - return await User.find( + return User.find( { idapp, or: [ @@ -1444,7 +1444,7 @@ UserSchema.statics.getUsersTelegALL = async function(idapp, username) { const User = this; if (!!username) { - return await User.find({idapp, username, 'profile.teleg_id': {$gt: 0}}). + return User.find({idapp, username, 'profile.teleg_id': {$gt: 0}}). then((arrrec) => { return (!!arrrec) ? arrrec : null; }). @@ -1452,7 +1452,7 @@ UserSchema.statics.getUsersTelegALL = async function(idapp, username) { console.error('getUsersTelegALL', e); }); } else { - return await User.find({idapp, 'profile.teleg_id': {$gt: 0}}). + return User.find({idapp, 'profile.teleg_id': {$gt: 0}}). then((arrrec) => { return (!!arrrec) ? arrrec : null; }). @@ -1466,7 +1466,7 @@ UserSchema.statics.getUsersTelegALL = async function(idapp, username) { UserSchema.statics.isManagerByIdTeleg = async function(idapp, idtelegram) { const User = this; - return await User.findOne({ + return User.findOne({ idapp, 'profile.manage_telegram': true, 'profile.teleg_id': idtelegram, @@ -1481,7 +1481,7 @@ UserSchema.statics.isManagerByIdTeleg = async function(idapp, idtelegram) { UserSchema.statics.isAdminByIdTeleg = async function(idapp, idtelegram) { const User = this; - return await User.findOne({ + return User.findOne({ idapp, username: 'paoloar77', 'profile.manage_telegram': true, @@ -1545,7 +1545,7 @@ UserSchema.statics.executeQueryTable = function(idapp, params) { return tools.executeQueryTable(this, idapp, params); }; -UserSchema.statics.findAllIdApp = function(idapp) { +UserSchema.statics.findAllIdApp = async function(idapp) { const User = this; const myfind = { @@ -1767,7 +1767,7 @@ UserSchema.statics.getUsersRegistered = async function(idapp) { $or: [{deleted: {$exists: false}}, {deleted: {$exists: true, $eq: false}}], }; - return await User.count(myfind); + return User.count(myfind); }; /* @@ -1962,7 +1962,7 @@ UserSchema.statics.getEmailNotVerified = async function(idapp) { verified_email: false, }; - return await User.count(myfind); + return User.count(myfind); }; UserSchema.statics.getUsersTelegramAttivo = async function(idapp) { @@ -1974,7 +1974,7 @@ UserSchema.statics.getUsersTelegramAttivo = async function(idapp) { 'profile.teleg_id': {$gt: 0}, }; - return await User.count(myfind); + return User.count(myfind); }; UserSchema.statics.getUsersTelegramPending = async function(idapp) { @@ -1986,7 +1986,7 @@ UserSchema.statics.getUsersTelegramPending = async function(idapp) { 'profile.teleg_checkcode': {$gt: 0}, }; - return await User.count(myfind); + return User.count(myfind); }; UserSchema.statics.getUsersZoom = async function(idapp) { @@ -1998,7 +1998,7 @@ UserSchema.statics.getUsersZoom = async function(idapp) { 'profile.saw_zoom_presentation': true, }; - return await User.count(myfind); + return User.count(myfind); }; UserSchema.statics.getUsersResidenti = async function(idapp) { @@ -2010,7 +2010,7 @@ UserSchema.statics.getUsersResidenti = async function(idapp) { 'profile.socioresidente': {$exists: true, $eq: true}, }; - return await User.find(myfind, {username: 1, name: 1, surname: 1}); + return User.find(myfind, {username: 1, name: 1, surname: 1}); }; UserSchema.statics.getSaw_and_Accepted = async function(idapp) { @@ -2022,7 +2022,7 @@ UserSchema.statics.getSaw_and_Accepted = async function(idapp) { 'profile.saw_and_accepted': shared_consts.ALL_SAW_AND_ACCEPTED, }; - return await User.count(myfind); + return User.count(myfind); }; UserSchema.statics.getUsersDreams = async function(idapp) { @@ -2035,7 +2035,7 @@ UserSchema.statics.getUsersDreams = async function(idapp) { '$expr': {'$gt': [{'$strLenCP': '$profile.my_dream'}, 10]}, }; - return await User.count(myfind); + return User.count(myfind); }; UserSchema.statics.getLastUsers = async function(idapp) { @@ -2043,7 +2043,7 @@ UserSchema.statics.getLastUsers = async function(idapp) { const lastn = await Settings.getValDbSettings(idapp, 'SHOW_LAST_N_USERS', 5); - return await User.find( + return User.find( { idapp, $or: [ @@ -2067,7 +2067,7 @@ UserSchema.statics.getLastUsers = async function(idapp) { UserSchema.statics.checkUser = async function(idapp, username) { const User = this; - return await User.findOne({idapp, username}, { + return User.findOne({idapp, username}, { verified_email: 1, 'profile.teleg_id': 1, 'profile.teleg_checkcode': 1, @@ -2213,7 +2213,7 @@ UserSchema.statics.getnumRegNDays = function(idapp, nrec) { UserSchema.statics.calcnumRegUntilDay = async function(idapp) { const User = this; - return await User.aggregate(User.getnumRegNDays(idapp, 30)).then((arr) => { + return User.aggregate(User.getnumRegNDays(idapp, 30)).then((arr) => { return arr.reduce((sum, rec) => sum + rec.count, 0); }); @@ -2456,12 +2456,10 @@ UserSchema.statics.checkIfSbloccatiRequisiti = async function( !await User.isUserAlreadyQualified_2Invitati(idapp, allData.myuser.username)) { await User.setUserQualified_2Invitati(idapp, allData.myuser.username); + // ORA HAI I 9 REQUISITI ! - const msgtext = telegrambot.getCiao(idapp, allData.myuser.username, - allData.myuser.lang) + - tools.gettranslate('HAI_I_9_REQUISITI', allData.myuser.lang); - telegrambot.sendMsgTelegram(idapp, allData.myuser.username, msgtext, - false); // Anche a STAFF + // const msgtext = telegrambot.getCiao(idapp, allData.myuser.username, allData.myuser.lang) + tools.gettranslate('HAI_I_9_REQUISITI', allData.myuser.lang); + // telegrambot.sendMsgTelegram(idapp, allData.myuser.username, msgtext, false); // Anche a STAFF } } @@ -2655,7 +2653,7 @@ UserSchema.statics.DbOp = async function(idapp, mydata) { return {num}; - // return await User.updateMany({ idapp }, { $set: { 'profile.cell': { $concat: ["$profile.intcode_cell", "$profile.cell"] } } }) + // return User.updateMany({ idapp }, { $set: { 'profile.cell': { $concat: ["$profile.intcode_cell", "$profile.cell"] } } }) } else if (mydata.dbop === 'changeEmailLowerCase') { arrusers = await User.find({'idapp': idapp}); let num = 0; diff --git a/src/server/models/where.js b/src/server/models/where.js index 9c7e06b..8dbbda0 100755 --- a/src/server/models/where.js +++ b/src/server/models/where.js @@ -39,7 +39,7 @@ WhereSchema.statics.executeQueryTable = function (idapp, params) { return tools.executeQueryTable(this, idapp, params); }; -WhereSchema.statics.findAllIdApp = function (idapp) { +WhereSchema.statics.findAllIdApp = async function (idapp) { const Where = this; const myfind = { idapp }; diff --git a/src/server/router/index_router.js b/src/server/router/index_router.js index 45c231e..9eb8434 100755 --- a/src/server/router/index_router.js +++ b/src/server/router/index_router.js @@ -324,6 +324,15 @@ router.post('/settable', authenticate, (req, res) => { mydata.idapp = req.user.idapp; + if ((!User.isAdmin(req.user.perm) && !User.isManager(req.user.perm) && + !User.isEditor(req.user.perm) && !User.isTutor(req.user.perm)) && + (req.user._id.toString() !== id) && + !tools.ModificheConsentite(mydata.table, fieldsvalue)) { + // If without permissions, exit + return res.status(404). + send({code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: ''}); + } + if (shared_consts.TABLES_USER_ID.includes(params.table)) { mydata.userId = req.user._id; } @@ -573,6 +582,14 @@ router.patch('/chval', authenticate, async (req, res) => { }); } + if (mydata.table === shared_consts.TAB_SETTINGS) { + if (shared_consts.KEY_TO_CRYPTED.includes(fieldsvalue.key)) { + fieldsvalue.crypted = true; + fieldsvalue.value_str = tools.cryptdata(fieldsvalue.value_str); + } + + } + await mytable.findByIdAndUpdate(id, {$set: fieldsvalue}).then(async (rec) => { // tools.mylogshow(' REC TO MODIFY: ', rec); if (!rec) { @@ -1227,9 +1244,9 @@ function load(req, res, version) { version = '0'; } - let sall = '0'; + let gestoredelSito = '0'; if (!!req.user) { - sall = (User.isAdmin(req.user.perm) || User.isManager(req.user.perm) || + gestoredelSito = (User.isAdmin(req.user.perm) || User.isManager(req.user.perm) || User.isEditor(req.user.perm)) ? '1' : '0'; } @@ -1237,6 +1254,7 @@ function load(req, res, version) { // tools.mylog('loadsite : ', req.params); + let bookedevent = []; // let msgs = []; @@ -1247,7 +1265,7 @@ function load(req, res, version) { if (userId !== '0') { // LOGGED WITH USERID - bookedevent = Booking.findAllByUserIdAndIdApp(userId, idapp, sall); + bookedevent = Booking.findAllByUserIdAndIdApp(userId, idapp, gestoredelSito); } // Extract all the todos of the userId only @@ -1258,7 +1276,7 @@ function load(req, res, version) { const contribtype = Contribtype.findAllIdApp(idapp); const paymenttype = PaymentType.findAllIdApp(idapp); const disciplines = Discipline.findAllIdApp(idapp); - const settings = Settings.findAllIdApp(idapp, false); + const settings = Settings.findAllIdApp(idapp, false, false); const permissions = Permission.findAllIdApp(); @@ -1270,13 +1288,22 @@ function load(req, res, version) { else mypage = MyPage.findAllIdApp(idapp); let calzoom = CalZoom.findAllIdApp(idapp); - let gallery = Gallery.findAllIdApp(idapp); + + let gallery = Promise.resolve([]); + if (gestoredelSito) { + gallery = Gallery.findAllIdApp(idapp); + } + let producers = Producer.findAllIdApp(idapp); let groups = Group.findAllIdApp(idapp); + + // .... let resps = User.getusersRespList(idapp); let workers = User.getusersWorkersList(idapp); let storehouses = Storehouse.findAllIdApp(idapp); let departments = Department.findAllIdApp(idapp); + + // SKILLS: let levels = Level.findAllIdApp(idapp); let skills = Skill.findAllIdApp(idapp); let statusSkills = StatusSkill.findAllIdApp(idapp); @@ -1284,7 +1311,7 @@ function load(req, res, version) { let cities = City.findAllIdApp(idapp); let cart = null; let orderscart = null; - if (sall) { + if (gestoredelSito) { newstosent = Newstosent.findAllIdApp(idapp); } @@ -1433,6 +1460,8 @@ router.get(process.env.LINK_CHECK_UPDATES, authenticate, async (req, res) => { // If User is Admin, then send user Lists if (User.isAdmin(req.user.perm) || User.isEditor(req.user.perm) || User.isManager(req.user.perm)) { + + // Send UsersList usersList = User.getUsersList(req.user.idapp); // usersList = null; diff --git a/src/server/router/newsletter_router.js b/src/server/router/newsletter_router.js index b99a5d2..47e3f1a 100755 --- a/src/server/router/newsletter_router.js +++ b/src/server/router/newsletter_router.js @@ -263,7 +263,7 @@ router.post('/load', authenticate, async (req, res) => { const ris = { newsstate: await getDataNewsletter(locale, idapp), - serv_settings: await Settings.findAllIdApp(idapp, true), + serv_settings: await Settings.findAllIdApp(idapp, true, false), templemail: await TemplEmail.findAllIdApp(idapp, true), opzemail: await OpzEmail.findAllIdApp(idapp) }; diff --git a/src/server/router/upload/WhatsApp Image 2019-11-02 at 18.05.25.jpeg b/src/server/router/upload/WhatsApp Image 2019-11-02 at 18.05.25.jpeg deleted file mode 100755 index c440e6de7ec822dd586f4e8223b76dc2621a4a04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154213 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%0AG2F@-ve2$QHus^oHj1))Mc)Yw(M2ap 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 B{b&FH diff --git a/src/server/router/users_router.js b/src/server/router/users_router.js index e1d1640..4d2e974 100755 --- a/src/server/router/users_router.js +++ b/src/server/router/users_router.js @@ -121,9 +121,9 @@ router.post('/', async (req, res) => { } // user.perm = 3; - if (tools.testing()) { - user.verified_email = true; - } + // if (tools.testing()) { + // user.verified_email = true; + // } // if (user.profile.intcode_cell) { // if (user.profile.cell.substring(0, user.profile.intcode_cell.length) === user.profile.intcode_cell) { diff --git a/src/server/server.js b/src/server/server.js index 2664fcb..1973aef 100755 --- a/src/server/server.js +++ b/src/server/server.js @@ -227,7 +227,7 @@ async function mystart() { // tools.sendNotifToAdmin('Riparti', 'Riparti'); // sendemail.testemail('2', 'it'); - let miapass = ''; + let miapass = 'passpao1pa@1A'; if (miapass !== '') { let crypt = tools.cryptdata(miapass); @@ -371,18 +371,20 @@ async function inizia() { const telegrambot = require('./telegram/telegrambot'); + if (process.env.NODE_ENV === 'development') { + await telegrambot.sendMsgTelegram(tools.FREEPLANET, telegrambot.ADMIN_USER_SERVER, `Ciao ${telegrambot.ADMIN_USER_NAME_SERVER}!`); + + } else { + // if (process.env.NODE_ENV === 'production') { await telegrambot.sendMsgTelegram(tools.CNM, telegrambot.ADMIN_USER_SERVER, `Ciao ${telegrambot.ADMIN_USER_NAME_SERVER}!`); await telegrambot.sendMsgTelegramByIdTelegram(tools.CNM, telegrambot.ADMIN_IDTELEGRAM_SERVER, `Il Server ${process.env.DATABASE} è appena ripartito!`); - await telegrambot.sendMsgTelegramByIdTelegram('2', telegrambot.ADMIN_IDTELEGRAM_SERVER, `Il Server ${process.env.DATABASE} è appena ripartito!`); + // await telegrambot.sendMsgTelegramByIdTelegram('2', telegrambot.ADMIN_IDTELEGRAM_SERVER, `Il Server ${process.env.DATABASE} è appena ripartito!`); testo = 'Ciao Paolo!'; myid = await telegrambot.sendMsgTelegramByIdTelegram(tools.CNM, telegrambot.ADMIN_IDTELEGRAM_SERVER, testo); - - // } - // testo = 'testo modificato'; - // myid = await telegrambot.sendMsgTelegramByIdTelegram('7', telegrambot.ADMIN_IDTELEGRAM_SERVER, testo, myid, telegrambot.ADMIN_IDTELEGRAM_SERVER); + } } diff --git a/src/server/telegram/telegrambot.js b/src/server/telegram/telegrambot.js index 2a5255f..35cd658 100755 --- a/src/server/telegram/telegrambot.js +++ b/src/server/telegram/telegrambot.js @@ -1,6 +1,8 @@ const tools = require('../tools/general'); -const appTelegram = [tools.CNM]; +const appTelegram = [tools.CNM, tools.FREEPLANET]; + +const appTelegram_TEST = [tools.FREEPLANET]; const appTelegramFinti = ['2']; const appTelegramDest = [tools.CNM]; @@ -95,7 +97,7 @@ MsgBot = { PROSSIMO_ZOOM: ['prossimo zoom', 'fare lo zoom', 'gli zoom', 'conferenz', 'zoom'], LAVAGNA: ['lavagna', 'Lavagna', 'LAVAGNA'], SEI_LIBERO: ['sei liber', 'sei sposat', 'sei fidanzat', 'sei single'], - AIUTO: ['ayni help', 'help', 'aiuto', 'ho bisogno di', 'ho problemi', 'non riesco', 'mi puoi aiutare', 'mi aiuti', 'aiutami', 'posso chiederti', 'puoi aiutarmi'], + AIUTO: ['help', 'aiuto', 'ho bisogno di', 'ho problemi', 'non riesco', 'mi puoi aiutare', 'mi aiuti', 'aiutami', 'posso chiederti', 'puoi aiutarmi'], UOMO: ['uomo', 'maschio'], SORPRESA: ['noo', 'davvero', 'sii', 'facciamo festa', 'è qui la festa', 'festa'], UGUALE: ['👍🏻', '✨', '❤🏻', '⭐', '❤', '❤❤', '🤩'], @@ -139,7 +141,7 @@ function getemojibynumber(number) { } } -strNave = "Nave"; +const strNave = "Nave"; const Menu = { @@ -169,12 +171,12 @@ const Menu = { LINK_CONDIVIDERE: emoji.get('link') + ' Link da condividere', ZOOM: emoji.get('information_source') + ' Zoom (Conferenze)', INFO: emoji.get('information_source') + ' Informazioni', - ASSISTENZA: emoji.get('open_hands') + ' Le Chat di AYNI', + ASSISTENZA: emoji.get('open_hands') + ' Le Chat', INDIETRO: emoji.get('back') + ' Indietro', SI: emoji.get('thumbsup') + ' SI', NO: emoji.get('thumbsdown') + ' NO', ESCI_DA_CHAT: emoji.get('incoming_envelope') + ' Esci dalla Conversazione', - NUOVOSITO: 'https://ayni.gifteconomy.app' + NUOVOSITO: '' }, es: { ACCEDI: emo.PERSON + ' Entra', @@ -182,7 +184,7 @@ const Menu = { LINK_CONDIVIDERE: emoji.get('link') + ' Enlaces para compartir', ZOOM: emoji.get('information_source') + ' Zoom (Conferencias)', INFO: emoji.get('information_source') + ' Información', - ASSISTENZA: emoji.get('open_hands') + ' Chats de AYNI', + ASSISTENZA: emoji.get('open_hands') + ' Chats', INDIETRO: emoji.get('back') + ' Volver', SI: emoji.get('thumbsup') + ' SÍ', NO: emoji.get('thumbsdown') + ' NO', @@ -194,7 +196,7 @@ const Menu = { LINK_CONDIVIDERE: emoji.get('link') + ' Liens à partager', ZOOM: emoji.get('information_source') + ' Zoom (Conférences)', INFO: emoji.get('information_source') + ' Informations', - ASSISTENZA: emoji.get('open_hands') + ' Les chats d\'AYNI', + ASSISTENZA: emoji.get('open_hands') + ' Les chats', INDIETRO: emoji.get('back') + ' Retour', SI: emoji.get('thumbsup') + ' OUI', NO: emoji.get('thumbsdown') + ' NON', @@ -206,7 +208,7 @@ const Menu = { LINK_CONDIVIDERE: emoji.get('link') + ' Link za vpis oseb', ZOOM: emoji.get('information_source') + ' Zoom (Konference)', INFO: emoji.get('information_source') + ' Informacije', - ASSISTENZA: emoji.get('open_hands') + ' AYNI-jev klepet', + ASSISTENZA: emoji.get('open_hands') + ' jev klepet', INDIETRO: emoji.get('back') + ' Nazaj', SI: emoji.get('thumbsup') + ' DA', NO: emoji.get('thumbsdown') + ' NE', @@ -218,7 +220,7 @@ const Menu = { LINK_CONDIVIDERE: emoji.get('link') + ' Links para compartilhar', ZOOM: emoji.get('information_source') + ' Zoom (Conferências)', INFO: emoji.get('information_source') + ' Informações', - ASSISTENZA: emoji.get('open_hands') + ' Chats do AYNI', + ASSISTENZA: emoji.get('open_hands') + ' Chats', INDIETRO: emoji.get('back') + ' Voltar', SI: emoji.get('thumbsup') + ' SIM', NO: emoji.get('thumbsdown') + ' NÃO', @@ -230,7 +232,7 @@ const Menu = { LINK_CONDIVIDERE: emoji.get('link') + ' Link to Share', ZOOM: emoji.get('information_source') + ' Zoom (Conference)', INFO: emoji.get('information_source') + ' Info', - ASSISTENZA: emoji.get('open_hands') + ' AYNI\'s Chats', + ASSISTENZA: emoji.get('open_hands') + ' Chats', INDIETRO: emoji.get('back') + ' Back', SI: emoji.get('thumbsup') + ' YES', NO: emoji.get('thumbsdown') + ' NO', @@ -266,17 +268,12 @@ const MenuNoLogin = { enUs: { menu: [[Menu.LANG], [Menu.enUs.ASSISTENZA]] }, }; -const MenuStandard_AYNI = { - it: { menu: [[Menu.it.LAVAGNA, Menu.it.LINK_CONDIVIDERE], [Menu.it.ZOOM, Menu.it.ASSISTENZA], [Menu.LANG]] }, - es: { menu: [[Menu.es.LAVAGNA, Menu.es.LINK_CONDIVIDERE], [Menu.es.ZOOM, Menu.es.ASSISTENZA], [Menu.LANG]] }, - fr: { menu: [[Menu.fr.LAVAGNA, Menu.fr.LINK_CONDIVIDERE], [Menu.fr.ZOOM, Menu.fr.ASSISTENZA], [Menu.LANG]] }, - si: { menu: [[Menu.si.LAVAGNA, Menu.si.LINK_CONDIVIDERE], [Menu.si.ZOOM, Menu.si.ASSISTENZA], [Menu.LANG]] }, - pt: { menu: [[Menu.pt.LAVAGNA, Menu.pt.LINK_CONDIVIDERE], [Menu.pt.ZOOM, Menu.pt.ASSISTENZA], [Menu.LANG]] }, - enUs: { menu: [[Menu.enUs.LAVAGNA, Menu.enUs.LINK_CONDIVIDERE], [Menu.enUs.ZOOM, Menu.enUs.ASSISTENZA], [Menu.LANG]] }, -}; +// const MenuStandard = { +// it: { menu: [[Menu.it.LAVAGNA, Menu.it.LINK_CONDIVIDERE], [Menu.it.ZOOM, Menu.it.ASSISTENZA], [Menu.LANG]] }, +// }; const MenuStandard = { - it: { menu: [[Menu.it.LAVAGNA, Menu.it.LINK_CONDIVIDERE], [Menu.it.ZOOM, Menu.it.ASSISTENZA], [Menu.LANG]] }, + it: { menu: [[Menu.it.LAVAGNA, Menu.it.LINK_CONDIVIDERE], [Menu.it.ZOOM, Menu.it.ASSISTENZA]] }, }; const MenuPerAdmin = { @@ -363,14 +360,14 @@ const txt = { MSG_SCEGLI_MENU: emoji.get('dizzy') + ' Scegli una voce di menu:' + emoji.get('dizzy'), MSG_ASK_USERNAME_BO: 'Scrivi nel messaggio lo username o la email con cui ti sei registrato sul sito di %s:', MSG_ERRORE_USERNAME: 'Attenzione! Devi inserire solo lo username (40 caratteri massimo)', - MSG_ERRORE_USERNAME_NOT_FOUND: 'Per Completare la Verifica Telegram BOT, devi ora scrivere qui sotto nel messaggio l\'Username OPPURE la email con cui ti sei registrato sul sito di AYNI:', + MSG_ERRORE_USERNAME_NOT_FOUND: 'Per Completare la Verifica Telegram BOT, devi ora scrivere qui sotto nel messaggio l\'Username OPPURE la email con cui ti sei registrato sul sito', MSG_ERRORE_USERNAME_ANNULLA: 'Inserimento Annullato. Riprovare', MSG_OPERAZ_ANNULLATA: 'Operazione Annullata', MSG_ERRORE_VERIFY_CODE_MAXLEN: 'Attenzione! Devi inserire solo il codice a 6 cifre', - MSG_VERIFY_CODE: '1. Ora ritorna sul sito di AYNI:\n%s\n2. Copia il codice di Autenticazione (di 6 cifre) che troverai scritto in alto\n3. Scrivilo (o incollalo) qui sotto come messaggio:', + MSG_VERIFY_CODE: '1. Ora ritorna sul sito:\n%s\n2. Copia il codice di Autenticazione (di 6 cifre) che troverai scritto in alto\n3. Scrivilo (o incollalo) qui sotto come messaggio:', MSG_ERR_VERIFY_CODE: 'Codice di Verifica Errato!' + emo.EXCLAMATION_MARK + '\nControlla sul sito %s e riscrivi il nuovo codice di 6 cifre.', - MSG_VERIFY_OK: emoji.get('grinning') + ' Benvenuto %s! Ti sei correttamente verificato con AYNI BOT. ' + '\nSono il tuo assistente virtuale.\n' + - 'Continua la guida passo passo tornando sul sito di AYNI.\n\nQuesta chat ti servirà per vedere velocemente la tua Lavagna e per ricevere Importanti avvisi su come procedere il tuo cammino.\n\nUsa il menu qui sotto per controllare la tua situazione.' + emo.GREEN_HEART, + MSG_VERIFY_OK: emoji.get('grinning') + ' Benvenuto %s! Ti sei correttamente verificato con il BOT. ' + '\nSono il tuo assistente virtuale.\n' + + 'Continua la guida passo passo tornando sul sito.\n\nQuesta chat ti servirà per vedere velocemente la tua Lavagna e per ricevere Importanti avvisi su come procedere il tuo cammino.\n\nUsa il menu qui sotto per controllare la tua situazione.' + emo.GREEN_HEART, MSG_ERR_UNKNOWN_VERIFY_CODE: 'Errore durante il salvataggio sul Server. Riprovare piú tardi', MSG_EXIT_TELEGRAM: 'L\'account è stato ora scollegato da questo Telegram BOT.', MSG_APORTADOR_USER_REGISTERED: emo.FIRE + ' Si è appena Registrato "%s (n. %s)', @@ -384,13 +381,13 @@ const txt_es = { MSG_SCEGLI_MENU: emoji.get('dizzy') + ' Elija un elemento del menú:' + emoji.get('dizzy'), MSG_ASK_USERNAME_BO: 'Escriba en el mensaje el nombre de usuario o el correo electrónico con el que se registró en el sitio de %s:', MSG_ERRORE_USERNAME: '¡Atención! Debes introducir sólo el nombre de usuario (40 caracteres como máximo)', - MSG_ERRORE_USERNAME_NOT_FOUND: 'Para completar la verificación del telegrama BOT, ahora debe escribir en el mensaje el nombre de usuario o el correo electrónico con el que se registró en el sitio de AYNI.:', + MSG_ERRORE_USERNAME_NOT_FOUND: 'Para completar la verificación del telegrama BOT, ahora debe escribir en el mensaje el nombre de usuario o el correo electrónico con el que se registró en el sitio.:', MSG_ERRORE_USERNAME_ANNULLA: 'Inserción cancelada. Inténtalo de nuevo.', MSG_OPERAZ_ANNULLATA: 'Operación cancelada', MSG_ERRORE_VERIFY_CODE_MAXLEN: '¡Atención! Sólo tienes que introducir el código de 6 dígitos', - MSG_VERIFY_CODE: '1. Ahora, de vuelta en el sitio web de AYNI:\n%s\n2. Copie el código de autenticación (6 dígitos) que encontrará escrito en la parte superior de la página\n3. Escríbelo (o pégalo) abajo como un mensaje:', + MSG_VERIFY_CODE: '1. Ahora, de vuelta en el sitio web:\n%s\n2. Copie el código de autenticación (6 dígitos) que encontrará escrito en la parte superior de la página\n3. Escríbelo (o pégalo) abajo como un mensaje:', MSG_ERR_VERIFY_CODE: 'Código de verificación incorrecto!' + emo.EXCLAMATION_MARK + '\nComprueba en el sitio %s y reescribe el nuevo código de 6 dígitos.', - MSG_VERIFY_OK: emoji.get('grinning') + ' Bienvenido %s! Ha verificado correctamente con AYNI BOT. ' + '\nSoy su asistente virtual.\nContinúa la guía paso a paso de vuelta a la página web de AYNI.\n\n' + + MSG_VERIFY_OK: emoji.get('grinning') + ' Bienvenido %s! Ha verificado correctamente con el BOT. ' + '\nSoy su asistente virtual.\nContinúa la guía paso a paso de vuelta a la página web.\n\n' + 'Este chat le ayudará a ver rápidamente su pizarra y recibir alertas importantes sobre cómo proceder.\n\nUtilice el menú de abajo para comprobar su situación.' + emo.GREEN_HEART, MSG_ERR_UNKNOWN_VERIFY_CODE: 'Error al guardar en el servidor. Inténtalo de nuevo más tarde.', MSG_EXIT_TELEGRAM: 'La cuenta ha sido desconectada de Telegram BOT.', @@ -404,14 +401,14 @@ const txt_fr = { MSG_SCEGLI_MENU: emoji.get('dizzy') + 'Choisissez un élément de menu:' + emoji.get('dizzy'), MSG_ASK_USERNAME_BO: 'Écrivez dans le message l\'username ou l\'e-mail avec lequel vous vous êtes enregistré sur le site de %s: ', MSG_ERRORE_USERNAME: 'Attention! Vous devez insérer seulement l’username (40 caractères maximum)', - MSG_ERRORE_USERNAME_NOT_FOUND: 'Pour Compléter la Vérification Telegram BOT, vous devez maintenant écrire dans le message ci-dessous l\'Username ou l\'adresse e-mail avec lequel vous vous êtes inscrit sur le site AYNI: ', + MSG_ERRORE_USERNAME_NOT_FOUND: 'Pour Compléter la Vérification Telegram BOT, vous devez maintenant écrire dans le message ci-dessous l\'Username ou l\'adresse e-mail avec lequel vous vous êtes inscrit sur le site: ', MSG_ERRORE_USERNAME_ANNULLA: 'Saisie des données Annullée.Essayez à nouveau ', MSG_OPERAZ_ANNULLATA: 'Opération Annullée', MSG_ERRORE_VERIFY_CODE_MAXLEN: 'Attention! Vous devez insérer seulement le code à 6 chiffres', - MSG_VERIFY_CODE: '1. Ᾱ présent retournez sur le site de AYNI:\n%s\n2. Copiez le Code d’Authentification (de 6 chiffres) che vous trouverez écrit en haut \n3. Ecrivez-le (ou copiez-le) ci-dessous comme message:', + MSG_VERIFY_CODE: '1. Ᾱ présent retournez sur le site:\n%s\n2. Copiez le Code d’Authentification (de 6 chiffres) che vous trouverez écrit en haut \n3. Ecrivez-le (ou copiez-le) ci-dessous comme message:', MSG_ERR_VERIFY_CODE: ' Code de vérification incorrect!' + emo.EXCLAMATION_MARK + '\nControllez sur le site %s et réécrivez le nouveau code à 6 chiffres.', - MSG_VERIFY_OK: emoji.get('grinning') + ' Bienvenu(e) %s! Vous vous êtes vérifié avec succès avec AYNI BOT. ' + '\nJe suis ton assistant virtuel.\n' + - "Continuez le guide étape par étape en revenant sur le site Web d'AYNI. \n\nCe chat vous servira pour voir rapidement votre tableau de bord et recevoir des avis importants sur la marche à suivre pour continuer votre parcours.\n\nUtilisez le menu ci-dessous pour vérifier votre situation. " + emo.GREEN_HEART, + MSG_VERIFY_OK: emoji.get('grinning') + ' Bienvenu(e) %s! Vous vous êtes vérifié avec succès avec le BOT. ' + '\nJe suis ton assistant virtuel.\n' + + "Continuez le guide étape par étape en revenant sur le site. \n\nCe chat vous servira pour voir rapidement votre tableau de bord et recevoir des avis importants sur la marche à suivre pour continuer votre parcours.\n\nUtilisez le menu ci-dessous pour vérifier votre situation. " + emo.GREEN_HEART, MSG_ERR_UNKNOWN_VERIFY_CODE: 'Erreur lors de l\'enregistrement sur le serveur. Retentez plus tard', MSG_EXIT_TELEGRAM: 'L\'account a été déconnecté de Telegram BOT.', MSG_APORTADOR_USER_REGISTERED: emo.FIRE + ' Vous venez à peine de vous inscrire "%s (n)', @@ -424,14 +421,14 @@ const txt_si = { MSG_SCEGLI_MENU: emoji.get('dizzy') + 'Izbirni meni:' + emoji.get('dizzy'), MSG_ASK_USERNAME_BO: 'Vpiši svoje uporabniško ime in e-naslov s katerimi si se registriral na spletni strani %s: ', MSG_ERRORE_USERNAME: 'Pozor! Vpiši samo uporabniško ime (40 znakov) maksimalno', - MSG_ERRORE_USERNAME_NOT_FOUND: 'Ponovno preverite telegram BOT Uporabniško ime ali e-poštno sporočilo, s katerim ste registrirali na spletni strani AYNI: ', + MSG_ERRORE_USERNAME_NOT_FOUND: 'Ponovno preverite telegram BOT Uporabniško ime ali e-poštno sporočilo, s katerim ste registrirali na spletni strani: ', MSG_ERRORE_USERNAME_ANNULLA: 'Preklic. Poskusi ponovno ', MSG_OPERAZ_ANNULLATA: 'Operacija preklicana', MSG_ERRORE_VERIFY_CODE_MAXLEN: 'Pozor! Vstavi D mestno kodo', - MSG_VERIFY_CODE: '1. Vrni se na spletno strani AYNI: \n%s\n2. Kopiraj kodo Authenticazione (6 mestno) ki jo najdeš zgoraj zapisano\n3. Napiši (ali prilepi) tu spodaj kot sporočilo: ', + MSG_VERIFY_CODE: '1. Vrni se na spletno strani: \n%s\n2. Kopiraj kodo Authenticazione (6 mestno) ki jo najdeš zgoraj zapisano\n3. Napiši (ali prilepi) tu spodaj kot sporočilo: ', MSG_ERR_VERIFY_CODE: 'Napačna koda za preverjanje!' + emo.EXCLAMATION_MARK + '\nPreveri na strani %s in ponovno napiši 6 mestno kodo.', - MSG_VERIFY_OK: emoji.get('grinning') + 'Dobrodošel %s! Pravilno ste se preveriliz AYNI BOT. ' + ' \nsem tvoj virtualni asisten.\n ' + - 'Vodenje se nadeljuje z vodenimi koraki, ko se vrneš na spletno stran AYNI. \n\nTa klepet ti bo služil za hitri pregled tvoje table in za sprejemanje pomembnih obvestil glede poteka tvojega potovanja. \n\nUporabite meni tu spodaj, da lahko kontrolirate svojo situacijo. ' + emo.GREEN_HEART, + MSG_VERIFY_OK: emoji.get('grinning') + 'Dobrodošel %s! Pravilno ste se preveriliz BOT. ' + ' \nsem tvoj virtualni asisten.\n ' + + 'Vodenje se nadeljuje z vodenimi koraki, ko se vrneš na spletno stran. \n\nTa klepet ti bo služil za hitri pregled tvoje table in za sprejemanje pomembnih obvestil glede poteka tvojega potovanja. \n\nUporabite meni tu spodaj, da lahko kontrolirate svojo situacijo. ' + emo.GREEN_HEART, MSG_ERR_UNKNOWN_VERIFY_CODE: 'Napaka strežnika.Poskusi kasneje ', MSG_EXIT_TELEGRAM: 'Račun se nahaja v programu Telegram BOT.', MSG_APORTADOR_USER_REGISTERED: emo.FIRE + 'Registracija registracije %s (n. %s)\n(povabil ga %s)', @@ -441,16 +438,16 @@ const txt_en = { MSG_SCEGLI_MENU: emoji.get('dizzy') + ' Choose a menu item:' + emoji.get('dizzy'), MSG_ASK_USERNAME_BO: 'Write in the message the username or email with which you registered on the site of %s:', MSG_ERRORE_USERNAME: 'Attention! You must enter only the username (40 characters maximum)', - MSG_ERRORE_USERNAME_NOT_FOUND: 'To complete the Telegram BOT Verification, you must now write below in the message the Username OR the email with which you registered on the AYNI website:', + MSG_ERRORE_USERNAME_NOT_FOUND: 'To complete the Telegram BOT Verification, you must now write below in the message the Username OR the email with which you registered on the website:', MSG_ERRORE_USERNAME_ANNULLA: 'Insertion Cancelled. Try again', MSG_OPERAZ_ANNULLATA: 'Operation Cancelled', MSG_ERRORE_VERIFY_CODE_MAXLEN: 'Attention! You only need to enter the 6-digit code', - MSG_VERIFY_CODE: '1. Now return to the AYNI website: %s\n' + + MSG_VERIFY_CODE: '1. Now return to the website: %s\n' + '2. Copy the Authentication code (of 6 digits) that you will find written at the top\n' + '3. Write it (or paste it) below as a message:', MSG_ERR_VERIFY_CODE: 'Incorrect Verification Code!' + emo.EXCLAMATION_MARK + '\nCheck on the site %s and rewrite the new 6-digit code.', - MSG_VERIFY_OK: emoji.get('grinning') + ' Welcome %s! You have correctly verified yourself with AYNI BOT. ' + '\nI am your virtual assistant.\n' + - 'Continue the step-by-step guide back to the AYNI website.\n\nThis chat will help you to quickly see your DashBoard and receive important alerts on how to proceed on your path.\n\nUse the menu below to check your situation.' + emo.GREEN_HEART, + MSG_VERIFY_OK: emoji.get('grinning') + ' Welcome %s! You have correctly verified yourself with BOT. ' + '\nI am your virtual assistant.\n' + + 'Continue the step-by-step guide back to the website.\n\nThis chat will help you to quickly see your DashBoard and receive important alerts on how to proceed on your path.\n\nUse the menu below to check your situation.' + emo.GREEN_HEART, MSG_ERR_UNKNOWN_VERIFY_CODE: 'Error while saving to the Server. Try again later', MSG_EXIT_TELEGRAM: 'The account has now been disconnected from this Telegram BOT.', MSG_APORTADOR_USER_REGISTERED: emo.FIRE + ' He/She\'s just registered "%s (n. %s)"\n(Invited from %s)', @@ -463,14 +460,14 @@ const txt_pt = { MSG_SCEGLI_MENU: emoji.get('dizzy') + ' Escolha um item do menu:' + emoji.get('dizzy'), MSG_ASK_USERNAME_BO: 'Escreva na mensagem o nome de usuário ou e-mail com o qual se registrou no site de %s:', MSG_ERRORE_USERNAME: 'Atenção! Você deve inserir apenas o nome de usuário (40 caracteres no máximo)', - MSG_ERRORE_USERNAME_NOT_FOUND: 'Para completar a Verificação do Telegrama BOT, você deve agora escrever abaixo na mensagem o Nome de Usuário OU o e-mail com o qual você se registrou no site da AYNI:', + MSG_ERRORE_USERNAME_NOT_FOUND: 'Para completar a Verificação do Telegrama BOT, você deve agora escrever abaixo na mensagem o Nome de Usuário OU o e-mail com o qual você se registrou no site:', MSG_ERRORE_USERNAME_ANNULLA: 'Inserção Cancelada. Tente novamente', MSG_OPERAZ_ANNULLATA: 'Operação Cancelada', MSG_ERRORE_VERIFY_CODE_MAXLEN: 'Atenção! Você só precisa digitar o código de 6 dígitos', - MSG_VERIFY_CODE: '1. Agora de volta ao site do AYNI:\n%s\n2. Copie o código de autenticação (6 dígitos) que você encontrará escrito na parte superior da página\n3. Escreva-o (ou cole-o) abaixo como uma mensagem:', + MSG_VERIFY_CODE: '1. Agora de volta ao site:\n%s\n2. Copie o código de autenticação (6 dígitos) que você encontrará escrito na parte superior da página\n3. Escreva-o (ou cole-o) abaixo como uma mensagem:', MSG_ERR_VERIFY_CODE: 'Código de Verificação Incorrecto!' + emo.EXCLAMATION_MARK + '\nCódigo de Verificação ErradoCheque no local %s e reescreva o novo código de 6 dígitos.', - MSG_VERIFY_OK: emoji.get('grinning') + ' Bem-vindo %s! Você verificou corretamente com AYNI BOT. ' + '\nEu sou o vosso assistente virtual.\n' + - 'Continue o guia passo-a-passo de volta ao site da AYNI.\n\nEste chat vai ajudá-lo a ver rapidamente o seu Quadro Negro e a receber alertas importantes sobre como proceder..\n\n' + + MSG_VERIFY_OK: emoji.get('grinning') + ' Bem-vindo %s! Você verificou corretamente com BOT. ' + '\nEu sou o vosso assistente virtual.\n' + + 'Continue o guia passo-a-passo de volta ao site.\n\nEste chat vai ajudá-lo a ver rapidamente o seu Quadro Negro e a receber alertas importantes sobre como proceder..\n\n' + 'Use o menu abaixo para verificar a sua situação.' + emo.GREEN_HEART, MSG_ERR_UNKNOWN_VERIFY_CODE: 'Erro ao salvar no Servidor. Tente novamente mais tarde.', MSG_EXIT_TELEGRAM: 'A conta foi agora desconectada deste Telegrama BOT.', @@ -1176,7 +1173,7 @@ class Telegram { risp += 'Num Invitati: ' + myrec.numinvitati + tools.ACAPO; risp += 'Num Invitati Attivi: ' + myrec.numinvitatiattivi + tools.ACAPO; } else { - risp = 'Ancora non ti sei Attivato su AYNI BOT'; + risp = 'Ancora non ti sei Attivato sul BOT'; } } else if (MsgBot.CI_SEI.includes(testo.replace('?', ''))) { risp = 'Io Si, ci sono !'; @@ -1194,14 +1191,12 @@ class Telegram { rec.msgcodeprec = MsgBot.MASCHIO_FEMMINA; rec.statusmsg = Status.WAITFOR_RISPOSTA; } else if (MsgBot.COME_TI_CHIAMI.includes(testo.replace('?', ''))) { - risp = 'Io mi chiamo AYNI BOT e sono il tuo assistente Virtuale. ' + emo.EYES + '\nPuoi usare il menu che compare qui sotto per sapere tutto sulle mie funzionalità ' + emo.GREEN_HEART; + risp = 'Io mi chiamo BOT e sono il tuo assistente Virtuale. ' + emo.EYES + '\nPuoi usare il menu che compare qui sotto per sapere tutto sulle mie funzionalità ' + emo.GREEN_HEART; contastiera = true; } else if (MsgBot.UGUALE.includes(testo)) { risp = testo; // } else if (MsgBot.CHI_E_VISTAR.includes(testo)) { - // risp = 'Vistar è un nomade che vive in Perù tra i selvaggi, filosofeggiando e cazzeggiando qua e la... Per questo è un Fico ed è adulato dalle ragazze di tutto il Globo ' + emo.JOY + emo.JOY + emo.JOY; // } else if (MsgBot.CHI_E_PAOLO.includes(testo)) { - // risp = 'Paolo è il Programmatore Sborone di AYNI. Anche lui Fico quanto Vistar (ma chi è Vistar) ' + emo.JOY + ' che anzichè creare la Nave cazzeggia su AYNI BOT, trovando risposte alle domande più assurde.' + emo.JOY2 + emo.JOY2; } else if (MsgBot.COME_SI_CHIAMA.includes(testo)) { risp = 'Eh non te lo posso dire! ' + emo.JOY; } else if (MsgBot.GRAZIE.includes(testo.replace('!', ''))) { @@ -1213,7 +1208,7 @@ class Telegram { } else if (MsgBot.PRINCIPE_AZZURRO.find((rec) => testo.indexOf(rec) > -1)) { risp = 'Chissà... Forse si!\nAnche se meglio averne un\'altro di scorta, nel caso il Principe non sia disponibile.'; } else if (MsgBot.AIUTO.find((rec) => testo.indexOf(rec) > -1)) { - risp = 'Clicca qui per entrare nella Chat AYNI - HELP di Supporto\n' + tools.HELP_CHAT + '\n\nI miei colleghi umani ti aiuteranno a risolvere !'; + risp = 'Clicca qui per entrare nella Chat HELP di Supporto\n' + tools.HELP_CHAT + '\n\nI miei colleghi umani ti aiuteranno a risolvere !'; } else if (MsgBot.SPOSAMI.find((rec) => testo.indexOf(rec) > -1)) { risp = 'No Grazie! Sono per la Libertà a Vita! ' + emo.JOY + '\nMa se vuoi possiamo conoscerci meglio!' + emo.DANCER + emo.FIRE; } else if (MsgBot.CHE_TEMPO_FA.find((rec) => testo.indexOf(rec) > -1)) { @@ -1234,7 +1229,7 @@ class Telegram { risp = emo.SMILE_STAR + emo.SMILE_STAR + emo.SMILE_STAR + emo.SMILE_STAR + '\nMagari! Così la smetteresti di scrivere a me (ad un BOT Virtuale) e tromberesti di più ' + emo.DANCER + emo.DANCER; risp += '\n\n' + MsgRisp.CHAT_EMPOWER; } else if (MsgBot.SORPRESA.find((rec) => testo.indexOf(rec) > -1) && testo.length < 15) { - risp = 'Siiiii ! Davvero! ' + emo.DREAM + '\nTi ricordo che nella CHAT EMPOWER si fa FESTA!\n\nChat AYNI - EMPOWER: Entra ⛩ nella nostra Community chat:\n https://t.me/joinchat/C741mkx5QYXu-kyYCYvA8g'; + risp = 'Siiiii ! Davvero! ' + emo.DREAM; } else if (MsgBot.PAROLACCE.find((rec) => testo.indexOf(rec) > -1)) { risp = 'Da te non me l\'aspettavo proprio !! ' + emo.INNOCENT + emo.CROSS_ROSSA; } else if (MsgBot.HAHA.find((rec) => testo.indexOf(rec) > -1) && testo.length < 8) { @@ -1242,8 +1237,8 @@ class Telegram { } else if (testo.length >= 10) { noanswer = true; let myfaq = this.geturlfaq(); - risp = 'Io sono solo un Robot ' + emo.ROBOT_FACE + emo.JOY2 + '\n\nPer AIUTO, clicca qui:\n👉🏻👉🏻FAQ di AIUTO (risposte alle domande più frequenti)\n\nSe non trovi risposta allora contatta la Chat AYNI - HELP.\nGrazie\nStaff AYNI'; - // risp += '\nClicca qui per entrare nella Chat AYNI - HELP di Supporto\n' + 'https://t.me/joinchat/AL2qKE80rxDkgbeMGO-0bw' + '\n\nI miei colleghi umani ti aiuteranno a risolvere !'; + risp = 'Io sono solo un Robot ' + emo.ROBOT_FACE + emo.JOY2 + '\n\nPer AIUTO, clicca qui:\n👉🏻👉🏻FAQ di AIUTO (risposte alle domande più frequenti)\n\nSe non trovi risposta allora contatta la Chat HELP.\nGrazie'; + // risp += '\nClicca qui per entrare nella Chat - HELP di Supporto\n' + 'https://t.me/joinchat/AL2qKE80rxDkgbeMGO-0bw' + '\n\nI miei colleghi umani ti aiuteranno a risolvere !'; await local_sendMsgTelegramToTheManagers(this.idapp, testo, msg, rec.username_bo); } } @@ -1283,7 +1278,7 @@ class Telegram { if (risp !== '') { rec.numdomande++; await tools.snooze(600); - this._inviaMsg(id, '[AYNI BOT' + emo.ROBOT_FACE + ' scrive]:\n' + risp, keyboard); + this._inviaMsg(id, '[BOT' + emo.ROBOT_FACE + ' scrive]:\n' + risp, keyboard); let strlog = 'USER [' + myname + ']: ' + testo + '\n'; if (!noanswer) { @@ -1372,8 +1367,6 @@ class Telegram { if (this.isSelMenu(msg, msg.text, 'LAVAGNA') || MsgBot.LAVAGNA.find((rec) => msg.text.indexOf(rec) > -1)) { await this.menuLavagna(msg); - }else if (msg.text === Menu.it.NUOVOSITO) { - await this.sendMsg(msg.chat.id, Menu.it.NUOVOSITO); } else if (msg.text === Menu.MIANAVE || (cmd2 === strNave) || MsgBot.MIANAVE.find((rec) => msg.text.indexOf(rec) > -1)) { await this.menuNave(msg) } else if (this.isSelMenu(msg, msg.text, 'ACCEDI')) { @@ -1520,7 +1513,7 @@ class Telegram { mystr += dashboard.myself.qualified ? emo.SMILE_STAR + tools.get__('HAI_I_7_REQUISITI', this.getlang(msg)) + emo.SMILE_STAR : emo.EXCLAMATION_MARK + tools.get__('NON_HAI_I_7_REQUISITI', this.getlang(msg)); mystr += '\n\n'; } - mystr += tuttie9 ? emo.SMILE_STAR + tools.get__('HAI_I_9_REQUISITI', this.getlang(msg)) + emo.SMILE_STAR : emo.EXCLAMATION_MARK + tools.get__('NON_HAI_I_9_REQUISITI', this.getlang(msg)); + // mystr += tuttie9 ? emo.SMILE_STAR + tools.get__('HAI_I_9_REQUISITI', this.getlang(msg)) + emo.SMILE_STAR : emo.EXCLAMATION_MARK + tools.get__('NON_HAI_I_9_REQUISITI', this.getlang(msg)); mystr += '\n\n'; mystr += tools.get__('INFO_LA_MIA_LAVAGNA', this.getlang(msg)); @@ -1794,21 +1787,13 @@ class Telegram { getlink(qualelink) { if (qualelink === 'website') { - return 'https://ayni.gifteconomy.app' + return '' } else if (qualelink === 'biblio') { - return 'https://t.me/joinchat/AAAAAFMDe8b5lB1X7vOYng'; + return ''; } else if (qualelink === 'help') { return tools.HELP_CHAT; } else if (qualelink === 'faq') { - return 'https://ayni.gifteconomy.app/faq'; - } else if (qualelink === 'empower') { - return "ITA 🇮🇹: https://t.me/joinchat/C741mkx5QYXu-kyYCYvA8g" + tools.ACAPO + - "SLO 🇸🇮: https://t.me/aynislovenija" + tools.ACAPO + - "HRV 🇭🇷 BIH 🇧🇦 SRB 🇷🇸 MNE 🇲🇪: https://t.me/joinchat/KFGPolcH0lLrqrdloOASYQ" + tools.ACAPO + - "ESP 🇪🇸 - PRT 🇵🇹: https://t.me/joinchat/AL2qKBqJRuIEuc2FivgAzg" + tools.ACAPO + - "FRA 🇫🇷: https://t.me/joinchat/POqmM1ddtRmnxtLdKkm5sQ" + tools.ACAPO + - "ENG 🇬🇧: https://t.me/joinchat/AL2qKBYX0yVvOJ6Ssf9hKg" + tools.ACAPO - ; + return ''; } } @@ -2100,17 +2085,14 @@ class Telegram { // Niente } else if (cmd === CHEDI_SE_IMBARCARTI) { textdainviare = tools.gettranslate('VUOI_IMBARCARTI', lang); - // chiedisino = true; - // rec.msgall_status = StatusMSGALL.CONFIRM; + FormDaMostrare = this.getInlineKeyboard(lang, [ { text: Menu[lang].SI, - // callback_data: { action: InlineCmd.VOGLIO_IMBARCARMI, username: utente.username } callback_data: InlineCmd.VOGLIO_IMBARCARMI + '|' + utente.username }, { text: Menu[lang].NO, - // callback_data: { action: InlineCmd.NON_VOGLIO_IMBARCARMI, username: utente.username } callback_data: InlineCmd.NON_VOGLIO_IMBARCARMI + '|' + utente.username }, ]); @@ -2376,7 +2358,7 @@ class Telegram { async insertIntoDB(msg) { - return await this.askVerifiedCode(msg); + return this.askVerifiedCode(msg); } @@ -2653,10 +2635,14 @@ function getclTelegByidapp(idapp) { return null; } -if (!tools.testing()) { -// if (true) { +//if (!tools.testing() || true) { +if (true) { + let arrTeleg = appTelegram; + if (process.env.NODE_ENV === 'development') + arrTeleg = appTelegram_TEST; + console.log('TELEGRAM STARTING.... '); - for (const idapp of appTelegram) { + for (const idapp of arrTeleg) { const token = tools.getTelegramKeyByIdApp(idapp); // console.log('idapp', idapp, 'token', token); diff --git a/src/server/tools/general.js b/src/server/tools/general.js index b69908e..cecfc46 100755 --- a/src/server/tools/general.js +++ b/src/server/tools/general.js @@ -60,35 +60,28 @@ const textlang = { 'partecipanti a Pranzo': 'partecipanti a Pranzo', 'partecipanti a Cena': 'partecipanti a Cena', 'partecipanti a Cena Condivisa': 'partecipanti a Cena Condivisa', - 'TESTO_ASSISTENZA': '👉 Per entrare nel Sito AYNI\n\n' + - '👉 Hai dimenticato la password?\n\n' + - '👉 Entra nel Canale d\'Informazione per Importanti Avvisi!\nCanale AYNI-BIBLIO\n\n' + - '👉 Chat AYNI - EMPOWER: Entra ⛩ nella nostra Community chat\n%s\n\n' + - '👉 PER AIUTO: Leggi le Domande più Frequenti:\n%s\nOppure chiedi prima al tuo Invitante!\n\n' + - 'SOLO se non trovi la risposta che ti serve puoi accedere alla Chat di Supporto \'AYNI - HELP\'\nDa Lunedì al Venerdí (9:00 - 19:00)\n%s\n' + - '1 - Fai la tua domanda e chiedi assistenza.\n2 - Dopo aver ricevuto aiuto Esci dalla chat.\nPotrai rientrare ogni qualvolta ne avrai la necessità.', + 'TESTO_ASSISTENZA': '👉 Per entrare nel Sito\n\n' + + '👉 Hai dimenticato la password?\n\n', 'BENVENUTO': 'Benvenuto', 'TUE_NAVI': 'Ecco le tue Navi programmate', - 'HAI_I_7_REQUISITI': 'PRIMI PASSI OK!\nHai i Primi 7 Requisiti per Entrare nella Lista d\'Imbarco!', - 'NON_HAI_I_7_REQUISITI': 'Attenzione!\nAncora non hai i 7 Requisiti per Entrare nella Lista d\'Imbarco!', - 'HAI_I_9_REQUISITI': 'COMPLIMENTI!\nHai Completato TUTTI i 9 Passi della Guida! Grazie per Aiutare AYNI ad Espandersi!', - 'NON_HAI_I_9_REQUISITI': 'Ricqorda che puoi Aiutare a far Crescere ed Espandere il Movimento, Condividendo con chiunque questo nostro viaggio!', + 'HAI_I_7_REQUISITI': 'PRIMI PASSI OK!\nHai i Primi Requisiti per Entrare nella Lista !', + 'NON_HAI_I_7_REQUISITI': 'Attenzione!\nAncora non hai i 7 Requisiti per Entrare nella Lista !', 'INFO_LA_MIA_LAVAGNA': '✨ Lista dei Passi: ✨ \n', - 'INFO_LAVAGNA_SITO_COMPLETARE': 'Per completare tutti i requisiti vai sul sito:\n%s\nPer vedere lo stato della tua Nave e dei tuoi invitati:\n 👉🏻 Entra nella tua Lavagna.\n', - 'INFO_LAVAGNA_SITO': 'Per vedere in dettaglio lo STATO della tua Nave, sul sito AYNI\n 👉🏻 Entra nella tua Lavagna.\n', - 'INFO_LINK_DA_CONDIVIDERE': 'Link da condividere ai tuoi invitati per farli registrare al sito di Ayni:\n\n%s', + 'INFO_LAVAGNA_SITO_COMPLETARE': 'Per completare tutti i requisiti vai sul sito:\n%s\n👉🏻 Entra nella tua Lavagna.\n', + 'INFO_LAVAGNA_SITO': 'Per vedere in dettaglio lo STATO, sul sito \n 👉🏻 Entra nella tua Lavagna.\n', + 'INFO_LINK_DA_CONDIVIDERE': 'Link da condividere ai tuoi invitati per farli registrare al sito:\n\n%s', 'INFO_LINK_ZOOM': 'Link da condividere per partecipare allo Zoom (Conferenza OnLine):\n%s', 'ZOOM_CONFERENCE': 'Ecco il programma delle Conferenze (Zoom) aperti a TUTTI:', 'NON_VERIF': 'Non Verificata', 'VERIF': 'Verificata', 'EMAIL': 'Email', - 'BOT': 'AYNI BOT', - 'EMAIL_NON_VERIF': 'Email Non Verificata\nleggi la tua casella email e trova **"Confermare la Registrazione a Ayni"**\ne clicca sul bottone **"Verifica Registrazione"**', + 'BOT': 'BOT', + 'EMAIL_NON_VERIF': 'Email Non Verificata\nleggi la tua casella email e trova **"Confermare la Registrazione"**\ne clicca sul bottone **"Verifica Registrazione"**', 'TELEGRAM_NOT_CONNECTED': 'Telegram non associato al tuo account!', 'NESSUN_INVITATO': 'Non hai invitato nessuno', 'ZOOM_PARTECIPATO': 'Partecipazione ad almeno 1 Conferenza (Zoom)', 'LINEE_GUIDA': 'Accettato le Linee Guida', - 'VIDEO_INTRO': 'Visto il Video di AYNI', + 'VIDEO_INTRO': 'Visto il Video', 'SCRITTO_SOGNO': 'Hai scritto il tuo Sogno', 'PAYMENTS': 'Modalità di Pagamento', 'INVITATI': 'persone registrate che hai invitato', @@ -123,79 +116,9 @@ const textlang = { 'TEMPORANEA': 'TEMPORANEA', 'NAVE': 'NAVE', 'MSG_SEND_FROM': 'Msg Inviato da', - 'VUOI_IMBARCARTI': 'Attenzione! Ci risulta che attualmente non ti è stato assegnato Nessun Imbarco.\nQuesto può essere dovuto ad un errore durante la fase di aggiornamento del sito, oppure perchè tu stesso hai cancellato l\'imbarco.\n\nVuoi Aggiungerti ora al prossimo Imbarco per continuare nel tuo Viaggio in AYNI? ', 'ZOOM_CONFERMATO': 'Sei stato confermato ad aver visto la Video Conferenza di Benvenuto!', }, si: { - 'Email je že bila preverjena': 'Email je že bila preverjenaL\'Email è già stata Verificata', - 'Nuova Registrazione': 'Nova Registracija', - 'Effettuata una Nuova Registrazione': 'Izpelji novo Registracijo', - 'partecipanti': 'Udeleženci', - 'partecipanti a Pranzo': 'partecipanti a Pranzo', - 'partecipanti a Cena': 'partecipanti a Cena', - 'TESTO_ASSISTENZA': 'Za vstop na spletno stran:\n%s\n\n' + - 'Si pozabil geslo za vstop na stran?\nhttps://ayni.gifteconomy.app/requestresetpwd\n\n' + - 'Klepet AYNI BOT (questa):\nhttps://t.me/notevoleaynibot\n\n' + - 'Klepet AYNI - EMPOWER: Vstopi ⛩ v našo Skupnost klepet:\n%s\n\n' + - 'Canal News AYNI-BIBLIO:\n%s\n\n' + - 'Klepet za Pomoč in Suport: \'AYNI - HELP\'\n%s\n' + - '1 - Postavi svoje vprašanje in prosi za asistenco.\n2 - KO si sprejel pomoč, izstopi iz klepeta.\n ' + - 'Vstopil boš lahko vedno, ko boš potreboval pomoč.', - 'BENVENUTO': 'Dobrodošel', - 'TUE_NAVI': 'Tvoje programirane Ladje', - 'HAI_I_7_REQUISITI': 'PRVI KORAKI OK!\nIzpolnjuješ Prvih 7 Zahtev za vstop na Listo d\'Vkrcanje!', - 'NON_HAI_I_7_REQUISITI': 'Pozor!\nŠe vedno nimaš izpolnjenih 7 Zahtev za vstop na listo\'Vkrcanje!', - 'HAI_I_9_REQUISITI': 'ČESTITAMO!\nIzpolnil si VSEH 9 korakov v navodilih! Hvala ker pomagaš k širitvi AYNI !', - 'NON_HAI_I_9_REQUISITI': 'Zapomni si, če želiš Pomagati Rasti in Širit Gibanje, lahko to storiš z delitvijo med ljudmi!', - 'INFO_LA_MIA_LAVAGNA': '✨ Seznam Krajev: ✨ \n', - 'INFO_LAVAGNA_SITO_COMPLETARE': 'Da izpolneš vse zahteve, pojdi na spletno stran:\n%s\nDa pogledaš status svoje Ladje in status svojih povabljencev, klikni na levi strani zgoraj na tri črte in izberi "Tabla".\n👉🏻 Table', - 'INFO_LAVAGNA_SITO': 'Da lahko podrobno pogledaš status svoje Ladje,na spletni strani AYNI, klikni, na levi strani zgoraj, na tri črtice in izberi "Tabla".\n', - 'INFO_LINK_DA_CONDIVIDERE': 'Link, ki ga deliš svojim povabljencem, da se lahko registrirajo na spletni strani Ayni:\n\n%s', - 'INFO_LINK_ZOOM': 'Link, ki ga deliš za udeležbo na Zoom (Konferenca OnLine):\n%s', - 'ZOOM_CONFERENCE': 'Tu najdeš datume prihajajočih Zoom-ov:', - 'NON_VERIF': 'Ni Preverjena', - 'VERIF': 'Preverjena', - 'EMAIL': 'Email', - 'BOT': 'AYNI BOT', - 'EMAIL_NON_VERIF': 'Email ni preverjen\npojdi v svoj poštni nabiralnik in najdi**"Potrditev Registracije na Ayni"**
e klikni na gumb **"Potrdi Registracijo"**', - 'TELEGRAM_NOT_CONNECTED': 'Telegram ni povezan s tvojim računom!', - 'NESSUN_INVITATO': 'Nisi povabil nikogar', - 'ZOOM_PARTECIPATO': 'Udeležba na vsaj 1 Konferenci (Zoom-u)', - 'LINEE_GUIDA': 'Sprejemam pogoje poslovanja', - 'VIDEO_INTRO': 'Pogledal sem video AYNI', - 'SCRITTO_SOGNO': 'Sem zapisal Sanje', - 'PAYMENTS': 'Načini Plačila', - 'INVITATI': 'registrirane osebe, ki si povabil', - 'INVITATI_ATTIVI': 'Povabljenci s 7 Zahtevami', - 'NONREG': 'Neregistrirani povabljenci', - 'CLICCA_PER_ZOOM': 'NA DOLOČENO URO IN DATUM, ZA VSTOP V VIDEO KONFERENCO,KLIKNI TU', - 'CLICCA_ENTRA': 'KLIKNI TU ZA VSTOP !', - 'ZOOM_INIZIATO': 'TA KONFERENCA JE\' PRIČELA!', - 'SCEGLI_VOCE': 'Izberi eno možnost:', - 'INVITATI_LISTA': 'Tvoji povabljenci (v zelenem, s izpolnjenimi vsaj 7-imi zahtevami)', - 'CIAO': 'Zdravo', - 'ADDED_TOLISTAINGRESSO': 'Si bil dodan na Seznam oseb, ki bodo vstopile v Listo D\'Vkrcanje !', - 'NO_PROG': 'Trenutno še nisi na Listi d\'Vkrcanja!', - 'SEND_LINK_CHAT_DONATORI': 'Zdravo %s!\nTvoja LADJA bo končno Izplula!\nVstopi v Darilni (Gift) klepet s klikom tu: %s', - 'SEND_LINK_CHAT_SOGNATORE': 'Zdravo %s!\nDanes Postajaš Sanjač !!! 🎊🎊🎊 Vstopi v Darilni Klepet {%s} s klikom tu: %s', - 'ENTRA_GIFT_CHAT': 'Vstopi v Darilni Klepet', - 'DATA_PART_NAVE': 'Datum odhoda ladje:', - 'SOGNATORE': 'Sanjača', - 'INTERMEDIO': 'POTNIK', - 'MEDIATORE': 'MEDIATOR', - 'DONATORI': 'DONATOR', - 'RITESSITURA': 'Avtomatičen Vpis', - 'NAVE COMPLETATA': 'LADJE DOSTAVLJEN', - 'Doni Effettuati': 'Darila narejena', - 'Tutor che affianchèra il Mediatore': 'Tutor, ki bo podpiral Mediatorja', - 'APERTURA_CHIUSURA_GIFT_CHAT': '%s: Apertura GIFT CHAT\n%s Zapiranje DARILNEGA KLEPETA\nBodi pozoren: Časa imaš 3 dni od odprtja za vstop v Klepet- ladjico in izpeljati svoje Vplačilo, po tem času bomo izvedli zamenjavo', - 'SPOSTATO': 'Prestavljen si v Novo Ladjico !', - 'Note': 'Opombe', - 'TEMPORANEA': 'ZAČASNA', - 'NAVE': 'LADJE', - 'MSG_SEND_FROM': 'sporočilo, ki ga je poslal', - 'VUOI_IMBARCARTI': 'Pozor! Opazili smo, da ti trenutno ni bila dodeljena Nobena ladjica.\nTo je lahko posledica napake med fazo posodabljanja spletnega mesta ali ker si sam zbrisal svoj vpis.\n\nAli želiš nadaljevati plovbo, če želiš nadaljevati potovanje z AYNI ?', - 'ZOOM_CONFERMATO': 'Potrjeno je bilo, da ste videli dobrodošlico video konference!', }, es: { 'L\'Email è già stata Verificata': 'El correo electrónico ya ha sido verificado', @@ -204,34 +127,30 @@ const textlang = { 'partecipanti': 'participantes', 'partecipanti a Pranzo': 'partecipanti a Pranzo', 'partecipanti a Cena': 'partecipanti a Cena', - 'TESTO_ASSISTENZA': 'Para entrar en el sitio de AYNI:\n%s\n\n' + - '¿Olvidó su contraseña para acceder al sitio?\nhttps://ayni.gifteconomy.app/requestresetpwd\n\n' + - 'Chat AYNI BOT (este):\nhttps://t.me/notevoleaynibot\n\n' + - 'Chat AYNI - EMPOWER: Entra en ⛩ en nuestra comunidad de chat:\n%s\n\n' + - 'Chat de ayuda y soporte: \'AYNI - HELP\'\nDe lunes a viernes (9:00 - 19:00)\n%s\n' + - '1 - Haga su pregunta y pida ayuda.\n2 - Después de que consigas ayuda, sal de la sala de chat.\nPuedes volver cuando necesites ayuda..', + 'TESTO_ASSISTENZA': 'Para entrar en el sitio:\n%s\n\n' + + '¿Olvidó su contraseña para acceder al sitio?\nhttps://freeplanet.app/requestresetpwd\n\n', 'BENVENUTO': 'Bienvenido', 'TUE_NAVI': 'Aquí están sus naves programadas', 'HAI_I_7_REQUISITI': '¡LOS PRIMEROS PASOS ESTÁN BIEN!\nTiene los primeros 7 requisitos para entrar en la lista de embarque!', 'NON_HAI_I_7_REQUISITI': '¡Atención!\nTodavía no tienes los 7 requisitos para entrar en la lista de embarque!', - 'HAI_I_9_REQUISITI': '¡FELICITACIONES!\n¡Has completado los 9 pasos de la Guía! Gracias por ayudar a AYNI a expandirse!', + 'HAI_I_9_REQUISITI': '¡FELICITACIONES!\n¡Has completado los 9 pasos de la Guía! Gracias por ayudar a expandirse!', 'NON_HAI_I_9_REQUISITI': 'Recuerda que puedes ayudar a que el Movimiento crezca y se expanda compartiendo nuestro viaje con todos.!', 'INFO_LA_MIA_LAVAGNA': '✨ Lista de pasos: ✨ \n', 'INFO_LAVAGNA_SITO_COMPLETARE': 'Para completar todos los requisitos vaya al sitio:\n%s\nPara ver el estado de su nave y sus invitados,👉🏻 Pizarra.\n', - 'INFO_LAVAGNA_SITO': 'Para ver en detalle el estado de su nave, en el sitio web de AYNI, haga clic en las 3 líneas de la parte superior izquierda y vaya a "Pizarra"..\n', - 'INFO_LINK_DA_CONDIVIDERE': 'Enlaces para compartir con sus invitados para que se registren en el sitio web de Ayni:\n\n%s', + 'INFO_LAVAGNA_SITO': 'Para ver en detalle el estado de su nave, en el sitio web, haga clic en las 3 líneas de la parte superior izquierda y vaya a "Pizarra"..\n', + 'INFO_LINK_DA_CONDIVIDERE': 'Enlaces para compartir con sus invitados para que se registren en el sitio web:\n\n%s', 'INFO_LINK_ZOOM': 'Enlaces para compartir para participar en el Zoom (Conferencia en línea):\n%s', 'ZOOM_CONFERENCE': 'Aquí puedes encontrar las fechas de programación en el Zoom:', 'NON_VERIF': 'No verificado', 'VERIF': 'Verificado', 'EMAIL': 'Email', - 'BOT': 'AYNI BOT', - 'EMAIL_NON_VERIF': 'Correo electrónico no verificado\nlea su buzón y encuentre **"Confirmar Registro a Ayni "** y haga clic en el botón **"Verificar Registro "**.', + 'BOT': 'BOT', + 'EMAIL_NON_VERIF': 'Correo electrónico no verificado\nlea su buzón y encuentre **"Confirmar Registro "** y haga clic en el botón **"Verificar Registro "**.', 'TELEGRAM_NOT_CONNECTED': 'Telegram no asociado a su cuenta!', 'NESSUN_INVITATO': 'No invitaste a nadie', 'ZOOM_PARTECIPATO': 'Participación en al menos 1 Conferencia (Zoom)', 'LINEE_GUIDA': 'Directrices aceptadas', - 'VIDEO_INTRO': 'Ver el video de AYNI', + 'VIDEO_INTRO': 'Ver el video', 'SCRITTO_SOGNO': 'Escribiste tu sueño', 'PAYMENTS': 'Métodos de pago', 'INVITATI': 'las personas registradas que usted invitó', @@ -263,41 +182,34 @@ const textlang = { 'TEMPORANEA': 'TEMPORAL', 'NAVE': 'NAVE', 'MSG_SEND_FROM': 'Mensaje enviado por', - 'VUOI_IMBARCARTI': '¡Atención! Entendemos que actualmente no está asignado a No Boarding.\nEsto puede deberse a un error durante la fase de actualización del sitio web, o porque usted mismo ha cancelado el embarque.\n\n¿Quieres añadirte ahora al próximo embarque para continuar tu viaje en AYNI?', 'ZOOM_CONFERMATO': '¡Se ha confirmado que ha visto la Video Conferencia de Bienvenida!', }, enUs: { 'partecipanti': 'participants', 'partecipanti a Pranzo': 'partecipanti a Pranzo', 'partecipanti a Cena': 'partecipanti a Cena', - 'TESTO_ASSISTENZA': 'To enter the AYNI Site:\n%s\n\nForgot your password to access the site?\n' + - 'https://ayni.gifteconomy.app/requestresetpwd\nChat AYNI BOT (this one):\nhttps://t.me/notevoleaynibot\n\n' + - 'Chat AYNI - EMPOWER: Enter ⛩ into our chat community:\n%s\n\n' + - 'Canale News AYNI-BIBLIO:\n%s\n\n' + - 'Help and Support Chat: \'AYNI - HELP\'.\nMonday to Friday (9:00 - 19:00)\n%s\n' + - '1 - Ask your question and ask for assistance.\n2 - After receiving help, exit the chat.\nYou can come back whenever you need help.', + 'TESTO_ASSISTENZA': 'To enter the Site:\n%s\n\nForgot your password to access the site?\n' + + 'https://freeplanet.app/requestresetpwd\nChat AYNI BOT (this one):\nhttps://t.me/notevoleaynibot\n\n', 'BENVENUTO': 'Welcome', 'TUE_NAVI': 'Here are your programmed ships', 'HAI_I_7_REQUISITI': 'FIRST STEPS OK!\nYou have the First 7 Requirements to Enter the Boarding List!', 'NON_HAI_I_7_REQUISITI': 'Attention!\nYou still do not have the 7 requirements to enter the boarding list!', - 'HAI_I_9_REQUISITI': 'CONGRATULATIONS!\nYou have completed ALL 9 steps of the Guide! Thank you for Helping AYNI Expand!', - 'NON_HAI_I_9_REQUISITI': 'Remember that you can help the Movement grow and expand by sharing our journey with everyone.!', 'INFO_LA_MIA_LAVAGNA': '✨ Step List: ✨ \n', 'INFO_LAVAGNA_SITO_COMPLETARE': 'To complete all the requirements go to the site:%s\nTo see the status of your Ship and your guests\n👉🏻 Dashboard\n', - 'INFO_LAVAGNA_SITO': 'To see in detail the status of your ship, on the AYNI website, click on the 3 lines at the top left and go to "Blackboard".\n', - 'INFO_LINK_DA_CONDIVIDERE': 'Links to share with your guests to have them register on Ayni\'s website:\n\n%s', + 'INFO_LAVAGNA_SITO': 'To see in detail the status of your ship, on the website, click on the 3 lines at the top left and go to "Blackboard".\n', + 'INFO_LINK_DA_CONDIVIDERE': 'Links to share with your guests to have them register on website:\n\n%s', 'INFO_LINK_ZOOM': 'Links to share to participate in Zoom (Online Conference):\n%s', 'ZOOM_CONFERENCE': 'Here you can find the Zoom Conference Planning:', 'NON_VERIF': 'Not Verified', 'VERIF': 'Verified', 'EMAIL': 'Email', - 'BOT': 'AYNI BOT', - 'EMAIL_NON_VERIF': 'Email Not Verified\nread your mailbox and find **"Confirm Registration to Ayni "**
and click on the button **"Verify Registration "**.', + 'BOT': 'BOT', + 'EMAIL_NON_VERIF': 'Email Not Verified\nread your mailbox and find **"Confirm Registration "**
and click on the button **"Verify Registration "**.', 'TELEGRAM_NOT_CONNECTED': 'Telegram not associated with your account!', 'NESSUN_INVITATO': 'You didn\'t invite anyone', 'ZOOM_PARTECIPATO': 'Participation in at least 1 Conference (Zoom)', 'LINEE_GUIDA': 'Guidelines Accepted', - 'VIDEO_INTRO': 'Seen the AYNI Video', + 'VIDEO_INTRO': 'Seen the Video', 'SCRITTO_SOGNO': 'You wrote your Dream', 'PAYMENTS': 'Methods of Payment', 'INVITATI': 'registered people you invited', @@ -329,7 +241,6 @@ const textlang = { 'TEMPORANEA': 'TEMPORARY', 'NAVE': 'SHIP', 'MSG_SEND_FROM': 'Msg sent by', - 'VUOI_IMBARCARTI': 'Attention! We understand that you have No Boarding assigned.\nThis may be due to an error during the site update phase, or because you have cancelled boarding yourself.\n\nDo you want to add now to the Next Boarding to continue your AYNI Trip?', 'ZOOM_CONFERMATO': 'You have been confirmed to have seen the Welcome Video Conference!', }, fr: { @@ -339,35 +250,30 @@ const textlang = { 'partecipanti': 'participants', 'partecipanti a Pranzo': 'partecipanti a Pranzo', 'partecipanti a Cena': 'partecipanti a Cena', - 'TESTO_ASSISTENZA': 'Pour entrer sur le site AYNI:\n%s\n\n' + - 'Vous avez oublié votre mot de passe pour accéder au site ?\nhttps://ayni.gifteconomy.app/requestresetpwd\n\n' + - 'Chat AYNI BOT (ce):\nhttps://t.me/notevoleaynibot\n\n' + - 'Chat AYNI - EMPOWER : Entrez ⛩ dans notre Community chat:\n%s\n\n' + - 'Canale News AYNI-BIBLIO:\n%s\n\n' + - 'Chat d’Aide et de Support: \'AYNI - HELP\'\nDu lundi au Vendredi (9:00 - 19:00)\n%s\n' + - '1 - Posez votre question et demandez d’être assisté.\n2 - Après avoir reçu l’aide, quittez le groupe.\nVous pourrez y entrer chaque fois qu’il vous sera nécessaire.', + 'TESTO_ASSISTENZA': 'Pour entrer sur le site:\n%s\n\n' + + 'Vous avez oublié votre mot de passe pour accéder au site ?\nhttps://ayni.gifteconomy.app/requestresetpwd\n\n', 'BENVENUTO': 'Bienvenue', 'TUE_NAVI': 'Voici vos navires programmés', 'HAI_I_7_REQUISITI': 'PREMIÈRES ÉTAPES OK!\nvous avez les 7 premiers Requis pour Entrer dans la liste d\'embarquement!', 'NON_HAI_I_7_REQUISITI': '\'Attention!\nVous ne remplissez pas encore les 7 conditions pour figurer sur la liste d\'embarquement!', - 'HAI_I_9_REQUISITI': 'FÉLICITATIONS!\n!Vous avez franchi les 9 étapes de la conduite ! Merci d\'avoir aidé AYNI à se développer!', + 'HAI_I_9_REQUISITI': 'FÉLICITATIONS!\n!Vous avez franchi les 9 étapes de la conduite ! Merci d\'avoir aidé à se développer!', 'NON_HAI_I_9_REQUISITI': 'N\'oubliez pas que vous pouvez aider le Mouvement à grandir et à se développer en partageant notre voyage avec tout le monde.!', 'INFO_LA_MIA_LAVAGNA': '✨ Liste des étapes: ✨ \n', 'INFO_LAVAGNA_SITO_COMPLETARE': 'Pour remplir toutes les conditions, rendez-vous sur le site:\n%s\nPour voir le statut de votre navire et de vos invités\n 👉🏻 Tableau.\n', - 'INFO_LAVAGNA_SITO': 'Pour voir en détail le statut de votre navire, sur le site de l\'AYNI, cliquez sur les 3 lignes en haut à gauche et allez sur "Tableau".\n', - 'INFO_LINK_DA_CONDIVIDERE': 'Liens à partager avec vos invités pour qu\'ils s\'inscrivent sur le site web d\'Ayni:\n\n%s', + 'INFO_LAVAGNA_SITO': 'Pour voir en détail le statut de votre navire, sur le site, cliquez sur les 3 lignes en haut à gauche et allez sur "Tableau".\n', + 'INFO_LINK_DA_CONDIVIDERE': 'Liens à partager avec vos invités pour qu\'ils s\'inscrivent sur le site web:\n\n%s', 'INFO_LINK_ZOOM': 'Liens à partager pour participer à Zoom (Conférence en ligne):\n%s', 'ZOOM_CONFERENCE': 'Vous trouverez ici les dates de programmation sur Zoom:', 'NON_VERIF': 'Non vérifié', 'VERIF': 'Vérifié', 'EMAIL': 'Courriel', - 'BOT': 'AYNI BOT', - 'EMAIL_NON_VERIF': 'Courriel non vérifié\nlisez votre boîte aux lettres et trouvez **"Confirmer l\'inscription à Ayni "**
et cliquez sur le bouton **"Vérifier l\'inscription "**.', + 'BOT': 'BOT', + 'EMAIL_NON_VERIF': 'Courriel non vérifié\nlisez votre boîte aux lettres et trouvez **"Confirmer l\'inscription "**
et cliquez sur le bouton **"Vérifier l\'inscription "**.', 'TELEGRAM_NOT_CONNECTED': 'Télégramme non associé à votre compte!', 'NESSUN_INVITATO': 'Vous n\'avez invité personne', 'ZOOM_PARTECIPATO': 'Participation à au moins 1 conférence (Zoom)', 'LINEE_GUIDA': 'Lignes directrices acceptées', - 'VIDEO_INTRO': 'Voir la vidéo AYNI', + 'VIDEO_INTRO': 'Voir la vidéo', 'SCRITTO_SOGNO': 'Vous avez écrit votre rêve', 'PAYMENTS': 'Modes de paiement', 'INVITATI': 'personnes inscrites que vous avez invitées', @@ -399,7 +305,6 @@ const textlang = { 'TEMPORANEA': 'TEMPORAIRE', 'NAVE': 'NAVIRE', 'MSG_SEND_FROM': 'Message envoyé par', - 'VUOI_IMBARCARTI': 'Attention ! Nous comprenons que vous n\'êtes actuellement pas affecté Pas d\'embarquement.\nCela peut être dû à une erreur lors de la phase de mise à jour du site, ou parce que vous avez vous-même annulé l\'embarquement.\n\nVoulez-vous vous ajouter maintenant au prochain embarquement pour continuer votre voyage AYNI ? ', 'ZOOM_CONFERMATO': 'Vous avez été confirmé comme ayant vu la vidéoconférence de bienvenue !', }, pt: { @@ -409,35 +314,28 @@ const textlang = { 'partecipanti': 'participantes', 'partecipanti a Pranzo': 'partecipanti a Pranzo', 'partecipanti a Cena': 'partecipanti a Cena', - 'TESTO_ASSISTENZA': 'Para entrar no site do AYNI:\n%s\n\n' + - 'Esqueceu sua senha para acessar o site?\nhttps://ayni.gifteconomy.app/requestresetpwd\n\n' + - 'Chat AYNI BOT (isto):\nhttps://t.me/notevoleaynibot\n\n' + - 'Chat AYNI - EMPOWER: Entrar em ⛩ na nossa comunidade de chat:%s\n\n' + - 'Canale News AYNI-BIBLIO:\n%s\n\n' + - 'Chat de Ajuda e Suporte: \'AYNI - HELP\'.\nDe segunda a Sexta (9:00 - 19:00 ITALY)\n%s\n' + - '1 - Faça a sua pergunta e peça ajuda.\n2 - Depois de receber ajuda, saia do chat.\nPode voltar sempre que precisar de o fazer..', + 'TESTO_ASSISTENZA': 'Para entrar no site:\n%s\n\n' + + 'Esqueceu sua senha para acessar o site?\nhttps://freeplanet.app/requestresetpwd\n\n', 'BENVENUTO': 'Bem-vindo', 'TUE_NAVI': 'Aqui estão os seus navios programados', 'HAI_I_7_REQUISITI': 'PRIMEIROS PASSOS OK!\nVocê tem os 7 primeiros requisitos para entrar na lista de embarque!', 'NON_HAI_I_7_REQUISITI': 'Atenção!\nVocê ainda não tem os 7 requisitos para entrar na lista de embarque!', - 'HAI_I_9_REQUISITI': 'FELICITAÇÕES!\nVocê completou TODAS as 9 etapas da condução! Obrigado por ajudar a AYNI a expandir!', - 'NON_HAI_I_9_REQUISITI': 'Lembre-se que pode ajudar o Movimento a crescer e expandir-se, partilhando a nossa jornada com todos!', 'INFO_LA_MIA_LAVAGNA': '✨ Lista de etapas: ✨ \n', 'INFO_LAVAGNA_SITO_COMPLETARE': 'Para completar todos os requisitos ir para o sitio:\n%s\nPara ver o estado do seu navio e dos seus convidados:\n 👉🏻 Entre no seu Tablero.\n', - 'INFO_LAVAGNA_SITO': 'Para ver em detalhe o estado do seu navio, no site da AYNI, clique nas 3 linhas no canto superior esquerdo e vá para "DashBoard"..\n', - 'INFO_LINK_DA_CONDIVIDERE': 'Links para partilhar com os seus convidados para que se registem no website da Ayni:\n\n%s', + 'INFO_LAVAGNA_SITO': 'Para ver em detalhe o estado do seu navio, no site, clique nas 3 linhas no canto superior esquerdo e vá para "DashBoard"..\n', + 'INFO_LINK_DA_CONDIVIDERE': 'Links para partilhar com os seus convidados para que se registem no website:\n\n%s', 'INFO_LINK_ZOOM': 'Links para partilhar para participar na Zoom (Conferência Online):\n%s', 'ZOOM_CONFERENCE': 'Aqui está o programa das Conferências (Zoom) aberto a TODOS:', 'NON_VERIF': 'Não verificado', 'VERIF': 'Verificado', 'EMAIL': 'Email', - 'BOT': 'AYNI BOT', - 'EMAIL_NON_VERIF': 'Email Não verificado\nleia a sua caixa de correio e encontre **"Confirmar o registo à Ayni"**
e clique no botão **"Verificação do registo"**', + 'BOT': 'BOT', + 'EMAIL_NON_VERIF': 'Email Não verificado\nleia a sua caixa de correio e encontre **"Confirmar o registo"**
e clique no botão **"Verificação do registo"**', 'TELEGRAM_NOT_CONNECTED': 'Telegrama não associado à sua conta!', 'NESSUN_INVITATO': 'Você não convidou ninguém', 'ZOOM_PARTECIPATO': 'Participação em pelo menos 1 Conferência (Zoom)', 'LINEE_GUIDA': 'Directrizes Aceites', - 'VIDEO_INTRO': 'Ver o vídeo do AYNI', + 'VIDEO_INTRO': 'Ver o vídeo', 'SCRITTO_SOGNO': 'Você escreveu o seu sonho', 'PAYMENTS': 'Formas de pagamento', 'INVITATI': 'pessoas registadas que convidou', @@ -469,7 +367,6 @@ const textlang = { 'TEMPORANEA': 'TEMPORÁRIO', 'NAVE': 'NAVE', 'MSG_SEND_FROM': 'Mensagem enviada por', - 'VUOI_IMBARCARTI': 'Atenção! Compreendemos que actualmente não lhe é atribuído Sem Embarque.\nIsto pode ser devido a um erro durante a fase de actualização do site, ou porque você mesmo cancelou o embarque.\n\nDeseja juntar-se agora ao próximo embarque para continuar a sua viagem AYNI?', 'ZOOM_CONFERMATO': 'Foi-lhe confirmado que assistiu à Conferência de Vídeo de Boas-vindas!', }, }; @@ -484,10 +381,11 @@ module.exports = { LANGADMIN: 'it', + FREEPLANET: '1', AYNI: '7', CNM: '10', - HELP_CHAT: 'https://t.me/joinchat/AL2qKE80rxDkgbeMGO-0bw', + HELP_CHAT: '', TYPECONF_ZOOM: 'zoom', TYPECONF_JITSI: 'jitsi', @@ -545,6 +443,7 @@ module.exports = { multioption: 6000, onlydate: 7000, hours: 8000, + crypted: 9000, }, MAX_PHASES: 5, @@ -2076,6 +1975,10 @@ module.exports = { } } + if (shared_consts.TABLES_PERM_CHANGE_FOR_USERS.includes(table)) { + return true; + } + return false; }, diff --git a/src/server/tools/shared_nodejs.js b/src/server/tools/shared_nodejs.js index 6dcfdb0..16f7915 100755 --- a/src/server/tools/shared_nodejs.js +++ b/src/server/tools/shared_nodejs.js @@ -36,6 +36,9 @@ module.exports = { TAB_COUNTRY: 'countries', TAB_PHONES: 'phones', + TAB_SETTINGS: 'settings', + + KEY_TO_CRYPTED: ['PWD_FROM'], TablePickup: ['countries', 'phones'], @@ -50,6 +53,8 @@ module.exports = { TABLES_USER_ID: ['myskills'], TABLES_UPDATE_LASTMODIFIED: ['myskills'], + TABLES_PERM_CHANGE_FOR_USERS: ['myskills'], + CashType: { None: 0, Incoming: 1, diff --git a/src/server/tools/shared_vuejs.ts b/src/server/tools/shared_vuejs.ts index d0febe4..d43753b 120000 --- a/src/server/tools/shared_vuejs.ts +++ b/src/server/tools/shared_vuejs.ts @@ -1 +1 @@ -../../../../freeplanet/src/common/shared_vuejs.ts \ No newline at end of file +../../../../newfreeplanet/src/common/shared_vuejs.ts \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 4900e46..3691382 100755 --- a/yarn.lock +++ b/yarn.lock @@ -6741,10 +6741,10 @@ node-releases@^1.1.75: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== -node-telegram-bot-api@^0.54.0: - version "0.54.0" - resolved "https://registry.yarnpkg.com/node-telegram-bot-api/-/node-telegram-bot-api-0.54.0.tgz#1a857ddeb2f523d81c8e10a1b70169c7cf069ff5" - integrity sha512-ckrpY/ABFLwA1DUzEc9iEQtsgQs8WcGC6m7iJ1bbnH+c7EOLnMdCfw+hUesyfuwOfAkkECYFxvoW4lJNy+Oztw== +node-telegram-bot-api@^0.56.0: + version "0.56.0" + resolved "https://registry.yarnpkg.com/node-telegram-bot-api/-/node-telegram-bot-api-0.56.0.tgz#caf653574ed30530e2855a038b4d806f65c48677" + integrity sha512-gKUlH/uUXdSJ++6y1Y16qEThZouecfl4twuPKe6V2BPFDDfom9j2QMlxfslPEjZPH2ZXlA1S/uoRCKtIjzuaLw== dependencies: array.prototype.findindex "^2.0.2" bl "^1.2.3"