@@ -36,7 +36,9 @@ var connect = require('connect');
36
36
37
37
global . config = require ( './config' ) ;
38
38
39
- var loadApp = function ( loadpath ) {
39
+ var loadApp = function ( path , appname , auth ) {
40
+ var loadpath = path + appname + "/app" ;
41
+
40
42
var userapp = null ;
41
43
if ( config . cacheApps ) {
42
44
userapp = require ( loadpath ) ;
@@ -52,54 +54,53 @@ var loadApp = function( loadpath ) {
52
54
}
53
55
userapp = require ( loadpath ) ;
54
56
}
55
- return userapp ;
56
- } ;
57
57
58
- var applyAppSettings = function ( userapp , appname , auth ) {
59
- userapp . settings . appname = appname ;
60
- userapp . settings . viewpath = "apps/" + appname ;
61
- userapp . settings . appurl = "/app/" + appname ;
62
- userapp . settings . staticurl = "/static/apps/" + appname ;
63
- userapp . settings . device_name = auth . getDeviceName ( ) ;
64
- userapp . settings . coder_owner = auth . getCoderOwner ( ) ;
65
- userapp . settings . coder_color = auth . getCoderColor ( ) ;
66
- if ( userapp . settings . device_name === "" ) {
67
- userapp . settings . device_name = "Coder" ;
68
- }
69
- if ( userapp . settings . coder_color === "" ) {
70
- userapp . settings . coder_color = "#3e3e3e" ;
58
+ if ( userapp )
59
+ {
60
+ userapp . settings . appname = appname ;
61
+ userapp . settings . viewpath = "apps/" + appname ;
62
+ userapp . settings . appurl = "/app/" + appname ;
63
+ userapp . settings . staticurl = "/static/apps/" + appname ;
64
+ userapp . settings . device_name = auth . getDeviceName ( ) ;
65
+ userapp . settings . coder_owner = auth . getCoderOwner ( ) ;
66
+ userapp . settings . coder_color = auth . getCoderColor ( ) ;
67
+
68
+ if ( userapp . settings . device_name === "" ) {
69
+ userapp . settings . device_name = "Coder" ;
70
+ }
71
+ if ( userapp . settings . coder_color === "" ) {
72
+ userapp . settings . coder_color = "#3e3e3e" ;
73
+ }
71
74
}
72
- } ;
75
+
76
+ return userapp ;
77
+ }
73
78
74
79
var apphandler = function ( req , res , appdir ) {
75
80
76
81
var appname = req . params [ 0 ] ;
77
82
var apppath = req . params [ 1 ] ;
78
- var modpath = appdir + appname ;
79
- var userapp = loadApp ( modpath + "/app" ) ;
80
83
84
+ auth = require ( appdir + "auth" + "/app" ) ;
85
+ var userapp = loadApp ( appdir , appname , auth ) ;
86
+
87
+ if ( ! apppath ) {
88
+ apppath = "/" ;
89
+ } else {
90
+ apppath = "/" + apppath ;
91
+ }
81
92
82
93
util . log ( "GET: " + apppath + " " + appname ) ;
83
94
84
95
//Redirect to sign-in for unauthenticated users
85
96
publicAllowed = [ "auth" ] ; //apps that are exempt from any login (should only be auth)
86
- auth = require ( appdir + "auth" + "/app" ) ;
87
97
user = auth . isAuthenticated ( req , res ) ;
88
98
if ( ! user && publicAllowed . indexOf ( appname ) < 0 ) {
89
99
util . log ( "redirect: " + '/app/auth' ) ;
90
100
res . redirect ( '/app/auth' ) ;
91
101
return ;
92
102
}
93
103
94
-
95
- if ( ! apppath ) {
96
- apppath = "/" ;
97
- } else {
98
- apppath = "/" + apppath ;
99
- }
100
-
101
- applyAppSettings ( userapp , appname , auth ) ;
102
-
103
104
var routes = [ ] ;
104
105
if ( req . route . method === 'get' ) {
105
106
routes = userapp . get_routes ;
@@ -251,9 +252,8 @@ var initSocketIO = function( server ) {
251
252
}
252
253
if ( data . appid !== undefined && data . appid . match ( / ^ \w + $ / ) && data . key !== undefined ) {
253
254
var appname = data . appid ;
254
- var userapp = loadApp ( __dirname + '/apps/' + appname + "/app" ) ;
255
255
var auth = require ( __dirname + "/apps/auth/app" ) ;
256
- applyAppSettings ( userapp , appname , auth ) ;
256
+ var userapp = loadApp ( __dirname + '/apps/' , appname , auth ) ;
257
257
258
258
var route ;
259
259
var key = data . key ;
0 commit comments