View file page/link/index.php

File size: 11.07Kb
<?php
$title = 'Мои площадки';
include_once($_SERVER["DOCUMENT_ROOT"]."/inc/head.php");
if (isset($active) == true && $serf_on == 1) {
    echo '<div class="title">Мои площадки</div><div class="forlink"><a href="/link/add" class="links"><img src="/img/add.png" alt=""> Создать площадку</a></div>';
    $stmt_cl = $connect->prepare("select count(*) from `click` where `link` = ?");
    $num_u = $connect->prepare("select count(*) from `link` where `id` = ? and `uid` = ?");
    $strow = $connect->prepare("select * from `link` where `id` = ?");
    if (isset($_GET['edit'])) {
        $num_u->execute(array($_GET['edit'], $user['id']));
        $num = $num_u->fetchColumn();
        if ($num > 0) {
            $strow->execute(array($_GET['edit']));
            $row = $strow->fetch(PDO::FETCH_LAZY);
            if ($row['off'] == 2) {
                header('Location: /link');
            } else {
                if (isset($_POST['yes'])) {
                    $stmt = $connect->prepare("select count(*) from `link` where `url` = ? and `id` != ?");
                    $stmt->execute(array($_POST['url'], $_GET['edit']));
                    $num = $stmt->fetchColumn();
                    $error = '';
                    if (empty($_POST['url'])) {
                        $error.= 'Введите URL!<br/>';
                    }
                    elseif (mb_strlen($_POST['url']) < 5) {
                        $error.= 'Минимальная длина URL - 5 символов!<br/>';
                    }
                    elseif (mb_strlen($_POST['url']) > 50) {
                        $error.= 'Максимальная длина URL - 50 символов!<br/>';
                    }
                    elseif ($num > 0) {
                        $error.= 'Площадка с данным URL уже есть в системе!<br/>';
                    }
                    elseif (!is_url($_POST['url'])) {
                        $error.= 'URL введен не правильно!<br/>';
                    }
                    elseif (preg_match("#^https?://(.*?)/$#i", $_POST['url'])) {
                        $error.= 'URL должен быть без слэша в конце!<br/>';
                    }
                    if (empty($_POST['name'])) {
                        $error.= 'Введите название!<br/>';
                    }
                    elseif (mb_strlen($_POST['name']) < 5) {
                        $error.= 'Минимальная длина названия - 5!<br/>';
                    }
                    elseif (mb_strlen($_POST['name']) > 50) {
                        $error.= 'Максимальная длина названия - 50 символов!<br/>';
                    }
                    if (!empty($error)) {
                        echo '<div class="menu">'.$error.'</div>';
                    } else {
                        $stmt = $connect->prepare("update `link` set `url` = ?, `name` = ? where `id` = ? limit 1");
                        if ($stmt->execute(array($_POST['url'], $_POST['name'], $_GET['edit']))) {
                            header('Location: /link');
                        } else {
                            echo '<div class="menu">Произошла ошибка!</div>';
                        }
                    }
                }
                elseif (isset($_POST['no'])) {
                    header('Location: /link');
                }
        echo '<div class="menu">
        <form action="" method="post">
        URL-адрес:<br/><input type="text" name="url" value="'.$row['url'].'"><br/>
        Название:<br/><input type="text" name="name" value="'.$row['name'].'"><br/>
        <input type="submit" name="yes" value="Сохранить ('.val($_GET['edit']).')"/>
        <input type="submit" name="no" value="Отмена"/>
        </form></div>';
                    }
        } else {
            header('Location: /link');
        }
    }
    elseif (isset($_GET['mode'])) {
        $num_u->execute(array($_GET['mode'], $user['id']));
        $num = $num_u->fetchColumn();
        if ($num > 0) {
            $strow->execute(array($_GET['mode']));
            $row = $strow->fetch(PDO::FETCH_LAZY);
            if ($row['off'] == 2) {
                header('Location: /link');
            } else {
                if (isset($_POST['yes'])) {
                    $off = val($_POST['off'], 1);
                    $stmt = $connect->prepare("update `link` set `off` = ? where `id` = ?");
                    if ($stmt->execute(array($off, $_GET['mode']))) {
                        header('Location: /link');
                    } else {
                        echo '<div class="menu">Произошла ошибка!</div>';
                    }
                }
                elseif (isset($_POST['no'])) {
                    header('Location: /link');
                }

        echo '<div class="menu">
        <form action="" method="post">
        Выберите действие:<br/><select name="off">
        <option value="1">Отключить площадку</option>
        <option value="0">Включить площадку</option>
        </select><br/>
        <input type="submit" name="yes" value="Продолжить ('.val($_GET['mode'], 1).')"/>
        <input type="submit" name="no" value="Отмена"/>
        </form></div>';
            }
        } else {
            header('Location: /link');
        }
    }
    elseif (isset($_GET['del'])) {
        $num_u->execute(array($_GET['del'], $user['id']));
        $num = $num_u->fetchColumn();
        if ($num > 0) {
            $strow->execute(array($_GET['del']));
            $row = $strow->fetch(PDO::FETCH_LAZY);
            if ($row['off'] == 2) {
                header('Location: /link');
            } else {
                if (isset($_POST['yes'])) {
                    $stmt1 = $connect->prepare("update `users` set `money` = `money` + ? where `id` = ?");
                    $stmt2 = $connect->prepare("delete from `link` where `id` = ? limit 1");
                    if ($stmt1->execute(array($row['click'] * $row['cena'], $user['id'])) && $stmt2->execute(array($_GET['del']))) {
                        header('Location: /link');
                    } else {
                        echo '<div class="menu">Произошла ошибка!</div>';
                    }
                }
                elseif (isset($_POST['no'])) {
                    header('Location: /link');
                }

                echo '<div class="menu">
                <form action="" method="post">
                <input type="submit" name="yes" value="Удалить ('.val($_GET['del'], 1).')"/> 
                <input type="submit" name="no" value="Отмена"/>
                </form></div>';
           }
        } else {
            header('Location: /link');
        }
    }
    elseif (isset($_GET['bs'])) {
        $num_u->execute(array($_GET['bs'], $user['id']));
        $num = $num_u->fetchColumn();
        if ($num > 0) {
        $strow->execute(array($_GET['bs']));
        $row = $strow->fetch(PDO::FETCH_LAZY);
        if ($row['off'] == 2) {
            header('Location: /link');
        } else {
            if (isset($_POST['yes'])) {
                $error = '';
                if (empty($_POST['col'])) {
                    $error.= 'Введите количество переходов!<br/>';
                }
                elseif ($_POST['col'] < 10) {
                    $error.= 'Минимальное количество переходов - 10!<br/>';
                }
                elseif ($user['money'] < $_POST['col'] * $row['cena'] && $adm_id != 1) {
                    $error.= 'Недостаточно средств!<br/>';
                }
                if (!empty($error)) {
                    echo '<div class="menu">'.$error.'</div>';
                } else {
                    $col = val($_POST['col'], 1);
                    $sum = $col * $row['cena'];
                    $stmt1 = $connect->prepare("update `link` set `click` = `click` + ? where `id` = ? limit 1");
                    $stmt2 = $connect->prepare("update `users` set `money` = `money` - ? where `id` = ? and `admin` != '1' limit 1");
                    if ($stmt1->execute(array($col, $_GET['bs'])) && $stmt2->execute(array($sum, $user['id']))) {
                        header('Location: /link');
                    } else {
                        echo '<div class="menu">Произошла ошибка!</div>';
                    }
                }
            }
            elseif (isset($_POST['no'])) {
                header('Location: /link');
            }
            echo '<div class="menu">
            <form action="" method="post">
            Количество переходов:<br/><input type="text" name="col" value="10"><br/>
            <input type="submit" name="yes" value="Пополнить ('.val($_GET['bs'], 1).')"/> 
            <input type="submit" name="no" value="Отмена"/><br/>
            <div class="chi">Стоимость перехода: '.$row['cena'].' руб.</div>
            </form></div>';
            }
        } else {
            header('Location: /link');
        }
    }

    $k_post = $links;
    $k_page = k_page($k_post, 10); 
    $page = page($k_page); 
    $start = 10 * $page - 10;

    $data = $connect->prepare("select * from `link` where `uid` = :uid order by `id` desc limit :start, 10");
    $data->bindValue(':uid', $user['id'], PDO::PARAM_INT);
    $data->bindValue(':start', $start, PDO::PARAM_INT);
    $data->execute();
    $sql = $data->fetchAll();
    if ($links == 0) {
        echo '<div class="menu">Нет площадок!</div>';
    } else {
        foreach ($sql as $row) {
            $stmt_cl->execute(array($row['id']));
            $num = $stmt_cl->fetchColumn();
            echo '<div class="menu">
            URL: '.$row['url'].' (<a href="?del='.$row['id'].'">Удалить</a>/<a href="?edit='.$row['id'].'">Редактировать</a>)
            <br/>Название: '.$row['name'].'<br/>
            Баланс: '.$row['click'].' (<a href="?bs='.$row['id'].'">Пополнить</a>)<br/>
            Статус: '.($row['off'] == 0 ? 'Включена' : 'Отключена').' (<a href="?mode='.$row['id'].'">Изм.</a>)<br/>
            Сегодня переходов: '.$num.'<br/>
            <div class="chi">Стоимость перехода: '.$row['cena'].' руб.</div>
            '.($row['off'] == 2 ? '<div class="error">На модерации!</div>' : '').'
            </div>';
        }
        if ($k_page > 1) navigation($k_page, $page);
    }
    if ($version == 'mobile') echo '<div class="forlink"><a href="/serf" class="links"><img src="/img/view.png" alt=""> Просмотр сайтов ('.$count_serf.')</a></div>';
} else {
    header('Location: /');
}

include_once($_SERVER["DOCUMENT_ROOT"]."/inc/foot.php");
?>