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

View File

@ -2,22 +2,26 @@
class charcreation_validator { class charcreation_validator {
public static function char_name($value){ public static function char_name($value){
$data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY); $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); \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data);
} }
public static function char_gender($value){ public static function char_gender($value){
$data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY); $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); \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data);
} }
public static function char_race($value){ public static function char_race($value){
$data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY); $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); \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data);
} }
public static function char_class($value){ public static function char_class($value){
$data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY); $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); \SYSTEM\SECURITY\Security::save(charcreation::MOJO_CC_SESSIONKEY,$data);
} }
public static function char_appearance($value){} public static function char_appearance($value){}

View File

@ -1,6 +1,5 @@
<div id="details_gender" style="float: left; margin: 15px;"> <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="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> <a class="female fadein" gender="female" href="#"><img src="${WOWICONS}female.png" width="110px"/></a>
</div> </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="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> <a class="dwarf nightelf ork tauren troll fadein info" info="class_hunter" cclass="hunter" href="#"><img src="${WOWICONS}hunter.png" /></a>
<br> <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> <a class="dwarf human nightelf gnome ork undead troll fadein info" info="class_rogue" cclass="rogue" href="#"><img src="${WOWICONS}rogue.png" /></a>
<br> <br>
<a class="dwarf human nightelf undead troll fadein info" info="class_priest" cclass="priest" href="#"><img src="${WOWICONS}priest.png" /></a> <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="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> <a class="fadein nightelf tauren info" info="class_druid" cclass="druid" href="#"><img src="${WOWICONS}druid.png" /></a>
<br> <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>
<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;"> <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> <h3 style="padding-left: 20px;"><img src="${WOWICONS}help_questionmark.png" width="25px"/>&nbsp;&nbsp;Info</h3>
<div id="info_content">${infotext_default}</div> <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 (){ function wizard_details (){
$('#charname').keyup(function(){ $('#charname').keyup(function(){
$.get('./api.php?call=charcreation&json={"char_name" : "'+$(this).val()+'"}',function(){ sendInfo('{"char_name" : "'+$(this).val()+'"}');});
load_toolbar();
})
})
$('.info').mouseover(function(){ $('.info').mouseover(function(){
var info = $(this).attr('info'); var info = $(this).attr('info');
@ -16,17 +16,13 @@ function wizard_details (){
$('#details_race a').removeClass('selected'); $('#details_race a').removeClass('selected');
$('#details_class a').removeClass('selected'); $('#details_class a').removeClass('selected');
$(this).addClass('selected'); $(this).addClass('selected');
$.get('./api.php?call=charcreation&json={"char_gender" : "'+$(this).attr('gender')+'"}',function(){ sendInfo('{"char_gender" : "'+$(this).attr('gender')+'"}');
load_toolbar();
})
}); });
$('#details_race a').click(function(){ $('#details_race a').click(function(){
$('#details_race a').removeClass('selected'); $('#details_race a').removeClass('selected');
$(this).addClass('selected'); $(this).addClass('selected');
$.get('./api.php?call=charcreation&json={"char_race" : "'+$(this).attr('race')+'", "char_gender" : "'+$(this).attr('gender')+'"}',function(){ sendInfo('{"char_race" : "'+$(this).attr('race')+'", "char_gender" : "'+$(this).attr('gender')+'"}');
load_toolbar();
})
}); });
$('#details_class a').click(function(){ $('#details_class a').click(function(){
@ -55,44 +51,14 @@ function wizard_details (){
if(!$('#details_race .selected').hasClass('fadein')){ if(!$('#details_race .selected').hasClass('fadein')){
$('#details_race .selected').removeClass('selected'); $('#details_race .selected').removeClass('selected');
} }
sendInfo('{"char_class" : "'+$(this).attr('cclass')+'"}');
$.get('./api.php?call=charcreation&json={"char_class" : "'+$(this).attr('cclass')+'"}',function(){
load_toolbar();
})
}); });
$('#content .male').click(function (){ $('#content .male').click(function (){male();});
male (); $('#content .female').click(function (){female ();});
});
$('#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');
});
$('#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(); load_toolbar();
} }

View File

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

View File

@ -2,10 +2,8 @@
class wizard_toolbar extends SYSTEM\PAGE\Page { class wizard_toolbar extends SYSTEM\PAGE\Page {
public function html(){ 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['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); return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'wizard_toolbar/wizard_toolbar.tpl'), $vars);
} }
} }