From c7ca4e2878c20e33869c8582d9eaa9a9aedb360c Mon Sep 17 00:00:00 2001 From: paoloar77 Date: Thu, 10 Nov 2022 19:33:23 +0100 Subject: [PATCH] Webpage Editor functionality --- .vscode/launch.json | 30 ++++++++++++++++++++++++++++ cert.pem | 21 ++++++++++++++++++++ errlogin.txt | 17 ++++++++++++++++ key.pem | 28 ++++++++++++++++++++++++++ localhost.crt | 18 +++++++++++++++++ localhost.key | 28 ++++++++++++++++++++++++++ logmanagers.txt | 32 ++++++++++++++++++++++++++++++ package.json | 2 +- src/server/models/circuit.js | 8 +++++++- src/server/models/myelem.js | 18 +++++++++++++++++ src/server/router/index_router.js | 2 +- src/server/server.js | 8 ++++++++ src/server/telegram/prova.txt | 1 + src/server/telegram/telegrambot.js | 10 ++++++++-- src/server/test | 9 +++++++++ 15 files changed, 227 insertions(+), 5 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 cert.pem create mode 100644 errlogin.txt create mode 100644 key.pem create mode 100644 localhost.crt create mode 100644 localhost.key create mode 100644 logmanagers.txt create mode 100644 src/server/telegram/prova.txt create mode 100644 src/server/test diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..c7bd6b0 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,30 @@ +{ + // Usare IntelliSense per informazioni sui possibili attributi. + // Al passaggio del mouse vengono visualizzate le descrizioni degli attributi esistenti. + // Per altre informazioni, visitare: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "console": "integratedTerminal", + "internalConsoleOptions": "neverOpen", + "name": "nodemon", + "program": "${workspaceFolder}", + "request": "launch", + "restart": true, + "runtimeExecutable": "nodemon", + "skipFiles": [ + "/**" + ], + "type": "node" + }, + { + "type": "node", + "request": "launch", + "name": "Launch Program", + "skipFiles": [ + "/**" + ], + "program": "${file}" + } + ] +} \ No newline at end of file diff --git a/cert.pem b/cert.pem new file mode 100644 index 0000000..83d6f8b --- /dev/null +++ b/cert.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDfjCCAmYCCQDuxPOSl7eSfzANBgkqhkiG9w0BAQsFADCBgDELMAkGA1UEBhMC +SVQxDTALBgNVBAgMBFJvbWUxDTALBgNVBAcMBFJvbWUxEDAOBgNVBAoMB015TG9j +YWwxDjAMBgNVBAsMBU15T3JnMRIwEAYDVQQDDAlsb2NhbGhvc3QxHTAbBgkqhkiG +9w0BCQEWDnN1cnlhQHJpc28uYXBwMB4XDTIyMTAyNzE3NTE0OFoXDTMyMTAyNDE3 +NTE0OFowgYAxCzAJBgNVBAYTAklUMQ0wCwYDVQQIDARSb21lMQ0wCwYDVQQHDARS +b21lMRAwDgYDVQQKDAdNeUxvY2FsMQ4wDAYDVQQLDAVNeU9yZzESMBAGA1UEAwwJ +bG9jYWxob3N0MR0wGwYJKoZIhvcNAQkBFg5zdXJ5YUByaXNvLmFwcDCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwYU5+0Ts0kYEgby9LmFS4agI50oRrB +QBE7J5X0OnVAwRvZNzBzH/9PV0qApaVund5agznFVJjeuARSyK9Gsy7s7gu68zN9 +HXyeV6pecEE1iqqfFZghIlebebbZbtXACVU0MmYSuP3rC/oFzmj/ZGKN8i5nqYGl +IquRNTGqqunIrrBFJdtBV/1FIU2sfYNxWNNfmzx9xRiVD5dwP+P/uufLAiWlUyW3 +QJoe6S6obFhn4Ctu7j7bioIMq6tfZj38Nmc9BXvVSBHDCTH33WH3nYb5d9/Wy/xU +rY686CglfOiqF5H3CPvw+phqycQIol7BZuwAgaHt/XermH/Icb1LKh0CAwEAATAN +BgkqhkiG9w0BAQsFAAOCAQEAkXJyZWFaS9zL2t9UvqPh9R7Hk0AYGcVvbfMTP170 +anUExyhuEmKjL4t2Xroe1jdNlQYgYKJ3PS9fTA/HevlKEUfHvlIePmLI4JZhB8uP +DlICc5ktLtFxIxWnJ7X6O0Dk8hpErmbR3nDzbEJLAiJuUgG+WhlNal9sWveO1pPN +1eAB4gRjmn/o4vxgyPKYVgd08hbmnuYTmBczLSJZBGTM4SfLvG6fZpvCxrTYSC+J +SJyaH8hjiVuXiemNyq8BCo3WOE3z/1IuNy7b+tY8hct5FNoBPFtkz1GES5qJf5kp +n5+4tkriXqp+PMH4bgXcZ9CuQHFdwv/QndfCziKvVh8lPQ== +-----END CERTIFICATE----- diff --git a/errlogin.txt b/errlogin.txt new file mode 100644 index 0000000..91bd708 --- /dev/null +++ b/errlogin.txt @@ -0,0 +1,17 @@ + +Mar 25/10 ORE 18:46: Tentativo di Login ERRATO [paoloar77 , passpao1pa@1A] +[IP: ::1] +Mar 25/10 ORE 18:47: Tentativo di Login ERRATO [paoloar77 , passpao1pa@1A] +[IP: ::1] +Mar 25/10 ORE 18:47: Tentativo di Login ERRATO [surya1977 , passpao1pa@1A] +[IP: ::1] +Mar 25/10 ORE 19:00: Tentativo di Login ERRATO [paoloar77 , passpao1pa@1A] +[IP: ::1] +Mar 25/10 ORE 19:06: Tentativo di Login ERRATO [paoloar77 , passpao1pa@1A] +[IP: ::1] +Mer 26/10 ORE 13:46: Tentativo di Login ERRATO [paoloar77 , passpao1pa@1A] +[IP: ::1] +Mar 08/11 ORE 16:25: Tentativo di Login ERRATO [paoloar77 , passpao1pa~1A] +[IP: ::1] +Mar 08/11 ORE 16:31: Tentativo di Login ERRATO [paoloar77 , passpao1pa~1A] +[IP: ::1] \ No newline at end of file diff --git a/key.pem b/key.pem new file mode 100644 index 0000000..0846880 --- /dev/null +++ b/key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDMGFOftE7NJGBI +G8vS5hUuGoCOdKEawUAROyeV9Dp1QMEb2Tcwcx//T1dKgKWlbp3eWoM5xVSY3rgE +UsivRrMu7O4LuvMzfR18nleqXnBBNYqqnxWYISJXm3m22W7VwAlVNDJmErj96wv6 +Bc5o/2RijfIuZ6mBpSKrkTUxqqrpyK6wRSXbQVf9RSFNrH2DcVjTX5s8fcUYlQ+X +cD/j/7rnywIlpVMlt0CaHukuqGxYZ+Arbu4+24qCDKurX2Y9/DZnPQV71UgRwwkx +991h952G+Xff1sv8VK2OvOgoJXzoqheR9wj78PqYasnECKJewWbsAIGh7f13q5h/ +yHG9SyodAgMBAAECggEARmStkwvRkhfVzYkox9jrvTcO2BOJ7Xxx6H+Kq8HM19w5 +vq0wx9ktVBW9ecjdWS3J7YMyd56ECyXmOjeDWFD+RFUb1ZfpgfzJSs4iVnS0KwmY +hjjQbeQfwC+zz0k3XSobDfQu3d3fSFTlkJqoErbjnMpwmWjPohOe3aX7vuGqiW88 +gx2e0OWtS6x2vhD9c+4fbvRmMLG/b0NEAuFXIqbFL3pFi7rYz1GM4mSIHHtbNFJb +deok4B38X54wSor8lSavwdBUG3oANNorTRbZ6S10JH+dVhqRjuf0oFK5cla4kBN+ +QOsMOU3dKbEGjZT94l7AfgQz0y1UlB8e/LNHxeMjUQKBgQDltZv3ti0nLlPxNTTS +e0qyvfXQmjq+lewGXsZVEPR9KPUxQkUNtFISIt9f967dIIEgOxHFoOD7mLjsgPAy +nh6Sqak/5hgjn9pMewFYjAr64PnHu5uI85AZvBG7GE095LbT02MdHOjIh53xOjJw +CX7mmcWiciacUxcWraLaKvyluwKBgQDjdDn86y19TsN/EreYIW8jgwuYp1YYkwdo +YD38WzMEmDLx2F0A4H5d8VH9oPEL2Nc2t4mRa29XLBKmMjwFR32LXM/R9Fmp04Hm +iV10qaBgqsIaLGMKY/FuciNXaC5gjWUgcyK+p/d/IP5QA8tI8iHlm23/IaGw8rTR +PKAgu1zGBwKBgQCYoyDMbUV7r5Efypca9cohE5Dv2EwIsF5xrTBk/is3r6ud28c+ +3/9ZBcsgXdjYHu0umZGpnMli5YybuuHhAKiYFBze1OpdYa8Q+vtd91CkfDH9wnAL +hKzQLOQrSm6pHf1OrDxD8B3Ogi81R9KUF/s3CB8HXorBfYTuENsR1VakWQKBgQDW +P5CvsEc1FZAIjnTpk/TAGpw9usHafAQqSR2aK72uwj6amBdi0BO4Iav9oC/t3N87 +5z5qACzsi9M1QXRP9LtJHq+TMPuUgGqH4TRqw60R4UbcqJrSGro8Mr8fgj7NK+Lp +4goEVOtIkKd8b1Z467sKMJI4FFHd/4Ba5yReMJ5+2QKBgQCOH31QC6SDCTBo4D8c +J7lckHaWlcHWfY/5mLSf8AICPm8RmjDqEps4xGaQU71owkSv6CPBg1/X/ScxeUet +jz8EYVWIf+aqllDA+NyVKFhSdYtoFZ+LLu20ySZSWFsTHikbQwtiKjirXIeh6o9D +Sv3l9YcPFjzai+agGhmJP2CpBA== +-----END PRIVATE KEY----- diff --git a/localhost.crt b/localhost.crt new file mode 100644 index 0000000..c88394e --- /dev/null +++ b/localhost.crt @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC2jCCAcICCQDk17iRXkBuPDANBgkqhkiG9w0BAQsFADAvMQswCQYDVQQGEwJJ +VDENMAsGA1UECAwEUm9tZTERMA8GA1UEBwwIw4PCuVJvbWUwHhcNMjIxMDI2MTAw +MzM1WhcNMjMxMDI2MTAwMzM1WjAvMQswCQYDVQQGEwJJVDENMAsGA1UECAwEUm9t +ZTERMA8GA1UEBwwIw4PCuVJvbWUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQDYSlyBJnHpiFcxpDsl06X3YdDfj84C91BvWyuPXBWx2TS2A4ELP6uHim5J +cR9NT2L9b3nE5tA14M8V9Ii84wo1ZRsm/jV1VnpRxZ18KCMjduhPLeDDuga3kaEy +fuvHeNKKmFNzVegw4y9VUhs4gi+5t3mrf98nBh3GVQYM0nLocc6p2jUTOO7GxM21 +g9hnW6cmf7FftMdq5FauNaq8QoIcDoUS+4cIal42HIOTzMgFAzfpjpO9zhogzY1T +o1N6gH60i1/26XbdwbUQ9vJiPRPgyMXUJlnOFYjwqs+zrgGi6OPOPDdeCqGIP8/N +G1FWnwvfPAn3aN004cRrSWvjSvnXAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAGWd +JJs3ujUbQYstxFAF20Z7Nko8fW7bgjG3llUmScE3zMoOHV+x8FtLxVSCS1r7767e +MTTyoEW2jvvYt5jIXjij5KSweu1D5WIcvfU4dFD8TZ4PgzESak9xe5Yh9n5dbcAy +iUyPbElfWQUmiw1ZGSKx+sAzDU3dZP5sYWE/+t//Kbz4cDi9CnzEByBYHg+1dYa+ +v1n65kJPxgSmQuR86FcCB73sbQCerOPkva0OOs8oVWVy5+LOpDA10P8mldPen6c1 +L5fX450ra0qZx9MhunQRGQbIeJ+8rhnCeXPTDzLeEQp5WgWSZqHl45HOwt5mjT+W +QBYED/1hD7a0ycm/e5E= +-----END CERTIFICATE----- diff --git a/localhost.key b/localhost.key new file mode 100644 index 0000000..545eb3c --- /dev/null +++ b/localhost.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDYSlyBJnHpiFcx +pDsl06X3YdDfj84C91BvWyuPXBWx2TS2A4ELP6uHim5JcR9NT2L9b3nE5tA14M8V +9Ii84wo1ZRsm/jV1VnpRxZ18KCMjduhPLeDDuga3kaEyfuvHeNKKmFNzVegw4y9V +Uhs4gi+5t3mrf98nBh3GVQYM0nLocc6p2jUTOO7GxM21g9hnW6cmf7FftMdq5Fau +Naq8QoIcDoUS+4cIal42HIOTzMgFAzfpjpO9zhogzY1To1N6gH60i1/26XbdwbUQ +9vJiPRPgyMXUJlnOFYjwqs+zrgGi6OPOPDdeCqGIP8/NG1FWnwvfPAn3aN004cRr +SWvjSvnXAgMBAAECggEBALQ2OR8OtkjbZbMh4Hpi/1zAbnVnb0H/aFBwCTpYgmb9 +0DJ7dvC1ayjyyXN9wpP6ukLpt+68Ve0eU806QxgGn8HfbSEvG8GZfS9W1SHWm3h4 +IZWfZzANdn1K5KGbKL65x8rcomNtx5m8IPsY/z81EajO25xuXbM5IGPZAcJ7MmzC +pjsGd1DPbL8x01VXn78GRkHELuc0MGbiT6TWfUld49m7VKSuZ4utlCQ5b381u7nd +4dOu3SLb8B+RA70fRUalUQ6XWQhKtN0P6N63kzhxN15YNOW4sfhDjzyNWGuvRgRJ +BQe2l9xHTEMxoFfbvyJsGcEVw4GVwSEVpILINmHK24kCgYEA78FlVL8HbDZBPQ9q +4k5PD9JbUYu97I+TaZ3eiolUb7hl6J3CtFVmz4BGdD4ZjdnEzTukZ9lzLTPm14IN +3OJkul8fG9CiFwP/K+sHCEGo5k0oXCAWAPmPVLQNVQkJZQ5YmV8Ij7tdDtKNGPaM +802S4R4Y+BMBtxjgY0rRbCF8O4UCgYEA5vH2AvbQkujPIJEeMWVjJfjdew4p0VIO +TwcwNVRT9uijlpyUTZm3OFhMg38QKq0eXDHe5aslAHCofdJur2bT7kjFr7G2VZk8 +sABNgqiEKfppvOCZYCdCZpZysKC2/agVz0WC4Nd3cfI6aX6Nnzb9rfoKRWn/QTGo +GVMngtDr2KsCgYB2O7o766S+cZcEhJjiF1oX5FXSRgaYJUm9+PNpAEZafeYLq9j7 +023LAGg+JO23LWBHEZWG/Q42iXTabDFn72FbI1OVBPMaRIdO4i1qne6r+/reS5hu +TKOpUs2MVNOEOWnp4Jq5Pt2qVJzuZY+m4GeBirUniT/8SlFFxfy2xWCdfQKBgQC3 +2S8LNQjdqtAZEO2ETT4c4H0QlTndFQGnEAXkrnkZOiHgqE23aQNeq4xdsi1gi+h7 +ZIgZNaGDNCwt3fOXVrioHO6i60pH4nFZeyQ5O4XbFSpP3ky7KwXFPUeYLJkAXWrf +UmraKy0/XKH7kW+Uq+ZPNZovoC4/7BPx9SyjC0Z1eQKBgQDtIsA3fzHX0WCoPKrB +tbPyply6EcRoPQa/qQLR3jH+rUOsn3QZvKELR2xAcYfZoMwv2clY4JveOqpErlhJ +gO/NdZkbfgTIixytYqgz/HJ4C3j0LogxnEMCDvW36TGqX9uqdf+9uQUwedDHVnU5 +JPFao8ylY0DOWjwEC2pZ/62EKw== +-----END PRIVATE KEY----- diff --git a/logmanagers.txt b/logmanagers.txt new file mode 100644 index 0000000..dc0cbc1 --- /dev/null +++ b/logmanagers.txt @@ -0,0 +1,32 @@ + +Sab 29/10 ORE 11:36: 🔥[%] Si è appena Iscritto al Conacreis "http://localhost:8089" Dsada Sdad +Sab 29/10 ORE 11:50: 🔥[%] Si è appena Iscritto ad Arcadei "http://localhost:8089" Dsada Aasda +Sab 29/10 ORE 11:53: 🔥[%] Si è appena Iscritto ad Arcadei "http://localhost:8089" Hjgj Dsa +Sab 29/10 ORE 12:01: 🔥[%] Si è appena Iscritto ad Arcadei "http://localhost:8089" Hh Dasdas +Sab 29/10 ORE 12:12: 🔥[%] Si è appena Iscritto ad Arcadei "http://localhost:8089" Hh Aa +Sab 29/10 ORE 12:15: 🔥[%] Si è appena Iscritto ad Arcadei "http://localhost:8089" Gg Hgg +Sab 29/10 ORE 12:35: 🔥[%] Si è appena Iscritto ad Arcadei "http://localhost:8089" Paolo Arena +Sab 29/10 ORE 13:14: 🔥[Ppp Aaa] Si è appena Iscritto ad Arcadei "http://localhost:8089" +Sab 29/10 ORE 13:16: 🔥[Ppp Aaa] Si è appena Iscritto ad Arcadei "http://localhost:8089" +Mar 01/11 ORE 10:18: Prenotazione Evento [paoloar77 ( )] 'Raduno RISO a Foggia' (18/11/2022 Dalle 15:00) (Nuovo) +1 partecipanti all'Evento + +Mar 01/11 ORE 11:21: Prenotazione Evento [paoloar77 ( )] 'Raduno RISO a Foggia' (18/11/2022 Dalle 15:00) (Nuovo) +1 partecipanti all'Evento + +Mar 01/11 ORE 11:21: Cancellazione Evento [paoloar77 ( )] 'Raduno RISO a Foggia' (18/11/2022 Dalle 15:00) (Nuovo) +1 partecipanti all'Evento + +Mar 01/11 ORE 11:22: Cancellazione Evento [paoloar77]'Raduno RISO a Foggia' (18/11/2022 Dalle 15:00) +Mer 02/11 ORE 11:56: 🔥 Si è appena Registrato "surya1978" (n. 1624) +Invitato da paoloar77 +Mer 02/11 ORE 22:05: 🔥 Si è appena Registrato "SuryaArena" (n. 1623) +Invitato da paoloar77 +Mer 02/11 ORE 22:08: 🔥 Si è appena Registrato "SuryaArena" (n. 1623) +Invitato da paoloar77 +Mer 02/11 ORE 22:12: 🔥 Si è appena Registrato "SuryaArena" (n. 1623) +Invitato da paoloar77 +Mer 02/11 ORE 22:29: 🔥 Si è appena Registrato "SuryaArena" (n. 1623) +Invitato da paoloar77 +Mer 02/11 ORE 22:31: 🔥 Si è appena Registrato "SuryaArena" (n. 1623) +Invitato da paoloar77 \ No newline at end of file diff --git a/package.json b/package.json index cc75844..fa202f9 100755 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "freeplanet serverside", "main": "server/server.js", "scripts": { - "start": "nodemon src/server/server.js", + "start": "NODE_ENV=development nodemon src/server/server.js", "build": "gulp build", "watch": "gulp watch", "test": "export NODE_ENV=development || SET NODE_ENV=development && mocha src/server/**/*.test.js", diff --git a/src/server/models/circuit.js b/src/server/models/circuit.js index b6cdbb2..7c94f80 100755 --- a/src/server/models/circuit.js +++ b/src/server/models/circuit.js @@ -111,7 +111,6 @@ const CircuitSchema = new Schema({ }, deperimento: { type: Boolean, - default: true, }, freq_deper: { // H, D, W, M, Y type: String, @@ -735,6 +734,13 @@ CircuitSchema.statics.updateData = async function(idapp, circuitname) { }; +CircuitSchema.statics.setDeperimentoOff = async function() { + + return await Circuit.updateMany({}, {$set: {'deperimento': false}}, + {new: false}); + +}; + const Circuit = mongoose.model('Circuit', CircuitSchema); module.exports = {Circuit}; diff --git a/src/server/models/myelem.js b/src/server/models/myelem.js index 13677fe..97bdab5 100755 --- a/src/server/models/myelem.js +++ b/src/server/models/myelem.js @@ -2,6 +2,7 @@ const mongoose = require('mongoose').set('debug', false) const Schema = mongoose.Schema; const tools = require('../tools/general'); +const {ObjectID} = require('mongodb'); mongoose.Promise = global.Promise; mongoose.level = "F"; @@ -13,9 +14,18 @@ mongoose.plugin(schema => { }); const MyElemSchema = new Schema({ + _id: { + type: ObjectID, + default: function() { + return new ObjectID(); + }, + }, idapp: { type: String, }, + path: { + type: String, + }, type: { type: Number, }, @@ -98,6 +108,14 @@ const MyElemSchema = new Schema({ ], }); +MyElemSchema.pre('save', async function(next) { + if (this.isNew) { + this._id = new ObjectID(); + } + + next(); +}); + MyElemSchema.statics.getFieldsForSearch = function () { return [{ field: 'title', type: tools.FieldType.string }, { field: 'content', type: tools.FieldType.string }] diff --git a/src/server/router/index_router.js b/src/server/router/index_router.js index 2373993..ae860cf 100755 --- a/src/server/router/index_router.js +++ b/src/server/router/index_router.js @@ -332,7 +332,7 @@ router.post('/settable', authenticate, async (req, res) => { } else if (params.table === 'hours') { } else { - if ((mydata['_id'] === undefined || (mytablerec.isNew && mydata['_id'] === 0)) && (mytablerec._id === undefined)) { + if ((mydata['_id'] === undefined || mydata['_id'] === '' || (mytablerec.isNew && mydata['_id'] === 0)) && (mytablerec._id === undefined)) { mytablerec._id = new ObjectID(); } } diff --git a/src/server/server.js b/src/server/server.js index a5948eb..b3c4e80 100755 --- a/src/server/server.js +++ b/src/server/server.js @@ -28,6 +28,7 @@ require('./db/mongoose'); const {Settings} = require('./models/settings'); +// test const i18n = require('i18n'); @@ -85,6 +86,7 @@ const {CfgServer} = require('./models/cfgserver'); const {ObjectID} = require('mongodb'); const populate = require('./populate/populate'); +const {Circuit} = require('./models/circuit'); const printf = require('util').format; @@ -437,6 +439,12 @@ async function inizia() { } + /*const {Circuit} = require('./models/circuit'); + + await Circuit.setDeperimentoOff(); + + */ + console.log(process.versions); } catch (e) { diff --git a/src/server/telegram/prova.txt b/src/server/telegram/prova.txt new file mode 100644 index 0000000..3939fbf --- /dev/null +++ b/src/server/telegram/prova.txt @@ -0,0 +1 @@ +http://localhost:8084/signup/paoloar77/SuryaArena/5356627050 diff --git a/src/server/telegram/telegrambot.js b/src/server/telegram/telegrambot.js index db0c9d6..37c633a 100755 --- a/src/server/telegram/telegrambot.js +++ b/src/server/telegram/telegrambot.js @@ -478,7 +478,8 @@ const txt = { MSG_SCEGLI_MENU: emoji.get('dizzy') + ' Scegli una voce di menu:' + emoji.get('dizzy'), MSG_ASK_USERNAME_BO: 'Scrivete nel messaggio l\'username (SENZA SPAZI) o la email con cui vi siete registrati sul sito di %s:', - MSG_ASK_USERNAME_INVITANTE: 'Incolla (o scrivi) l\'username di chi ti ha invitato su %s (non inserire spazi)', + MSG_ASK_USERNAME_INVITANTE: 'Scrivi l\'username telegram di chi ti ha invitato su %s (senza spazi)', + MSG_NEW_REG: '
Se non ce l\'avete, entrate sul Canale (PROGETTO RISO), trovate la vostra provincia e chiedete di entrare nel gruppo.', MSG_ERRORE_INVITANTE_NOT_FOUND: 'L\'username dell\'invitante appena digitato non sembra essere corretto! Ti ricordo che dev\'essere l\'username con cui si è registrato su RISO', MSG_ERRORE_USERNAME: 'Attenzione! Devi inserire solo lo username (40 caratteri massimo)', MSG_ERRORE_USERNAME_NOT_FOUND: 'Per Completare la Verifica Telegram BOT, dovete ora scrivere qui sotto nel messaggio l\'Username (senza spazi) OPPURE la email con cui vi siete registrati sul sito', @@ -2521,7 +2522,12 @@ class Telegram { if (rec && !rec.aportador_solidario) { rec.status = Status.SET_USERNAME_INVITANTE; - await this.sendMsg(msg.chat.id, getstr(this.getlang(msg), 'MSG_ASK_USERNAME_INVITANTE', tools.getNomeAppByIdApp(this.idapp), null)); + let mystr = getstr(this.getlang(msg), 'MSG_ASK_USERNAME_INVITANTE', tools.getNomeAppByIdApp(this.idapp), null); + + if (this.idapp === tools.RISO) { + mystr += getstr(this.getlang(msg), 'MSG_NEW_REG'); + } + await this.sendMsg(msg.chat.id, mystr); } else { // if (linkreg) // this.asktoRegistrationByLink(msg); diff --git a/src/server/test b/src/server/test new file mode 100644 index 0000000..8679763 --- /dev/null +++ b/src/server/test @@ -0,0 +1,9 @@ +db.mypages.insert({ "_id" : ObjectId("63599c3d8103a5bf220c7260"), "order" : 101, "idapp" : "15", "title" : "OrtoVivo GSA", "path" : "ortovivo_gsa", "content" : "
Gruppo Solidarietà Alimentare

All’interno dei 4 ettari di terreno adiacenti le strutture di Borgovivo, si sviluppano orti produttivi, sociali, familiari e didattici, fasce boschive e zone umide per un progetto rurale di sviluppo organico, destinato alla formazione e alla ricerca delle migliori tecniche di coltivazione sostenibile, e alla promozione dell’accesso collettivo e condiviso alla terra. L’obiettivo prioritario è l’adozione dell’ autoconsumo come buona pratica per il raggiungimento della massima autonomia alimentare possibile, che consenta la transizione Socio-Economica verso una nuova Società evoluta a misura d’uomo, interdipendente ed in armonia con la natura.
", "active" : true, "inmenu" : true, "infooter" : true, "__v" : 0, "lang" : "it", "icon" : "img:images/arcadei/ortovivo-gsa.png", "img1" : "images/arcadei/ortovivo-gsa.png", "extraclass" : "bigmenu", "iconsize" : "5rem", "subtitle" : "Gruppo Solidarietà Alimentare" }) +db.mypages.insert({ "_id" : ObjectId("63599c428103a5bf220c7269"), "order" : 102, "idapp" : "15", "title" : "BoscoVivo", "path" : "boscovivo", "content" : "
Luogo di Riconciliazione con la Terra

Le basi fondanti di Bosco Vivo sono il rispetto per la terra, il ripristino e la protezione degli ecosistemi, che si concretizzano nella crescita e nella cura di un bosco, come luogo di pace e di tregua con la natura. Rappresenta in questo momento per chi lo rende possibile, non solo un atto di portata rivoluzionaria, ma anche la manifestazione di un diritto naturale inalienabile. Il principio originario della vita che si manifesta nella natura ci rende partecipi di una forza vitale di cui noi stessi siamo pervasi. L’uomo proviene dalla natura e si è evoluto attraverso l’interazione con essa: quando ci connettiamo alle nostre radici, che di certo non crescono nel cemento, torniamo a far parte della rete della vita. Boscovivo è progetto di rimboschimento concreto che ha già piantumato nei terreni adiacenti a Borgovivo un bosco di circa 2 ettari, con una prevalenza di specie edibili antiche ed autoctone. Lo scopo è di ricreare quella foresta alimentare con cui Madre natura ci ha da sempre nutriti. Ciliegi, Meli, Pruni, Peri, Peschi, Noci, Gelsi, More, Mirtilli, Lamponi, ecc. ecc. 
Boscovivo, si fa promotore della diffusione di quella alfabetizzazione ecologica necessaria a disseminare un modello rurale organico post-intensivo che possa integrarsi alle comunità locali. 
", "active" : true, "inmenu" : true, "infooter" : true, "__v" : 0, "lang" : "it", "icon" : "img:images/arcadei/boscovivo.png", "img1" : "images/arcadei/boscovivo.png", "extraclass" : "bigmenu", "iconsize" : "5rem", "subtitle" : "Luogo di Riconciliazione con la Terra", "content2" : "
La vita nel cubo

Geometrie perfette, simmetrico e inerte. Asettico e privo di vita organica. Sicuro e rassicurante, un cubo sovrapposto ad altri cubi ma isolato da essi. Una scatola di corpi soli, anime vuote auto incarcerate e nominate custodi della chiave che non utilizzeranno per aprire ma per chiudere. Spranghe di ferro e porte blindate. Paura e diffidenza.
Al suo interno, ogni residuo eventuale di vita viene prontamente neutralizzato da detersivi chimici tossici. Confondendo la parola morte con igiene.
Intanto fuori pulsa la vita, volano le libellule e si compie il ciclo delle stagioni. E noi siamo lì, scandalizzati da una foglia secca sul davanzale. Osserviamo il mondo da un cubo, guardando dentro un altro cubo, trasformato nell’altare della nostra esistenza che adoriamo inermi attingendo una visione indotta della realtà, della quale diventiamo trasmettitori inconsapevoli, pieni di idee e valori che non ci appartengono, convinti di averli concepiti autonomamente.
Come replicanti ci aggiriamo nei bar, nelle piazze, in famiglia e fra colleghi e amici, propagando un pensiero che non ci appartiene, sterilizzato del nostro genio. Isolando chi non è conforme a quella visione. Tutta la meraviglia di coscienza che saremo potuti essere viene sovrascritta da una serie di dati e informazioni che assimiliamo passivamente ogni giorno. dobbiamo spegnere il cubo per uscire dal cubo.
E’ il momento di entrare nel Bosco…
", "content3" : "Rispetto per la terra, ripristino e protezione degli ecosistemi, questa è la base fondante di Bosco Vivo. 
Dare spazio e vita alla crescita di un bosco, come luogo di pace e tregua con la natura, ove perdersi per ritrovarsi, è forse in questo momento l’atto più rivoluzionario che un uomo possa fare… ed anche un inalienabile diritto naturale.

Ti piacerebbe adottare un albero? Seguirne la piantumazione, la crescita, la cura, e vederlo un giorno maestoso e fiorito, godendo della sua ombra, della sua energia e del suo nutrimento... 

Aria, acqua, cibo. Sono beni fondamentali alla vita.

Pagheresti per respirare? Già ti sei abituato a pagare per bere e mangiare... L'acqua come l'aria sono elementi liberi della terra, così come la frutta che nasce spontaneamente nel ciclo delle stagioni. In principio era l'eden, bastava raccogliere. Poi piano piano ci hanno insegnato che non è così, abbiamo messo i recinti e i frutti dell'albero della vita sono diventati di qualcuno. Ci hanno insegnato che serve il carrello, che bisogna pesare, imbustare e pagare. E’ per questo che Bosco Vivo avrà una prevalenza di specie edibili, per ricreare quella Foresta alimentare con cui Madre natura ci ha da sempre nutriti. Ciliegi, Meli, Pruni, Peri, Peschi, Noci, Gelsi, More, Mirtilli, Lamponi… ecc. ecc.

Riprendiamoci lo spazio, riattiviamo le antiche abitudini. Gli istinti. È un diritto e un dovere. 
Il principio originario della vita che si manifesta nella natura ci rende partecipi di una forza vitale di cui noi stessi siamo pervasi. L’uomo proviene dalla natura e si è evoluto in interazione con essa, quando ci connettiamo alle nostre radici, che di certo non crescono nel cemento, torniamo a far parte della rete della vita.


Bosco Vivo, significa fare esperienza della natura, un luogo di Pace e riconciliazione.

Ormai tutti ci siamo resi conto che è stato un terribile errore considerare l’organismo umano separato dal proprio habitat naturale, ciononostante, continuiamo a vivere in ambienti totalmente antropizzati e livellati, costituiti da materiali inerti, dove ogni movimento tipico e naturale della nostra specie viene totalmente inibito da una spasmodica ricerca di sicurezza e comfort, fino ad immergere le nostre coscienze in una realtà virtuale indotta da dispositivi elettronici ormai padroni delle nostre esistenze.

Le prime è più indifese vittime di questo meccanismo di separazione sono i bambini. Anche se in loro scorre ancora forte il flusso vitale naturale, si ritrovano immersi in un habitat ostile alla loro biologia, vivono costretti fra i banchi di scuola, una palestra e una cameretta a contenere il loro corpo, ed uno schermo li intrattiene assorbendone mente e coscienza.

Per un bambino, essere immerso nel verde della natura, distante dalla civiltà moderna, dal consumo, dal rumore e dal cemento, lontano dalle aspettative sociali, dagli ordini di genitori e maestri significa essere accettato per quello che è. La natura non giudica e non comanda, è amore incondizionato per la vita e bellezza. È la madre.

BoscoVivo, significa scavalcare il recinto, il recinto sociale, il recinto di casa, di scuola, e scendere dal marciapiede di cemento. 

Bosco Vivo significa perdersi nel bosco per ritrovare la strada di casa.

È facile… basta individuare e indicare spazi adatti ad ospitare nuovi alberi. Condividere l’esperienza e la conoscenza, organizzare incontri e attività sul territorio.
Una comunità che li pianta, li protegge e li vive. Come era in principio.


    • Noi di boscovivo.
    • Il nostro sogno.
    • Più di un bosco, una Food Forest.
    • Il crowdfounding: il potere della gente.
    • Adotta un albero, salverà i tuoi figli.
    • Le piante adatte al nostro bosco: scegli quale adottare!
    • Che cosa è compreso nella quota di adozione?
    • Le nostre ricompense per te, per i tuoi figli e per i tuoi nipoti.
    • Per le aziende di Ferrara.
    • Istruzioni per l’adozione.


Noi di boscovivo
Noi di Boscovivo siamo esattamente come te, uomini, donne, esseri umani innamorati di Madre Natura. Vogliamo restituire qualcosa alla nostra terra, dopo avergli chiesto così tanto, dopo averle chiesto tutto con arroganza ed avidità.
Se sei come noi, qualcuno che si preoccupa di come sarà la terra dei propri figli, aiutaci con azioni concrete.

Il nostro sogno
Abbiamo un ambizioso progetto di riforestazione. 
Per cominciare vogliamo realizzare un polmone (verde) alla periferia sud della città di Ferrara, partendo dall’Azienda agricola Borgovivo in Via Sgarbata e dai suoi 4 ettari di fertile terra, ma con l’obiettivo di arrivare fino al fiume Reno. 
Per realizzare Boscovivo pianteremo molti alberi e coinvolgeremo diversi proprietari terrieri, chiedendo loro di dedicare una parte della loro terra alla riforestazione.
Un bosco porta moltissimi benefici:
    • Benefici ambientali,
    • Assorbimento CO2 
    • Tutela della biodiversità
    • Contrasto erosione e depauperamento della fertilità del suolo
    • Aiuta chi fa agricoltura biologica/biodinamica a schermarsi da chi non la fa
    • proteggere il pianeta e garantire prosperità per tutti nell'ambito di uno sviluppo che sia sostenibile.
    • Gioia immensa per chi vi entra.

Ecc... ecc… praticamente stiamo ricostruendo il tessuto connettivo di Madre Terra… una lista di benefici


Più di un bosco, una Food Forest (foresta commestibile)
Non vogliamo solo un bosco, ma vogliamo creare una Food Forest. Sai cos’è?
Il termine Food Forest (foresta commestibile) viene utilizzato per definire dei sistemi coltivati che si ispirano al bosco, finalizzati alla produzione prevalentemente di cibo, ma anche di altri prodotti utilizzabili dagli esseri umani e non solo.

Un bosco non ha bisogno di potature, trattamenti, lavorazioni del suolo o manutenzioni particolari; ha una grande capacità di produrre biomassa grazie all’equilibrio dinamico tra i diversi componenti. Questo stesso equilibrio è l’obiettivo di chi realizza una Food Forest.
A differenza di un orto, il “bosco di cibo” non richiede di essere seminato ogni anno, ma è composto soprattutto da piante perenni e perennanti, che convivono in sinergia in un ambiente in cui ogni specie trova il suo ruolo nell’ecosistema.
A scuola ci hanno insegnato che nei campi coltivati ci sono insetti dannosi, funghi e parassiti, piante infestanti e batteri patogeni e una infinità di altri “nemici” delle nostre piante coltivate. 
Nell’ambiente non esistono esseri utili o dannosi, ma sono tutti funzionali.
Noi abbiamo distrutto questa stabilità trascurando gli equilibri che rendono la natura estremamente efficiente e produttiva. 
Abbiamo semplificato i sistemi agrari rendendoli più fragili e vulnerabili. 
Con la Food Forest invece puntiamo a ricreare situazioni di armonia nelle quali inserirci in modo discreto per ricavarne cibo, ma anche aromi e profumi, colori, combustibili, fibre, officinali, medicinali, benessere e tanto altro.


Il crowdfounding: il potere della gente.
Crowdfounding: questa parola inglese (così complicata) significa letteralmente “cercare fnanziamenti nella folla”, ma sottende un significato meraviglioso: piccole gocce fanno il mare se si mettono tutte assieme! Se ognuno desse il suo piccolo contributo progetti apparentemente impossibili, soprattutto per mancanze di risorse economiche, diverrebbero rapidamente realtà. In questi ultimi anni è stato ampiamente dimostrato.
Ti chiediamo di aderire al nostro crowdfounding, di contribuire al nostro ambizioso progetto Boscovivo per la riforestazione. Per te una piccola cifra, ma per noi una importante goccia per creare il nostro mare di alberi! 

Adotta un albero, salverà i tuoi figli

Scegli l'albero che più ti piace tra quelli che abbiamo selezionato tra le specie autoctone del nostro territorio (vedi il paragrafo successivo), noi lo pianteremo per te.
Potresti anche regalarlo a una persona speciale, facendo la grande differenza tra un regalo che inquina il pianeta ed uno che lo pulisce! 
Crescendo, il tuo albero assorbirà CO2 dall'atmosfera e produrrà ossigeno, migliorando l'aria che tutti noi respiriamo. 
Il tuo albero sarà fotografato nel momento della piantumazione e sarà per sempre legato a te. 
Potrai venire a trovarlo quando vuoi a Boscovivo, potrai seguire la sua crescita e partecipare alla sua cura assieme a noi.
Abbiamo intenzione di organizzare dei momenti collettivi, che saranno altamente educativi anche per i più giovani, in cui curare il bosco e fare altre attività necessarie ma anche salutari perché all’aria aperta!


Le piante adatte al nostro bosco: scegli quale adottare!
L’Italia presenta climi molto differenti in base alla latitudine, alla presenza di zone montagnose o lacustri nelle diverse regioni; questo fatto ci permette di avere una notevole diversificazione delle condizioni di temperatura, umidità e luminosità, con microclimi che ci consentono di coltivare ad esempio i castagni in Sicilia, l’ulivo e gli agrumi in Trentino.
Ovviamente dovremo contestualizzare la scelta delle piante, in base alle condizioni ambientali in cui vogliamo realizzare la nostra food forest.
L’osservazione del paesaggio e il confronto con vecchi contadini della zona sono sicuramente tra gli strumenti più efficaci per farci conoscere e capire il contesto.
Se noi vogliamo simulare una situazione naturale dovremmo realizzare la food forest cercando di ricreare un sistema complesso che richiami la disposizione spaziale di un bosco sostituendo le piante più interessanti per la produzione di cibo.
Ecco una serie di piante che popoleranno il nostro bosco edibile e che puoi scegliere di adottare:
    • piante di grandi dimensioni tipiche del bosco, contributo euro 100 
    • quercia 
    • pioppo argentato,
    • olmo,
    • noce,
    • melo, 
    • pero, 
    • ciliegio, 
essendo abituati a vedere impianti di meli o peri di dimensioni ridotte, siamo portati a pensare che tali piante siano molto piccole e non possano essere paragonate a una quercia; ma questo è dovuto al fatto che nella frutticoltura convenzionale vengono scelte appositamente piante nanizzate, che abbiano quindi uno sviluppo limitato per facilitare le operazioni colturali quali potature, trattamenti, raccolte,… L’indole però di un melo o di un pero invece sarebbe quella di crescere parecchio, fino a venti metri in altezza, sviluppando una chioma poderosa. Le vecchie varietà facevano esattamente questo.
    • piante medie contributo di euro 50
    • susini, 
    • peschi,
    • albicocchi,
    • fichi,
    • melograni,
queste le piante che hanno uno sviluppo contenuto e non diventano enormi.

    • Piante cespugliose contributo di euro 30
    • rosmarino, 
    • salvia, 
    • lavanda, 
    • lamponi, 
    • ribes
    • mirtilli, 
    • more 
tutte quelle essenze (anche aromatiche) che hanno un fusto legnoso, ma rimangono di taglia ridotta.
" }) +db.mypages.insert({ "_id" : ObjectId("63599c458103a5bf220c7272"), "order" : 113, "idapp" : "15", "title" : "SaluteViva", "path" : "saluteviva", "content" : "
Nosce te ipsum

Luoghi e spazi dedicati all’Educazione e alla Formazione. Attraverso la pratica e il confronto costante con genitori, bambini, ragazzi ed educatori, stiamo sviluppando una comunità educante che sostenga lo sviluppo delle diverse intelligenze, da quella conoscitiva a quella emozionale, da quella artistica a quella corporea. Negli spazi e nei tempi educativi si vuole dedicare attenzione alla conoscenza di se stessi, al superamento di traumi e difficoltà, finalizzati alla crescita e alla libera espressione del potenziale umano espresso e inespresso, attraverso il contatto con sè e con la natura, il gioco, le relazioni con l’altro, il movimento corporeo, la manualità, lo studio comparato delle arti, delle filosofie e delle scienze. 
Scuolaviva è un luogo dove adulti, bambini ed anziani interagiscono in reciprocità di scambio intergenerazionale.
", "active" : true, "inmenu" : true, "infooter" : true, "__v" : 0, "lang" : "it", "icon" : "img:images/arcadei/saluteviva.png", "img1" : "images/arcadei/saluteviva.png", "extraclass" : "bigmenu", "iconsize" : "5rem", "subtitle" : "nosce te ipsum" }) +db.mypages.insert({ "_id" : ObjectId("63599c488103a5bf220c727b"), "order" : 120, "idapp" : "15", "title" : "PanDelDia", "path" : "pandeldia", "content" : "
Il nostro pane quotidiano

La cultura del pane coinvolge tematiche che legano tutti gli aspetti della vita dell’essere umano. Partendo dal recupero dei grani antichi della nostra area geografica e dell’Italia rurale, si vuole utilizzare il pane come strumento di socialità e di abbattimento delle barriere culturali, ritrovandosi in ciò che unisce e non in ciò che separa. Informare e formare le persone nella cultura della produzione del pane è recuperare le radici antiche e insieme uno stile alimentare sano e a misura d’uomo.
", "active" : true, "inmenu" : true, "infooter" : true, "__v" : 0, "lang" : "it", "icon" : "img:images/arcadei/pandeldia.png", "img1" : "images/arcadei/pandeldia.png", "extraclass" : "bigmenu", "iconsize" : "5rem", "subtitle" : "Il nostro pane quotidiano" }) +db.mypages.insert({ "_id" : ObjectId("63599c4b8103a5bf220c7284"), "order" : 130, "idapp" : "15", "title" : "ScuolaViva", "path" : "scuolaviva", "content" : "
Educare con Cuore

Luoghi e spazi dedicati all’Educazione e alla Formazione. Attraverso la pratica e il confronto costante con genitori, bambini, ragazzi ed educatori, stiamo sviluppando una comunità educante che sostenga lo sviluppo delle diverse intelligenze, da quella conoscitiva a quella emozionale, da quella artistica a quella corporea. Negli spazi e nei tempi educativi si vuole dedicare attenzione alla conoscenza di se stessi, al superamento di traumi e difficoltà, finalizzati alla crescita e alla libera espressione del potenziale umano espresso e inespresso, attraverso il contatto con sè e con la natura, il gioco, le relazioni con l’altro, il movimento corporeo, la manualità, lo studio comparato delle arti, delle filosofie e delle scienze. 
Scuolaviva è un luogo dove adulti, bambini ed anziani interagiscono in reciprocità di scambio intergenerazionale.
", "active" : true, "inmenu" : true, "infooter" : true, "__v" : 0, "lang" : "it", "icon" : "img:images/arcadei/scuolaviva.png", "img1" : "images/arcadei/scuolaviva.png", "extraclass" : "bigmenu", "iconsize" : "5rem", "subtitle" : "Educatore col cuore" }) +db.mypages.insert({ "_id" : ObjectId("63599c4f8103a5bf220c728d"), "order" : 140, "idapp" : "15", "title" : "Prospera", "path" : "prospera", "content" : "
Saperi positivi

Nucleo operativo tecnico scientifico e laboratori. Si pone l’obiettivo di svolgere attività di ricerca, sviluppo ed implementazione di tecnologie di approvvigionamento energetico sostenibile e rinnovabile (energia eolica, energia solare, energia idroelettrica, termoelettrica, energia geotermica, biomassa e biocarburanti, sistemi di generazione su base elettromagnetica) attraverso l’organizzazione di corsi, stage, conferenze, convegni, seminari, collaborazioni, sperimentazioni ed applicazioni pratiche. Prospera, attraverso la raccolta di fondi e il sostegno a realtà di ricerca orientate a sviluppare sistemi alternativi ai combustibili fossili, mira a ridurre ed eliminare qualsiasi forma di dipendenza energetica da mercati volatili e da sistemi di controllo centralizzati delle energie.
", "active" : true, "inmenu" : true, "infooter" : true, "__v" : 0, "lang" : "it", "icon" : "img:images/arcadei/prospera.png", "img1" : "images/arcadei/prospera.png", "extraclass" : "bigmenu", "iconsize" : "5rem", "subtitle" : "Saperi Positivi" }) + + +db.mypages.insert()