char creation proto, security override, wizard_register, updated system reference
This commit is contained in:
parent
503fc5055d
commit
baa3ed2679
2
api.php
2
api.php
@ -16,5 +16,5 @@ if(!$json){
|
||||
|
||||
//Construct the api with the dasense specific ApiVerfy Class and the call handler for da-sense api-calls ApiClass
|
||||
//ApiClass contains all stuff you would seek in the index -> look there
|
||||
echo \SYSTEM\API\api::run('\SYSTEM\API\verify', 'api_mojotrollz',$json);
|
||||
echo \SYSTEM\API\api::run('\SYSTEM\API\verify', 'api_mojotrollz_beta',$json);
|
||||
new \SYSTEM\LOG\COUNTER("API was called sucessfully.");
|
||||
@ -9,6 +9,7 @@ INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `nam
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (25, 0, 2, 11, 'create', 'password_sha', 'STRING');
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (26, 0, 2, 11, 'create', 'email', 'STRING');
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (27, 0, 2, 11, 'create', 'locale', 'LANG');
|
||||
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (30, 0, 2, 10, 'files', 'cat', 'STRING');
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (31, 0, 3, 10, 'files', 'id', 'STRING');
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (40, 0, 2, 10, 'text', 'request', 'STRING');
|
||||
|
||||
@ -5,6 +5,7 @@ require_once dirname(__FILE__).'/realm/autoload.inc';
|
||||
require_once dirname(__FILE__).'/world/autoload.inc';
|
||||
require_once dirname(__FILE__).'/database/autoload.inc';
|
||||
require_once dirname(__FILE__).'/map/autoload.inc';
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/beta','');
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/char','');
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/char/qq','DBD');
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/client','');
|
||||
49
mojotrollz/api/beta/Security.php
Normal file
49
mojotrollz/api/beta/Security.php
Normal file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
class Security extends \SYSTEM\SECURITY\Security {
|
||||
public static function create($username, $password, $email, $locale, $advancedResult=false, $checkAvailable = true,$betacode=null, $wow_password=null){
|
||||
//check beta code
|
||||
if(!saimod_mojotrollz_beta::code_check($betacode)){
|
||||
throw new ERROR("Betacode wrong!");}
|
||||
|
||||
//system account check
|
||||
self::startSession();
|
||||
// check availability of username (in non-compatibility mode, otherwise it is already checked in DasenseAccount)
|
||||
if($checkAvailable && !self::available($username)){
|
||||
throw new ERROR("Username Not available!");}
|
||||
|
||||
//WoW Account check
|
||||
// available check not required, since only 1 way of creation planned
|
||||
|
||||
//Character check
|
||||
if(!charcreation::check_all()){
|
||||
throw new ERROR("Character Data incomplete");}
|
||||
|
||||
//system account
|
||||
$result = \SYSTEM\DBD\SYS_SECURITY_CREATE::QI(array( $username , $password, $email, $locale, 1 ));
|
||||
if(!$result || !self::login($username, $password, $locale)){
|
||||
throw new ERROR("System Account creation fail!");}
|
||||
$user_system = self::getUser()->id;
|
||||
|
||||
//WoW Account
|
||||
$result = \DBD\ACCOUNT_CREATE::QI(array($username,$wow_password,$email));
|
||||
|
||||
if(!$result){
|
||||
throw new ERROR("WoW Account creation fail!");}
|
||||
$user_wow = \DBD\ACCOUNT_GET_ID::Q1(array($username))['id'];
|
||||
|
||||
//mojotrollz_user
|
||||
$result = \DBD\ACCOUNT_CREATE_MOJOTROLLZ::QI(array($user_system,$user_wow));
|
||||
if(!$result){
|
||||
throw new ERROR("System-Account - WoW-Account creation fail");}
|
||||
|
||||
//Character
|
||||
if(!charcreation::save($user_wow)){
|
||||
throw new ERROR("Character creation fail!");}
|
||||
|
||||
//Update BetaCode
|
||||
saimod_mojotrollz_beta::code_use($betacode, $user_system);
|
||||
|
||||
//std system result
|
||||
return JsonResult::toString(\SYSTEM\DBD\SYS_SECURITY_LOGIN_SHA1::Q1(array($username, $password),array($username, $username, $password)));
|
||||
}
|
||||
}
|
||||
5
mojotrollz/api/beta/api_mojotrollz_beta.php
Normal file
5
mojotrollz/api/beta/api_mojotrollz_beta.php
Normal file
@ -0,0 +1,5 @@
|
||||
<?php
|
||||
class api_mojotrollz_beta extends api_mojotrollz {
|
||||
public static function call_account_action_create($username, $password_sha, $email, $locale,$betacode=null,$wow_password=null){
|
||||
return Security::create($username, $password_sha, $email, $locale, false, true, $betacode,$wow_password);}
|
||||
}
|
||||
2
mojotrollz/api/beta/api_mojotrollz_beta.sql
Normal file
2
mojotrollz/api/beta/api_mojotrollz_beta.sql
Normal file
@ -0,0 +1,2 @@
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (28, 0, 2, 11, 'create', 'betacode', 'STRING');
|
||||
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (29, 0, 2, 11, 'create', 'wow_password', 'STRING');
|
||||
@ -46,6 +46,13 @@ class charcreation {
|
||||
return $result;
|
||||
}
|
||||
|
||||
public static function save($account){
|
||||
if(!self::check_all()){
|
||||
throw new ERROR("Character not complete, could not save Char!");}
|
||||
$data = \SYSTEM\SECURITY\Security::load(self::MOJO_CC_SESSIONKEY);
|
||||
return \DBD\CHAR_CREATE::QI(array(0,$account,$data['char_name'],$data['char_race'],$data['char_class'],$data['char_gender']));
|
||||
}
|
||||
|
||||
private static function session_default(){
|
||||
return array( 'char_name' => self::DEFAULT_CHAR_NAME,
|
||||
'char_gender' => self::DEFAULT_CHAR_GENDER,
|
||||
|
||||
@ -99,7 +99,7 @@ class charcreation_validator {
|
||||
}
|
||||
|
||||
public static function is_char_equip($value){
|
||||
return false;}
|
||||
return true;}
|
||||
public static function char_equip($value){}
|
||||
|
||||
public static function is_char_guild($value){
|
||||
|
||||
21
mojotrollz/api/char/qq/CHAR_CREATE.php
Normal file
21
mojotrollz/api/char/qq/CHAR_CREATE.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class CHAR_CREATE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'INSERT INTO `characters` (`guid`, `account`, `name`, `race`, `class`, `gender`, `level`, `xp`, `money`,'.
|
||||
'`playerBytes`, `playerBytes2`, `playerFlags`, `position_x`, `position_y`, `position_z`, `map`, `orientation`,'.
|
||||
'`taximask`, `online`, `cinematic`, `totaltime`, `leveltime`, `logout_time`, `is_logout_resting`, `rest_bonus`,'.
|
||||
'`resettalents_cost`, `resettalents_time`, `trans_x`, `trans_y`, `trans_z`, `trans_o`, `transguid`, `extra_flags`,'.
|
||||
'`stable_slots`, `at_login`, `zone`, `death_expire_time`, `taxi_path`, `honor_highest_rank`, `honor_standing`,'.
|
||||
'`stored_honor_rating`, `stored_dishonorable_kills`, `stored_honorable_kills`, `watchedFaction`, `drunk`,'.
|
||||
'`health`, `power1`, `power2`, `power3`, `power4`, `power5`, `exploredZones`, `equipmentCache`, `ammoId`,'.
|
||||
'`actionBars`, `deleteInfos_Account`, `deleteInfos_Name`, `deleteDate`)'.
|
||||
' VALUES (?, ?, ?, ?, ?, ?, 60, 0, 0, 151061250, 33554438, 32, -4995.83, -863.73, 497.037, 0, 5.33359, "2 0 0 0 0 0 0 0 ", 0, 1, 554, 554, 1403118410, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1537, 0, "", 0, 0, 0, 0, 0, 4294967295, 0, 2201, 2282, 0, 0, 100, 0, "0 0 0 545259520 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 524288 131072 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ", "0 0 0 0 0 0 45 0 0 0 0 0 44 0 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2361 0 0 0 0 0 0 0 ", 0, 0, NULL, NULL, NULL);',
|
||||
new \DBD\mangos_chars()
|
||||
);}}
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
<?php
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/log');
|
||||
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','DBD');
|
||||
14
mojotrollz/api/realm/qq/ACCOUNT_CREATE.php
Normal file
14
mojotrollz/api/realm/qq/ACCOUNT_CREATE.php
Normal file
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class ACCOUNT_CREATE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'INSERT INTO account (username, sha_pass_hash, email)
|
||||
VALUES(?,?,?);',
|
||||
new \DBD\mangos_realm()
|
||||
);}}
|
||||
|
||||
12
mojotrollz/api/realm/qq/ACCOUNT_CREATE_MOJOTROLLZ.php
Normal file
12
mojotrollz/api/realm/qq/ACCOUNT_CREATE_MOJOTROLLZ.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class ACCOUNT_CREATE_MOJOTROLLZ extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'INSERT INTO `mojotrollz_user` (`system_user`, `mangos_user`) VALUES (?,?);'
|
||||
);}}
|
||||
|
||||
13
mojotrollz/api/realm/qq/ACCOUNT_GET_ID.php
Normal file
13
mojotrollz/api/realm/qq/ACCOUNT_GET_ID.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class ACCOUNT_GET_ID extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT id FROM account WHERE username = ?;',
|
||||
new \DBD\mangos_realm()
|
||||
);}}
|
||||
|
||||
@ -1,4 +1,35 @@
|
||||
function init_wizard_register(){
|
||||
remove_search();
|
||||
$('#back_link').click(function(){system.load($(this).attr('sysload'));});
|
||||
|
||||
//jqBootstrapValidation
|
||||
$("#register_form input").not("[type=submit]").jqBootstrapValidation({
|
||||
preventSubmit: true,
|
||||
submitError: function (form, event, errors) {event.preventDefault();},
|
||||
submitSuccess: function(form, event){
|
||||
console.log('sent');
|
||||
event.preventDefault();
|
||||
var username = document.getElementById('register_username').value;
|
||||
var email = document.getElementById('register_email').value;
|
||||
var password = document.getElementById('register_password1').value;
|
||||
var locale = "enUS";
|
||||
var betacode = document.getElementById('register_betacode').value;
|
||||
var wow_password = "";
|
||||
$.ajax({type : 'GET',
|
||||
url: './api.php?call=account&action=create&username='+username+
|
||||
'&password_sha='+$.sha1(password)+
|
||||
'&email='+email+
|
||||
'&locale='+locale+
|
||||
'&betacode='+betacode+
|
||||
'&wow_password='+wow_password,
|
||||
success: function (data) {
|
||||
if(data.status){ // reload -> user will be loged in
|
||||
window.location.href = location.href.replace(/#/g, "");
|
||||
}else{ // show errors
|
||||
alert('Not successfull: '+data.result.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -1,59 +1,65 @@
|
||||
<div style="padding: 30px; padding-left: 50px; margin-top: 5px; margin-left: 250px; background: url(${BG}pergament_big.png); background-size: 60% 100%; background-repeat:no-repeat;">
|
||||
<div class="lifecraft" padding-right: 10px;">
|
||||
<h3>${register_title}</h3>
|
||||
<form class="textbox" style="padding:10px" id="login_form">
|
||||
<h3>Register 'ur Mojotrollz Account</h3>
|
||||
<h5>and create your Character</h5>
|
||||
<form class="textbox" style="padding:10px" id="register_form">
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<input type="text"
|
||||
size="30"
|
||||
style="margin-bottom: 10px;"
|
||||
id="bt_login_user"
|
||||
placeholder="${register_username}"
|
||||
minlength="3" data-validation-minlength-message="${register_username_too_short}"
|
||||
maxlength="16" data-validation-maxlength-message="${register_username_too_long}"
|
||||
required data-validation-required-message="${register_username_required}"/>
|
||||
id="register_username"
|
||||
placeholder="${basic_username}"
|
||||
minlength="3" data-validation-minlength-message="${sai_error_username_short}"
|
||||
maxlength="16" data-validation-maxlength-message="${sai_error_username_long}"
|
||||
required data-validation-required-message="${sai_error_username_miss}"/>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<input type="text"
|
||||
size="30"
|
||||
style="margin-bottom: 15px;"
|
||||
id="bt_login_user"
|
||||
placeholder="${register_email}"
|
||||
minlength="3" data-validation-minlength-message="${register_username_too_short}"
|
||||
maxlength="16" data-validation-maxlength-message="${register_username_too_long}"
|
||||
required data-validation-required-message="${register_email_required}"/>
|
||||
id="register_email"
|
||||
placeholder="${basic_email}"
|
||||
data-validation-email-message="${sai_error_email_wrong}"
|
||||
required data-validation-required-message="${sai_error_email_miss}"/>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<div class="control-group" id="change_user_password">
|
||||
<div class="control-group controls" style="clear: both">
|
||||
<input type="password"
|
||||
size="30"
|
||||
style="margin-bottom: 10px;"
|
||||
id="bt_register_password"
|
||||
placeholder="${register_password}"
|
||||
minlength="5" data-validation-minlength-message="${register_password_too_short}"
|
||||
maxlength="16" data-validation-maxlength-message="${register_password_too_long}"
|
||||
required data-validation-required-message="${register_password_required}"/>
|
||||
style="margin-bottom: 15px; float: left;"
|
||||
id="register_password1"
|
||||
name="register_password1"
|
||||
placeholder="${basic_password}"
|
||||
minlength="5" data-validation-minlength-message="${sai_error_password_short}"
|
||||
required data-validation-required-message="${sai_error_password_miss}"/>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<div class="control-group controls" style="clear: both">
|
||||
<input type="password"
|
||||
size="30"
|
||||
style="margin-bottom: 10px;"
|
||||
id="bt_register_password"
|
||||
placeholder="${register_password_repeat}"
|
||||
minlength="5" data-validation-minlength-message="${register_password_too_short}"
|
||||
maxlength="16" data-validation-maxlength-message="${register_password_too_long}"
|
||||
required data-validation-required-message="${register_password_required}"/>
|
||||
style="margin-bottom: 15px; float: left;"
|
||||
id="register_password2"
|
||||
name="register_password2"
|
||||
placeholder="${basic_password}"
|
||||
data-validation-matches-match="register_password1"
|
||||
data-validation-matches-message="${sai_error_password_match}"/>
|
||||
<br/>
|
||||
</div>
|
||||
<div class="controls">
|
||||
</div>
|
||||
<div class="control-group controls" style="clear: both">
|
||||
<input type="text"
|
||||
size="30"
|
||||
style="margin-bottom: 10px;"
|
||||
id="bt_register_password"
|
||||
placeholder="${register_beta_code}"
|
||||
minlength="5" data-validation-minlength-message="${register_beta_code_too_short}"
|
||||
maxlength="16" data-validation-maxlength-message="${register_beta_code_too_long}"
|
||||
required data-validation-required-message="${register_beta_code_required}"/>
|
||||
id="register_betacode"
|
||||
placeholder="BetaCode"
|
||||
minlength="12" data-validation-minlength-message="Incorrect Beta Code!"
|
||||
maxlength="12" data-validation-maxlength-message="Incorrect Beta Code!"
|
||||
required data-validation-required-message="A Beta Code is required!"/>
|
||||
</div>
|
||||
<div id="register" style=""><a href="#"><img src="${BUTTONS}register.png"/></a></div>
|
||||
<div class="help-block" style="float: left; margin-top: 3px;"></div>
|
||||
<div style="clear: both;"></div>
|
||||
<button id="register" type="submit" style="width: 320px; height: 60px; border: 0; background: url(${BUTTONS}register.png) no-repeat;"></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@ -11,7 +11,8 @@ class wizard_register extends SYSTEM\PAGE\Page {
|
||||
$vars['BG'] = \SYSTEM\FILES\files::getURL('backgrounds');
|
||||
$vars['BUTTONS'] = \SYSTEM\FILES\files::getURL('buttons');
|
||||
$vars['WOWICONS'] = \SYSTEM\FILES\files::getURL('wowicons');
|
||||
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE));
|
||||
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_BASIC));
|
||||
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_SYSTEM_SAI_ERROR));
|
||||
$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_INFOTEXT));
|
||||
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_register/tpl/register.tpl'), $vars);
|
||||
}
|
||||
|
||||
12
mojotrollz/sai/saimod_mojotrollz_beta/qq/BETA_CHECK_CODE.php
Normal file
12
mojotrollz/sai/saimod_mojotrollz_beta/qq/BETA_CHECK_CODE.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class BETA_CHECK_CODE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT COUNT(*) as count FROM mojotrollz_beta WHERE code = ? AND user_new IS NULL'
|
||||
);}}
|
||||
|
||||
12
mojotrollz/sai/saimod_mojotrollz_beta/qq/BETA_USE_CODE.php
Normal file
12
mojotrollz/sai/saimod_mojotrollz_beta/qq/BETA_USE_CODE.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace DBD;
|
||||
|
||||
class BETA_USE_CODE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'UPDATE mojotrollz_beta SET user_new = ? WHERE code = ?;'
|
||||
);}}
|
||||
|
||||
@ -1,5 +1,11 @@
|
||||
<?php
|
||||
class saimod_mojotrollz_beta extends \SYSTEM\SAI\SaiModule {
|
||||
public static function code_check($code){
|
||||
return \DBD\BETA_CHECK_CODE::Q1(array($code))['count'] >= 0 ? true : false;}
|
||||
|
||||
public static function code_use($code,$user_new){
|
||||
return \DBD\BETA_USE_CODE::QI(array($user_new,$code));}
|
||||
|
||||
public static function sai_mod_saimod_mojotrollz_beta_action_del($code){
|
||||
\DBD\BETA_DELETE_CODE::QI(array($code));
|
||||
return JsonResult::ok();}
|
||||
|
||||
2
system
2
system
@ -1 +1 @@
|
||||
Subproject commit 076090ea1ae37cea7cf900062aeec2848d8e133f
|
||||
Subproject commit 5c04bb515f72edb46127eefca01e32c07de908bd
|
||||
Loading…
x
Reference in New Issue
Block a user