Guest User

Untitled

a guest
Nov 3rd, 2018
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.01 KB | None | 0 0
  1. var express = require('express');
  2. var path=require('path');
  3. const split = require('split-string');
  4. var fs = require('fs');
  5. var app = express();
  6. var session = require('express-session');
  7. var bodyParser = require('body-parser');
  8. var mysql = require('mysql');
  9. var connection = mysql.createConnection ({
  10. host : 'localhost',
  11. database : 'DBMSproject',
  12. user : 'root',
  13. password : 'root',
  14. });
  15. const querystring = require('querystring');
  16.  
  17. var dpController=require('./dpController.js');
  18. var likedByMethod=require('./methods.js')
  19.  
  20. app.use(session({
  21. secret: 'random_string_goes_here',
  22. resave: false,
  23. saveUninitialized: true
  24. }));
  25.  
  26. app.use(express.static(require('path').join(__dirname + '/Public')));
  27. app.use(function(req, res, next) {
  28. res.header("Access-Control-Allow-Origin", "*");
  29. res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  30. next();
  31. });
  32.  
  33. app.engine('ejs', require('ejs').renderFile);
  34. app.set('view engine', 'ejs');
  35.  
  36. users = [];
  37. connections = [];
  38.  
  39. var urlencodedParser = bodyParser.urlencoded({ extended: true})
  40.  
  41. app.get('/',function(req,res) {
  42. res.render( 'start', {
  43. passwordIncorrect: ' ',
  44. userNotRegistered: ' '
  45. });
  46. })
  47.  
  48. app.get('/login',function(req,res) {
  49. res.render( 'login', {
  50. passwordIncorrect: ' ',
  51. userNotRegistered: ' ',
  52. loginAgain:' '
  53. });
  54. })
  55.  
  56. app.get('/register',function(req,res) {
  57. res.render( 'register', {
  58. pnameTaken:' ',
  59. emailTaken:' '
  60. });
  61. })
  62. var members=[[]],others=[[]];
  63.  
  64. app.get('/dashboard',function(req,res) {
  65. if(req.session.user&&req.session)
  66. {
  67. var otherUsers=[[]];
  68. connection.query('SELECT * FROM users WHERE email != ?',[req.session.user.email],function(err,resultRows,fields)
  69. {
  70. res.render( 'welcome', {
  71. user: req.session.user,
  72. members:resultRows
  73. });
  74. });
  75. }
  76. else{
  77. console.log('Login again!!');
  78. res.render('login',{
  79. passwordIncorrect: ' ',
  80. userNotRegistered: ' ',
  81. loginAgain:'Session expired, Login Again!! '
  82. });
  83. }
  84. })
  85.  
  86. app.get('/dashboard/userProfile',function(req,res){
  87. if(req.session && req.session.user)
  88. {
  89. var user=req.session.user.pname;
  90. var likedUser=req.query.partner;
  91.  
  92. connection.query("SELECT * FROM users WHERE pname = ? ",[likedUser],function(err,result,fields){
  93. if(err)
  94. {
  95. console.log("error at retriving data values");
  96. res.send({
  97. "code":400,
  98. "failed":"Error ocurred"
  99. });
  100. }
  101. else
  102. {
  103. console.log("u:",user,"likedUser:",likedUser);
  104. if(result.length>0)
  105. {
  106. connection.query("SELECT * FROM likes WHERE user = ? LIMIT 1",[user],function(err,resRow,fields){
  107. if(err){
  108. console.log("error at query");
  109. res.send({
  110. "code":400,
  111. "failed":"Error ocurred"
  112. });
  113.  
  114. }
  115. var likes='';
  116. var likeList='';
  117. if(resRow.length==1)
  118. {
  119. likes=resRow[0].liked;
  120. console.log(likes);
  121. likes=JSON.stringify(likes);
  122. console.log(likes);
  123. console.log("string is : "+likes);
  124. likeList=split(likes);
  125. //var likeList=JSON.parse(likeList);
  126. console.log("ll:",likeList);
  127. }
  128.  
  129.  
  130. var User = {
  131. fname:result[0].fname,
  132. lname:result[0].lname,
  133. pname:result[0].pname,
  134. gender:result[0].gender,
  135. description:result[0].description,
  136. DOB:result[0].DOB,
  137. religion:result[0].religion,
  138. motherTongue:result[0].motherTongue,
  139. userHeight:result[0].userHeight,
  140. mStatus:result[0].mStatus,
  141. privacy:result[0].privacy,
  142. qualification:result[0].qualification,
  143. college:result[0].college,
  144. occupation:result[0].occupation,
  145. country:result[0].country,
  146. salary:result[0].salary,
  147. email: result[0].email,
  148. image:result[0].image
  149. };
  150.  
  151. res.render('profile',{
  152. likedUsers:likeList,
  153. user:User,
  154. calledUser: req.session.user
  155. })
  156.  
  157. });
  158.  
  159. }
  160. else
  161. {
  162. var u=req.query.partner;
  163. res.redirect('/dashboard/UserNameError/?nam='+u);
  164. }
  165. }
  166. });
  167. }
  168. })
  169.  
  170.  
  171. app.get('/dashboard/preference', function(req,res){
  172. if(req.session && req.session.user)
  173. {
  174. var gender=req.query.gender;
  175. var fromAge=req.query.fromAge;
  176. var toAge=req.query.toAge;
  177. var religion=req.query.religion;
  178. var motherTongue=req.query.motherTongue;
  179. var pname=req.session.user.pname;
  180. //var dob=req.session.user.DOB;
  181. //var shortList;
  182. connection.query('select shortlisted from shortlist where user = ?',[pname],function(err,loved,fields)
  183. {
  184. if(err)
  185. {
  186. console.log("error at query");
  187. res.send({
  188. "code":400,
  189. "failed":"Error ocurred"
  190. });
  191. }
  192. if(loved.length > 0)
  193. {
  194. loved=loved[0].shortlisted;
  195. loved=JSON.stringify(loved);
  196. console.log(" shortlist string is : "+loved);
  197. var shortList=split(loved);
  198. console.log("inside "+shortList);
  199. }
  200. else
  201. {
  202. var shortList=' ';
  203. }
  204. if(req.query.gender)
  205. {
  206. req.session.user.p.gender = req.query.gender;
  207. req.session.user.p.toAge = req.query.toAge;
  208. req.session.user.p.fromAge = req.query.fromAge;
  209. req.session.user.p.religion = req.query.religion;
  210. req.session.user.p.motherTongue = req.query.motherTongue;
  211. console.log(req.session.user.p);
  212. }
  213. var sql1='SELECT liked from likes where user=?';
  214. connection.query(sql1,[pname],function(err,likes,fields){
  215. if(err){
  216. console.log("error at query");
  217. res.send({
  218. "code":400,
  219. "failed":"Error ocurred"
  220. });
  221.  
  222. }
  223. if(likes.length==0)
  224. {
  225. var sql='SELECT * from users WHERE gender=? and year(curdate())-year(DOB) >= ? and year(curdate())-year(DOB) <= ? and religion=? and motherTongue=? and privacy=0 ';
  226. connection.query(sql,[gender,fromAge,toAge,religion,motherTongue],function(err,results,fields){
  227. if(err){
  228. console.log("error at query");
  229. res.send({
  230. "code":400,
  231. "failed":"Error ocurred"
  232. });
  233. }
  234. else{
  235. console.log(results);
  236. res.render('preference',{
  237. user:req.session.user,
  238. members:results,
  239. loved:shortList
  240. });
  241. }
  242. });
  243. }
  244. else
  245. {
  246. likes=likes[0].liked;
  247. likes=JSON.stringify(likes);
  248. console.log("string is : "+likes);
  249. var likeList=split(likes);
  250. //var likeList=JSON.parse(likeList);
  251. console.log(likeList);
  252. var sql='SELECT * from users WHERE gender=? and year(curdate())-year(DOB) >= ? and year(curdate())-year(DOB) <= ? and religion=? and motherTongue=? and pname not in ( ?) and privacy=0';
  253. connection.query(sql,[gender,fromAge,toAge,religion,motherTongue,likeList],function(err,results,fields){
  254. if(err){
  255. console.log("error at query");
  256. res.send({
  257. "code":400,
  258. "failed":"Error ocurred"
  259. });
  260. }
  261. else{
  262. console.log(results);
  263. res.render('preference',{
  264. user:req.session.user,
  265. members:results,
  266. loved:shortList
  267. });
  268. }
  269. });
  270. }
  271. });
  272. });
  273. }
  274. else{
  275. console.log('Login again!!');
  276. res.render('login',{
  277. passwordIncorrect: ' ',
  278. userNotRegistered: ' ',
  279. loginAgain:'Session expired, Login Again!! '
  280. });
  281. }
  282. })
  283.  
  284.  
  285. app.get('/dashboard/userProfile/shortList', function(req,res){
  286. if(req.session && req.session.user)
  287. {
  288. var pname=req.query.pname;
  289. //var dob=req.session.user.DOB;
  290. var shortList;
  291. var likeList;
  292. connection.query('select shortlisted from shortlist where user = ?',[pname],function(err,loved,fields)
  293. {
  294. if(err)
  295. {
  296. console.log("error at query");
  297. res.send({
  298. "code":400,
  299. "failed":"Error ocurred"
  300. });
  301. }
  302. if(loved.length > 0)
  303. {
  304. loved=loved[0].shortlisted;
  305. loved=JSON.stringify(loved);
  306. console.log(" shortlist string is : "+loved);
  307. shortList=split(loved);
  308. console.log("inside "+shortList);
  309. }
  310. else
  311. {
  312. shortList=' ';
  313. }
  314. connection.query('SELECT liked from likes where user = ?',[pname],function(err,liked,fields){
  315. if(err)
  316. {
  317. console.log("error at query");
  318. res.send({
  319. "code":400,
  320. "failed":"Error ocurred"
  321. });
  322. }
  323. if(liked.length > 0)
  324. {
  325. liked=liked[0].liked;
  326. liked=JSON.stringify(liked);
  327. console.log(" shortlist string is : "+liked);
  328. var likeList=split(liked);
  329. console.log("inside "+likeList);
  330. }
  331. else{
  332. likeList=' ';
  333. }
  334. var sql1='SELECT * from users where pname in (?) and pname not in (?)';
  335. connection.query(sql1,[shortList,likeList],function(err,results,fields)
  336. {
  337. if(err)
  338. {
  339. console.log("error at query");
  340. res.send({
  341. "code":400,
  342. "failed":"Error ocurred"
  343. });
  344. }
  345. else
  346. {
  347. console.log(results);
  348. res.render('shortlist',{
  349. user:req.session.user,
  350. members:results
  351. });
  352. }
  353. });
  354. });
  355. });
  356. }
  357. else{
  358. console.log('Login again!!');
  359. res.render('login',{
  360. passwordIncorrect: ' ',
  361. userNotRegistered: ' ',
  362. loginAgain:'Session expired, Login Again!! '
  363. });
  364. }
  365. })
  366.  
  367.  
  368. app.get('/dashboard/userProfile/yourLikes', function(req,res){
  369. if(req.session && req.session.user)
  370. {
  371. var pname=req.query.pname;
  372. //var dob=req.session.user.DOB;
  373. var shortList;
  374. var likeList;
  375. connection.query('SELECT liked from likes where user = ?',[pname],function(err,liked,fields)
  376. {
  377. if(err)
  378. {
  379. console.log("error at query");
  380. res.send({
  381. "code":400,
  382. "failed":"Error ocurred"
  383. });
  384. }
  385. if(liked.length > 0)
  386. {
  387. liked=liked[0].liked;
  388. liked=JSON.stringify(liked);
  389. console.log(" shortlist string is : "+liked);
  390. var likeList=split(liked);
  391. console.log("inside "+likeList);
  392. }
  393. else{
  394. likeList=' ';
  395. }
  396. var sql1='SELECT * from users where pname in (?)';
  397. connection.query(sql1,[likeList],function(err,results,fields)
  398. {
  399. if(err)
  400. {
  401. console.log("error at query");
  402. res.send({
  403. "code":400,
  404. "failed":"Error ocurred"
  405. });
  406. }
  407. else
  408. {
  409. console.log(results);
  410. res.render('likes',{
  411. user:req.session.user,
  412. members:results,
  413. flag:1
  414. });
  415. }
  416. });
  417. });
  418. }
  419. else{
  420. console.log('Login again!!');
  421. res.render('login',{
  422. passwordIncorrect: ' ',
  423. userNotRegistered: ' ',
  424. loginAgain:'Session expired, Login Again!! '
  425. });
  426. }
  427. })
  428.  
  429. app.get('/dashboard/userProfile/likedBy', function(req,res){
  430. if(req.session && req.session.user)
  431. {
  432. var pname=req.query.pname;
  433. //var dob=req.session.user.DOB;
  434. var likeList;
  435. connection.query('SELECT likedBy from Rlikes where user = ?',[pname],function(err,liked,fields)
  436. {
  437. if(err)
  438. {
  439. console.log("error at query");
  440. res.send({
  441. "code":400,
  442. "failed":"Error ocurred"
  443. });
  444. }
  445. if(liked.length > 0)
  446. {
  447. liked=liked[0].likedBy;
  448. liked=JSON.stringify(liked);
  449. console.log(" likelist string is : "+liked);
  450. likeList=split(liked);
  451. console.log("inside "+likeList);
  452. }
  453. else{
  454. likeList=' ';
  455. }
  456. var sql1='SELECT * from users where pname in (?)';
  457. connection.query(sql1,[likeList],function(err,results,fields)
  458. {
  459. if(err)
  460. {
  461. console.log("error at query");
  462. res.send({
  463. "code":400,
  464. "failed":"Error ocurred"
  465. });
  466. }
  467. else
  468. {
  469. console.log(results);
  470. res.render('likes',{
  471. user:req.session.user,
  472. members:results,
  473. flag:0
  474. });
  475. }
  476. });
  477. });
  478. }
  479. else{
  480. console.log('Login again!!');
  481. res.render('login',{
  482. passwordIncorrect: ' ',
  483. userNotRegistered: ' ',
  484. loginAgain:'Session expired, Login Again!! '
  485. });
  486. }
  487. })
  488.  
  489. /*
  490.  
  491. likes(user,liked);
  492.  
  493. SQL Triggers MUST
  494. 1)
  495. create trigger firstInsert before insert on likes for each row
  496. begin set NEW.liked=concat(".",NEW.liked,".");
  497. end//
  498. Query OK, 0 rows affected (0.08 sec)
  499.  
  500. 2)
  501. create trigger likes before update on likes for each row begin
  502. set NEW.liked=concat(".",NEW.liked,".",OLD.liked,".");
  503. end//
  504.  
  505. */
  506. app.post('/shortList/like',urlencodedParser,function(req,res){
  507. {
  508. if(req.session.user&&req.session)
  509. {
  510.  
  511. var userName=req.session.user.pname;
  512. var liked=req.body.like;
  513. likedByMethod.insertValues(liked,userName);
  514. connection.query("SELECT * FROM likes where user = ?",[userName],function(err,results,fields){
  515. if(err)
  516. {
  517. console.log("error at query");
  518. res.send({
  519. "code":400,
  520. "failed":"Error ocurred"
  521. });
  522. }
  523. else
  524. {
  525. if(results.length > 0)
  526. {
  527. connection.query("UPDATE likes SET liked = ? where user=?",[liked,userName],function(err,results,fields){
  528. if(err)
  529. {
  530. console.log("error at query");
  531. res.send({
  532. "code":400,
  533. "failed":"Error ocurred"
  534. });
  535. }
  536. else
  537. {
  538. console.log(userName+" "+liked);
  539. res.redirect('/dashboard/userProfile/shortList');
  540. }
  541. });
  542. }
  543. else
  544. {
  545. connection.query("INSERT INTO likes values('"+userName+"','"+liked+"')",function(err,resultRows,fields)
  546. {
  547. if(err)
  548. {
  549. console.log("error at query");
  550. res.send({
  551. "code":400,
  552. "failed":"Error ocurred"
  553. });
  554. }
  555. else{
  556. console.log(userName+" "+liked);
  557. res.redirect('/dashboard/userProfile/shortList');
  558. }
  559. });
  560. }
  561. }
  562. });
  563. }
  564. else{
  565. console.log('Login again!!');
  566. res.render('login',{
  567. passwordIncorrect: ' ',
  568. userNotRegistered: ' ',
  569. loginAgain:'Session expired, Login Again!! '
  570. });
  571. }
  572. }
  573. })
  574.  
  575. app.post('/shortList/delete',urlencodedParser,function(req,res){
  576. {
  577. if(req.session.user&&req.session)
  578. {
  579.  
  580. var userName=req.session.user.pname;
  581. connection.query("DELETE FROM shortlist where user = ?",[userName],function(err,results,fields){
  582. if(err)
  583. {
  584. console.log("error at query");
  585. res.send({
  586. "code":400,
  587. "failed":"Error ocurred"
  588. });
  589. }
  590. else
  591. {
  592. console.log(results.affectedRows);
  593. res.redirect('/dashboard/userProfile/shortList');
  594. }
  595. });
  596. }
  597. else{
  598. console.log('Login again!!');
  599. res.render('login',{
  600. passwordIncorrect: ' ',
  601. userNotRegistered: ' ',
  602. loginAgain:'Session expired, Login Again!! '
  603. });
  604. }
  605. }
  606. })
  607.  
  608. app.post('/like',urlencodedParser,function(req,res){
  609. {
  610. if(req.session.user&&req.session)
  611. {
  612.  
  613. var userName=req.session.user.pname;
  614. var liked=req.body.like;
  615. likedByMethod.insertValues(liked,userName);
  616. connection.query("SELECT * FROM likes where user = ?",[userName],function(err,results,fields){
  617. if(err)
  618. {
  619. console.log("error at query");
  620. res.send({
  621. "code":400,
  622. "failed":"Error ocurred"
  623. });
  624. }
  625. else
  626. {
  627. if(results.length > 0)
  628. {
  629. connection.query("UPDATE likes SET liked = ? where user=?",[liked,userName],function(err,results,fields){
  630. if(err)
  631. {
  632. console.log("error at query");
  633. res.send({
  634. "code":400,
  635. "failed":"Error ocurred"
  636. });
  637. }
  638. else
  639. {
  640. console.log(userName+" "+liked);
  641. const query = querystring.stringify({
  642. "gender": req.session.user.p.gender,
  643. "toAge": req.session.user.p.toAge,
  644. "fromAge":req.session.user.p.fromAge,
  645. "religion":req.session.user.p.religion,
  646. "motherTongue":req.session.user.p.motherTongue
  647. });
  648. res.redirect('/dashboard/preference?' + query);
  649. }
  650. });
  651. }
  652. else
  653. {
  654. connection.query("INSERT INTO likes values('"+userName+"','"+liked+"')",function(err,resultRows,fields)
  655. {
  656. if(err)
  657. {
  658. console.log("error at query");
  659. res.send({
  660. "code":400,
  661. "failed":"Error ocurred"
  662. });
  663. }
  664. else{
  665. console.log(userName+" "+liked);
  666. const query = querystring.stringify({
  667. "gender": req.session.user.p.gender,
  668. "toAge": req.session.user.p.toAge,
  669. "fromAge":req.session.user.p.fromAge,
  670. "religion":req.session.user.p.religion,
  671. "motherTongue":req.session.user.p.motherTongue
  672. });
  673. res.redirect('/dashboard/preference?' + query);
  674. }
  675. });
  676. }
  677. }
  678. });
  679. }
  680. else{
  681. console.log('Login again!!');
  682. res.render('login',{
  683. passwordIncorrect: ' ',
  684. userNotRegistered: ' ',
  685. loginAgain:'Session expired, Login Again!! '
  686. });
  687. }
  688. }
  689. })
  690.  
  691. app.post('/love',urlencodedParser,function(req,res){
  692. {
  693. if(req.session.user&&req.session)
  694. {
  695. var userName=req.session.user.pname;
  696. var shortlisted=req.body.love;
  697. connection.query("SELECT * FROM shortlist where user = ?",[userName],function(err,results,fields){
  698. if(err)
  699. {
  700. console.log("error at query");
  701. res.send({
  702. "code":400,
  703. "failed":"Error ocurred"
  704. });
  705. }
  706. else
  707. {
  708.  
  709. if(results.length > 0)
  710. {
  711. connection.query("UPDATE shortlist SET shortlisted = ? where user=?",[shortlisted,userName],function(err,results,fields){
  712. if(err)
  713. {
  714. console.log("error at query");
  715. res.send({
  716. "code":400,
  717. "failed":"Error ocurred"
  718. });
  719. }
  720. else
  721. {
  722. console.log(userName+" "+shortlisted);
  723. const query = querystring.stringify({
  724. "gender": req.session.user.p.gender,
  725. "toAge": req.session.user.p.toAge,
  726. "fromAge":req.session.user.p.fromAge,
  727. "religion":req.session.user.p.religion,
  728. "motherTongue":req.session.user.p.motherTongue
  729. });
  730. res.redirect('/dashboard/preference?' + query);
  731. }
  732. });
  733. }
  734. else
  735. {
  736. connection.query("INSERT INTO shortlist values('"+userName+"','"+shortlisted+"')",function(err,resultRows,fields)
  737. {
  738. if(err)
  739. {
  740. console.log("error at query");
  741. res.send({
  742. "code":400,
  743. "failed":"Error ocurred"
  744. });
  745. }
  746. else{
  747. console.log(userName+" "+shortlisted);
  748. const query = querystring.stringify({
  749. "gender": req.session.user.p.gender,
  750. "toAge": req.session.user.p.toAge,
  751. "fromAge":req.session.user.p.fromAge,
  752. "religion":req.session.user.p.religion,
  753. "motherTongue":req.session.user.p.motherTongue
  754. });
  755. res.redirect('/dashboard/preference?' + query);
  756. }
  757. });
  758. }
  759. }
  760. });
  761. }
  762. else{
  763. console.log('Login again!!');
  764. res.render('login',{
  765. passwordIncorrect: ' ',
  766. userNotRegistered: ' ',
  767. loginAgain:'Session expired, Login Again!! '
  768. });
  769. }
  770. }
  771. })
  772.  
  773. app.post('/dashboard/like',urlencodedParser,function(req,res){
  774. if(req.session.user&&req.session)
  775. {
  776. var userName=req.session.user.pname;
  777. var liked=req.body.like;
  778. likedByMethod.insertValues(liked,userName);
  779. connection.query("SELECT * FROM likes where user = ?",[userName],function(err,results,fields)
  780. {
  781. if(err)
  782. {
  783. console.log("error at query");
  784. res.send({
  785. "code":400,
  786. "failed":"Error ocurred"
  787. });
  788. }
  789. else
  790. {
  791. if(results.length > 0)
  792. {
  793. connection.query("UPDATE likes SET liked = ? where user=?",[liked,userName],function(err,results,fields){
  794. if(err)
  795. {
  796. console.log("error at query");
  797. res.send({
  798. "code":400,
  799. "failed":"Error ocurred"
  800. });
  801. }
  802. else
  803. {
  804. console.log(userName+" "+liked);
  805. const query = querystring.stringify({
  806. "partner": liked
  807. });
  808. res.redirect('/dashboard/userProfile?' + query);
  809. }
  810. });
  811. }
  812. else
  813. {
  814. connection.query("INSERT INTO likes values('"+userName+"','"+liked+"')",function(err,resultRows,fields)
  815. {
  816. if(err)
  817. {
  818. console.log("error at query");
  819. res.send({
  820. "code":400,
  821. "failed":"Error ocurred"
  822. });
  823. }
  824. else{
  825. console.log(userName+" "+liked);
  826. const query = querystring.stringify({
  827. "partner": liked
  828. });
  829. res.redirect('/dashboard/userProfile?' + query);
  830. }
  831. });
  832. }
  833. }
  834. });
  835. }
  836. else
  837. {
  838. console.log('Login again!!');
  839. res.render('login',{
  840. passwordIncorrect: ' ',
  841. userNotRegistered: ' ',
  842. loginAgain:'Session expired, Login Again!! '
  843. });
  844. }
  845. })
  846.  
  847. app.post('/dashboard/delete',urlencodedParser,function(req,res){
  848. if(req.session.user&&req.session)
  849. {
  850. var pname=req.body.del;
  851. connection.query("DELETE FROM users where pname = ?",[pname],function(err,results,fields)
  852. {
  853. if(err)
  854. {
  855. console.log("error at query");
  856. res.send({
  857. "code":400,
  858. "failed":"Error ocurred"
  859. });
  860. }
  861. else
  862. {
  863. console.log(pname+" deleted");
  864. res.redirect('/register');
  865. }
  866. });
  867. }
  868. else
  869. {
  870. console.log('Login again!!');
  871. res.render('login',{
  872. passwordIncorrect: ' ',
  873. userNotRegistered: ' ',
  874. loginAgain:'Session expired, Login Again!! '
  875. });
  876. }
  877. })
  878.  
  879. app.get('/dashboard/UserNameError',function(req,res){
  880. res.writeHead(200,{'Content-Type':'text/html'});
  881. console.log(req.query.nam);
  882. res.write("OOPS ! "+req.query.nam+" User Name doesn't exist !!");
  883. })
  884.  
  885. app.post('/login',urlencodedParser,function(req,res){
  886. var email = req.body.userEmail;
  887. var password = req.body.userPassword;
  888. connection.query('SELECT * FROM users WHERE email = ?',[email],function(error, results, fields){
  889. if(error){
  890. console.log("error");
  891. res.redirect('/login');
  892. }
  893. if(email.length == 0 || password.length == 0)
  894. {
  895. res.render( 'login', {
  896. passwordIncorrect: 'Insufficient Credentials',
  897. userNotRegistered: ' ',
  898. loginAgain: ' '
  899. });
  900. }
  901. else{
  902. if(results.length > 0){
  903. if(results[0].password==password){
  904. var preference={
  905. gender:' ',
  906. toAge:' ',
  907. fromAge:' ',
  908. religion:' ',
  909. motherTongue:' '
  910. };
  911. var newUser = {
  912. fname:results[0].fname,
  913. lname:results[0].lname,
  914. pname:results[0].pname,
  915. gender:results[0].gender,
  916. description:results[0].description,
  917. DOB:results[0].DOB,
  918. religion:results[0].religion,
  919. motherTongue:results[0].motherTongue,
  920. userHeight:results[0].userHeight,
  921. mStatus:results[0].mStatus,
  922. privacy:results[0].privacy,
  923. qualification:results[0].qualification,
  924. college:results[0].college,
  925. occupation:results[0].occupation,
  926. country:results[0].country,
  927. salary:results[0].salary,
  928. email: req.body.userEmail,
  929. password: req.body.userPassword,
  930. p:preference
  931. };
  932. req.session.user=newUser;
  933. //Users.push(newUser);
  934. console.log("Login Successful");
  935. console.log(req.session);
  936. res.redirect('/dashboard');
  937. }
  938. else{
  939. console.log("Password Incorrect");
  940. res.render( 'login', {
  941. passwordIncorrect: 'password Incorrect',
  942. userNotRegistered: ' ',
  943. loginAgain: ' '
  944. });
  945. }
  946. }
  947. else{
  948. console.log("Email Doesn't exist");
  949. res.render( 'login', {
  950. userNotRegistered: 'User Not Registered!! Click the Register button',
  951. passwordIncorrect: ' ',
  952. loginAgain: ' '
  953. });
  954. }
  955. }
  956. });
  957. })
  958.  
  959. app.post('/register',urlencodedParser,function(req,res)
  960. {
  961. var image = 'images_5';
  962. var fname = req.body.fname;
  963. var lname = req.body.lname;
  964. var pname = req.body.pname;
  965. var gender = req.body.gender;
  966. var email = req.body.email;
  967. var password = req.body.password;
  968. var description = req.body.description;
  969. var DOB = req.body.DOB;
  970. var religion = req.body.religion;
  971. var motherTongue = req.body.motherTongue;
  972. var userHeight = req.body.userHeight;
  973. var mStatus = req.body.mStatus;
  974. var privacy = req.body.privacy;
  975. var qualification = req.body.qualification;
  976. var college = req.body.college;
  977. var occupation = req.body.occupation;
  978. var country = req.body.country;
  979. var salary = req.body.salary;
  980. connection.query('SELECT * FROM users WHERE pname = ?',[pname],function(error, results, fields)
  981. {
  982. if(error){
  983. console.log("error at query");
  984. res.send({
  985. "code":400,
  986. "failed":"Error ocurred"
  987. });
  988. }
  989. else
  990. {
  991. if(results.length > 0)
  992. {
  993. console.log("USER EXISTS");
  994. res.render('register', {
  995. pnameTaken: 'Profile name taken.. choose other Profile Name!!',
  996. emailTaken: ' '
  997. });
  998. }
  999. else
  1000. {
  1001. connection.query('SELECT * FROM users WHERE email = ?',[email], function(error, results, fields)
  1002. {
  1003. if(error){
  1004. console.log("error at query");
  1005. res.send({
  1006. "code":400,
  1007. "failed":"Error ocurred"
  1008. });
  1009. }
  1010. else
  1011. {
  1012. if(results.length > 0)
  1013. {
  1014. console.log("USER EXISTS");
  1015. res.render('register', {
  1016. pnameTaken: ' ',
  1017. emailTaken: 'Email already registered'
  1018. });
  1019. }
  1020. else
  1021. {
  1022. connection.query("INSERT INTO users values ('"+fname+"','"+lname+"','"+pname+"','"+gender+"','"+email+"','"+password+"','"+description+"','"+DOB+"','"+religion+"','"+motherTongue+"','"+userHeight+"','"+mStatus+"','"+privacy+"','"+qualification+"','"+college+"','"+occupation+"','"+country+"','"+salary+"','"+image+"')",function(error, results, fields)
  1023. {
  1024. if(error)
  1025. {
  1026. console.log("error at inserting values");
  1027. res.send({
  1028. "code":400,
  1029. "failed":"Error ocurred"
  1030. });
  1031. }
  1032. else
  1033. {
  1034. console.log("Register Successful");
  1035. console.log(pname+" "+email+" "+password);
  1036. //res.sendFile(__dirname+"/login.html");
  1037. res.redirect('/login');
  1038. res.end();
  1039. }
  1040. });
  1041. }
  1042. }
  1043. });
  1044. }
  1045. }
  1046. });
  1047. })
  1048.  
  1049. app.get('/logout', function(req, res) {
  1050. req.session.destroy(function(err){
  1051. if(err){
  1052. console.log(err);
  1053. }
  1054. else {
  1055. res.clearCookie('session', { path: '/' });
  1056. res.redirect('/');
  1057. }
  1058. });
  1059. });
  1060.  
  1061. dpController(app);
  1062. var server = app.listen(8081, function() {
  1063. var host = server.address().address;
  1064. var port = server.address().port;
  1065. console.log(host+" "+port);
  1066. })
Add Comment
Please, Sign In to add comment