more wizard details

This commit is contained in:
Ulf Gebhardt 2014-06-23 15:16:17 +02:00
parent 29dfef7a95
commit 152e0c3a59
7 changed files with 36 additions and 82 deletions

View File

@ -1,12 +0,0 @@
<?php
class cc_session {
public $char_name = NULL;
public $char_gender = NULL;
public $char_race = NULL;
public $char_class = NULL;
public $char_appearance = NULL;
public $char_skill_tree = NULL;
public $char_equip = NULL;
public $char_guild = NULL;
public $char_spawn = NULL;
}

View File

@ -1,9 +1,10 @@
<?php
class charcreation {
const DEFAULT_CHAR_NAME = 'Charactername';
const MOJO_CC_SESSIONKEY = 'mojo_charcreation';
public static function data($json = NULL){
if(!\SYSTEM\SECURITY\Security::load(self::MOJO_CC_SESSIONKEY)){
\SYSTEM\SECURITY\Security::save(self::MOJO_CC_SESSIONKEY, new cc_session());}
\SYSTEM\SECURITY\Security::save(self::MOJO_CC_SESSIONKEY, self::session_default());}
//write
if($json){
$json = json_decode($json);
@ -12,20 +13,19 @@ class charcreation {
call_user_func('charcreation_validator::'.$key,$value);}
}
}
return JsonResult::toString(self::get());
return JsonResult::toString(\SYSTEM\SECURITY\Security::load(self::MOJO_CC_SESSIONKEY));
}
public static function get(){
$vars = array('char_name' => 'Charactername', 'char_gender' => 'default', 'char_race' => 'default', 'char_class' => 'default');
if($data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY)){
$vars['char_name'] = $data->char_name;
$vars['char_class'] = $data->char_class;
$vars['char_gender'] = $data->char_gender;
$vars['char_race'] = $data->char_race;
$vars['char_class'] = $data->char_class;
}
return $vars;
}
private static function session_default(){
return array( 'char_name' => self::DEFAULT_CHAR_NAME,
'char_gender' => 'default',
'char_race' => 'default',
'char_class' => 'default',
'char_appearance' => 0,
'char_skill_tree' => 0,
'char_equip' => 0,
'char_guild' => 0,
'char_spawn' => 0);}
public static function checkClassRace($class,$race){ return true;} //todo
}

View File

@ -2,22 +2,26 @@
class charcreation_validator {
public static function char_name($value){
$data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY);
$data->char_name = $value;
if( strlen($value) > 12 ||
preg_match('/[^A-Za-z]/',$value)){
$data['char_name'] = charcreation::DEFAULT_CHAR_NAME;
} else {
$data['char_name'] = $value;}
\SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data);
}
public static function char_gender($value){
$data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY);
$data->char_gender = $value;
$data['char_gender'] = $value;
\SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data);
}
public static function char_race($value){
$data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY);
$data->char_race = $value;
$data['char_race'] = $value;
\SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data);
}
public static function char_class($value){
$data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY);
$data->char_class = $value;
$data['char_class'] = $value;
\SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data);
}
public static function char_appearance($value){}

View File

@ -1,6 +1,5 @@
<div id="details_gender" style="float: left; margin: 15px;">
<input type="text" class="form-control input-lg" id="charname" value="${char_name}"></br>
<input type="text" class="form-control input-lg" id="charname" maxlength="12" value="${char_name}"></br>
<a class="male fadein" gender="male" href="#"><img src="${WOWICONS}male.png" width="110px"/></a>
<a class="female fadein" gender="female" href="#"><img src="${WOWICONS}female.png" width="110px"/></a>
</div>
@ -29,7 +28,7 @@
<a class="human dwarf nightelf gnome ork undead tauren troll fadein info" info="class_warrior" cclass="warrior" href="#"><img src="${WOWICONS}warrior.png" /></a>
<a class="dwarf nightelf ork tauren troll fadein info" info="class_hunter" cclass="hunter" href="#"><img src="${WOWICONS}hunter.png" /></a>
<br>
<a class="dwarf human fadein info" info="class_paladin" cclass="paladin" href="#"><img src="${WOWICONS}paladin.png" /></a>
<a class="fadein tauren troll ork info" info="class_shaman" cclass="shaman" href="#"><img src="${WOWICONS}shaman.png" /></a>
<a class="dwarf human nightelf gnome ork undead troll fadein info" info="class_rogue" cclass="rogue" href="#"><img src="${WOWICONS}rogue.png" /></a>
<br>
<a class="dwarf human nightelf undead troll fadein info" info="class_priest" cclass="priest" href="#"><img src="${WOWICONS}priest.png" /></a>
@ -38,9 +37,8 @@
<a class="human gnome ork undead fadein info" info="class_warlock" cclass="warlock" href="#"><img src="${WOWICONS}warlock.png" /></a>
<a class="fadein nightelf tauren info" info="class_druid" cclass="druid" href="#"><img src="${WOWICONS}druid.png" /></a>
<br>
<a class="fadein tauren troll ork info" info="class_shaman" cclass="shaman" href="#"><img src="${WOWICONS}shaman.png" /></a>
<a class="dwarf human fadein info" info="class_paladin" cclass="paladin" href="#" style="padding-left:30px;"><img src="${WOWICONS}paladin.png" /></a>
</div>
<div class="lifecraft link-color" id="details_info" style="float: left; margin-top: 15px; width: 190px; height: 300px; overflow-y: hidden; padding: 8px; font-size: 14px; background: url(${PICPATH}infotext_background.png) no-repeat;">
<h3 style="padding-left: 20px;"><img src="${WOWICONS}help_questionmark.png" width="25px"/>&nbsp;&nbsp;Info</h3>
<div id="info_content">${infotext_default}</div>

View File

@ -1,10 +1,10 @@
function sendInfo(json){
$.get('./api.php?call=charcreation&json='+json,function(){load_toolbar();})}
function wizard_details (){
$('#charname').keyup(function(){
$.get('./api.php?call=charcreation&json={"char_name" : "'+$(this).val()+'"}',function(){
load_toolbar();
})
})
sendInfo('{"char_name" : "'+$(this).val()+'"}');});
$('.info').mouseover(function(){
var info = $(this).attr('info');
@ -16,17 +16,13 @@ function wizard_details (){
$('#details_race a').removeClass('selected');
$('#details_class a').removeClass('selected');
$(this).addClass('selected');
$.get('./api.php?call=charcreation&json={"char_gender" : "'+$(this).attr('gender')+'"}',function(){
load_toolbar();
})
sendInfo('{"char_gender" : "'+$(this).attr('gender')+'"}');
});
$('#details_race a').click(function(){
$('#details_race a').removeClass('selected');
$(this).addClass('selected');
$.get('./api.php?call=charcreation&json={"char_race" : "'+$(this).attr('race')+'", "char_gender" : "'+$(this).attr('gender')+'"}',function(){
load_toolbar();
})
sendInfo('{"char_race" : "'+$(this).attr('race')+'", "char_gender" : "'+$(this).attr('gender')+'"}');
});
$('#details_class a').click(function(){
@ -55,44 +51,14 @@ function wizard_details (){
if(!$('#details_race .selected').hasClass('fadein')){
$('#details_race .selected').removeClass('selected');
}
$.get('./api.php?call=charcreation&json={"char_class" : "'+$(this).attr('cclass')+'"}',function(){
load_toolbar();
})
sendInfo('{"char_class" : "'+$(this).attr('cclass')+'"}');
});
$('#content .male').click(function (){
male ();
});
$('#content .female').click(function (){
female ();
});
$('#details_race .human').click(function (){
wowrace('human');
});
$('#details_race .ork').click(function (){
wowrace('ork');
});
$('#details_race .dwarf').click(function (){
wowrace('dwarf');
});
$('#details_race .undead').click(function (){
wowrace('undead');
});
$('#details_race .nightelf').click(function (){
wowrace('nightelf');
});
$('#details_race .tauren').click(function (){
wowrace('tauren');
});
$('#details_race .gnome').click(function (){
wowrace('gnome');
});
$('#details_race .troll').click(function (){
wowrace('troll');
});
$('#content .male').click(function (){male();});
$('#content .female').click(function (){female ();});
$('#details_race .human, #details_race .ork, #details_race .dwarf, #details_race .undead, #details_race .nightelf, #details_race .tauren, #details_race .gnome, #details_race .troll').click(function (){wowrace($(this).attr('race'));});
load_toolbar();
}

View File

@ -9,7 +9,7 @@ class wizard_details extends SYSTEM\PAGE\Page {
}
public function html(){
$vars = charcreation::get();
$vars = json_decode(charcreation::data(),true)['result'];
$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=';

View File

@ -2,10 +2,8 @@
class wizard_toolbar extends SYSTEM\PAGE\Page {
public function html(){
$vars = charcreation::get();
$vars = json_decode(charcreation::data(),true)['result'];
$vars['WOWICONS'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL).'api.php?call=files&cat=wowicons&id=';
//$vars['PICPATH'] = \SYSTEM\WEBPATH(new PPAGE(), 'wizard_toolbar/img/');
//$vars = array_merge($vars, \SYSTEM\locale::getStrings(DBD\locale_string::VALUE_CATEGORY_MAINPAGE));
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_toolbar/wizard_toolbar.tpl'), $vars);
}
}