View file pages/smiles/index.php

File size: 11.67Kb
<?

define('H', $_SERVER['DOCUMENT_ROOT'].'/');
include_once H.'sys/inc/start.php';
include_once H.'sys/inc/compress.php';
include_once H.'sys/inc/sess.php';
include_once H.'sys/inc/settings.php';
include_once H.'sys/inc/db_connect.php';
include_once H.'sys/inc/ipua.php';
include_once H.'sys/inc/fnc.php';
include_once H.'sys/inc/user.php';
$set['title']='Смайлы';
include_once H.'sys/inc/thead.php';
title();
aut();

#	права доступа
$if_accept=$user['level']>0;

#	сообщение при переходе без прав
$if_accept_msg='Доступ запрещен';

#	счетчик сколько всего смайлов
$smiles_koll = mysql_result(query("SELECT COUNT(*) FROM `smiles`"),0);

#	счетчик сколько всего категорий
$smiles_dir = mysql_result(query("SELECT COUNT(*) FROM `smiles_dir`"),0);


#	switch - type - переключатель 
switch (empty($_GET['type'])? false : $_GET['type']) 
{
#	условие по умолчанию 
	default: 

	
	$k_page = k_page($smiles_dir,$set['p_str']);
	$page = page($k_page);
	$start = $set['p_str']*$page-$set['p_str'];
	#	если категорий = 0 
	if($smiles_dir==0)msg( 'Категории не созданы еще' );
	
	#	Выводим последние созданные категории вверх 
	$smiles_dir=query("SELECT * FROM `smiles_dir` ORDER BY `id` ASC LIMIT $start, $set[p_str]");

	while($post = mysql_fetch_array($smiles_dir))
	{
	$smile = mysql_result(query("SELECT COUNT(*) FROM `smiles` WHERE `id_dir` = '$post[id]'"),0);
	echo '<a href="?type=dir&id='.$post['id'].'"><div class="p_m"> <img src="/style/icons/default.png"/> 
	'.output_text($post['name']).' ('.$smile.')</br>
	'.output_text($post['opis']).'</br></a>
	'.($if_accept?'<span style="float: right"> 
	<a href="?type=delet_dir&id='.$post['id'].'">Удалить</a></span><a href="?type=dir_edit&id='.$post['id'].'">Редактировать</a>':false).'</div>';
	}
	if($if_accept)
	echo '<div class="p_m"> <a href="?type=dir_add">[+] Добавить категорию</a></br> <a href="?type=add_smile">[+] Добавить Смайл</a>		</div>';
	echo '<div class="p_m"> <a href="?type=smile_list">['.$smiles_koll.'] Всего смайлов</a></div>';
	if($k_page>1)str('?',$k_page,$page);
	break;
	
	
	#	выводим категорию со смайлами	
	case 'dir':
	echo '<a href="?"><div class="p_m">Назад</div></a>';
	if(isset($_GET['id']))
	$id = intval($_GET['id']);
		else	
	exit(header("Location: ?type=null"));
	$k_post = mysql_result(query("SELECT COUNT(*) FROM `smiles` WHERE `id_dir` = '$id'"),0);
	$k_page = k_page($k_post,$set['p_str']);
	$page = page($k_page);
	$start = $set['p_str']*$page-$set['p_str'];
	if($k_post == 0 ) msg('Нет смайлов');
	$smiles=query("SELECT * FROM `smiles` WHERE `id_dir` = '$id' ORDER BY `id` DESC LIMIT $start, $set[p_str]");
	while($post = mysql_fetch_array($smiles))echo '<div class="p_m">
	<img src="/style/smiles/'.$post['name'].'" alt="'.$post['name'].'" title="'.$post['name'].'"/>	<>	'.$post['zamena'].''.($if_accept?' [<a href="?type=edit_smile&id='.$post['id'].'">Редактировать</a>] :: [<a href="?type=delet_smiles&id='.$post['id'].'">Удалить</a>]':false).'</div>';
	if($k_page>1)
				str('?type=dir&amp;id='.$id.'&amp;',$k_page,$page);
	echo '<div class="foot"><a href="?">Все катерогии</div></a>';


		
	break;
	
	
	case 'null':
	echo '<a href="?"><div class="p_m">Назад</div></a>';
	msg('Произошла ошибка');
	break;
	
	#	создаем категорию 
	case 'dir_add':
	
	
	if($if_accept)
	{
	echo '<a href="?"><div class="p_m">  Назад</div></a>';
	if(isset($_POST['name']))
	{
	$name = esc(stripcslashes(htmlspecialchars($_POST['name'])));
	$opis = esc(stripcslashes(htmlspecialchars($_POST['name'])));
	if(strlen2($name)>99)
	{	$err='Слишком большое название категории';
	}
	else if(strlen2($name)<1)
	{
		$err='Слишком короткое название категории';
		}		else		{
	query("INSERT INTO `smiles_dir` (`name`, `opis`) values('$name', '$opis')");
	query("OPTIMIZE TABLE `smiles_dir`");
	msg('Директория <b>'.$name.'</b> добавлена</br> Описание : '.$opis.'');
	}
	}
err();






echo '<div class="p_m">
<form method="post" action="?type=dir_add&">Название:(99 max)<br/>
<input name="name" maxlength="99"/><br/>
Описание:<br/><textarea name="opis"></textarea>
<input value="Создать" type="submit"/></form></div>';

	

		
	}	else 	{
msg($if_accept_msg);
	}
	
	break;
	
	#	Редактируем категорию 
	case 'dir_edit':
		
			
if($if_accept)
	{
		
		
	echo '<a href="?"><div class="p_m">  Назад</div></a>';

	if(isset($_GET['id']))
	$id = intval($_GET['id']);
	else		header("Location: ?type=null");
		
	
	
	if(isset($_POST['name']) )
	{
	$name = esc(stripcslashes(htmlspecialchars($_POST['name'])));
	$opis = esc(stripcslashes(htmlspecialchars($_POST['opis'])));

	
		if(strlen2($name)>99)
		{
		$err='Слишком большое название категории';
		}	else if(strlen2($name)<1)
		{
		$err='Слишком короткое название категории';
		}
		else
		{
	query("UPDATE `smiles_dir` SET `name` = '".$name."', `opis` = '".$opis."'  WHERE `id` = '".$id."' LIMIT 1");
	msg('Директория <b>'.$name.'</b> отредактирована</br><b>'.$opis.'</b>');
}
}

err();

$dir = mysql_fetch_array(query("SELECT * FROM `smiles_dir` WHERE `id` = '".$id."'"));
echo '<div class="p_m"><form method="post" action="?type=dir_edit&id='.$id.'&">';
echo 'Название:(99 max)<br/><input name="name" maxlength="99" value="'.esc(stripcslashes(htmlspecialchars($dir['name']))).'"/><br/>';
echo '</div><div class="p_m">
Старое описание> (
'.esc(stripcslashes(htmlspecialchars($dir['opis']))).')
</div><div class="p_m"> Новое описание >
<textarea name="opis"></textarea>
';
echo '<input value="Изменить" type="submit"/></form></div>';

	

		
	}	else 	{
	msg($if_accept_msg);
	}



	break;
		#	Добовления смайла 
		case 'add_smile':

			
	if($if_accept)
	{
	echo '<a href="?"><div class="p_m">  Назад</div></a>';

	if ($smiles_dir==0)
	{
	msg('Сначала создайте категории <a href="?type=dir_add">Создать</a> ');
	include_once H.'sys/inc/tfoot.php';
	exit;
	}
	
	if(isset($_FILES['file']) && 
	$_FILES['file']!=NULL &&
	isset($_POST['name']) && 
	isset($_POST['zamena']) &&
	isset($_POST['dir'])){
	#	$name = esc(stripcslashes(htmlspecialchars($_POST['name']))).'_'.$_SERVER['SERVER_NAME'];
	#	раскоментировать если хотите иметь в название адрес  вашего сайта 
	$name = esc(stripcslashes(htmlspecialchars($_POST['name']))).'.png';

	$dir_s = intval($_POST['dir']);
	
	$zamena = esc(stripcslashes(htmlspecialchars($_POST['zamena'])));

	if($imgc=@imagecreatefromstring(file_get_contents($_FILES['file']['tmp_name'])))
	{

	$name = retranslit($name);

	if($name==NULL){
	$err = 'Название файла не заполнено';
	}	else if(strlen2($name)>99){
		$err = 'Название слишком большое. max 99';
		}	else if(strlen2($name)<1){
			$err = 'Название слишком маленькое. min 1';
			}	else{

query("INSERT INTO `smiles` (`name`, `id_dir`, `zamena`) values ('".$name."', '$dir_s', '$zamena')");
@copy($_FILES['file']['tmp_name'], H.'style/smiles/'.$name);
@chmod(H.'style/smiles/'.$name,0666);
msg("Успешно");
}
}	else	{
	msg("Ошибка");
	}
	}

err();

echo '<div class="p_m">Форматы *.png\*.jpg\*.gif<br/>';
echo '<form method="post" enctype="multipart/form-data" action="?type=add_smile">';
echo '<input type="file" name="file" accept="image/*,image/gif,image/png,image/jpeg"/><br/>';
echo '<b>Название:</b><br/><input name="name"><br/>';
echo '<b>Как вызывать смайл:</b><br/><input name="zamena"> (Пример :privet:)<br/>';
echo '<b>Категория</b>:<br/><select name="dir">';
$q = query("SELECT * FROM `smiles_dir`");
while($dir = mysql_fetch_array($q))	echo '<option value="'.$dir['id'].'">'.esc(stripcslashes(htmlspecialchars($dir['name']))).'</option>';
echo '</select><br/>';
echo '<input value="Загрузить" type="submit"/></form></div>';
	
		
	
}	else 	{
msg($if_accept_msg);
}
	break;

	#	редактирования смайла
	case 'edit_smile':
	
		
	if($if_accept)
	{
		

	
	echo '<a href="?"><div class="p_m">  Назад</div></a>';

	
	if(isset($_GET['id']))
	$id = intval($_GET['id']);
	else		header("Location: ?type=null");
		
	
	
	
	
if(isset($_POST['zamena']))
{
$zamena = my_esc($_POST['zamena']);
query("UPDATE `smiles` SET `zamena` = '".$zamena."'  WHERE `id` = '".$id."' LIMIT 1");
msg('Смайл отредактирован');
}

$smile = mysql_fetch_array(query("SELECT * FROM `smiles` WHERE `id` = '".$id."'"));
echo '<div class="p_m"><img src="/style/smiles/'.$smile['name'].'" alt="'.$smile['name'].'" title="'.$smile['name'].'"/>
'.$smile['name'].' - '.$smile['zamena'].'<br/>';
echo '<form method="post" action="?type=edit_smile&id='.$id.'&">';
echo '<b>Текст вызова</b>:<br/><input name="zamena" value="'.htmlspecialchars($smile['zamena']).'"/> <br/>
* перечеслять можно через "|" , пример .test.|.test2.|.test3. и т.п 

<br/>';
echo '<input value="Сохранить" type="submit"/></form></div>';
	
	
}	else 	{
msg($if_accept_msg);
}
	
	break;
	
	
	#	вЫВОДИМ ПОЛНЫЙ СПИСОК ВСЕХ СМАЙЛОВ 	
	case 'smile_list':
		echo '<a href="?"><div class="p_m">  Назад</div></a>';

	
	$k_page = k_page($smiles_koll,$set['p_str']);
	$page = page($k_page);
	$start = $set['p_str']*$page-$set['p_str'];
	if($smiles_koll==0)msg( 'Нет смайлов');
	echo '<div class="p_m">Всего смайлов : ('. $smiles_koll.')</div>';
	$smiles=query("SELECT * FROM `smiles` ORDER BY `id` DESC LIMIT $start, $set[p_str]");

	while($post = mysql_fetch_array($smiles))echo '<div class="p_m">
	<img src="/style/smiles/'.$post['name'].'" alt="'.$post['name'].'" title="'.$post['name'].'"/>
	<>	'.$post['zamena'].'</div>';
	if($k_page>1)str('?',$k_page,$page);

	break;
#	УДАЛЯЕМ КАТЕГОРИЮ СО ВСЕМИ ПОТРОХАМИ 
		case 'delet_dir':
		
if($if_accept)
	{

	
	if(isset($_GET['id']))
	$id = intval($_GET['id']);
	else		header("Location: ?type=null");
	$q = query("SELECT * FROM `smiles` WHERE `id_dir` = '".$id."'");
	while($sm = mysql_fetch_array($q))
	@unlink(H.'style/smiles/'.$sm['name']);
	$q = query("SELECT * FROM `smiles` WHERE `id_dir` = '".$id."'");
	while($sm = mysql_fetch_array($q))query("DELETE FROM `smiles` WHERE `id_dir` = '".$id."'");
	query("DELETE FROM `smiles_dir` WHERE `id` = '".$id."'");
	query("OPTIMIZE TABLE `smiles`, `smiles_dir`");
	exit(header("Location: ?type=delet_msg"));

	

}	else 	{
msg($if_accept_msg);
}
	
	
		break;
		
		#	удаляем смайл 
		case 'delet_smiles':
		
		
			
	if($if_accept)
	{

		
		
		if(isset($_GET['id']))
		$id = intval($_GET['id']);
		else		header("Location: ?type=null");
		$smile = mysql_fetch_array(query("SELECT * FROM `smiles` WHERE `id` = '".$id."'"));
		@unlink(H.'style/smiles/'.$smile['name']);
		query("DELETE FROM `smiles` WHERE `id` = '".$id."' LIMIT 1");
		query("OPTIMIZE TABLE `smiles`");
		exit(header("Location: ?type=delet_msg"));
		
		
			

		
	}	else 	{
	msg($if_accept_msg);
	}
		
		break;
		
		
		
		#	Сообщение успешно при некоторых действиях 
		case 'delet_msg':
		echo '<a href="?"><div class="p_m">  Назад</div></a>';
		msg('Успешно');
		break;
		
		
		
		
		

}

include_once H.'sys/inc/tfoot.php';