integrated state system for wizard, updated system reference

This commit is contained in:
Ulf Gebhardt 2014-11-07 17:26:25 +01:00
parent 1341413869
commit 18579eeba9
17 changed files with 110 additions and 107 deletions

View File

@ -6,7 +6,7 @@ class charcreation {
const DEFAULT_CHAR_CLASS = 0; const DEFAULT_CHAR_CLASS = 0;
const MOJO_CC_SESSIONKEY = 'mojo_charcreation'; const MOJO_CC_SESSIONKEY = 'mojo_charcreation';
const DEFAULT_CHAR_APPEARANCE = 0; const DEFAULT_CHAR_APPEARANCE = 0;
public static function data($json = NULL){ public static function data($json = NULL, $returnasjson = true){
if(!\SYSTEM\SECURITY\Security::load(self::MOJO_CC_SESSIONKEY)){ if(!\SYSTEM\SECURITY\Security::load(self::MOJO_CC_SESSIONKEY)){
\SYSTEM\SECURITY\Security::save(self::MOJO_CC_SESSIONKEY, self::session_default());} \SYSTEM\SECURITY\Security::save(self::MOJO_CC_SESSIONKEY, self::session_default());}
//write //write
@ -17,7 +17,7 @@ class charcreation {
call_user_func('charcreation_validator::'.$key,$value);} call_user_func('charcreation_validator::'.$key,$value);}
} }
} }
return JsonResult::toString(\SYSTEM\SECURITY\Security::load(self::MOJO_CC_SESSIONKEY)); return $returnasjson ? JsonResult::toString(\SYSTEM\SECURITY\Security::load(self::MOJO_CC_SESSIONKEY)) : \SYSTEM\SECURITY\Security::load(self::MOJO_CC_SESSIONKEY);
} }
private static function session_default(){ private static function session_default(){

View File

@ -1,6 +1,8 @@
<?php <?php
class skilltree{ class skilltree{
public static function generate($class){ public static function generate($class){
if(!player_classes::is($class)){
return 'Choose a Class first!';}
$vars = \DBD\TALENT_TREE::Q1(array($class)); $vars = \DBD\TALENT_TREE::Q1(array($class));
$res = \DBD\TALENT_TREE_ICON::QA(array($class)); $res = \DBD\TALENT_TREE_ICON::QA(array($class));
$vars['tree1'] = $vars['tree2'] = $vars['tree3'] = ''; $vars['tree1'] = $vars['tree2'] = $vars['tree3'] = '';

View File

@ -51,4 +51,21 @@ class player_classes {
return 'class not valid'; return 'class not valid';
} }
} }
public static function is($class){
switch($class){
case self::WARRIOR:
case self::PALADIN:
case self::HUNTER:
case self::ROGUE:
case self::PRIEST:
case self::SHAMAN:
case self::MAGE:
case self::WARLOCK:
case self::DRUID:
return true;
default:
return false;
}
}
} }

View File

@ -10,21 +10,14 @@ class default_page extends SYSTEM\PAGE\Page {
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PLIB(),'hashmask/jquery.md5.js').'"></script>'. '<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PLIB(),'hashmask/jquery.md5.js').'"></script>'.
'<script src="https://www.google.com/jsapi" type="text/javascript"></script>'. '<script src="https://www.google.com/jsapi" type="text/javascript"></script>'.
'<script type="text/javascript">google.load("visualization", "1", {packages:["corechart"]});</script>'. '<script type="text/javascript">google.load("visualization", "1", {packages:["corechart"]});</script>'.
'<script type="text/javascript" language="JavaScript" src="./api.php?call=files&cat=sys_js&id=system.js"></script>'. '<script type="text/javascript" language="JavaScript" src="./api.php?call=files&cat=sys&id=system.js"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'default_page/js/wizard.js').'"></script>'. '<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'default_page/js/wizard.js').'"></script>';
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'default_page/js/onlinegraphic.js').'"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'wizard_details/js/wizard_details.js').'"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'wizard_visuals/js/wizard_visuals.js').'"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PAPI(),'char/js/skilltree.js').'"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'wizard_skills/js/wizard_skills.js').'"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'wizard_spawn/js/wizard_spawn.js').'"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'wizard_toolbar/js/wizard_toolbar.js').'"></script>';
} }
private function css (){ private function css (){
return '<link href="'.SYSTEM\WEBPATH(new PLIB(),'bootstrap/css/bootstrap.css').'" rel="stylesheet">'. return '<link href="'.SYSTEM\WEBPATH(new PLIB(),'bootstrap/css/bootstrap.css').'" rel="stylesheet">'.
'<link href="'.SYSTEM\WEBPATH(new PPAGE(),'default_page/css/default_page.css').'" rel="stylesheet">'. '<link href="'.SYSTEM\WEBPATH(new PPAGE(),'default_page/css/default_page.css').'" rel="stylesheet">'.
'<link href="'.SYSTEM\WEBPATH(new PPAGE(),'default_page/css/font.css').'" rel="stylesheet">'. //'<link href="'.SYSTEM\WEBPATH(new PPAGE(),'default_page/css/font.css').'" rel="stylesheet">'.
'<link href="'.SYSTEM\WEBPATH(new PAPI(),'char/css/skilltree.css').'" rel="stylesheet">'; '<link href="'.SYSTEM\WEBPATH(new PAPI(),'char/css/skilltree.css').'" rel="stylesheet">';
} }

View File

@ -1,25 +0,0 @@
var visual_id = null;
function load_visualisation(id){
visual_id = id;
sys.call('call=stats',handle_visualisation_result,{},'json',true);
}
function handle_visualisation_result(json){
if(!json || json.status !== true || !json.result){
return;}
json = json.result;
var data = new google.visualization.DataTable();
first = true;
$.each(json[0], function(key, value){
if(first){
data.addColumn('datetime',key);
first = false;
} else {
data.addColumn('number',key);
}
});
$.each(json, function(key, value){first = true; data.addRow($.map(value, function(v) { if(first){first=false;return [new Date(v)];}else{return [(v == null || parseFloat(v) <= 0) ? 0 : parseFloat(v)];}}));});
var options = {title: visual_id, backgroundColor: 'darkslategrey', aggregationTarget: 'category', selectionMode: 'multiple', curveType: 'function', /*focusTarget: 'category',*/ chartArea:{left:20,top:40}, interpolateNulls: false, height: "200"};
new google.visualization.LineChart(document.getElementById(visual_id)).draw(data, options);
}

View File

@ -1,37 +1,8 @@
var sys = null;
$(document).ready(function() { $(document).ready(function() {
sys = new SYSTEM('./api.php',1); new SYSTEM('./api.php',1,'start');
sys.go_state('start');
//sys.load();
}); });
function sendInfo(json,toolbar){ function sendInfo(json,toolbar){
sys.call('call=charcreation&json='+json, system.call('call=charcreation&json='+json,
function(){sys.load(toolbar)}, function(){system.load(toolbar)},
{},'json',false);} {},'json',false);}
function init_start(){
register_login();
load_visualisation('mojopulse');
$('#start a').click(function() {
sys.load('wizard_details');});
}
function register_login(){
$("#login_form input").not("[type=submit]").jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {},
submitSuccess: function($form, event){
$.get('./api.php?call=account&action=login&username='+$('#bt_login_user').val()+'&password_sha='+$.sha1($('#bt_login_password').val())+'&password_md5='+$.md5($('#bt_login_password').val()), function (data) {
if(data == 1){
$('.help-block').html("Login successfull.</br>");
window.location.reload();
} else {
$('.help-block').html("Login not successfull.</br> User & Password combination wrong.")
}
});
event.preventDefault();
}
});
}

View File

@ -1,8 +1,10 @@
<?php <?php
class default_start extends SYSTEM\PAGE\Page { class default_start extends SYSTEM\PAGE\Page {
public static function js(){} public static function js(){
public static function css(){} return array( \SYSTEM\WEBPATH(new PPAGE(),'default_start/js/onlinegraphic.js'),
\SYSTEM\WEBPATH(new PPAGE(),'default_start/js/default_start.js'));}
public static function css(){
return array();}
public function html(){ public function html(){
$vars = array(); $vars = array();

View File

@ -0,0 +1,24 @@
function init_start(){
register_login();
load_visualisation('mojopulse');
$('#start a').click(function() {
system.load('wizard_details');});
}
function register_login(){
$("#login_form input").not("[type=submit]").jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {},
submitSuccess: function($form, event){
$.get('./api.php?call=account&action=login&username='+$('#bt_login_user').val()+'&password_sha='+$.sha1($('#bt_login_password').val())+'&password_md5='+$.md5($('#bt_login_password').val()), function (data) {
if(data == 1){
$('.help-block').html("Login successfull.</br>");
window.location.reload();
} else {
$('.help-block').html("Login not successfull.</br> User & Password combination wrong.")
}
});
event.preventDefault();
}
});
}

View File

@ -0,0 +1,23 @@
function load_visualisation(id){
system.call('call=stats',function handle_visualisation_result(json){
if(!json || json.status !== true || !json.result){
return;}
json = json.result;
var data = new google.visualization.DataTable();
first = true;
$.each(json[0], function(key, value){
if(first){
data.addColumn('datetime',key);
first = false;
} else {
data.addColumn('number',key);
}
});
$.each(json, function(key, value){first = true; data.addRow($.map(value, function(v) { if(first){first=false;return [new Date(v)];}else{return [(v == null || parseFloat(v) <= 0) ? 0 : parseFloat(v)];}}));});
var options = {title: id, backgroundColor: 'darkslategrey', aggregationTarget: 'category', selectionMode: 'multiple', curveType: 'function', /*focusTarget: 'category',*/ chartArea:{left:20,top:40}, interpolateNulls: false, height: "200"};
new google.visualization.LineChart(document.getElementById(id)).draw(data, options);
},
{},'json',true);
}

View File

@ -1,9 +1,6 @@
var sys = null; var sys = null;
$(document).ready(function() { $(document).ready(function() {
sys = new SYSTEM('./api.php',2); sys = new SYSTEM('./api.php',2,'user_start');
sys.go_state('user_start');
//sys.load();
}); });
function init_user_start(){} function init_user_start(){}

View File

@ -10,7 +10,7 @@ class user_default extends SYSTEM\PAGE\Page {
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PLIB(),'hashmask/jquery.md5.js').'"></script>'. '<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PLIB(),'hashmask/jquery.md5.js').'"></script>'.
'<script src="https://www.google.com/jsapi" type="text/javascript"></script>'. '<script src="https://www.google.com/jsapi" type="text/javascript"></script>'.
'<script type="text/javascript">google.load("visualization", "1", {packages:["corechart"]});</script>'. '<script type="text/javascript">google.load("visualization", "1", {packages:["corechart"]});</script>'.
'<script type="text/javascript" language="JavaScript" src="./api.php?call=files&cat=sys_js&id=system.js"></script>'. '<script type="text/javascript" language="JavaScript" src="./api.php?call=files&cat=sys&id=system.js"></script>'.
'<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'user_default/js/user_default.js').'"></script>'; '<script type="text/javascript" language="JavaScript" src="'.SYSTEM\WEBPATH(new PPAGE(),'user_default/js/user_default.js').'"></script>';
} }

View File

@ -1,17 +1,15 @@
<?php <?php
class wizard_details extends SYSTEM\PAGE\Page { class wizard_details extends SYSTEM\PAGE\Page {
private function js(){ public static function js(){
return ''; return array( \SYSTEM\WEBPATH(new PPAGE(),'wizard_details/js/wizard_details.js'));}
}
private function css (){ public static function css (){
return ''; return array();}
}
public function html(){ public function html(){
$vars = json_decode(charcreation::data(),true)['result']; $vars = json_decode(charcreation::data(),true)['result'];
$vars['js'] = $this->js(); //$vars['js'] = $this->js();
$vars['css'] = $this->css(); //$vars['css'] = $this->css();
$vars['WOWICONS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=wowicons&id='; $vars['WOWICONS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=wowicons&id=';
$vars['WOW_CLASS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=class&id='; $vars['WOW_CLASS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=class&id=';
$vars['infotext_default'] = \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_INFOTEXT)['default']; $vars['infotext_default'] = \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_INFOTEXT)['default'];

View File

@ -1,14 +1,13 @@
<?php <?php
class wizard_skills extends SYSTEM\PAGE\Page { class wizard_skills extends SYSTEM\PAGE\Page {
private function js(){ public static function js(){
return ''; return array( \SYSTEM\WEBPATH(new PAPI(),'char/js/skilltree.js'),
} \SYSTEM\WEBPATH(new PPAGE(),'wizard_skills/js/wizard_skills.js'));}
private function css (){ public static function css (){
return ''; return array();}
}
public function html(){ public function html(){
$vars = json_decode(charcreation::data(),true)['result']; $vars = json_decode(charcreation::data(),true)['result'];
$vars['skilltree'] = skilltree::generate($vars['char_class']); $vars['skilltree'] = skilltree::generate($vars['char_class']);

View File

@ -1,2 +1,2 @@
function wizard_toolbar(){ function wizard_toolbar(){
$('.tb_link').click(function(){sys.load($(this).attr('sysload'));});} $('.tb_link').click(function(){system.load($(this).attr('sysload'));});}

View File

@ -5,10 +5,16 @@ class wizard_toolbar extends SYSTEM\PAGE\Page {
public $next = null; public $next = null;
public function __construct($last,$next) { public function __construct($last,$next) {
$this->last = $last; $this->last = $last;
$this->next = $next; $this->next = $next;}
}
public static function js(){
return array( \SYSTEM\WEBPATH(new PPAGE(),'wizard_toolbar/js/wizard_toolbar.js'));}
public static function css (){
return array();}
public function html(){ public function html(){
$vars = json_decode(charcreation::data(),true)['result']; $vars = charcreation::data(NULL,false);
$vars['char_class'] = player_classes::name($vars['char_class']); $vars['char_class'] = player_classes::name($vars['char_class']);
$vars['last'] = $this->last; $vars['last'] = $this->last;
$vars['next'] = $this->next; $vars['next'] = $this->next;

View File

@ -2,21 +2,17 @@
class wizard_visuals extends SYSTEM\PAGE\Page { class wizard_visuals extends SYSTEM\PAGE\Page {
private function js(){ public static function js(){
return ''; return array( \SYSTEM\WEBPATH(new PPAGE(),'wizard_visuals/js/wizard_visuals.js'));}
}
public static function css (){
private function css (){ return array();}
return '';
}
public function html(){ public function html(){
$vars = json_decode(charcreation::data(),true)['result']; $vars = json_decode(charcreation::data(),true)['result'];
if($vars['char_race'] == 'undead'){ if($vars['char_race'] == 'undead'){
$vars['char_race'] = 'scourge';} $vars['char_race'] = 'scourge';}
$vars['char_equip'] = '';//'1,110744,3,109807,16,111412,5,111190,9,111188,10,126342,6,110003,7,120793,8,115217,21,125312,14,110641';// $vars['char_equip'] = '';//'1,110744,3,109807,16,111412,5,111190,9,111188,10,126342,6,110003,7,120793,8,115217,21,125312,14,110641';//
$vars['js'] = $this->js();
$vars['css'] = $this->css();
$vars['WOWICONS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=wowicons&id='; $vars['WOWICONS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=wowicons&id=';
$vars['infotext_default'] = \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_INFOTEXT)['default']; $vars['infotext_default'] = \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_WOW_INFOTEXT)['default'];
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_visuals/wizard_visuals.tpl'), $vars); return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_visuals/wizard_visuals.tpl'), $vars);

2
system

@ -1 +1 @@
Subproject commit b3bf40d17d3c707d7af17943b1f6ff147c0e71a6 Subproject commit 058d4d3b905f9b9e533e54f7b4372c49e81744a1