View file admin/link.php

File size: 9.9Kb
<?php
$title = 'Площадки';
include_once($_SERVER["DOCUMENT_ROOT"]."/inc/head.php");
if ($adm_id == 1) {
    echo '<div class="title">Площадки</div>';
    $stmt_click = $connect->prepare("select count(*) from `click` where `link` = ?");
    $num_u = $connect->prepare("select count(*) from `link` where `id` = ?");
    $strow = $connect->prepare("select * from `link` where `id` = ?");
    if (isset($_GET['edit'])) {
        $num_u->execute(array($_GET['edit']));
        $num = $num_u->fetchColumn();
        if ($num > 0) {
            $strow->execute(array($_GET['edit']));
            $row = $strow->fetch(PDO::FETCH_LAZY);
            if (isset($_POST['cancel'])) {
                header ('location: /adm/link');
            }
            elseif (isset($_POST['red'])) {
                $error = '';
                if (empty($_POST['login'])) {
                    $error.= 'Введите логин пользователя!<br/>';
                }
                elseif (!user($_POST['login'], 1)) {
                    $error.= 'Пользователь с таким логином не найден в системе!<br/>';
                }
                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_url > 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` = ?, `uid` = ? where `id` = ?");
                    if ($stmt->execute(array($_POST['url'], $_POST['name'], uid($_POST['login']), $_GET['edit']))) {
                    header ('location: /adm/link');
                } else {
                    echo '<div class="menu">Произошла ошибка!</div>';
                }
            }
        }
            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/>
            Пользователь:<br/><input type="text" name="login" value="'.ulogin($row['uid']).'"><br/>
            <input type="submit" name="red" value="Сохранить ('.val($_GET['edit'], 1).')">
            <input type="submit" name="cancel" value="Отмена">
            </form></div>';
        } else {
            header ('location: /adm/link');
        }
    }
    elseif (isset($_GET['del'])) {
        $num_u->execute(array($_GET['del']));
        $num = $num_u->fetchColumn();
        if ($num > 0) {
            if (isset($_POST['yes'])) {
               $strow->execute(array($_GET['del']));
                $row = $strow->fetch(PDO::FETCH_LAZY);
                $stmt1 = $connect->prepare("update `users` set `money` = `money` + ? where `id` = ?");
                $stmt2 = $connect->prepare("delete from `link` where `id` = ?");
                if ($stmt1->execute(array($row['click'] * $row['cena'], $row['uid'])) && $stmt2->execute(array($_GET['del']))) {
                    header('Location: /adm/link');
                } else {
                    echo '<div class="menu">Произошла ошибка!</div>';
                }
            }
            elseif (isset($_POST['no'])) {
                header('Location: /adm/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: /adm/link');
            }
        }
        elseif (isset($_GET['ban'])) {
            $num_u->execute(array($_GET['ban']));
            $num = $num_u->fetchColumn();
            if ($num > 0) {
                $strow->execute(array($_GET['ban']));
                $row = $strow->fetch(PDO::FETCH_LAZY);
                if (isset($_POST['yes'])) {
                    $off = $row['off'] == 2 ? 0 : 2;
                    $stmt = $connect->prepare("update `link` set `off` = ? where `id` = ?");
                    if ($stmt->execute(array($off, $_GET['ban']))) {
                        header('Location: /adm/link');
                    } else {
                        echo '<div class="menu">Произошла ошибка!</div>';
                    }
                }
                elseif (isset($_POST['no'])) {
                    header('Location: /adm/link');
                }
                echo '<div class="menu">
                <form action="" method="post">
                <input type="submit" name="yes" value="'.($row['off'] == 2 ? 'Активировать' : 'Заблокировать').' ('.val($_GET['ban'], 1).')"/> 
                <input type="submit" name="no" value="Отмена"/>
                </form></div>';
            } else {
                header('Location: /adm/link');
            }
        }
        elseif (isset($_GET['bs'])) {
            $num_u->execute(array($_GET['bs']));
            $num = $num_u->fetchColumn();
            if ($num > 0) {
                if (isset($_POST['yes'])) {
                    $error = '';
                    if (empty($_POST['col'])) {
                        $error.= 'Введите количество переходов!<br/>';
                    }
                    elseif ($_POST['col'] < 5) {
                        $error.= 'Минимальное количество переходов - 5!<br/>';
                    }
                    if (!empty($error)) {
                        echo '<div class="menu">'.$error.'</div>';
                    } else {
                        $col = val($_POST['col'], 1);
                        $stmt = $connect->prepare("update `link` set `click` = `click` + ? where `id` = ?");
                        if ($stmt->execute(array($col, $_GET['bs']))) {
                            header('Location: /adm/link');
                        } else {
                            echo '<div class="menu">Произошла ошибка!</div>';
                        }
                    }
                }
                elseif (isset($_POST['no'])) {
                    header('Location: /adm/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="Отмена"/>
                </form></div>';
        } else {
            header('Location: /adm/link');
        }
    }

    $k_post = $all_links; 
    $k_page = k_page($k_post, 10);
    $page = page($k_page); 
    $start = 10 * $page - 10;
			
    $data = $connect->prepare("select * from `link` order by `id` desc limit :start, 10");
    $data->bindValue(':start', $start, PDO::PARAM_INT);
    $data->execute();
    $sql = $data->fetchAll();
    if ($all_links == 0) {
        echo '<div class="menu">NONE</div>';
    } else {
        foreach ($sql as $row) {
            $stmt_click->execute(array($row['id']));
            $click = $stmt_click->fetchColumn();
            echo '<div class="menu">
            URL: '.$row['url'].' (<a href="?del='.$row['id'].'">Удалить</a>/<a href="?edit='.$row['id'].'">Редактировать</a>/<a href="?ban='.$row['id'].'">'.($row['off'] == 2 ? 'Активировать' : 'Заблокировать').'</a>)
            <br/>Название: '.$row['name'].'<br/>
            Баланс: '.$row['click'].' (<a href="?bs='.$row['id'].'">Пополнить</a>)<br/>
            Статус: '.($row['off'] == 0 ? 'Включена' : 'Отключена').'<br/>
            Сегодня переходов: '.$click.'<br/>
            Дата добавления: '.daytime($row['time']).'<br/>
            Пользователь: '.ulogin($row['uid']).'<br/>
            <div class="chi">Цена перехода: '.$row['cena'].' руб.</div>
            </div>';
        }
        if ($k_page > 1) navigation($k_page, $page);
    }
    if ($version == 'mobile') echo '<div class="forlink"><a href="/adm" class="links">Панель управления</a></div>';
} else {
    header ('location: /');
} 
include_once($_SERVER["DOCUMENT_ROOT"]."/inc/foot.php");
?>