mirror of
https://github.com/Znote/ZnoteAAC.git
synced 2025-10-13 18:04:54 +02:00
Importing Znote AAC 1.5_SVN rev 168 to github.
This commit is contained in:
151
createcharacter.php
Normal file
151
createcharacter.php
Normal file
@@ -0,0 +1,151 @@
|
||||
<?php require_once 'engine/init.php';
|
||||
protect_page();
|
||||
include 'layout/overall/header.php';
|
||||
|
||||
if (empty($_POST) === false) {
|
||||
// $_POST['']
|
||||
$required_fields = array('name', 'selected_town');
|
||||
foreach($_POST as $key=>$value) {
|
||||
if (empty($value) && in_array($key, $required_fields) === true) {
|
||||
$errors[] = 'You need to fill in all fields.';
|
||||
break 1;
|
||||
}
|
||||
}
|
||||
|
||||
// check errors (= user exist, pass long enough
|
||||
if (empty($errors) === true) {
|
||||
if (!Token::isValid($_POST['token'])) {
|
||||
$errors[] = 'Token is invalid.';
|
||||
}
|
||||
$_POST['name'] = validate_name($_POST['name']);
|
||||
if ($_POST['name'] === false) {
|
||||
$errors[] = 'Your name can not contain more than 2 words.';
|
||||
} else {
|
||||
if (user_character_exist($_POST['name']) === true) {
|
||||
$errors[] = 'Sorry, that character name already exist.';
|
||||
}
|
||||
if (!preg_match("/^[a-zA-Z_ ]+$/", $_POST['name'])) {
|
||||
$errors[] = 'Your name may only contain a-z, A-Z and spaces.';
|
||||
}
|
||||
if (strlen($_POST['name']) < $config['minL'] || strlen($_POST['name']) > $config['maxL']) {
|
||||
$errors[] = 'Your character name must be between 4 - 20 characters long.';
|
||||
}
|
||||
// name restriction
|
||||
$resname = explode(" ", $_POST['name']);
|
||||
foreach($resname as $res) {
|
||||
if(in_array(strtolower($res), $config['invalidNameTags'])) {
|
||||
$errors[] = 'Your username contains a restricted word.';
|
||||
}
|
||||
else if(strlen($res) == 1) {
|
||||
$errors[] = 'Too short words in your name.';
|
||||
}
|
||||
}
|
||||
// Validate vocation id
|
||||
if (!in_array((int)$_POST['selected_vocation'], $config['available_vocations'])) {
|
||||
$errors[] = 'Permission Denied. Wrong vocation.';
|
||||
}
|
||||
// Validate town id
|
||||
if (!in_array((int)$_POST['selected_town'], $config['available_towns'])) {
|
||||
$errors[] = 'Permission Denied. Wrong town.';
|
||||
}
|
||||
// Validate gender id
|
||||
if (!in_array((int)$_POST['selected_gender'], array(0, 1))) {
|
||||
$errors[] = 'Permission Denied. Wrong gender.';
|
||||
}
|
||||
if (vocation_id_to_name($_POST['selected_vocation']) === false) {
|
||||
$errors[] = 'Failed to recognize that vocation, does it exist?';
|
||||
}
|
||||
if (town_id_to_name($_POST['selected_town']) === false) {
|
||||
$errors[] = 'Failed to recognize that town, does it exist?';
|
||||
}
|
||||
if (gender_exist($_POST['selected_gender']) === false) {
|
||||
$errors[] = 'Failed to recognize that gender, does it exist?';
|
||||
}
|
||||
// Char count
|
||||
$char_count = user_character_list_count($session_user_id);
|
||||
if ($char_count >= $config['max_characters']) {
|
||||
$errors[] = 'Your account is not allowed to have more than '. $config['max_characters'] .' characters.';
|
||||
}
|
||||
if (validate_ip(getIP()) === false && $config['validate_IP'] === true) {
|
||||
$errors[] = 'Failed to recognize your IP address. (Not a valid IPv4 address).';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<h1>Create Character</h1>
|
||||
<?php
|
||||
if (isset($_GET['success']) && empty($_GET['success'])) {
|
||||
echo 'Congratulations! Your character has been created. See you in-game!';
|
||||
} else {
|
||||
if (empty($_POST) === false && empty($errors) === true) {
|
||||
if ($config['log_ip']) {
|
||||
znote_visitor_insert_detailed_data(2);
|
||||
}
|
||||
//Register
|
||||
$character_data = array(
|
||||
'name' => format_character_name($_POST['name']),
|
||||
'account_id'=> $session_user_id,
|
||||
'vocation' => $_POST['selected_vocation'],
|
||||
'town_id' => $_POST['selected_town'],
|
||||
'sex' => $_POST['selected_gender'],
|
||||
'lastip' => ip2long(getIP()),
|
||||
'created' => time()
|
||||
);
|
||||
|
||||
user_create_character($character_data);
|
||||
header('Location: createcharacter.php?success');
|
||||
exit();
|
||||
//End register
|
||||
|
||||
} else if (empty($errors) === false){
|
||||
echo '<font color="red"><b>';
|
||||
echo output_errors($errors);
|
||||
echo '</b></font>';
|
||||
}
|
||||
?>
|
||||
<form action="" method="post">
|
||||
<ul>
|
||||
<li>
|
||||
Name:<br>
|
||||
<input type="text" name="name">
|
||||
</li>
|
||||
<li>
|
||||
<!-- Available vocations to select from when creating character -->
|
||||
Vocation:<br>
|
||||
<select name="selected_vocation">
|
||||
<?php foreach ($config['available_vocations'] as $id) { ?>
|
||||
<option value="<?php echo $id; ?>"><?php echo vocation_id_to_name($id); ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</li>
|
||||
<li>
|
||||
<!-- Available genders to select from when creating character -->
|
||||
Gender:<br>
|
||||
<select name="selected_gender">
|
||||
<option value="1">Male(boy)</option>
|
||||
<option value="0">Female(girl)</option>
|
||||
</select>
|
||||
</li>
|
||||
<li>
|
||||
<!-- Available towns to select from when creating character -->
|
||||
Town:<br>
|
||||
<select name="selected_town">
|
||||
<?php foreach ($config['available_towns'] as $tid) { ?>
|
||||
<option value="<?php echo $tid; ?>"><?php echo town_id_to_name($tid); ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</li>
|
||||
<?php
|
||||
/* Form file */
|
||||
Token::create();
|
||||
?>
|
||||
<li>
|
||||
<input type="submit" value="Create Character">
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
<?php
|
||||
}
|
||||
include 'layout/overall/footer.php'; ?>
|
Reference in New Issue
Block a user