- cataloghi...

- fix: condividi su Telegram non funzionava errore sull'immagine
This commit is contained in:
Surya Paolo
2024-11-02 18:06:12 +01:00
parent 3bdab927b6
commit b7ffd751dc
12 changed files with 145 additions and 48 deletions

View File

@@ -1,12 +1,12 @@
DATABASE=test_PiuCheBuono
DATABASE=test_FreePlanet
UDB=paofreeplanet
PDB=mypassword@1A
SEND_EMAIL=0
SEND_EMAIL_ORDERS=1
PORT=3000
appTelegram_TEST=["1","17"]
appTelegram=["1","17"]
appTelegram_DEVELOP=["17"]
appTelegram_TEST=["1","13"]
appTelegram=["1","13"]
appTelegram_DEVELOP=["13"]
DOMAIN=mongodb://localhost:27017/
AUTH_MONGODB=1
MONGODB_USER=admin
@@ -41,7 +41,4 @@ FTPSERVER_USER=ftpusrsrv_
FTPSERVER_PWD=ftpmypwd@1A_
AUTH_NEW_SITES=123123123
SCRIPTS_DIR=admin_scripts
CLOUDFLARE_TOKENS=[{"label":"Paolo.arena77@gmail.com","value":"M9EM309v8WFquJKpYgZCw-TViM2wX6vB3wlK6GD0"},{"label":"gruppomacro.com","value":"bqmzGShoX7WqOBzkXocoECyBkPq3GfqcM5t6VFd8"}]
MIAB_HOST=box.lamiaposta.org
MIAB_ADMIN_EMAIL=admin@lamiaposta.org
MIAB_ADMIN_PASSWORD=passpao1pabox@1A
CLOUDFLARE_TOKENS=[{"label":"Paolo.arena77@gmail.com","value":"M9EM309v8WFquJKpYgZCw-TViM2wX6vB3wlK6GD0"},{"label":"gruppomacro.com","value":"bqmzGShoX7WqOBzkXocoECyBkPq3GfqcM5t6VFd8"}]

View File

Before

Width:  |  Height:  |  Size: 556 KiB

After

Width:  |  Height:  |  Size: 556 KiB

View File

@@ -64,6 +64,9 @@ const MyBachecaSchema = new Schema({
contact_phone: {
type: String
},
contact_email: {
type: String
},
contact_telegram: {
type: String
},

View File

@@ -4,7 +4,7 @@ const Schema = mongoose.Schema;
const tools = require('../tools/general');
const { ObjectID, ObjectId } = require('mongodb');
const { MySchedaSchema, scheletroScheda } = require('../models/myscheda');
const { MySchedaSchema, IDimensioni } = require('../models/myscheda');
mongoose.Promise = global.Promise;
mongoose.level = "F";
@@ -48,6 +48,13 @@ const elemText = new Schema(
}
);
const IElementiPagina = new Schema(
{
pagina: IDimensioni,
riga: IDimensioni,
}
);
const catalogo = new Schema(
{
@@ -57,10 +64,6 @@ const catalogo = new Schema(
Editore: [{ type: String }],
pdf: { type: Boolean },
printable: { type: Boolean },
backgroundimage: { type: String },
backgroundimage_printable: { type: String },
widthpag: { type: Number },
widthpagPrintable: { type: Number },
width: { type: String },
height: { type: String },
@@ -73,15 +76,27 @@ const catalogo = new Schema(
last_page_height: { type: Number },
last_page_width: { type: Number },
margine_pagina: { type: String },
margine_riga: { type: String },
margine_paginaPrintable: { type: String },
margine_rigaPrintable: { type: String },
backgroundimage: { type: String },
backgroundimage_printable: { type: String },
backgroundSize: { type: String },
backgroundSize_printable: { type: String },
widthpagPrintable: { type: Number },
// -------------------
arrSchede: [
{
scheda: scheletroScheda,
scheda: MySchedaSchema,
order: { type: Number },
numSchede: { type: Number },
/*arrProdToShow: {
type: [[mongoose.Schema.Types.Mixed]], // Definizione tipo
select: false // Imposta il campo come non selezionabile
},*/
}
],
}

View File

@@ -13,24 +13,46 @@ mongoose.plugin(schema => {
schema.options.usePushEach = true
});
const ISize = new Schema({
width: { type: String },
height: { type: String },
});
const IBorders = new Schema({
top: { type: String },
bottom: { type: String },
left: { type: String },
right: { type: String },
})
const IDimensioni = new Schema({
size: ISize,
margini: IBorders,
padding: IBorders,
});
const IElementiScheda = new Schema({
pagina: IDimensioni,
riga: IDimensioni,
scheda_prodotto: IDimensioni,
immagine_prodotto: IDimensioni,
});
const scheletroScheda = {
idapp: {
type: String,
},
name: { type: String },
idapp: { type: String },
isTemplate: { type: Boolean },
widthpag: { type: Number },
width: { type: Number },
height: { type: Number },
widthscheda: { type: String },
name: { type: String },
line_height: { type: Number },
numschede_perRiga: { type: Number },
numschede_perCol: { type: Number },
margine_top: { type: Number },
margine_pagina: { type: String },
margine_riga: { type: String },
text: { type: String },
posiz_text: { type: Number },
line_height: { type: Number },
dimensioni: IElementiScheda,
bgimg: { type: String },
bgimg_printable: { type: String },
bgSize: { type: String },
bgSize_Printable: { type: String },
productTypes: [{ type: Number }],
excludeproductTypes: [{ type: Number }],
@@ -68,4 +90,4 @@ MyScheda.createIndexes((err) => {
if (err) throw err;
});
module.exports = { MyScheda, MySchedaSchema, scheletroScheda };
module.exports = { MyScheda, MySchedaSchema, IDimensioni };

View File

@@ -1009,7 +1009,7 @@ sendNotifSchema.statics.createNewNotification = async function (req, res, params
myrecnotif.idrec = rec._id;
try {
if (rec.photos && rec.photos[0]) {
const mydir = server_constants.DIR_UPLOAD + shared_consts.getDirectoryByTable(table, true);
const mydir = tools.getHostByIdApp(myrecnotif.idapp) + server_constants.DIR_UPLOAD + '/' + shared_consts.getDirectoryImgByTable(table, rec.username);
myrecnotif.img = mydir + rec.photos[0].imagefile;
}
} catch (e) {

View File

@@ -888,7 +888,10 @@ function startServer(app, port) {
// Middleware per assicurarsi che gli headers CORS siano sempre presenti
app.use((req, res, next) => {
const origin = req.headers.origin;
let origin = req.headers.origin;
if (!origin) {
origin = '*';
}
if (corsOptions.origin === '*' ||
(typeof corsOptions.origin === 'function' &&
corsOptions.origin.toString().includes(origin))) {

View File

@@ -760,7 +760,7 @@ const MyTelegramBot = {
if (cl && idtelegram) {
return await cl.sendMsg(idtelegram, text, null, MyForm, message_id,
chat_id, ripr_menuPrec, img);
chat_id, ripr_menuPrec, img, { idapp });
}
return { text: '' };
@@ -3883,7 +3883,10 @@ class Telegram {
};
}
if (opt && opt.img) {
opt.img = tools.fixUrl(opt.img, opt.idapp);
console.log('opt.img', opt.img)
return this.bot.sendPhoto(id, opt.img, { caption: text, ...form }).catch((e) => {
let blocked = false;
if ((e.message.indexOf('Forbidden') > 0) ||
@@ -3942,7 +3945,7 @@ class Telegram {
}
}
async sendMsg(id, text, menu, form, msg_id, chat_id, ripr_menuPrec, img = '') {
async sendMsg(id, text, menu, form, msg_id, chat_id, ripr_menuPrec, img = '', opzioni = null) {
if (!id || !text)
return false;
@@ -3952,12 +3955,12 @@ class Telegram {
let text1 = text.slice(0, 4090);
let text2 = text.slice(4090, text.length);
await this._inviaMsg(id, text1, form, menu, msg_id, chat_id,
ripr_menuPrec, { img });
ripr_menuPrec, { img, ...opzioni });
return await this._inviaMsg(id, text2, form, menu, msg_id, chat_id,
ripr_menuPrec, { img });
ripr_menuPrec, { img, ...opzioni });
} else {
return await this._inviaMsg(id, text, form, menu, msg_id, chat_id,
ripr_menuPrec, { img });
ripr_menuPrec, { img, ...opzioni });
}
} catch (e) {
console.error('Error sendMsg', e);

View File

@@ -3800,8 +3800,8 @@ module.exports = {
},
getmd5(mystr) {
return CryptoJS.MD5(mystr.toLowerCase()).toString();
getmd5(mystr) {
return CryptoJS.MD5(mystr ? mystr.toLowerCase(): '').toString();
},
getHash(mystr) {
@@ -4639,7 +4639,7 @@ module.exports = {
} else if (paramstr === 'DESCRIZ') {
description = value;
} else if (paramstr === 'SOCK') {
sock = (value.toLowerCase() === 'true');
sock = (value ? (value.toLowerCase() === 'true'): false);
}
}
@@ -4952,7 +4952,7 @@ module.exports = {
descrcontent = '';
}
mystr += `${icon} <strong>${title}</strong> ${icon}\n`;
mystr += `${icon} <strong>${title}</strong>\n`;
if (descrcontent) {
mystr += `${descrcontent}\n`;
@@ -5252,6 +5252,10 @@ module.exports = {
let status = '';
let online = false;
let solo_online = false;
let writtenby = myrec.username;
let sitoweb = '';
let contact_phone = '';
let contact_email = '';
if (tablerec === shared_consts.TABLES_MYGOODS) {
cat = await this.getCategoriaGoodByRec(myrec)
} else if (tablerec === shared_consts.TABLES_MYSKILLS) {
@@ -5265,11 +5269,19 @@ module.exports = {
} else if (tablerec === shared_consts.TABLES_MYHOSPS) {
cat = '';
} else if (tablerec === shared_consts.TABLES_MYBACHECAS) {
if (myrec.website) {
sitoweb = myrec.website
}
contact_phone = myrec.contact_phone || '';
contact_email = myrec.contact_email || '';
if (myrec.organisedBy) {
organizedBy = myrec.organisedBy;
contatto = '';
}
if ((myrec.contact_telegram.toLowerCase() !== contatto_telegram.toLowerCase()) || !contatto) {
if ((myrec.contact_telegram && myrec.contact_telegram.toLowerCase() !== contatto_telegram.toLowerCase()) || !contatto) {
contatto += '\n' + myrec.contact_telegram;
}
if (myrec.contact_phone) {
@@ -5312,12 +5324,22 @@ module.exports = {
if (incambiodi)
out += this.addRowTelegram('⚖️', 'In cambio di', incambiodi, true);
if (sitoweb)
out += this.addRowTelegram('🌐', 'Sito Web', sitoweb, true);
if (contributo)
out += this.addRowTelegram('💰', 'Contributo', contributo, true);
out += this.addRowTelegram('💰', 'Contributo Richiesto', contributo, true);
if (contact_phone) {
out += this.addRowTelegram('📞', 'Telefono', contact_phone, true);
}
if (contact_email) {
out += this.addRowTelegram('📨', 'Email', contact_email, true);
}
if (organizedBy) {
out += this.addRowTelegram('🏠', 'Organizzato da', organizedBy, true);
out += this.addRowTelegram('', 'Redatto da', contatto, true);
out += this.addRowTelegram('✍️', 'Redatto da', writtenby, true);
} else {
out += this.addRowTelegram('👤', 'Contatto', contatto, true);
}
@@ -5715,17 +5737,16 @@ module.exports = {
try {
let dir = this.getdirByIdApp(idapp) + dirmain + '/' + this.getDirUpload();
// let dir = this.getdirByIdApp(idapp) + dirmain + '/' + this.getDirUpload();
let dir = this.getHostByIdApp(idapp) + '/' + this.getDirUpload() + shared_consts.getDirectoryImgByTable(table, username) + dirmain;
let foldermain = dir + 'profile/' + username;
img = dir + img;
img = foldermain + '/' + table + '/' + img;
if (checkifExist) {
/*if (checkifExist) {
if (!fs.existsSync(img)) {
return '';
}
}
}*/
if (!this.sulServer()) {
// Finta Immagine
@@ -5774,4 +5795,19 @@ module.exports = {
return cleanedName;
},
fixUrl(myurl, idapp) {
if (!myurl.startsWith('http')) {
return this.getHostByIdApp(idapp) + myurl;
}
if (myurl.startsWith('http://127.0.0.1')) {
//myurl = myurl.replace('http://127.0.0.1:8084/', 'https://riso.app/')
// Se è in locale allora metti una foto finta...
myurl = 'https://images.unsplash.com/photo-1464047736614-af63643285bf?q=80&w=2874&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D'
//myurl = myurl.replace('http://127.0.0.1', 'http://localhost')
}
return myurl;
}
};

View File

@@ -462,6 +462,7 @@ module.exports = {
await tools.snooze(25);
textsent = risult.text;
}
}
}

View File

@@ -184,6 +184,12 @@ module.exports = {
// Condivise
TABLES_FAVORITE_BOOKMARK: ['myskills', 'mygoods', 'mybachecas', 'myhosps', 'attivitas'],
TABLEFORUSERS: [
'myskills',
'mygoods',
'mybachecas',
'myhosps',
],
// Solo per NODEJS
@@ -244,6 +250,7 @@ module.exports = {
TABLES_PERM_CHANGE_FOR_USERS: ['myskills', 'mybachecas', 'myhosps', 'mygoods'],
TABLES_POPULATE_DATA: [
{
table: 'adtypegoods',
@@ -911,6 +918,7 @@ module.exports = {
website: 1,
organisedBy: 1,
contact_phone: 1,
contact_email: 1,
contact_telegram: 1,
address: 1,
min_partecip: 1,
@@ -1012,6 +1020,15 @@ module.exports = {
return (trovatorec) ? trovatorec.label : ''
},
getDirectoryImgByTable(table, username) {
if (this.TABLEFORUSERS.includes(table)) {
ris = 'profile/' + username + '/' + table + '/';
}
return ris;
},
ButtonCodeAction: {
NONE: 0,
NEXT_10: 1,

View File

@@ -1 +1 @@
1.1.7
1.1.9