Вход Регистрация
Файл: core/modules/blog_edit.php
Строк: 144
<?php

if (!defined('CMS')) { die('Access Denied!'); }

if (!
$is_logged) {

    
$inSes->addMessage('Ошибка! Вы не авторизованы!');
    
redirect($config['site_url'] . DS gen_uri('login'''RND));
}

$row = array();
$row $db->selectRow("SELECT * FROM ?_blog_posts WHERE `blog_id` = ? LIMIT 1;"$id);

if (empty(
$row)) {

    
$inSes->addMessage('Ошибка! Данной статьи не существует!');
    
gen_red('index'''RND);
}

if (
$row['blog_user'] != $log && !$is_admin) {

    
$inSes->addMessage('Ошибка! Изменение невозможно, вы не автор данной статьи!');
    
gen_red('post'$row['blog_id'], RND);
}

if (!empty(
$_POST['submit'])) {

    
$cid   = !empty($_POST['cid'])   ? num($_POST['cid'])     : 0;
    
$title = !empty($_POST['title']) ? check($_POST['title']) : '';
    
$text  = !empty($_POST['text'])  ? check($_POST['text'])  : '';
    
$xxx   = !empty($_POST['xxx'])   ? 0;

    if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

      if (!empty(
$cid)) {

        if (
cms_strlen($title) >= && cms_strlen($title) <= 100) {

          if (
cms_strlen($text) >= $config['blog_min_text'] && cms_strlen($text) <= $config['blog_max_text']) {

            if (
array_key_exists($cid$categories)) {

                
$text antimat($text);
                
$text smiles($text);

                
// Обновление счетчиков
                
if ($row['blog_cats_id'] != $cid) {

                    
$db->query("UPDATE ?_comments SET `comm_cats` = ? WHERE `comm_post` = ? AND `comm_type` = 'blog';"$cid$id);

                    
$db->query("UPDATE ?_blog_category SET `cats_count` = (`cats_count` + 1) WHERE `cats_id` = ?"$cid);

                    
$db->query("UPDATE ?_blog_category SET `cats_count` = (`cats_count` - 1) WHERE `cats_id` = ?"$row['blog_cats_id']);

                    
del_vars('blog_categories');
                }

                
$moders = ($config['blog_moder'] == 1) ? 0;

                
$db->query("UPDATE ?_blog_posts SET `blog_cats_id` = ?, `blog_title` = ?, `blog_text` = ?, `blog_moders` = ?, `blog_is_xxx` = ? WHERE `blog_id` = ?;"$cid$title$text$moders$xxx$id);

                
$inSes->addMessage('Статья успешно отредактирована!''ok');

                
gen_red('post'$row['blog_id'], RND);
            }
            else 
$inSes->addMessage('Ошибка! Выбранного раздела не существует!');
          }
          else 
$inSes->addMessage('Ошибка! Слишком длинный или короткий текст статьи (от ' $config['blog_min_text'] . ' до ' $config['blog_max_text'] . ' символов)!');
        }
        else 
$inSes->addMessage('Ошибка! Слишком длинный или короткий заголовок (от 5 до 100 символов)!');
      }
      else 
$inSes->addMessage('Ошибка! Вы не выбрали категорию для добавления статьи!');
    }
    else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}

if (!empty(
$_GET['del'])) {

  if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

    if ( 
check_referer() ) {

      if (empty(
$row['blog_comments'])) {

          
$files = array();
          
$files $db->select("SELECT * FROM ?_blog_files WHERE `files_post` = ?"$id);

          if (!empty(
$files) && count($files) > 0) {

              foreach (
$files as $numFile => $file) {

                  
$fname $id '_' $file['files_name'];

                  if ( @
file_existsROOTPATH '/upload/blogs/' $fname ) ) {

                      @
chmodROOTPATH '/upload/blogs/' $fname0777 );

                      
unlinkROOTPATH '/upload/blogs/' $fname );
                  }
              }
          }

          
$db->query("UPDATE ?_blog_category SET `cats_count` = (`cats_count` - 1) WHERE `cats_id` = ?"$row['blog_cats_id']);

          
//$db->query("DELETE FROM ?_comments WHERE `comm_post` = ? AND `comm_type` = 'blog';", $id);

          
$db->query("DELETE FROM ?_blog_files WHERE `files_post` = ?"$id);

          
$db->query("DELETE FROM ?_blog_rated WHERE `rated_blog` = ?"$id);

          
$db->query("DELETE FROM ?_blog_posts WHERE `blog_id` = ? LIMIT 1"$id);

          
$db->query("OPTIMIZE TABLE ?_blog_posts, ?_blog_category, ?_blog_files, ?_blog_rated");

          
$inSes->addMessage('Статья успешно удалена!''ok');

          
gen_red('index'''RND);

      }
      else 
$inSes->addMessage('Ошибка! Запрещено удалять статьи к которым имеются комментарии!');
    }
    else 
$inSes->addMessage('Реферер не определен в вашем браузере. Пожалуйста, активируйте опцию передачи реферера.');
  }
  else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}

if (!empty(
$_POST['upload'])) {

  if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

    if (
$config['blog_upload_file'] > || is_admin(array(101))) {

      
$count = (int) $db->selectCell("SELECT COUNT(`files_id`) FROM ?_blog_files WHERE `files_post` = ? LIMIT 1;"$id);

      if (
$count <= $config['blog_upload_file']) {

        if (
is_uploaded_file($_FILES['loadfile']['tmp_name'])) {

          
$filename check(strtolower($_FILES['loadfile']['name']));

          if (
strlen($filename) <= 50) {

            if (
preg_match('|^[a-z0-9_.-]+$|i'$filename)) {

              
$arrext explode(','$config['blog_ext_file']);
              
$ext    strtolower(substr(strrchr($filename'.'), 1));

              if (
in_array($ext$arrext) && $ext != 'php') {

                if (!
preg_match('/.(php|pl|cgi|phtml|htaccess)/i'$filename)) {

                  if (
$_FILES['loadfile']['size'] > && $_FILES['loadfile']['size'] <= $config['blog_file_size']) {

                    
$files_path ROOTPATH '/upload/blogs/' $id '_' $filename;

                    if (!
file_exists($files_path)) {

                        
move_uploaded_file($_FILES['loadfile']['tmp_name'], $files_path);

                        @
chmod($files_path0644);

                        
$db->query("INSERT INTO ?_blog_files
                                    SET `files_post` = ?, `files_name` = ?, `files_size` = ?"
$id$filename$_FILES['loadfile']['size']);

                        
$inSes->addMessage('Файл успешно загружен!''ok');

                        
gen_red('post'$row['blog_id'], RND);
                    }
                    else 
$inSes->addMessage('Ошибка! Файл ' $filename ' уже прикреплён к посту!');
                  }
                  else 
$inSes->addMessage('Ошибка! Максимальный размер загружаемого файла ' size($config['blog_photos_max_weight']) . '!');
                }
                else 
$inSes->addMessage('Ошибка! В названии файла присутствуют недопустимые расширения!');
              }
              else 
$inSes->addMessage('Ошибка! Недопустимое расширение файла!');
            }
            else 
$inSes->addMessage('Ошибка! В названии файла присутствуют недопустимые символы!');
          }
          else 
$inSes->addMessage('Ошибка! Слишком длинное имя файла (не более 50 символов)!');
        }
        else 
$inSes->addMessage('Ошибка! Не удалось загрузить файл!');
      }
      else 
$inSes->addMessage('Ошибка! Файл уже загружен!');
    }
    else 
$inSes->addMessage('Ошибка! Загрузка файлов запрещена администратором!');
  }
  else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}

$cats = array();
$cats[0] = 'Список разделов';
foreach(
$categories as $key => $val$cats[$key] = $val[0];

show_header('Редактирование ' $row['blog_title']);

if (!empty(
$_GET['code'])) include( MODULES_PATH 'code.inc.php' );
else if (!empty(
$_GET['smiles'])) include( MODULES_PATH 'smiles.inc.php' );
$row['blog_text'] = str_ireplace(array('<br>','<br/>','<br />'), "n"nosmiles($row['blog_text']));
$form = new cmsForm(gen_uri('edit'$id'rnd=' $_SESSION['token']), 'post'' name="form" id="edit"');
$form->addSelect('Категория:''cid'num($row['blog_cats_id']), $cats);
$form->addText('Заголовок:''title'$row['blog_title'], ' style="width:100%;" maxlength="100"');
$form->addCode('Текст: <small>[<a href="' gen_uri('edit'$id'smiles=1') . '">Смайлы</a>] ');
$form->addCode('[<a href="' gen_uri('edit'$id'code=1') . '">ББ-коды</a>]</small>');
$form->addCode(' [<a href="#edit" onclick="document.edit.msg.rows += 5;">+</a>]');
$form->addCode(' [<a href="#edit" onclick="document.edit.msg.rows -= 5;">-</a>]');
$form->addTextarea('''text'$row['blog_text'], ' id="msg"');
//$form->addCheckBox(array('', ' Для взрослых'), 'xxx', $row['blog_is_xxx']);
echo $form->Submit('Изменить''submit');
unset(
$form);

if (
$config['blog_moder'] == 1) {

    
show_error('<span class="blink">Обратите внимание</span>: включена проверка публикуемых статей, Ваша статья будет опубликована сразу после проверки модератором.');
}

if (
$config['blog_upload_file'] > || is_admin(array(101))) {

    
$form = new cmsForm(gen_uri('edit'$id'rnd=' $_SESSION['token']), 'post');
    
$form->addFile('Прикрепить файл:''loadfile');
    echo 
$form->Submit('Загрузить''upload');
    unset(
$form);
    echo 
'<div class="bl">';
    echo 
'Разрешается добавлять файлы с расширением ' str_replace(','', '$config['blog_ext_file']) . '<br />';
    echo 
'Весом не более ' size($config['blog_file_size']) . '</div>';
}

echo 
'<div class="link"><a href="?del=' $id '&amp;rnd=' $_SESSION['token'] . '" onclick="return confirm('Вы действительно хотите удалить данную статью?')">Удалить публикацию</a></div>';

echo 
'<div class="blocks"><table><tr>';
echo 
'<td class="w25"><a href="' gen_uri('post'$idRND) . '">Назад</a></td>';
echo 
'<td class="w25"><a href="' gen_uri('search'''RND) . '">Поиск</a></td>';
echo 
'<td class="w25"><a href="' gen_uri('top'''RND) . '">Топ статей</a></td>';
echo 
'<td class="w25"><a href="' gen_uri('category'''RND) . '">Категории</a></td></tr></table></div>';

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