* @copyright 2017 MyAAC * @version 0.0.6 * @link http://my-aac.org */ defined('MYAAC') or die('Direct access not allowed!'); $title = 'Player editor'; $base = BASE_URL . 'admin/?p=players'; function echo_success($message) { echo '

' . $message . '

'; } function echo_error($message) { global $error; echo '

' . $message . '

'; $error = true; } function verify_number($number, $name, $max_length) { if(!check_number($number)) echo_error($name . ' can contain only numbers.'); $number_length = strlen($number); if($number_length <= 0 || $number_length > $max_length) echo_error($name . ' cannot be longer than ' . $max_length . ' digits.'); } $skills = array( POT::SKILL_FIST => array('Fist fighting', 'fist'), POT::SKILL_CLUB => array('Club fighting', 'club'), POT::SKILL_SWORD => array('Sword fighting', 'sword'), POT::SKILL_AXE => array('Axe fighting', 'axe'), POT::SKILL_DIST => array('Distance fighting', 'dist'), POT::SKILL_SHIELD => array('Shielding', 'shield'), POT::SKILL_FISH => array('Fishing', 'fish') ); ?> query('SELECT `id` FROM `players` WHERE `name` = ' . $db->quote($_REQUEST['search_name'])); if($query->rowCount() == 1) { $query = $query->fetch(); $id = $query['id']; } else { $query = $db->query('SELECT `id`, `name` FROM `players` WHERE `name` LIKE ' . $db->quote('%' . $_REQUEST['search_name'] . '%')); if($query->rowCount() > 0 && $query->rowCount() <= 10) { echo 'Do you mean?'; } else if($query->rowCount() > 10) echo 'Specified name resulted with too many players.'; } } } } $groups = new OTS_Groups_List(); if($id > 0) { $player = $ots->createObject('Player'); $player->load($id); if(isset($player) && $player->isLoaded() && isset($_POST['save'])) {// we want to save $error = false; if($player->isOnline()) echo_error('This player is actually online. You can\'t edit online players.'); $name = $_POST['name']; $_error = ''; if(!check_name($name, $_error)) echo_error($_error); //if(!check_name_new_char($name)) // echo_error('This name contains invalid letters, words or format. Please use only a-Z, - , \' and space.'); $player_db = $ots->createObject('Player'); $player_db->find($name); if($player_db->isLoaded() && $player->getName() != $name) echo_error('This name is already used. Please choose another name!'); $account_id = $_POST['account_id']; verify_number($account_id, 'Account id', 11); $account_db = new OTS_Account(); $account_db->load($account_id); if(!$account_db->isLoaded()) echo_error('Account with this id doesn\'t exist.'); $group = $_POST['group']; if($groups->getGroup($group) == false) echo_error('Group with this id doesn\'t exist'); $level = $_POST['level']; verify_number($level, 'Level', 11); $experience = $_POST['experience']; verify_number($experience, 'Experience', 20); $vocation = $_POST['vocation']; verify_number($vocation, 'Vocation id', 1); // health $health = $_POST['health']; verify_number($health, 'Health', 11); $health_max = $_POST['health_max']; verify_number($health_max, 'Health max', 11); // mana $magic_level = $_POST['magic_level']; verify_number($magic_level, 'Magic_level', 11); $mana = $_POST['mana']; verify_number($mana, 'Mana', 11); $mana_max = $_POST['mana_max']; verify_number($mana_max, 'Mana max', 11); $mana_spent = $_POST['mana_spent']; verify_number($mana_spent, 'Mana spent', 11); // look $look_body = $_POST['look_body']; verify_number($look_body, 'Look body', 11); $look_feet = $_POST['look_feet']; verify_number($look_feet, 'Look feet', 11); $look_head = $_POST['look_head']; verify_number($look_head, 'Look head', 11); $look_legs = $_POST['look_legs']; verify_number($look_legs, 'Look legs', 11); $look_type = $_POST['look_type']; verify_number($look_type, 'Look type', 11); $look_addons = $_POST['look_addons']; verify_number($look_addons, 'Look addons', 11); // pos $pos_x = $_POST['pos_x']; verify_number($pos_x, 'Position x', 11); $pos_y = $_POST['pos_y']; verify_number($pos_y, 'Position y', 11); $pos_z = $_POST['pos_z']; verify_number($pos_z, 'Position z', 11); $soul = $_POST['soul']; verify_number($soul, 'Soul', 10); $town = $_POST['town']; verify_number($town, 'Town', 11); $capacity = $_POST['capacity']; verify_number($capacity, 'Capacity', 11); $sex = $_POST['sex']; verify_number($sex, 'Sex', 1); $lastlogin = $_POST['lastlogin']; verify_number($lastlogin, 'Last login', 20); $lastlogout = $_POST['lastlogout']; verify_number($lastlogout, 'Last logout', 20); $lastip = $_POST['lastip']; $exp = explode(".", $lastip); $lastip = $exp[3] . '.' . $exp[2] . '.' . $exp[1] . '.' . $exp[0]; $lastip_length = strlen($lastip); if($lastip_length <= 0 || $lastip_length > 15) echo_error('IP cannot be longer than 15 digits.'); $skull = $_POST['skull']; verify_number($skull, 'Skull', 1); $skull_time = $_POST['skull_time']; verify_number($skull_time, 'Skull time', 11); if(fieldExist('loss_experience', 'players')) { $loss_experience = $_POST['loss_experience']; verify_number($loss_experience, 'Loss experience', 11); $loss_mana = $_POST['loss_mana']; verify_number($loss_mana, 'Loss mana', 11); $loss_skills = $_POST['loss_skills']; verify_number($loss_skills, 'Loss skills', 11); $loss_containers = $_POST['loss_containers']; verify_number($loss_containers, 'Loss loss_containers', 11); $loss_items = $_POST['loss_items']; verify_number($loss_items, 'Loss items', 11); } $blessings = $_POST['blessings']; verify_number($blessings, 'Blessings', 2); $balance = $_POST['balance']; verify_number($balance, 'Balance', 20); $stamina = $_POST['stamina']; verify_number($stamina, 'Stamina', 20); $deleted = (isset($_POST['deleted']) && $_POST['deleted'] == 'true'); $hidden = (isset($_POST['hidden']) && $_POST['hidden'] == 'true'); $created = $_POST['created']; verify_number($created, 'Created', 11); $comment = isset($_POST['comment']) ? htmlspecialchars(stripslashes(substr($_POST['comment'],0,2000))) : NULL; foreach($_POST['skills'] as $skill => $value) verify_number($value, $skills[$skill][0], 10); foreach($_POST['skills_tries'] as $skill => $value) verify_number($value, $skills[$skill][0] . ' tries', 10); if(!$error) { $player->setName($name); $player->setAccount($account_db); $player->setGroup($groups->getGroup($group)); $player->setLevel($level); $player->setExperience($experience); $player->setVocation($vocation); $player->setHealth($health); $player->setHealthMax($health_max); $player->setMagLevel($magic_level); $player->setMana($mana); $player->setManaMax($mana_max); $player->setManaSpent($mana_spent); $player->setLookBody($look_body); $player->setLookFeet($look_feet); $player->setLookHead($look_head); $player->setLookLegs($look_legs); $player->setLookType($look_type); $player->setLookAddons($look_addons); $player->setPosX($pos_x); $player->setPosY($pos_y); $player->setPosZ($pos_z); $player->setSoul($soul); $player->setTownId($town); $player->setCap($capacity); $player->setSex($sex); $player->setLastLogin($lastlogin); $player->setLastLogout($lastlogout); $player->setLastIP(ip2long($lastip)); $player->setSkull($skull); $player->setSkullTime($skull_time); if(fieldExist('loss_experience', 'players')) { $player->setLossExperience($loss_experience); $player->setLossMana($loss_mana); $player->setLossSkills($loss_skills); $player->setLossContainers($loss_containers); $player->setLossItems($loss_items); } $player->setBlessings($blessings); $player->setBalance($balance); $player->setStamina($stamina); if(fieldExist('deletion', 'players')) $player->setCustomField('deletion', $deleted ? '1' : '0'); else $player->setCustomField('deleted', $deleted ? '1' : '0'); $player->setCustomField('hidden', $hidden ? '1': '0'); $player->setCustomField('created', $created); if(isset($comment)) $player->setCustomField('comment', $comment); foreach($_POST['skills'] as $skill => $value) { $player->setSkill($skill, $value); } foreach($_POST['skills_tries'] as $skill => $value) { $player->setSkillTries($skill, $value); } $player->save(); echo_success('Player saved at: ' . date('G:i')); } } } $search_name = ''; if(isset($_REQUEST['search_name'])) $search_name = $_REQUEST['search_name']; else if($id > 0 && isset($player) && $player->isLoaded()) $search_name = $player->getName(); ?>
isLoaded()) return; $account = $player->getAccount(); ?>

Edit player
Name:
Account id: Group:
Level: Experience: Health: Health max:
Vocation:
Magic level: Mana: Mana max: Mana spent:
Look: Body: Feet: Head: Legs: Type: Addons:
Position: X: Y: Z:
Soul: Town: Capacity: Sex:
Last login: Last logout: Last IP:
Skull: Skull time:
Loss experience: Loss mana: Loss skills: Loss containers: Loss items:
Blessings: Balance: Stamina:
getCustomField(fieldExist('deletion', 'players') ? 'deletion' : 'deleted') == '1' ? ' checked' : ''); ?>/> getCustomField('hidden') == 1 ? ' checked' : ''); ?>/> Created:
Comment:
[max. length: 2000 chars, 50 lines (ENTERs)]
$info) { if($i == 0 || $i++ == 2) { echo ''; $i = 0; } echo ' '; if($i == 0) echo ''; } ?>
' . $info[0] . ' ' . $info[0] . ' tries