Вход Регистрация
Файл: public_html/mpanel/smiles.php
Строк: 145
<?php
#-----------------------------------------------------#
#          ********* ROTORCMS *********               #
#              Made by  :  VANTUZ                     #
#               E-mail  :  visavi.net@mail.ru         #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#        для его дальнейшего распространения          #
#-----------------------------------------------------#    
require_once ('../includes/start.php');
require_once (
'../includes/functions.php');
require_once (
'../includes/header.php');
include_once (
'../themes/' $config['themes'] . '/index.php');

if (isset(
$_GET['act'])) {
  
$act check($_GET['act']);
} else {
  
$act 'usersmiles';

if (isset(
$_GET['start'])) {
  
$start abs(intval($_GET['start']));
} else {
  
$start 0;

if (isset(
$_GET['id'])) {
  
$id abs(intval($_GET['id']));
} else {
  
$id 0;

if (isset(
$_GET['ref'])) {
  
$ref check($_GET['ref']);
} else {
  
$ref 'usersmiles';


if (
is_admin(array(101102))) {
  
show_title('site.png''Управление смайлами');
  
$config['newtitle'] = 'Управление смайлами';

  switch (
$act):
  
# ###########################################################################################
  # #                                    Общие смайлы                                        ##
  # ###########################################################################################
  
case 'usersmiles':

    echo 
'<b>Общие смайлы</b> | <a href="smiles.php?act=admsmiles&amp;' SID '">Админские смайлы</a><br /><br />';

    
$total DB :: $dbh -> querySingle("SELECT count(*) FROM `smiles` WHERE `smiles_cats`=?;", array(1));

    if (
$total 0) {
      if (
$start >= $total) {
        
$start 0;
      } 

      
$querysmiles DB :: $dbh -> query("SELECT * FROM `smiles` WHERE `smiles_cats`=? ORDER BY `smiles_id` ASC LIMIT " $start ", " $config['smilelist'] . ";", array(1));

      echo 
'<form action="smiles.php?act=del&amp;ref=usersmiles&amp;start=' $start '&amp;uid=' $_SESSION['token'] . '&amp;' SID '" method="post">';

      while (
$data $querysmiles -> fetch()) {
        echo 
'<img src="' BASEDIR 'images/smiles/' $data['smiles_name'] . '" alt="" /> — <b>' $data['smiles_code'] . '</b><br />';

        echo 
'<input type="checkbox" name="del[]" value="' $data['smiles_id'] . '" /> <a href="smiles.php?act=edit&amp;id=' $data['smiles_id'] . '&amp;ref=usersmiles&amp;start=' $start '&amp;' SID '">Редактировать</a><br />';
      } 

      echo 
'<br /><input type="submit" value="Удалить выбранное" /></form>';

      
page_jumpnavigation('smiles.php?'$config['smilelist'], $start$total);
      
page_strnavigation('smiles.php?'$config['smilelist'], $start$total);

      echo 
'Данные смайлы доступны всем авторизованным участникам сайта<br />';

      echo 
'Всего cмайлов: <b>' $total '</b><br /><br />';
    } else {
      
show_error('В данной категории смайлов нет!');
    } 

    echo 
'<img src="../images/img/download.gif" alt="image" /> <a href="smiles.php?act=add&amp;ref=usersmiles&amp;cats=1&amp;start=' $start '&amp;' SID '">Загрузить</a><br />';
    break;
  
# ###########################################################################################
  # #                                  Админские смайлы                                      ##
  # ###########################################################################################
  
case 'admsmiles':

    echo 
'<a href="smiles.php?act=usersmiles&amp;' SID '">Общие смайлы</a> | <b>Админские смайлы</b><br /><br />';

    
$total DB :: $dbh -> querySingle("SELECT count(*) FROM `smiles` WHERE `smiles_cats`=?;", array(2));

    if (
$total 0) {
      if (
$start >= $total) {
        
$start 0;
      } 

      
$querysmiles DB :: $dbh -> query("SELECT * FROM `smiles` WHERE `smiles_cats`=? ORDER BY `smiles_id` ASC LIMIT " $start ", " $config['smilelist'] . ";", array(2));

      echo 
'<form action="smiles.php?act=del&amp;ref=admsmiles&amp;start=' $start '&amp;uid=' $_SESSION['token'] . '&amp;' SID '" method="post">';

      while (
$data $querysmiles -> fetch()) {
        echo 
'<img src="' BASEDIR 'images/smiles2/' $data['smiles_name'] . '" alt="" /> — <b>' $data['smiles_code'] . '</b><br />';
        echo 
'<input type="checkbox" name="del[]" value="' $data['smiles_id'] . '" /> <a href="smiles.php?act=edit&amp;id=' $data['smiles_id'] . '&amp;ref=admsmiles&amp;start=' $start '&amp;' SID '">Редактировать</a><br />';
      } 

      echo 
'<br /><input type="submit" value="Удалить выбранное" /></form>';

      
page_jumpnavigation('smiles.php?act=admsmiles&amp;'$config['smilelist'], $start$total);
      
page_strnavigation('smiles.php?act=admsmiles&amp;'$config['smilelist'], $start$total);

      echo 
'Данные смайлы доступны только админам и модерам<br />';

      echo 
'Всего cмайлов: <b>' $total '</b><br /><br />';
    } else {
      
show_error('В данной категории смайлов нет!');
    } 

    echo 
'<img src="../images/img/download.gif" alt="image" /> <a href="smiles.php?act=add&amp;ref=admsmiles&amp;cats=2&amp;start=' $start '&amp;' SID '">Загрузить</a><br />';
    break;
  
# ###########################################################################################
  # #                                  Форма загрузки смайла                                 ##
  # ###########################################################################################
  
case 'add':

    
$config['newtitle'] = 'Добавление смайла';

    if (isset(
$_GET['cats'])) {
      
$cats abs(intval($_GET['cats']));
    } else {
      
$cats 0;
    } 

    echo 
'<div class="form">';
    echo 
'<form action="smiles.php?act=load&amp;start=' $start '&amp;uid=' $_SESSION['token'] . '&amp;' SID '" method="post" enctype="multipart/form-data">';

    echo 
'Категория:<br />';
    echo 
'<select name="cats">';
    
$selected = ($cats == 1) ? ' selected="selected"' '';
    echo 
'<option value="1"' $selected '>Общие смайлы</option>';
    
$selected = ($cats == 2) ? ' selected="selected"' '';
    echo 
'<option value="2"' $selected '>Админские смайлы</option>';
    echo 
'</select><br />';

    echo 
'Прикрепить смайл:<br /><input type="file" name="smile" /><br />';
    echo 
'Код смайла: <br /><input type="text" name="code" /><br />';

    echo 
'<input type="submit" value="Загрузить" /></form></div><br />';

    echo 
'Разрешается добавлять смайлы с расширением jpg, jpeg, gif и png<br />';
    echo 
'Весом не более 10 kb и размером до 100 px<br /><br />';

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="smiles.php?act=' $ref '&amp;start=' $start '&amp;' SID '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                   Загрузка смайла                                      ##
  # ###########################################################################################
  
case 'load':

    
$config['newtitle'] = 'Результат добавления';

    
$uid check($_GET['uid']);
    
$cats abs(intval($_POST['cats']));
    
$code check($_POST['code']);

    if (
$uid == $_SESSION['token']) {
      if (
$cats == || $cats == 2) {
        if (
is_uploaded_file($_FILES['smile']['tmp_name'])) {
          
$smilename check(strtolower($_FILES['smile']['name']));
          
$smilesize getimagesize($_FILES['smile']['tmp_name']);
          
$ext strrchr($smilename'.');

          if (
preg_match('|^[a-z0-9_.-]+$|i'$smilename)) {
            if (
strlen($smilename) >= && strlen($smilename) <= 20) {
              if (
utf_strlen($code) >= && utf_strlen($code) <= 20) {
                
$checkname DB :: $dbh -> querySingle("SELECT `smiles_id` FROM `smiles` WHERE `smiles_name`=? AND `smiles_cats`=? LIMIT 1;", array($smilename$cats));
                if (empty(
$checkname)) {
                  
$checkcode DB :: $dbh -> querySingle("SELECT `smiles_id` FROM `smiles` WHERE `smiles_code`=? LIMIT 1;", array($code));
                  if (empty(
$checkcode)) {
                    if (
$ext == '.jpg' || $ext == '.jpeg' || $ext == '.gif' || $ext == '.png') {
                      if (
$_FILES['smile']['size'] > && $_FILES['smile']['size'] <= 10240) {
                        if (
$smilesize[0] > && $smilesize[1] > && $smilesize[0] <= 100 && $smilesize[1] <= 100) {
                          
DB :: $dbh -> query("INSERT INTO `smiles` (`smiles_cats`, `smiles_name`, `smiles_code`) VALUES (?, ?, ?);", array($cats$smilename$code));

                          if (
$cats == 1) {
                            
move_uploaded_file($_FILES['smile']['tmp_name'], BASEDIR 'images/smiles/' $smilename);
                            @
chmod(BASEDIR 'images/smiles/' $smilename0666);
                            
$ref 'usersmiles';
                          } 

                          if (
$cats == 2) {
                            
move_uploaded_file($_FILES['smile']['tmp_name'], BASEDIR 'images/smiles2/' $smilename);
                            @
chmod(BASEDIR 'images/smiles2/' $smilename0666);
                            
$ref 'admsmiles';
                          } 

                          
$_SESSION['note'] = 'Смайл успешно загружен!';
                          
header ("Location: smiles.php?act=$ref&start=$start&" SID);
                          exit;
                        } else {
                          
show_error('Ошибка! Размер изображения должен быть не более чем 100 px');
                        } 
                      } else {
                        
show_error('Ошибка! Вес изображения должен быть не более 10 кб');
                      } 
                    } else {
                      
show_error('Ошибка! Недопустимое расширение (Разрешено jpg, jpeg, gif и png)!');
                    } 
                  } else {
                    
show_error('Ошибка! Смайл с данным кодом уже имеется на сайте!');
                  } 
                } else {
                  
show_error('Ошибка! Смайл с данным названием уже имеется на сайте!');
                } 
              } else {
                
show_error('Слишком длинный или короткий код смайла (Необходимо от 2 до 20 символов)!');
              } 
            } else {
              
show_error('Слишком длинное или короткое имя смайла (Необходимо от 2 до 20 символов)!');
            } 
          } else {
            
show_error('Ошибка! В названии изображения присутствуют недопустимые символы!');
          } 
        } else {
          
show_error('Ошибка! Не удалось загрузить изображение!');
        } 
      } else {
        
show_error('Ошибка! Вы не выбрали категорию для добавления смайла!');
      } 
    } else {
      
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="smiles.php?act=add&amp;cats=' $cats '&amp;start=' $start '&amp;' SID '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                    Редактирование                                      ##
  # ###########################################################################################
  
case 'edit':

    
$data DB :: $dbh -> queryFetch("SELECT * FROM `smiles` WHERE `smiles_id`=? LIMIT 1;", array($id));
    if (!empty(
$data)) {
      echo 
'<b><big>Редактирование смайла</big></b><br /><br />';

      if (
$data['smiles_cats'] == 1) {
        echo 
'<img src="' BASEDIR 'images/smiles/' $data['smiles_name'] . '" alt="" /> — <b>' $data['smiles_code'] . '</b><br />';
      } 

      if (
$data['smiles_cats'] == 2) {
        echo 
'<img src="' BASEDIR 'images/smiles2/' $data['smiles_name'] . '" alt="" /> — <b>' $data['smiles_code'] . '</b><br />';
      } 

      echo 
'<div class="form">';
      echo 
'<form action="smiles.php?act=change&amp;id=' $id '&amp;ref=' $ref '&amp;start=' $start '&amp;uid=' $_SESSION['token'] . '&amp;' SID '" method="post">';
      echo 
'Код смайла:<br />';
      echo 
'<input type="text" name="code" value="' $data['smiles_code'] . '" /><br />';
      echo 
'<input type="submit" value="Изменить" /></form></div><br />';
    } else {
      
show_error('Ошибка! Смайла для редактирования не существует!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="smiles.php?act=' $ref '&amp;start=' $start '&amp;' SID '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                   Изменение смайла                                     ##
  # ###########################################################################################
  
case 'change':

    
$uid check($_GET['uid']);
    
$code check($_POST['code']);

    if (
$uid == $_SESSION['token']) {
      if (
utf_strlen($code) >= && utf_strlen($code) <= 20) {
        
$querysmiles DB :: $dbh -> querySingle("SELECT `smiles_id` FROM `smiles` WHERE `smiles_id`=? LIMIT 1;", array($id));
        if (!empty(
$querysmiles)) {
          
$checkcode DB :: $dbh -> querySingle("SELECT `smiles_id` FROM `smiles` WHERE `smiles_code`=? AND `smiles_id`<>? LIMIT 1;", array($code$id));
          if (empty(
$checkcode)) {
            
DB :: $dbh -> query("UPDATE `smiles` SET `smiles_code`=? WHERE `smiles_id`=?", array($code$id));

            
$_SESSION['note'] = 'Смайл успешно отредактирован!';
            
header ("Location: smiles.php?act=$ref&start=$start&" SID);
            exit;
          } else {
            
show_error('Ошибка! Смайл с данным кодом уже имеется на сайте!');
          } 
        } else {
          
show_error('Ошибка! Смайла для редактирования не существует!');
        } 
      } else {
        
show_error('Слишком длинный или короткий код смайла (Необходимо от 2 до 20 символов)!');
      } 
    } else {
      
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="smiles.php?act=edit&amp;id=' $id '&amp;ref=' $ref '&amp;start=' $start '&amp;' SID '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                   Удаление смайлов                                     ##
  # ###########################################################################################
  
case 'del':
    
$uid check($_GET['uid']);
    if (isset(
$_POST['del'])) {
      
$del intar($_POST['del']);
    } else {
      
$del 0;
    } 

    if (
$uid == $_SESSION['token']) {
      if (!empty(
$del)) {
        
$del implode(','$del);

        
$querydel DB :: $dbh -> query("SELECT `smiles_cats`, `smiles_name` FROM `smiles` WHERE `smiles_id` IN (" $del ");");
        
$arr_smiles $querydel -> fetchAll();

        
DB :: $dbh -> query("DELETE FROM `smiles` WHERE `smiles_id` IN (" $del ");");

        foreach (
$arr_smiles as $delfile) {
          if (
$delfile['smiles_cats'] == 1) {
            if (!empty(
$delfile['smiles_name']) && file_exists(BASEDIR 'images/smiles/' $delfile['smiles_name'])) {
              
unlink(BASEDIR 'images/smiles/' $delfile['smiles_name']);
            } 
          } 

          if (
$delfile['smiles_cats'] == 2) {
            if (!empty(
$delfile['smiles_name']) && file_exists(BASEDIR 'images/smiles2/' $delfile['smiles_name'])) {
              
unlink(BASEDIR 'images/smiles2/' $delfile['smiles_name']);
            } 
          } 
        } 

        
$_SESSION['note'] = 'Выбранные смайлы успешно удалены!';
        
header ("Location: smiles.php?act=$ref&start=$start&" SID);
        exit;
      } else {
        
show_error('Ошибка! Отсутствуют выбранные смайлы!');
      } 
    } else {
      
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="smiles.php?act=' $ref '&amp;start=' $start '&amp;' SID '">Вернуться</a><br />';
    break;

  default:
    
header("location: smiles.php?" SID);
    exit;
    endswitch;

    echo 
'<img src="../images/img/panel.gif" alt="image" /> <a href="index.php?' SID '">В админку</a><br />';
    echo 
'<img src="../images/img/homepage.gif" alt="image" /> <a href="../index.php?' SID '">На главную</a><br />';
  } else {
  
header ('Location: ' BASEDIR 'index.php?' SID);
  exit;


include_once (
'../themes/' $config['themes'] . '/foot.php');

?>
Онлайн: 1
Реклама