View file modules/system/smiles.php

File size: 7.53Kb
<?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&amp;act=smiles&amp;do=edit&amp;id='.$smile['id'].'">EDIT</a>
		  </div>
		  </td>
		  </tr>';
		}
		
		echo' </table>';
		
		$navig->Navigation(); //Вывод пагинации
		echo '<br /><a class="touch" href="/?mod=system&amp;act=smiles&amp;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>&raquo; Добавить');
			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&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 />
				Смайл: '.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'); //Вывод ног
?>