Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.47 KB | None | 0 0
  1. window.addEventListener('load', function() {
  2. $.getScript('vue.js', function() {
  3. let data = {
  4. step: 1,
  5. page: 'home',
  6. rulesAccepted: false,
  7. boardID: 0,
  8. boardName: '',
  9. charactername: '',
  10. password: '',
  11. passwordApply: '',
  12. error: {
  13. charactername: false,
  14. password: false,
  15. passwordApply: true,
  16. creation: false
  17. },
  18. messages: [
  19. {
  20. id: 'ACCOUNT_ALREADY_EXISTS',
  21. message: 'Zu deinem Forenaccount existiert bereits ein Charakter.',
  22. class: 'warning'
  23. },
  24. {
  25. id: 'CREATION_SUCCESSFULLY',
  26. message: 'Account wurde erfolgreich erstellt.',
  27. class: 'success'
  28. },
  29. {
  30. id: 'FAILED_REGISTER',
  31. message: 'Es ist ein Fehler aufgetreten, bitte versuche es erneut.',
  32. class: 'error'
  33. },
  34. {
  35. id: 'FAILED_WRONG_DATA',
  36. message:
  37. 'Überprüfe nochmal deinen Charakternamen oder dein Passwort und versuche es erneut.',
  38. class: 'warning'
  39. }
  40. ],
  41. messageID: '',
  42. message: {
  43. text: '',
  44. class: ''
  45. },
  46. charCreationDone: false
  47. };
  48.  
  49. let app = new Vue({
  50. el: '.sv-body',
  51. data: data,
  52. methods: {
  53. setactive: setactive,
  54. getactive: getactive,
  55. post: post,
  56. init: init,
  57. checkCharacter: checkCharacter,
  58. checkPassword: checkPassword,
  59. creationError: creationError,
  60. prepareDataForSending: prepareDataForSending,
  61. setData: setData
  62. }
  63. });
  64.  
  65. Vue.nextTick(function() {
  66. $('.sv-loading').fadeOut(400, function() {
  67. $('.sv-loading').remove();
  68. init();
  69. $('.sv-body').fadeIn(400);
  70. });
  71. });
  72.  
  73. function post(path, params, method = 'post') {
  74. const form = document.createElement('form');
  75. form.method = method;
  76. form.action = path;
  77.  
  78. for (const key in params) {
  79. if (params.hasOwnProperty(key)) {
  80. const hiddenField = document.createElement('input');
  81. hiddenField.type = 'hidden';
  82. hiddenField.name = key;
  83. hiddenField.value = params[key];
  84.  
  85. form.appendChild(hiddenField);
  86. }
  87. }
  88.  
  89. document.body.appendChild(form);
  90. form.submit();
  91. }
  92.  
  93. function prepareDataForSending() {
  94. let _data = {
  95. username: data.charactername,
  96. password: data.password,
  97. passwordRe: data.passwordApply,
  98. forumname: data.boardName,
  99. forumid: data.boardID
  100. };
  101.  
  102. post('https://srv1.statev.de:22007/register', _data);
  103. }
  104.  
  105. function setactive(val) {
  106. data.page = val;
  107. savestep();
  108. }
  109.  
  110. function setData(i, val) {
  111. data[i] = val;
  112. }
  113.  
  114. function getactive() {
  115. return data.page;
  116. }
  117.  
  118. function savestep() {
  119. createCookie('step', data.step, 365);
  120. }
  121.  
  122. function checkCharacter() {
  123. let charactername = data.charactername;
  124.  
  125. data.error.charactername = false;
  126. if (charactername.length < 5 || charactername.length > 30) {
  127. data.error.charactername = true;
  128. }
  129. createCookie('charactername', data.charactername, 365);
  130. creationError();
  131. }
  132.  
  133. function checkPassword() {
  134. let password = data.password;
  135. let password2 = data.passwordApply;
  136. data.error.password = false;
  137. data.error.passwordApply = false;
  138.  
  139. if (password.length < 8) {
  140. data.error.password = true;
  141. data.error.passwordApply = true;
  142. }
  143.  
  144. if (password != password2) {
  145. data.error.passwordApply = true;
  146. }
  147.  
  148. createCookie('password', data.password, 365);
  149. creationError();
  150. }
  151.  
  152. function creationError() {
  153. if (
  154. data.error.charactername == true ||
  155. data.error.password == true ||
  156. data.error.passwordApply == true
  157. ) {
  158. return true;
  159. } else {
  160. return false;
  161. }
  162. }
  163.  
  164. function init() {
  165. data.step = readCookie('step');
  166. if (data.step == undefined) {
  167. data.step = 1;
  168. }
  169. data.charactername = readCookie('charactername');
  170. data.password = readCookie('password');
  171. data.boardName = readCookie('boardUserName');
  172.  
  173. if (data.messageID.length != 0) {
  174. let message = data.messages.find(item => item.id === data.messageID);
  175. data.message.text = message.message;
  176. data.message.class = message.class;
  177.  
  178. /* TEMPORARY */
  179. data.page = 'character';
  180. if (data.messageID == 'CREATION_SUCCESSFULLY') {
  181. eraseCookie('charactername');
  182. eraseCookie('password');
  183. eraseCookie('boardUserName');
  184. data.step = 5;
  185. savestep();
  186. setTimeout(function() {
  187. window.location.replace(
  188. 'https://statev.de/forum/list/index.php?thread/4168-tutorial-wie-komme-ich-auf-den-server/'
  189. );
  190. }, 3000);
  191. }
  192.  
  193. if (
  194. data.messageID == 'CREATION_SUCCESSFULLY' ||
  195. data.messageID == 'ACCOUNT_ALREADY_EXISTS'
  196. ) {
  197. data.charCreationDone = true;
  198. }
  199. }
  200. }
  201.  
  202. function createCookie(name, value, days) {
  203. var expires;
  204.  
  205. if (days) {
  206. var date = new Date();
  207. date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
  208. expires = '; expires=' + date.toGMTString();
  209. } else {
  210. expires = '';
  211. }
  212. document.cookie =
  213. encodeURIComponent(name) +
  214. '=' +
  215. encodeURIComponent(value) +
  216. expires +
  217. '; path=/';
  218. }
  219.  
  220. function readCookie(name) {
  221. var nameEQ = encodeURIComponent(name) + '=';
  222. var ca = document.cookie.split(';');
  223. for (var i = 0; i < ca.length; i++) {
  224. var c = ca[i];
  225. while (c.charAt(0) === ' ') c = c.substring(1, c.length);
  226. if (c.indexOf(nameEQ) === 0)
  227. return decodeURIComponent(c.substring(nameEQ.length, c.length));
  228. }
  229. return null;
  230. }
  231.  
  232. function eraseCookie(name) {
  233. createCookie(name, '', -1);
  234. }
  235. });
  236. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement