<?php
if (!defined('GAME')) {
    die();
}

$slot = mysql_fetch_array(mysql_query('SELECT * FROM `users_animal_slot` WHERE `uid` = "' . $u->info['id'] . '" LIMIT 1'));
if (!isset($slot['id'])) {
    if (mysql_query('INSERT INTO `users_animal_slot` ( `uid`,`slots`,`ekr`	) VALUES ( "' . $u->info['id'] . '","2","0" )')) {
        $slot = mysql_fetch_array(mysql_query('SELECT * FROM `users_animal_slot` WHERE `uid` = "' . $u->info['id'] . '" LIMIT 1'));
    } else {
        $u->error = 'Ошибка в работе базы данных...';
    }
}

$slot['price_next'] = 5;

$petox = mysql_fetch_array(mysql_query('SELECT * FROM `obraz_pet` WHERE `uid` = "' . $u->info['id'] . '" LIMIT 1'));
$petox = $petox[0];

$an_eda = [
        0.05,
        0.07,
        0.10,
        0.15,
        0.20,
        0.30,
        0.40,
        0.50,
        0.60,
        0.70,
        0.80,
        1.00,
        1.50,
        2.00,
        2.50,
        3.00,
        3.50,
        4.00,
        4.50,
        5.00,
        5.50,
        7.00,
];

function en_ru($txt)
{
    $g = false;
    $en = preg_match("/^(([0-9a-zA-Z _-])+)$/i", $txt);
    $ru = preg_match("/^(([0-9а-яА-Я _-])+)$/i", $txt);
    if (($ru && $en) || (!$ru && !$en)) {
        $g = true;
    }
    return $g;
}

//
function testBad($txt)
{
    $white = '-_ 0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮёйцукенгшщзхъфывапролджэячсмитьбю';
    $r = false;
    $i = 0;
    while ($i != -1) {
        if (isset($txt[$i])) {
            $g = false;
            $j = 0;
            while ($j != -1) {
                if (isset($white[$j])) {
                    if ($white[$j] == $txt[$i]) {
                        $g = true;
                    }
                } else {
                    $j = -2;
                }
                $j++;
            }
            if ($g == false) {
                $r = true;
            }
        } else {
            $i = -2;
        }
        $i++;
    }
    return $r;
}

function is_login_an($login)
{
    $r = true;
    //
    $login = htmlspecialchars($login);
    //
    $bad = [
            'Мусорщик' => 1,
            'Мироздатель' => 1,
    ];
    //
    //$login_db = mysql_fetch_array(mysql_query('SELECT `id` FROM `users` WHERE `login` = "'.mysql_real_escape_string($login).'" LIMIT 1'));
    //$login_an_db = mysql_fetch_array(mysql_query('SELECT `id` FROM `users_animal` WHERE `name` = "'.mysql_real_escape_string($login).'" LIMIT 1'));
    if (isset($login_db['id']) || isset($login_an_db['id']) || isset($bad[$login])) {
        $r = false;
    } else {
        $true = true;
        //
        /*
        Логин может содержать от 2 до 16 символов, и состоять только из букв русского ИЛИ английского алфавита, цифр, символов '_', '-' и пробела.
        Логин не может начинаться или заканчиваться символами '_', '-' или пробелом.
        */
        //
        $login = str_replace('	', ' ', $login);
        $login = str_replace('%', ' ', $login);
        $login = str_replace('&nbsp;', ' ', $login);
        //
        if (strlen($login) > 16) {
            $true = false;
        } elseif (strlen($login) < 2) {
            $true = false;
        } elseif (strripos($login, '  ') == true) {
            $true = false;
        } elseif (substr($login, 1) == ' ' || substr($login, -1) == ' ') {
            $true = false;
        } elseif (substr($login, 1) == '-' || substr($login, -1) == '-') {
            $true = false;
        } elseif (substr($login, 1) == '_' || substr($login, -1) == '_') {
            $true = false;
        } elseif (testBad($login) == true) {
            $true = false;
        } elseif (en_ru(str_replace('ё', 'е', str_replace('Ё', 'Е', $login))) == true) {
            $true = false;
        }
        //
        if ($true == false) {
            $r = false;
        } else {
            $r = true;
        }
    }
    return $r;
}

if (isset($_GET['buy_slot'])) {
    if ($u->info['money2'] < $slot['price_nex']) {
        $u->error = 'Недостаточно денег';
    } elseif ($u->info['money2'] < 5) {
        $u->error = 'Недостаточно екр!';
    } elseif (isset($slot['id']) && $slot['slots'] < 6) {
        $slot['slots']++;
        $u->info['money2'] -= 5;
        mysql_query('UPDATE `users_animal_slot` SET `slots` = "' . $slot['slots'] . '" WHERE `id` = "' . $slot['id'] . '" LIMIT 1');
        mysql_query('UPDATE `users` SET `money2` = "' . $u->info['money2'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
        $u->error = 'Куплен слот для зверя.';
    } else {
        $u->error = 'Нельзя купить больше слотов';
    }
} elseif (isset($_GET['pet'])) {
    $_GET['pet'] = round((int)$_GET['pet']);
    $_GET['petname'] = htmlspecialchars($_GET['petname']);
    $ax = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `users_animal` WHERE `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'));
    $ax = $ax[0];
    if ($_GET['pet'] < 1 || $_GET['pet'] > 6) {
        $u->error = 'Нельзя привзвать такого зверя';
    } elseif ($ax >= $slot['slots']) {
        $u->error = 'Нет свободных слотов для зверя';
    } elseif ($u->info['money'] < 50) {
        $u->error = 'Недостаточно денег';
    } elseif (is_login_an($_GET['petname']) == false) {
        $u->error = 'Неверная кличка зверя, выберите другую';
    } else {
        $u->error = 'Зверь пришел к Вам!';
        $u->info['money'] -= 50;
        mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
        //
        $anm['type'] = $_GET['pet'];
        //
        if ($anm['type'] == 1) {
            $anm['name'] = 'Кот';
            $anm['sex'] = 0;
            $anm['obraz'] = [1 => '20864.gif', 2 => '21301.gif', 3 => '21139.gif', 4 => '20427.gif'];
            $anm['stats'] = 's1=2|s2=5|s3=2|s4=5|rinv=40|m9=5|m6=10';
        } elseif ($anm['type'] == 2) {
            $anm['name'] = 'Сова';
            $anm['sex'] = 1;
            $anm['obraz'] = [1 => '21415.gif', 2 => '21722.gif', 3 => '21550.gif'];
            $anm['stats'] = 's1=2|s2=2|s3=5|s4=5|rinv=40|m9=5|m6=10';
        } elseif ($anm['type'] == 3) {
            $anm['name'] = 'Светляк';
            $anm['sex'] = 0;
            $anm['obraz'] = [1 => '22277.gif', 2 => '22265.gif', 3 => '22333.gif', 4 => '22298.gif'];
            $anm['stats'] = 's1=3|s2=10|s3=3|s4=4|rinv=40|m9=5|m6=10';
        } elseif ($anm['type'] == 4) {
            $anm['name'] = 'Чертяка';
            $anm['sex'] = 0;
            $anm['obraz'] = [1 => '22177.gif', 2 => '21976.gif', 3 => '21877.gif'];
            $anm['stats'] = 's1=5|s2=3|s3=3|s4=5|rinv=40|m9=5|m6=10';
        } elseif ($anm['type'] == 5) {
            $anm['name'] = 'Пес';
            $anm['sex'] = 0;
            $anm['obraz'] = [1 => '22352.gif', 2 => '23024.gif', 3 => '22900.gif', 4 => '22501.gif', 5 => '22700.gif'];
            $anm['stats'] = 's1=5|s2=3|s3=3|s4=5|rinv=40|m9=5|m6=10';
        } elseif ($anm['type'] == 6) {
            $anm['name'] = 'Свин';
            $anm['sex'] = 0;
            $anm['obraz'] = [1 => '24000.gif', 2 => '25000.gif', 3 => '27000.gif', 4 => '28000.gif'];
            $anm['stats'] = 's1=5|s2=3|s3=3|s4=5|rinv=40|m9=5|m6=10';
        }
        //
        $anm['name'] = $_GET['petname'];
        //
        $anm['obraz'] = $anm['obraz'][rand(1, count($anm['obraz']))];
        $anm['obraz'] = str_replace('.gif', '', $anm['obraz']);
        $anm['obraz'] = str_replace('.jpg', '', $anm['obraz']);
        $anm['obraz'] = str_replace('.png', '', $anm['obraz']);
        $ins = mysql_query('INSERT INTO `users_animal` (`type`,`name`,`uid`,`obraz`,`stats`,`sex`,`eda`) VALUES ("' . $anm['type'] . '","' . $anm['name'] . '","' . $u->info['id'] . '","' . $anm['obraz'] . '","' . $anm['stats'] . '","' . $anm['sex'] . '","0")');
        if ($ins) {
            $u->addDelo(1, $u->info['id'], '&quot;<font color="maroon">System.inventory</font>&quot;: Персонаж призвал зверя &quot;' . $_GET['petname'] . '&quot; (' . $_GET['pet'] . ') - 50 кр.', time(), $u->info['city'], 'System.inventory', 0, 0);
        } else {
            $u->error = 'Не удалось призвать зверя, что-то здесь не так ...';
        }
        //
    }
    //
} elseif (isset($_GET['eda'])) {
    $anm = mysql_fetch_array(mysql_query('SELECT * FROM `users_animal` WHERE `id` = "' . mysql_real_escape_string($_GET['eda']) . '" AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'));
    $x = round((int)$_GET['vvv']);
    if ($x > 100 - $anm['eda']) {
        $x = 100 - $anm['eda'];
    }
    if ($x < 1) {
        $x = 1;
    }
    if ($x > 100) {
        $x = 100;
    }
    if (!isset($anm['id'])) {
        $u->error = 'Зверь не найден.';
    } elseif ($anm['eda'] >= 100) {
        $u->error = 'Зверь сыт и не нуждается в еде.';
    } elseif ($an_eda[$anm['level']] * $_GET['vvv'] > $u->info['money']) {
        $u->error = 'Недостаточно денег.';
    } else {
        $u->error = 'Покормили зверя &quot;' . $anm['name'] . '&quot; на ' . $x . ' ед. за ' . ($x * $an_eda[$anm['level']]) . ' кр.';
        $u->info['money'] -= ($x * $an_eda[$anm['level']]);
        $anm['eda'] += $x;
        mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
        mysql_query('UPDATE `users_animal` SET `eda` = "' . $anm['eda'] . '" WHERE `id` = "' . $anm['id'] . '" LIMIT 1');
    }
} elseif (isset($_GET['pet_del'])) {
    if (mysql_query('UPDATE `users_animal` SET `delete` = "' . time() . '" WHERE `id` = "' . mysql_real_escape_string($_GET['pet_del']) . '" AND `delete` = 0 AND `uid` = "' . $u->info['id'] . '" LIMIT 1')) {
        $u->error = 'Зверь был выгнан.';
    } else {
        $u->error = 'Зверь не найден.';
    }
} elseif (isset($_GET['rename'])) {
    $anm = mysql_fetch_array(mysql_query('SELECT * FROM `users_animal` WHERE `id` = "' . mysql_real_escape_string($_GET['rename']) . '" AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'));
    $_GET['vvv'] = htmlspecialchars($_GET['vvv']);
    if (!isset($anm['id'])) {
        $u->error = 'Зверь не найден.';
    } elseif (30 > $u->info['money']) {
        $u->error = 'Недостаточно денег.';
    } else {
        $u->info['money'] -= 30;
        $anm['name'] = $_GET['vvv'];
        $u->error = 'Кличка зверя изменена на &quot;' . $anm['name'] . '&quot; за 30 кр.';
        mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
        mysql_query('UPDATE `users_animal` SET `name` = "' . $anm['name'] . '" WHERE `id` = "' . $anm['id'] . '" LIMIT 1');
    }
} elseif (isset($_GET['shadow']) && $petox > 0) {
    if (isset($_GET['rechange'])) {
        $u->error = 'Образ питомца снят.';
        mysql_query('UPDATE `obraz_pet` SET `use` = 0 WHERE `uid` = "' . $u->info['id'] . '"');
    } elseif (isset($_GET['change'])) {
        $u->error = 'Образ питомца установлен.';
        mysql_query('UPDATE `obraz_pet` SET `use` = 0 WHERE `uid` = "' . $u->info['id'] . '"');
        mysql_query('UPDATE `obraz_pet` SET `use` = 1 WHERE `uid` = "' . $u->info['id'] . '" AND `id` = "' . mysql_real_escape_string($_GET['change']) . '" LIMIT 1');
    }
}
?>
<style>
    .an_border {
        border: 1px solid #aaaaaa;
        padding: 2px;
        width: 120px;
        height: 220px;
    }

    .an_btn {
        cursor: pointer;
    }

    .an_btn:hover {
        cursor: pointer;
        background-color: #cccccc;
    }

    .an_img64x64 {
        padding-top: 75px;
        height: 145px;
    }

    .an_line {
        text-align: center;
        padding: 5px;
    }

    .an_line2 {
        text-align: left;
        padding: 5px;
        width: 124px;
    }

    .an_w120 {
        width: 120px;
    }

    .cp {
        cursor: pointer;
    }

    .obrsl1 {
        border: 1px solid #888;
        padding: 1px;
        margin-bottom: 5px;
    }

    .obrsl1d {
        display: inline-block;
        widows: 120px;
    }
</style>
<center><b>Ваши деньги:<font color=darkgreen> <?= $u->info['money'] ?> кр.</center></b></font>
<div align="right">
    <?php
    if (!isset($_GET['shadow']) || $petox == 0) {
        if ($petox > 0) {
            echo '<button onClick="location.href=\'/main.php?newanimal&shadow\';" class="btn btn-success">Образ</button>&nbsp;';
        } else {
            echo '<button disabled="disabled" onClick="alert(\'Установка образов возможно после покупки хотя бы одного образа для питомца.\');" class="btn btn-success">Образ</button>&nbsp;';
        }
        ?>
        <button onClick="location.href='/main.php?newanimal';" class="btn">Обновить</button>&nbsp;
        <button onClick="location.href='/main.php?inv';" class="btn">Вернуться</button>
    <?php } else { ?>
        <button onClick="location.href='/main.php?newanimal&shadow';" class="btn">Обновить</button>&nbsp;
        <button onClick="location.href='/main.php?newanimal';" class="btn">Вернуться</button>
    <?php } ?>
</div>
<?php
if ($u->error != '') {
    echo '<div><b><font color="red">' . $u->error . '</font></b></div>';
}
?>
<hr>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <?php
        if (isset($_GET['shadow']) && $petox > 0) {
            //
            echo '<td align="left">';
            $sp = mysql_query('SELECT * FROM `obraz_pet` WHERE `uid` = "' . $u->info['id'] . '"');
            while ($pl = mysql_fetch_array($sp)) {
                echo '<div class="obrsl1d">';
                //
                echo '<img class="obrsl1" src="/static/img/pet/' . $pl['img'] . '" width="120" height="40"><br><div align="center">';
                if ($pl['use'] == 0) {
                    echo '<input onclick="location.href=\'/main.php?newanimal&shadow&change=' . $pl['id'] . '\';" style="width:120px;" type="button" value="Выбрать" class="btn">';
                } else {
                    echo '<input onclick="location.href=\'/main.php?newanimal&shadow&rechange\';" style="width:120px;" type="button" value="Используется" class="btn btn-success">';
                }
                echo '</div>';
                //
                echo '</div>';
            }
            echo '</td>';
        } else {
            $sp = mysql_query('SELECT * FROM `users_animal` WHERE `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 6');
            $i = 1;
            while ($pl = mysql_fetch_array($sp)) {
                //
                if (isset($_GET['selected']) && $pl['id'] == $_GET['selected']) {
                    if ($u->info['animal'] != $pl['id']) {
                        $u->info['animal'] = $pl['id'];
                    } else {
                        $u->info['animal'] = 0;
                    }
                    mysql_query('UPDATE `users` SET `animal` = "' . $u->info['animal'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
                }
                //
                $kp = 0.05; //цена корма
                //
                echo '<td width="16%" align="center" valign="top">';
                //
                echo '<div class="an_line"><b><img onclick="top.anrename(' . $pl['id'] . ',\'' . $pl['name'] . " src=" . $pl['name'] . '</small> <img onclick="if(confirm(\'Вы действительно хотите ВЫГНАТЬ зверя &quot;' . $pl['name'] . '&quot;?\')) location.href=\'main.php?newanimal&pet_del=' . $pl['id'] . '\';" class="cp" src="/static/img/i/clear.gif" title="Выгнать" width="13" height="13"></b></div>';
                //
                echo '<div title="' . $pl['name'] . '" class="an_border"><img src="/static/img/i/obraz/' . $pl['sex'] . '/' . $pl['obraz'] . '.gif" width="120" height="220"></div>';
                //
                echo '<div class="an_line2"><small>';
                echo 'Уровень: ' . $pl['level'] . '<br>Опыт: <b>' . $pl['exp'] . '</b><br>Сытность: ' . $pl['eda'] . '/100<br>';
                //
                echo '<input ';
                if ($pl['eda'] >= 100) {
                    echo ' disabled="disabled" ';
                } else {
                    echo ' onclick="top.eda(' . $pl['id'] . ',\'' . $pl['name'] . '\',' . (0 + $kp) . ',' . (0 + 100 - $pl['eda']) . ');" ';
                }
                echo 'type="button" value="Покормить" class="btn an_w120';
                if ($pl['eda'] < 1) {
                    echo ' btn-danger';
                }
                echo '">';
                //
                if ($pl['id'] != $u->info['animal'] || (isset($_GET['selected']) && $pl['id'] != $_GET['selected'])) {
                    echo '<input onClick="location.href=\'main.php?newanimal&selected=' . $pl['id'] . '\';" type="button" value="Выбрать" class="btn an_w120">';
                } else {
                    echo '<input onClick="location.href=\'main.php?newanimal&selected=' . $pl['id'] . '\';" type="button" value="Используется" class="btn btn-success an_w120">';
                }
                //
                echo '</small></div>';
                //
                echo '</td>';
                $i++;
            }
            if ($i <= 6) {
                $j = 0;
                while ($i <= 6) {
                    if ($i <= $slot['slots']) {
                        echo '<td width="16%" align="center" valign="top"><div class="an_line">&nbsp;</div><div onclick="top.petbuy();" onMouseOver="top.hi(this,\'Завести питомца (50 КР)\',event,0,1,1,1,\'\');" onMouseOut="top.hic(event);" onMouseDown="top.hic(event);" class="an_border an_btn an_img64x64"><img src="/static/img/pet_free_slot.png" width="64" height="64"></div></td>';
                    } else {
                        if ($j == 0) {
                            echo '<td width="16%" align="center" valign="top"><div class="an_line">&nbsp;</div><div onclick="if(confirm(\'Вы действительно хотите купить слот за ' . $slot['price_next'] . ' ЕКР?\')) location.href=\'main.php?newanimal&buy_slot\';" onMouseOver="top.hi(this,\'Купить слот (' . $slot['price_next'] . ' ЕКР)\',event,0,1,1,1,\'\');" onMouseOut="top.hic(event);" onMouseDown="top.hic(event);" class="an_border an_btn an_img64x64"><img src="/static/img/pet_add.png" width="64" height="64"></div></td>';
                            $j++;
                        } else {
                            echo '<td width="16%" align="center" valign="top"><div class="an_line">&nbsp;</div><div title="Недоступно" class="an_border an_img64x64"><img src="/static/img/pet_lock.png" width="64" height="64"></div></td>';
                        }
                    }
                    $i++;
                }
            }
        }
        ?>
    </tr>
</table>
