Файл: modules/system/smiles.php
Строк: 101
<?php
// by Mike O. (mides), coolcms.org
##################################################################
## Development by CoMMoN web site author http://mirmastera.ru ##
## fportal web site scripts http://fportal.tk ##
## All rights reserved authors ##
##################################################################
if (!is_user()) {header('Location: /');} //Переадресация гостей
if (!is_admin(array(2,3,4))) {header('Location: /');} //Переадресация пользователей не являющихся админами
//Ещё одна проверка прав (на всякий случай)
if (is_admin(array(2,3,4))) {
$config['onpage'] = 100;
$mod_name = 'Админ-панель | Смайлы'; //Имя модуля
require_once(ROOT.'/kernel/kernelhead.php'); //Подключение шапки
echo '<div class="title">'.$mod_name.'</div>'; //Вывод заголовка
switch ($_GET['do']) {
default:
echo '<div class="title">Смайлы</div>';
//note();
$total = one($mysql->query("SELECT COUNT(`id`) FROM `".PREFIX."smiles`"));
if(!$total) {
echo '<div class="error">Ошибка ! Смайлов в базе нет !</div>';
}
//Всё екобходимое для пагинации
$page = !empty($_GET['page']) ? abs((int)$_GET['page']) : 1; //Номер текущей страницы
$urlp = "/?mod=system&act=smiles"; //URL модуля
$pnumber = "5"; //Кол-во элементов на страницу
$colp = $total; //Кол-во страниц
//Вызов класса пагинации
$navig = new Navigation($pnumber, $page, $colp, $urlp);
$navig->navi();
echo'<table width="570pt">
<tr style="background-color: #cecece;">
<th width="10%">Смайл</th>
<th width="30%">Код</th>
<th width="50%">Действия</th>
</tr>
';
$smiles_r = $mysql->query("SELECT * FROM `".PREFIX."smiles` ORDER BY `id` DESC LIMIT ".$navig->begin.", ".$navig->pnumber.";");
while ($smile = $smiles_r-> fetch_assoc()) {
echo '<tr>
<td>
<div class="menu">
'.bbcode($smile['code']).'
</div>
</td>
<td>
<div class="menu">
'.$smile['code'].'
</div>
</td>
<td>
<div class="menu">
<a href="/?mod=system&act=smiles&do=edit&id='.$smile['id'].'">EDIT</a>
</div>
</td>
</tr>';
}
echo' </table>';
$navig->Navigation(); //Вывод пагинации
echo '<br /><a class="touch" href="/?mod=system&act=smiles&do=add">Добавить смайл</a>
<a class="touch" href="./">В админку</a>';
break;
case 'add':
if (isset($_POST['submit'])) {
if (!empty($_POST['code']) and !empty($_FILES['file']['name']) ) {
$code = filtr($_POST['code']);
$file = filtr(basename($_FILES['file']['name']));
if (!$mysql->query("SELECT `id` FROM `".PREFIX."smiles` WHERE `code` = '$code'")-> num_rows) {
$path = 'images/smiles/'.$file;
if (!$mysql->query("SELECT `id` FROM `".PREFIX."smiles` WHERE `path` = '$path'")->num_rows) {
$copy = copy($_FILES['file']['tmp_name'], ROOT.'/images/smiles/'.$file);
if ($copy == FALSE) {
echo 'Ошибка при загрузке.';
redirect('/?mod=system&act=smiles&do=add',2);
} else {
$path = 'images/smiles/'.$file;
$mysql->query("INSERT INTO `".PREFIX."smiles` SET `code` = '$code', `path` = '$path'");
echo '<div class="success">Смайл добавлен</div>';
redirect('/?mod=system&act=smiles&do=add',2);
}
} else {
echo 'Смайл с таким названием уже есть';
redirect('/?mod=system&act=smiles&do=add',2);
}
} else {
echo 'Смайл с таким кодом уже есть';
redirect('/?mod=system&act=smiles&do=add',2);
}
} else {
echo 'Не указан код или не выбран файл';
redirect('/?mod=system&act=smiles&do=add',2);
}
} else {
//tp('<a href="?">Смайлы</a>» Добавить');
echo '<div class="menu">';
//note();
echo '<form name="form" action="" method="post" enctype="multipart/form-data" name="form">
Код(max50):<br /><input name="code" type="text" maxlength="50" size="12" /><br />
Выбрать картинку*:<br />
<input name="file" type="file" size="file" /><br />
<input name="submit" type="submit" value="Добавить" />
</form>
<br />
* только .gif, .png, .jpg
<br />
<a class="touch" href="?">Назад</a>
</div>';
}
break;
case 'edit':
$smile = $mysql -> query("SELECT * FROM `".PREFIX."smiles` WHERE `id` = ".ID."")-> fetch_assoc();
if ($smile['id']) {
if ($ok) {
if (!empty($_POST['del'])) {
$unlink = unlink('../'.$smile['path']);
if ($unlink == FALSE) {
$_SESSION['note'] = 'Ошибка при удалении, сделайте это вручную. С БД инфо удалена.';
} else {
$_SESSION['note'] = 'Удалено.';
}
$mysql -> query("DELETE FROM `".PREFIX."smiles` WHERE `id` = ".ID."");
redirect('?');
} else {
if (!empty($_POST['code'])) {
$code = check($_POST['code']);
if (!empty($_FILES['file']['name'])) {
$unlink = unlink('../'.$smile['path']);
if ($unlink == FALSE) {
$info .= 'Ошибка при удалении старого смайла.';
}
$file = check(basename($_FILES['file']['name']));
$copy = copy($_FILES['file']['tmp_name'], '../images/smiles/'.$file);
if ($copy == FALSE) {
if (isset($info)) {
$info .= '<br />';
}
$info .= 'Новый смайл не загружен. Сделайте это вручную и измените путь к нему.';
} else {
$path = 'images/smiles/'.$file;
$mysql -> query("UPDATE `".PREFIX."smiles` SET `path` = '$path' WHERE `id` = ".ID."");
}
} elseif (!empty($_POST['path'])) {
$path = check($_POST['path']);
$mysql -> query("UPDATE `".PREFIX."smiles` SET `path` = '$path' WHERE `id` = ".ID."");
}
$mysql -> query("UPDATE `".PREFIX."smiles` SET `code` = '$code' WHERE `id` = ".ID."");
$_SESSION['note'] = $info;
} else {
$_SESSION['note'] = 'Поле "код" не может быть пустым.';
}
redirect('?act=edit&id='.$id);
}
} else {
//tp('Ред-ть');
echo '<div class="body">';
//note();
echo '<form name="form" action="?act=edit&id='.$id.'&ok=1" method="post" enctype="multipart/form-data" name="form">
Код(max50):<br /><input name="code" type="text" value="'.$smile['code'].'" maxlength="50" size="12" /><br />
Смайл: '.bbcode($smile['code']).'<hr />
Ввести путь вручную(max50)*:<br /><input name="path" type="text" value="'.$smile['path'].'" maxlength="50" /><br />
<u>ИЛИ</u> загрузить кратинку*:<br />
<input name="file" type="file" size="file" /><br />
<input name="del" type="checkbox" value="1" /> удалить<br />
<input name="submit" type="submit" value="Ok" />
</form><br />* только .gif, .png, .jpg</div>';
// nav('?');
}
} else {
redirect('?');
}
break;
}}
require_once(ROOT.'/kernel/kernelfoot.php'); //Вывод ног
?>