Socket
Socket
Sign inDemoInstall

periodicjs.core.controller

Package Overview
Dependencies
21
Maintainers
2
Versions
170
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.90.300 to 2.0.0

128

lib/controller.js

@@ -12,6 +12,7 @@ /*

path = require('path'),
async = require('async'),
Utilities = require('periodicjs.core.utilities'),
CoreUtilities;
var logger, appSettings, theme;
var logger, appSettings, theme, applocals;

@@ -34,2 +35,3 @@ /**

theme = resources.settings.theme;
applocals = resources.app.locals;
CoreUtilities = new Utilities(resources);

@@ -56,3 +58,6 @@ };

if (extname) {
fs.open(exttemplatefile, 'r', function (err) {
fs.open(exttemplatefile, 'r', function (err,fd) {
if(fd){
fs.close(fd);
}
if (err) {

@@ -73,3 +78,6 @@ callback(err, viewname, null);

if (theme) {
fs.open(themetemplatefile, 'r', function (err) {
fs.open(themetemplatefile, 'r', function (err,fd) {
if(fd){
fs.close(fd);
}
if (err) {

@@ -117,45 +125,79 @@ callback(err, viewname, null);

callback = options.callback,
responseData = options.responseData;
responseData = options.responseData,
renderResponseData = function(){
if (err) {
this.handleDocumentQueryErrorResponse({
res: res,
req: req,
err: err,
callback: callback,
redirecturl: redirecturl
});
}
else {
responseData.periodic = responseData.periodic || {};
responseData.periodic.version = appSettings.version;
responseData.periodic.name = appSettings.name;
responseData.request = {
query: req.query,
params: req.params,
baseurl: req.baseUrl,
originalurl: req.originalUrl,
parsed: req._parsedUrl
};
if (err) {
this.handleDocumentQueryErrorResponse({
res: res,
req: req,
err: err,
callback: callback,
redirecturl: redirecturl
responseData.flash_messages = req.flash();
if (req.query.format === 'json' || req.params.ext === 'json') {
res.send(responseData);
}
else if (req.query.callback) {
res.jsonp(responseData);
}
else if (options.redirecturl) {
res.redirect(options.redirecturl);
}
else if (req.is('json') || req.is('application/json')) {
res.json(responseData);
}
else {
res.render(options.renderView, responseData);
}
}
if (callback) {
callback();
}
}.bind(this);
if(err){
renderResponseData();
}
else{
async.applyEach(
applocals.additionalHTMLFunctions,
{req:req,res:res},
function(asyncerr){
if(asyncerr){
this.handleExceptionError(asyncerr,req,res);
}
else{
renderResponseData();
}
}.bind(this));
}
};
Controller.prototype.handleExceptionError = function (err, req, res) {
if (req.xhr) {
res.send(500, {
error: 'Something blew up!'
});
}
else {
responseData.periodic = responseData.periodic || {};
responseData.periodic.version = appSettings.version;
responseData.periodic.name = appSettings.name;
responseData.request = {
query: req.query,
params: req.params,
baseurl: req.baseUrl,
originalurl: req.originalUrl,
parsed: req._parsedUrl
};
responseData.flash_messages = req.flash();
if (req.query.format === 'json' || req.params.ext === 'json') {
res.send(responseData);
}
else if (req.query.callback) {
res.jsonp(responseData);
}
else if (options.redirecturl) {
res.redirect(options.redirecturl);
}
else if (req.is('json') || req.is('application/json')) {
res.json(responseData);
}
else {
res.render(options.renderView, responseData);
}
res.status(500);
// if(appconfig.settings().theme)
res.render('home/error500', {
message: err.message,
error: err
});
}
if (callback) {
callback();
}
};

@@ -185,3 +227,5 @@

logger.error(err.stack);
if(err.stack){
logger.error(err.stack);
}
logger.error(errormessage, req.url);

@@ -188,0 +232,0 @@ if (req.query.format === 'json') {

{
"name": "periodicjs.core.controller",
"description": "Customizable CMS platform",
"version": "1.90.300",
"version": "2.0.0",
"main": "index.js",

@@ -6,0 +6,0 @@ "engines": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc