- Dynamic Pages (MyPage)

- Uploading files to the Server FTP.
This commit is contained in:
Paolo Arena
2019-12-27 12:41:39 +01:00
parent 9d0e6136ac
commit e62cc62d88
11 changed files with 343 additions and 64 deletions

View File

@@ -13,7 +13,7 @@ const cfgserver = mongoose.model('cfgserver');
const ftp = require('../ftp/FTPClient'),
formidable = require('formidable'),
folder = path.join(__dirname, 'files');
folder = path.join(__dirname, 'upload');
if (!fs.existsSync(folder)) {
fs.mkdirSync(folder)
@@ -30,6 +30,7 @@ const { Contribtype } = require('../models/contribtype');
const { Discipline } = require('../models/discipline');
const { Newstosent } = require('../models/newstosent');
const { MyPage } = require('../models/mypage');
const { Gallery } = require('../models/gallery');
const { TemplEmail } = require('../models/templemail');
const { OpzEmail } = require('../models/opzemail');
const { MailingList } = require('../models/mailinglist');
@@ -164,6 +165,8 @@ function getTableByTableName(tablename) {
mytable = Discipline;
else if (tablename === 'newstosent')
mytable = Newstosent;
else if (tablename === 'gallery')
mytable = Gallery;
else if (tablename === 'mypage')
mytable = MyPage;
else if (tablename === 'templemail')
@@ -377,11 +380,12 @@ router.get('/loadsite/:userId/:idapp/:sall', authenticate_noerror, (req, res) =>
let newstosent = Promise.resolve([]);
let mailinglist = Promise.resolve([]);
let mypage = MyPage.findAllIdApp(idapp);
let gallery = Gallery.findAllIdApp(idapp);
if (sall) {
newstosent = Newstosent.findAllIdApp(idapp);
}
return Promise.all([bookedevent, eventlist, operators, wheres, contribtype, settings, permissions, disciplines, newstosent, mailinglist, mypage])
return Promise.all([bookedevent, eventlist, operators, wheres, contribtype, settings, permissions, disciplines, newstosent, mailinglist, mypage, gallery])
.then((arrdata) => {
// console.table(arrdata);
res.send({
@@ -396,6 +400,7 @@ router.get('/loadsite/:userId/:idapp/:sall', authenticate_noerror, (req, res) =>
newstosent: arrdata[8],
mailinglist: arrdata[9],
mypage: arrdata[10],
gallery: arrdata[11],
});
})
.catch((e) => {
@@ -453,10 +458,11 @@ router.get(process.env.LINK_CHECK_UPDATES, authenticate, (req, res) => {
});
router.post('/upload/:dir', authenticate, (req, res) => {
router.post('/upload_from_other_server/:dir', authenticate, (req, res) => {
const dir = req.params.dir;
const idapp = req.user.idapp;
/*
const form = new formidable.IncomingForm();
form.parse(req);
@@ -467,7 +473,7 @@ router.post('/upload/:dir', authenticate, (req, res) => {
// console.log('client', client);
form.uploadDir = folder;
form.uploadDir = folder + '/' + dir;
try {
form.on('fileBegin', async function (name, file){
@@ -487,8 +493,66 @@ router.post('/upload/:dir', authenticate, (req, res) => {
console.log('Uploaded ' + file.name, 'status:', ret);
if (!ret)
res.status(400).send();
else
else {
// Delete file from local directory
fs.unlinkSync(file.path);
res.end();
}
}catch (e) {
console.log('error', e);
res.status(400).send();
}
});
form.on('aborted', () => {
console.error('Request aborted by the user');
res.status(400).send();
});
form.on('error', (err) => {
console.error('Error Uploading', err);
res.status(400).send();
});
} catch (e) {
console.log('Error', e)
}
*/
});
router.post('/upload/:dir', authenticate, (req, res) => {
const dir = req.params.dir;
const idapp = req.user.idapp;
const form = new formidable.IncomingForm();
form.parse(req);
form.uploadDir = folder + '/' + dir;
try {
form.on('fileBegin', async function (name, file){
file.path = folder + '/' + file.name;
});
form.on('file', async function (name, file){
try {
console.log('Uploaded ' + file.name);
// ++ Move in the folder application !
newname = tools.getdirByIdApp(idapp) + '/statics/upload/' + dir + '/' + file.name;
// For local: ... resolve this... sending through the static folder...
// res.sendFile(path.resolve(file.name));
tools.move(file.path, newname, (err) => {
console.log('err', err);
res.end();
});
}catch (e) {
console.log('error', e);
res.status(400).send();
@@ -509,7 +573,6 @@ router.post('/upload/:dir', authenticate, (req, res) => {
console.log('Error', e)
}
});