SHARE
TWEET

Untitled

a guest Jul 17th, 2019 87 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. });
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top