View file panel/smiles.php

File size: 5.58Kb
<?php
// by Mike O. (mides), coolcms.org

require_once '../includes/sys.php';
require_once '../includes/auth_a.php';
require_once '../includes/header.php';

if (!access(3)) {
    redirect(HTTPHOME);
}

switch ($act) {
	default:
		echo '<div class="title"><a href="./">АДМ</a>&raquo; Смайлы (<a href="?act=add">+</a>)</div><div class="body">';
		note();
		$total = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `smiles`"), 0);
		
		$pages = ceil($total / $config['onpage']);
		if ($page > $pages or $page == 0) {
			$page = 1;
		}
		$begin = ($page - 1) * $config['onpage'];
		
		$smiles_r = mysql_query("SELECT * FROM `smiles` ORDER BY `id` DESC LIMIT $begin, $config[onpage]");
		while ($smile = mysql_fetch_assoc($smiles_r)) {
			echo '<a href="?act=edit&amp;id='.$smile['id'].'">'.bb($smile['code']).' '.$smile['code'].'</a><hr>';
		}
		navig($page, '?', $pages);
		echo '<br /><a href="?act=add">Добавить смайл</a><br /><a href="./">В админку</a></div>';
	break;
	
	case 'add':
		if ($ok) {
			if (!empty($_POST['code']) and !empty($_FILES['file']['name']) ) { 
				$code = check($_POST['code']);
				$file = check(basename($_FILES['file']['name']));
				
				if (!mysql_num_rows(mysql_query("SELECT `id` FROM `smiles` WHERE `code` = '$code'"))) {
					$path = 'images/smiles/'.$file;
					if (!mysql_num_rows(mysql_query("SELECT `id` FROM `smiles` WHERE `path` = '$path'"))) {
						$copy = copy($_FILES['file']['tmp_name'], '../images/smiles/'.$file);
						if ($copy == FALSE) {
							$_SESSION['note'] = 'Ошибка при загрузке.';
							redirect('?act=add');
						} else {
							$path = 'images/smiles/'.$file;
							mysql_query("INSERT INTO `smiles` SET `code` = '$code', `path` = '$path'");
							$_SESSION['note'] = 'Смайл добавлен';
							redirect('?');
						}					
					} else {
						$_SESSION['note'] = 'Смайл с таким названием уже есть';
						redirect('?act=add');
					}
				} else {
					$_SESSION['note'] = 'Смайл с таким кодом уже есть';
					redirect('?act=add');
				}
			} else {
				$_SESSION['note'] = 'Не указан код или не выбран файл';
				redirect('?act=add');
			}
		} else {
			tp('<a href="?">Смайлы</a>&raquo; Добавить');
			echo '<div class="body">';
			note();
			echo '<form name="form" action="?act=add&amp;ok=1" 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="Ok" />
			</form>* только .gif, .png, .jpg
			<br /><br />
			<a href="?">Назад</a>
			</div>';
		}
	break;
	
	case 'edit':
		$smile = mysql_fetch_assoc(mysql_query("SELECT * FROM `smiles` WHERE `id` = '$id'"));
		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 `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 `smiles` SET `path` = '$path' WHERE `id` = '$id'");
							}
						} elseif (!empty($_POST['path'])) {
							$path = check($_POST['path']);
							mysql_query("UPDATE `smiles` SET `path` = '$path' WHERE `id` = '$id'");
						}
						mysql_query("UPDATE `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&amp;id='.$id.'&amp;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 />
				Смайл: '.bb($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';
				nav('?');
			}
		} else {
			redirect('?');
		}
	break;
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}

require_once '../includes/tail.php';
?>