class - race validation

This commit is contained in:
Ulf Gebhardt 2014-06-23 15:48:41 +02:00
parent 152e0c3a59
commit e946f32bf1
8 changed files with 31 additions and 11 deletions

View File

@ -1,6 +1,9 @@
<?php <?php
class charcreation { class charcreation {
const DEFAULT_CHAR_NAME = 'Charactername'; const DEFAULT_CHAR_NAME = 'Charactername';
const DEFAULT_CHAR_GENDER = 'default';
const DEFAULT_CHAR_RACE = 'default';
const DEFAULT_CHAR_CLASS = 'default';
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)){
@ -18,15 +21,27 @@ class charcreation {
private static function session_default(){ private static function session_default(){
return array( 'char_name' => self::DEFAULT_CHAR_NAME, return array( 'char_name' => self::DEFAULT_CHAR_NAME,
'char_gender' => 'default', 'char_gender' => self::DEFAULT_CHAR_GENDER,
'char_race' => 'default', 'char_race' => self::DEFAULT_CHAR_RACE,
'char_class' => 'default', 'char_class' => self::DEFAULT_CHAR_CLASS,
'char_appearance' => 0, 'char_appearance' => 0,
'char_skill_tree' => 0, 'char_skill_tree' => 0,
'char_equip' => 0, 'char_equip' => 0,
'char_guild' => 0, 'char_guild' => 0,
'char_spawn' => 0);} 'char_spawn' => 0);}
public static function checkClassRace($class,$race){ return true;} //todo public static function checkClassRace($class,$race){
switch($race){
case 'human': return in_array($class, array('warrior', 'rogue', 'priest', 'mage', 'warlock', 'paladin'));
case 'ork': return in_array($class, array('warrior', 'hunter', 'shaman', 'rogue', 'warlock'));
case 'dwarf': return in_array($class, array('warrior', 'hunter', 'rogue', 'priest', 'paladin'));
case 'undead': return in_array($class, array('warrior', 'rogue', 'priest', 'mage', 'warlock'));
case 'nightelf': return in_array($class, array('warrior', 'hunter', 'rogue', 'priest', 'druid'));
case 'tauren': return in_array($class, array('warrior', 'hunter', 'shaman', 'druid'));
case 'gnome': return in_array($class, array('warrior', 'rogue', 'mage', 'warlock'));
case 'troll': return in_array($class, array('warrior', 'hunter', 'shaman', 'rogue', 'priest', 'mage'));
default: return false;
}
}
} }

View File

@ -2,26 +2,31 @@
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);
if( strlen($value) > 12 || if( strlen($value) > 12 || strlen($value) < 2 ||
preg_match('/[^A-Za-z]/',$value)){ preg_match('/[^A-Za-z]/',$value)){
$data['char_name'] = charcreation::DEFAULT_CHAR_NAME; $data['char_name'] = charcreation::DEFAULT_CHAR_NAME;
} else { } else {
$data['char_name'] = $value;} $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 == ('female' || 'male')) ? $value : charcreation::DEFAULT_CHAR_GENDER;
\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;
if(!charcreation::checkClassRace($data['char_class'], $data['char_race'])){
$data['char_class'] = charcreation::DEFAULT_CHAR_CLASS;}
\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;
if(!charcreation::checkClassRace($data['char_class'], $data['char_race'])){
$data['char_race'] = charcreation::DEFAULT_CHAR_RACE;}
\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){}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -2,9 +2,9 @@
<a class="name" href="#" style="padding-left: 10px;">${char_name}</a> <a class="name" href="#" style="padding-left: 10px;">${char_name}</a>
<a class="gender race" href="#" style="padding-left: 10px;"><img src="${WOWICONS}${char_race}_${char_gender}.png" /></a> <a class="gender race" href="#" style="padding-left: 10px;"><img src="${WOWICONS}${char_race}_${char_gender}.png" /></a>
<a class="class" href="#" style="padding-left: 10px;"><img src="${WOWICONS}${char_class}.png" /></a> <a class="class" href="#" style="padding-left: 10px;"><img src="${WOWICONS}${char_class}.png" /></a>
<a class="visuals" href="#" style="padding-left: 30px;"><img src="${WOWICONS}hakkar.png" /></a> <a class="visuals" href="#" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a>
<a class="guild" href="#" style="padding-left: 30px;"><img src="${WOWICONS}onyxia.png" /></a> <a class="guild" href="#" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a>
<a class="skill" href="#" style="padding-left: 30px;"><img src="${WOWICONS}ragnaros.png" /></a> <a class="skill" href="#" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a>
<a class="skill" href="#" style="padding-left: 30px;"><img src="${WOWICONS}ragnaros.png" /></a> <a class="skill" href="#" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a>
<a class="spawn" href="#" style="padding-left: 30px;"><img src="${WOWICONS}100bosses.png" /></a> <a class="spawn" href="#" style="padding-left: 30px;"><img src="${WOWICONS}default.png" /></a>
<a class="next" href="#" style="padding-left: 20px;"><img src="${WOWICONS}arrow_right.png" /></a> <a class="next" href="#" style="padding-left: 20px;"><img src="${WOWICONS}arrow_right.png" /></a>