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
class charcreation {
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';
public static function data($json = NULL){
if(!\SYSTEM\SECURITY\Security::load(self::MOJO_CC_SESSIONKEY)){
@ -18,15 +21,27 @@ class charcreation {
private static function session_default(){
return array( 'char_name' => self::DEFAULT_CHAR_NAME,
'char_gender' => 'default',
'char_race' => 'default',
'char_class' => 'default',
'char_gender' => self::DEFAULT_CHAR_GENDER,
'char_race' => self::DEFAULT_CHAR_RACE,
'char_class' => self::DEFAULT_CHAR_CLASS,
'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
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 {
public static function char_name($value){
$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)){
$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 == ('female' || 'male')) ? $value : charcreation::DEFAULT_CHAR_GENDER;
\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;
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);
}
public static function char_class($value){
$data = \SYSTEM\SECURITY\Security::load(charcreation::MOJO_CC_SESSIONKEY);
$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);
}
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="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="visuals" href="#" style="padding-left: 30px;"><img src="${WOWICONS}hakkar.png" /></a>
<a class="guild" href="#" style="padding-left: 30px;"><img src="${WOWICONS}onyxia.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}ragnaros.png" /></a>
<a class="spawn" href="#" style="padding-left: 30px;"><img src="${WOWICONS}100bosses.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}default.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}default.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>