Advertisement
Guest User

Untitled

a guest
Feb 24th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.79 KB | None | 0 0
  1. io.on('connection', function (client) {
  2. client.on('Servinscription', function(account) {
  3. var msg="",err=false;
  4. if (account.pseudo!="") {
  5. if (account.mail!="") {
  6. if (validateEmail(account.mail)) {
  7. if (account.password!="") {
  8. if (account.cpassword!="") {
  9. if (account.password==account.cpassword) {
  10. mySqlCo(1);
  11. msg="Votre compte a bien été créé !",err=false;
  12. mySqlClient.query('INSERT INTO membres SET ?', { Mpseudo: account.pseudo, Mmail: account.mail, Mpassword: account.password }, function(erre,res){
  13. if (erre) {msg="Surcharge de la base de données ! Veuillez réessayer dans quelques secondes !",err=true;return;}
  14. });
  15. console.log('['+'SERVER'.rainbow+'] '+(account.pseudo).blue+' vient de s\'inscrire !'.green);
  16. } else {
  17. msg="Le mot de passe de confirmation ne correspond pas !",err=true;
  18. }
  19. } else {
  20. msg="Veuillez confirmer votre mot de passe !",err=true;
  21. }
  22. } else {
  23. msg="Veuillez indiquer un mot de passe !",err=true;
  24. }
  25. } else {
  26. msg="Veuillez indiquer un email valide !",err=true;
  27. }
  28. } else {
  29. msg="Veuillez indiquer un email !",err=true;
  30. }
  31. } else {
  32. msg="Veuillez indiquer un pseudo !",err=true;
  33. }
  34. client.emit("ServRinscription",{msg: msg, err: err});
  35. });
  36. client.on('Servconnexion', function(account) {
  37. var msg="Une erreur est survenue :(",err=true;
  38. if (account.pseudo!="") {
  39. if (account.password!="") {
  40. mySqlCo(1);
  41. var selectQuery = 'SELECT * FROM membres';
  42. mySqlClient.query(
  43. selectQuery,
  44. function select(error, results, fields) {
  45. if (error) {
  46. console.log(error);
  47. mySqlClient.end();
  48. return;
  49. }
  50. for (var i=0; i<results.length; i++) {
  51. if (results[i].Mpseudo==account.pseudo && results[i].Mpassword==account.password) {
  52. msg="Félicitation ! Vous êtes connectés !",err=false;
  53. }
  54. }
  55. if (err) {
  56. msg="Le pseudo ou/et le mot de passe ne correspendent pas !";
  57. } else {
  58. console.log('['+'SERVER'.rainbow+'] '+(account.pseudo).blue+' vient de se connecter !'.green);
  59. }
  60. client.emit("ServRconnexion",{msg: msg, err: err, pseudo: account.pseudo});
  61. mySqlClient.end();
  62. }
  63. );
  64. } else {
  65. msg="Veuillez indiquer un mot de passe !",err=true;
  66. client.emit("ServRconnexion",{msg: msg, err: err, pseudo: account.pseudo});
  67. }
  68. } else {
  69. msg="Veuillez indiquer un pseudo !",err=true;
  70. client.emit("ServRconnexion",{msg: msg, err: err, pseudo: account.pseudo});
  71. }
  72. });
  73. client.on('ServDeconnexion', function(account) {
  74. console.log('['+'SERVER'.rainbow+'] '+(account.pseudo).blue+' vient de se déconnecter !'.red);
  75. });
  76. client.on('GetAppInfo', function(app) {
  77. var info='';
  78. if (app.name=="chat") {
  79. info='<b>Nom :</b> chat<br /><b>Version :</b> 0.1.3<br /><b>Type :</b> Multi<br /><b>Créateur :</b> Flammrock<br /><b>Publication :</b> 24/02/2017<hr /><button type="button" onclick="document.location.replace(\'\'+document.location.origin+\'/application/'+app.name+'\');" class="btn btn-lg btn-primary">>>> Chat</button>';
  80. } else {
  81. info='<b>Nom :</b> <span style="#07f">Unknown</span><br /><b>Version :</b> <span style="#07f">Unknown</span><br /><b>Type :</b> <span style="#07f">Unknown</span><br /><b>Créateur :</b> <span style="#07f">Unknown</span><br /><b>Publication :</b> <span style="#07f">Unknown</span><hr /><button type="button" class="btn btn-lg btn-primary">>>> Chat</button>';
  82. }
  83. client.emit('RGetAppInfo', {name: app.name, info: info});
  84. });
  85. client.on('TchatConnect', function(get) {
  86. client.pseudo = get.pseudo;
  87. client.salon = get.salon;
  88.  
  89. mySqlCo(1);
  90. var selectQuery = 'SELECT * FROM salon_'+get.salon;
  91. mySqlClient.query(
  92. selectQuery,
  93. function select(error, results, fields) {
  94. if (error) {
  95. client.salon = "undefined";
  96. console.log(client.salon);
  97. client.emit('RchangeU', {url:"salon"});
  98. } else {
  99. setTimeout(function(){
  100. for (var i=0; i<results.length; i++) {
  101. if (results[i].pseudo==client.pseudo) {
  102. client.emit('Rchat', {date:results[i].datetc, message:results[i].message, user:"vous"});
  103. } else {
  104. client.emit('Rchat', {date:results[i].datetc, message:results[i].message, user:results[i].pseudo});
  105. }
  106. }
  107. var date_=NOW();
  108. console.log('['+'Tchat'.magenta+']['+(client.salon).green+'] -'+date_+'- '+(client.pseudo).blue+' vient de se connecter !'.green);
  109. client.emit('RTchatConnect', {type:"vous", pseudo:client.pseudo});
  110. client.broadcast.emit('RTchatConnect', {type:"Client", pseudo:client.pseudo});
  111. },400);
  112. }
  113. mySqlClient.end();
  114. }
  115. );
  116. });
  117. client.on('TchatCheckSalon', function() {
  118. var data={},bdata=[],a=0;
  119. mySqlCo(1);
  120.  
  121.  
  122. var selectQuery = 'SELECT * FROM salon';
  123. mySqlClient.query(
  124. selectQuery,
  125. function select(error, results, fields) {
  126. if (error) {
  127. console.log(error);
  128. mySqlClient.end();
  129. return;
  130. }
  131. for (var i=0; i<results.length; i++) {
  132. if (typeof data[results[i].Sname] == "undefined") {
  133. data[results[i].Sname]=true;
  134. bdata[a]=results[i].Sname;
  135. a++;
  136. }
  137. }
  138. client.emit('RTchatCheckSalon', bdata);
  139. mySqlClient.end();
  140. }
  141. );
  142. });
  143. client.on('TchatCreateSalon', function(get) {
  144. var date_=NOW();
  145. var msg="Votre salon a été créé !",err=false;
  146. mySqlCo(1);
  147. var selectQuery = 'SELECT * FROM salon';
  148. mySqlClient.query(
  149. selectQuery,
  150. function select(error, results, fields) {
  151. if (error) {
  152. console.log(error);
  153. mySqlClient.end();
  154. return;
  155. }
  156. for (var i=0; i<results.length; i++) {
  157. if (results[i].Sname == get.salon) {
  158. msg="Ce salon existe déjà !",err=true;
  159. }
  160. }
  161. if (!err) {
  162. console.log('['+'Tchat'.magenta+'] -'+date_+"- "+(get.pseudo).blue + ' : vient de créer un salon de chat ('+get.salon+")");
  163. mySqlClient.query('INSERT INTO salon SET ?', { Spseudo: get.pseudo, Sname: get.salon }, function(err,res){});
  164. var tableDef = 'CREATE TABLE IF NOT EXISTS salon_'+get.salon+' ('+
  165. 'id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,'+
  166. 'message VARCHAR(300) NOT NULL,'+
  167. 'pseudo VARCHAR(16) NOT NULL,'+
  168. 'datetc VARCHAR(45) NOT NULL,'+
  169. 'PRIMARY KEY (id)'+
  170. ') ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1';
  171. mySqlClient.query(tableDef, function select(error, results) {
  172.  
  173. });
  174. }
  175. client.emit('RTchatCreateSalon',{msg:msg,err:err});
  176. mySqlClient.end();
  177. }
  178. );
  179.  
  180.  
  181.  
  182.  
  183. });
  184. client.on('Tchat', function(get) {
  185. if (typeof client.pseudo != "undefined") {
  186. var date_=NOW();
  187. client.emit('Rchat', {date: date_, message:get, user:"vous"});
  188. client.broadcast.emit('Rchat', {date: date_, message:get, user:client.pseudo});
  189. console.log('['+'Tchat'.magenta+']['+(client.salon).green+'] -'+date_+"- "+(client.pseudo).blue + ' : ' + get);
  190. mySqlCo(1);
  191. mySqlClient.query('INSERT INTO salon_'+client.salon+' SET ?', { datetc: date_, message: get, pseudo: client.pseudo, salon: client.salon }, function(err,res){});
  192. }
  193. });
  194. client.on('disconnect', function(data) {
  195. if (typeof client.pseudo != "undefined") {
  196. var date_=NOW();
  197. client.emit('RTchatdisconnect', {type:"vous", pseudo:client.pseudo});
  198. client.broadcast.emit('RTchatdisconnect', {type:"Client", pseudo:client.pseudo});
  199. console.log('['+'Tchat'.magenta+'] -'+date_+'- '+(client.pseudo).blue+' vient de se déconnecter !'.red);
  200. client.pseudo="undefined";
  201. client.salon="undefined";
  202. }
  203. });
  204.  
  205. client.on('CursorConnect', function(get) {
  206. console.log(get.pseudo+" : est connecté sur le jeu curseur !");
  207. client.broadcast.emit('RCursorConnect', {pseudo: get.pseudo});
  208. });
  209. client.on('Cursor', function(get) {
  210. client.broadcast.emit('RCursor', {pseudo: get.pseudo, cursor:{x:get.cursor.x,y:get.cursor.y}});
  211. });
  212. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement