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&id='.$id.'&',$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';