Advertisement
Guest User

Untitled

a guest
Apr 12th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.49 KB | None | 0 0
  1. var daoManager = require('./database/daoManager');
  2.  
  3. module.exports = function (app, io) {
  4.  
  5. app.get('/', function(req, res){
  6. if(req.session.user == "undefined" || req.session.user == null) {
  7. res.render('index');
  8. }else{
  9. res.render(redirectUser(req.session.user.role));
  10. }
  11. });
  12.  
  13. app.get('/login.html', function(req, res){
  14. res.render('login');
  15. });
  16.  
  17. app.get('/index.html/:showError', function(req, res){
  18. res.render('index');
  19. });
  20.  
  21. app.get('/dataview.html', function(req, res){
  22. res.render('datareport');
  23. });
  24.  
  25. app.get('/index.html', function(req, res){
  26. res.render('index');
  27. });
  28.  
  29. app.get('/closeaccount.html', function(req, res){
  30. if(req.session.user == "undefined" || req.session.user == null){
  31. res.render('index');
  32. }else if(req.session.user.role == 'Admin'){
  33. res.render('closeaccount');
  34. }else{
  35. res.send("Invalid permissons");
  36. }
  37.  
  38. });
  39.  
  40. app.get('/closeevent.html', function(req, res){
  41. if(req.session.user == "undefined" || req.session.user == null){
  42. res.render('index');
  43. }else if(req.session.user.role == 'Organizer' || req.session.user.role == 'Admin'){
  44. res.render('closeevent');
  45. }else{
  46. res.send("Invalid permissons");
  47. }
  48. });
  49.  
  50. app.get('/createannad.html', function(req, res){
  51. res.render('createannad');
  52. });
  53.  
  54. app.get('/createevent.html', function(req, res){
  55. if(req.session.user == "undefined" || req.session.user == null){
  56. res.render('index');
  57. }else if(req.session.user.role == 'Admin' || req.session.user.role == "Organizer"){
  58. res.render('createevent');
  59. }else{
  60. res.send("Invalid permissons");
  61. }
  62.  
  63. });
  64.  
  65. app.get('/createpollrating.html', function(req, res){
  66. res.render('createpollrating');
  67. });
  68.  
  69. app.get('/datalive.html', function(req, res){
  70. res.render('datalive');
  71. });
  72.  
  73. app.get('/datareport.html', function(req, res){
  74. res.render('datareport');
  75. });
  76.  
  77. app.get('/datashare.html', function(req, res){
  78. res.render('datashare');
  79. });
  80.  
  81. app.get('/editainfo.html', function(req, res){
  82. if(req.session.user == "undefined" || req.session.user == null){
  83. res.render('index');
  84. }else if(req.session.user.role == 'Admin'){
  85. res.render('editainfo');
  86. }else{
  87. res.send("Invalid permissons");
  88. }
  89. });
  90.  
  91. app.get('/editeoinfo.html', function(req, res){
  92. if(req.session.user == "undefined" || req.session.user == null){
  93. res.render('index');
  94. }else if(req.session.user.role == 'Organizer'){
  95. res.render('editeoinfo');
  96. }else{
  97. res.send("Invalid permissons");
  98. }
  99. });
  100.  
  101. app.get('/edituinfo.html', function(req, res){
  102. if(req.session.user == "undefined" || req.session.user == null){
  103. res.render('index');
  104. }else if(req.session.user.role == 'User'){
  105. res.render('edituinfo');
  106. }else{
  107. res.send("Invalid permissons");
  108. }
  109.  
  110. });
  111.  
  112. app.get('/fpassword.html', function(req, res){
  113. res.render('fpassword');
  114. });
  115.  
  116. app.get('/fusername.html', function(req, res){
  117. res.render('fusername');
  118. });
  119.  
  120. app.get('/homea.html', function(req, res){
  121. if(req.session.user == "undefined" || req.session.user == null){
  122. res.render('index');
  123. }else if(req.session.user.role == 'Admin'){
  124. res.render('homea');
  125. }else{
  126.  
  127. }
  128. });
  129.  
  130. app.get('/homeeo.html', function(req, res){
  131. if(req.session.user == "undefined" || req.session.user == null){
  132. res.render('index');
  133. }else if(req.session.user.role == 'Organizer' || req.session.user.role == 'Admin'){
  134. res.render('homeeo');
  135. }else{
  136. res.send("Invalid permissons");
  137. }
  138. });
  139.  
  140. app.get('/homeg.html', function(req, res){
  141. res.render('homeg');
  142. });
  143.  
  144. app.get('/homeu.html', function(req, res){
  145. if(req.session.user == "undefined" || req.session.user == null){
  146. res.render('index');
  147. }else{
  148. res.render('homeu');
  149. }
  150.  
  151. });
  152.  
  153. app.get('/invitefriends.html', function(req, res){
  154. res.render('invitefriends');
  155. });
  156.  
  157. app.get('/loging.html', function(req, res){
  158. res.render('loging');
  159. });
  160.  
  161. app.get('/regeo.html', function(req, res){
  162. res.render('regeo');
  163. });
  164.  
  165. app.get('/rega.html', function(req, res){
  166. res.render('rega');
  167. });
  168.  
  169. app.get('/regtype.html', function(req, res){
  170. res.render('regtype');
  171. });
  172.  
  173. app.get('/regu.html', function(req, res){
  174. res.render('regu');
  175. });
  176.  
  177. app.get('/remove.html', function(req, res){
  178. if(req.session.user == "undefined" || req.session.user == null){
  179. res.render('index');
  180. }else if(req.session.user.role == 'Admin' || req.session.user.role == 'Organizer'){
  181. res.render('remove');
  182. }else{
  183. res.send("Invalid permissons");
  184. }
  185. });
  186.  
  187. app.get('/report.html', function(req, res){
  188. if(req.session.user == "undefined" || req.session.user == null){
  189. res.render('index');
  190. }else if(req.session.user.role == 'Admin' || req.session.user.role == 'Organizer'){
  191. res.render('report');
  192. }else{
  193. res.send("Invalid permissons");
  194. }
  195. });
  196.  
  197. app.get('/search.html', function(req, res){
  198. if(req.session.user == "undefined" || req.session.user == null){
  199. res.render('index');
  200. }else{
  201. res.render('search');
  202. }
  203. });
  204.  
  205. app.get('/logout.html', function(req, res){
  206. req.session.user = null;
  207. res.render('index');
  208. });
  209.  
  210. app.get('/spec.html', function(req, res){
  211. res.render('spec');
  212. });
  213.  
  214. app.get('/create', function(req,res){
  215. var id = Math.round((Math.random() * 1000000));
  216. res.redirect('/chat/'+id);
  217. });
  218.  
  219. app.get('/chat/:id', function(req,res){
  220. if(req.session.user == "undefined" || req.session.user == null){
  221. res.redirect('/');
  222. }else{
  223. res.render('chat');
  224. }
  225. });
  226.  
  227. app.get('/active.html', function(req, res){
  228. if(req.session.user == "undefined" || req.session.user == null){
  229. res.redirect('/');
  230. }else{
  231. res.render('active');
  232. }
  233. });
  234.  
  235. app.get('/getAllEvents', function(req, res){
  236. daoManager.getAllEvents(function(err, data){
  237. if(err){
  238. console.log(err);
  239. }else{
  240. res.json({'events': data});
  241. }
  242.  
  243. });
  244. });
  245.  
  246. app.get('/getEventByCategory', function(req, res){
  247. console.log(req.query.category);
  248. daoManager.getEventByCategory(req.query.category, function(err, data){
  249. if(err){
  250. console.log(err);
  251. }else{
  252. res.json({'events': data});
  253. }
  254.  
  255. });
  256. });
  257.  
  258. app.post('/login', function (req, res) {
  259. daoManager.getUserByUsername(req.body.username, function(err, data){
  260. if(err || data == null){
  261. res.redirect('/login.html?authFail=true');
  262. }else{
  263. if(data.password == req.body.password){
  264. req.session.user = data;
  265. if(data.role == "Admin"){
  266. res.redirect("homea.html");
  267. }else if(data.role == "User"){
  268. res.redirect("homeu.html");
  269. }else if(data.role == "Organizer"){
  270. res.redirect("homeeo.html");
  271. }else{
  272. res.redirect("homeg.html");
  273. }
  274. }else{
  275. res.redirect('/login.html?authFail=true');
  276. }
  277. }
  278. });
  279. });
  280.  
  281. app.post('/createNewUser', function (req, res) {
  282. var params = {
  283. 'username': req.body.username,
  284. 'first_name': req.body.fname,
  285. 'last_name': req.body.lname,
  286. 'email': req.body.email,
  287. 'password': req.body.password,
  288. 'role': req.body.role,
  289. 'sex': req.body.gender,
  290. 'dob': req.body.dob,
  291. 'phone_number': req.body.phone,
  292. 'street': req.body.street,
  293. 'venue': req.body.venue,
  294. 'city': req.body.city,
  295. 'state': req.body.state,
  296. 'zip': req.body.zip
  297. }
  298.  
  299. daoManager.createNewUser(params, function(err, data){
  300. if(err){
  301. console.log(err);
  302. res.redirect(checkRegistrationCaller(params.role) + '?error=server');
  303. }else{
  304. res.redirect('/index.html?msg=creation');
  305. }
  306. });
  307. });
  308.  
  309. app.post('/checkExistingEmail', function(req, res){
  310. daoManager.getUserByEmail(req.body.email, function(err, data){
  311. if(data == undefined){
  312. res.json({exists: false});
  313. }else{
  314. res.json({exists: true});
  315. }
  316. });
  317. });
  318.  
  319. app.post('/checkExistingUsername', function(req, res){
  320. daoManager.getUserByUsername(req.body.username, function(err, data){
  321. if(data == undefined){
  322. res.json({exists: false});
  323. }else{
  324. res.json({exists: true});
  325. }
  326. });
  327. });
  328.  
  329. app.post('/createNewEvent', function(req, res){
  330. var params = {
  331. 'organizer_id': req.session.user.id,
  332. 'event_date': '0000-00-00', //gotta remove from the db
  333. 'start_time': req.body.sday +' '+ req.body.stime,
  334. 'end_time': req.body.eday +' '+ req.body.etime,
  335. 'title': req.body.ename,
  336. 'category': req.body.category,
  337. 'min_age': req.body.age,
  338. 'description': req.body.edescription
  339. }
  340.  
  341. daoManager.createNewEvent(params, function(err, data){
  342. if(err){
  343. console.log(err);
  344. }else{
  345. res.render(redirectUser(req.session.user.role));
  346. }
  347. })
  348. });
  349.  
  350. app.post('/getUserInfo', function(req, res){
  351. daoManager.getUserById(req.session.user.id, function(err, data){
  352. if(err){
  353. console.log(err);
  354. }else{
  355. res.json({user: data})
  356. }
  357. });
  358. });
  359.  
  360. app.post('/updateUserInfo', function(req, res){
  361. var params = {
  362. 'username': req.body.husername,
  363. 'first_name': req.body.fname,
  364. 'last_name': req.body.lname,
  365. 'email': req.body.email,
  366. 'password': req.body.password,
  367. 'role': req.body.role,
  368. 'sex': req.body.gender,
  369. 'dob': req.body.dob,
  370. 'phone_number': req.body.phone,
  371. 'street': req.body.street,
  372. 'venue': req.body.venue,
  373. 'city': req.body.city,
  374. 'state': req.body.state,
  375. 'zip': req.body.zip,
  376. 'id': req.body.id
  377. }
  378.  
  379. daoManager.updateUserById(params, function(err, data){
  380. if(err){
  381. console.log(err);
  382. }else{
  383. req.session.user = params;
  384. res.render(redirectUser(params.role));
  385. }
  386. });
  387.  
  388. });
  389.  
  390. var chat = io.of('/socket').on('connection', function (socket) {
  391.  
  392. socket.on('load', function (data) {
  393.  
  394. if(chat.clients(data).length === 0 ) {
  395.  
  396. socket.emit('peopleinchat', {number: 0});
  397. } else {
  398. var usernames = [];
  399.  
  400. chat.clients(data).forEach(function (entry) {
  401. usernames.push(entry.username);
  402. });
  403.  
  404. socket.emit('peopleinchat', {
  405. number: chat.clients(data).length,
  406. users: usernames,
  407. id: data
  408. });
  409. }
  410. });
  411.  
  412. socket.on('login', function(data) {
  413.  
  414. socket.username = data.user;
  415. socket.room = data.id;
  416.  
  417. socket.join(data.id);
  418.  
  419. var usernames = []
  420.  
  421. chat.clients(data.id).forEach(function (entry) {
  422. usernames.push(entry.username);
  423. });
  424.  
  425. chat.in(data.id).emit('startChat', {
  426. boolean: true,
  427. id: data.id,
  428. users: usernames
  429. });
  430.  
  431. });
  432.  
  433. socket.on('disconnect', function() {
  434. socket.leave(socket.room);
  435. });
  436.  
  437.  
  438. socket.on('msg', function(data){
  439. socket.broadcast.to(socket.room).emit('receive', {msg: data.msg, user: data.user});
  440. });
  441.  
  442. socket.on('listRooms', function () {
  443. for (var key in chat.manager.rooms) {
  444. console.log(key);
  445. }
  446. });
  447. });
  448. };
  449.  
  450. function checkRegistrationCaller(role){
  451. switch(role){
  452. case "User":
  453. return "/regu.html";
  454. case "Organizer":
  455. return "/regeo.html";
  456. case "Admin":
  457. return "/rega.html";
  458. default: return "/regu.html";
  459. }
  460. }
  461.  
  462. function redirectUser(role){
  463. switch(role){
  464. case "User":
  465. return "homeu";
  466. case "Organizer":
  467. return "homeeo";
  468. case "Admin":
  469. return "homea";
  470. default: return "index";
  471. }
  472. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement