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

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

if (
$is_logged) {

    
$error '';

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

    if (!empty(
$row)) {

        if (
$row['journal_user'] == $log) {

            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'])  : '';

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

                  if (!empty(
$cid)) {

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

                      if (
cms_strlen($text) >= $config['journal_min_text'] && cms_strlen($text) <= $config['journal_max_text']) {

                        if (
array_key_exists($cid,$categories)) {

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

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

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

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

                                
del_vars('journal_categories');
                              }

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

                              
$db->query("UPDATE ?_journal_posts SET `journal_cats_id` = ?, `journal_title` = ?, `journal_text` = ?, `journal_moders` = ? WHERE `journal_id` = ?;"$cid$title$text$moders$id);

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

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

                if (!empty(
$error)) $inSes->addMessage($error'error');
            }

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

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

                    if ( 
check_referer() ) {

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

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

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

                                foreach(
$files as $file) {

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

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

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

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

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

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

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

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

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

                            
$db->query("OPTIMIZE TABLE ?_journal_posts, ?_journal_category, ?_journal_files, ?_journal_rated");

                            
$inSes->addMessage('Публикация успешно удалена!''ok');

                            
gen_red('index'''RND);

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

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

              if (!
is_dir(ROOTPATH '/upload/journal')) mkdir(ROOTPATH '/upload/journal'0755);

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

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

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

                  if (
$count <= $config['journal_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['journal_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['journal_file_size']) {

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

                                if (!
file_exists($files_path)) {

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

                                  @
chmod($files_path0644);

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

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

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

              if (!empty(
$error)) $inSes->addMessage($error'error');
            }

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

            
show_header('Редактирование ' $row['journal_title']);
            if (!empty(
$_GET['code'])) include( MODULES_PATH 'code.inc.php' );
            else if (!empty(
$_GET['smiles'])) include( MODULES_PATH 'smiles.inc.php' );
            
$row['journal_text'] = str_ireplace(array('<br>','<br/>','<br />'), "n"nosmiles($row['journal_text']));
            
$form = new cmsForm(gen_uri('edit'$id'rnd=' $_SESSION['token']), 'post'' name="form" id="edit"');
            
$form->addText(blink('*') . ' Заголовок:''title'$row['journal_title'], ' style="width:98%;" maxlength="100"');
            
$form->addSelect('Категория:''cid'num($row['journal_cats_id']), $cats);
            
$form->addCode(blink('*') . ' Текст: <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['journal_text'], ' id="msg" style="width:98%;"');
            
$form->addCheckBox(array(''' - Для взрослых'), 'xxx'$row['journal_is_xxx']);
            echo 
$form->Submit('Изменить''submit');
            unset(
$form);

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

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

            if (
$config['journal_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="b">';
                echo 
'Разрешается добавлять файлы с расширением ' str_replace(','', '$config['journal_ext_file']) . '<br />';
                echo 
'Весом не более ' size($config['journal_file_size']) . '<br /></div>';
            }

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

            echo 
'<div class="b">' icon('return.png');
            echo 
' <a href="' gen_uri('post'$idRND) . '">Назад</a> |';
            echo 
' <a href="' gen_uri('index'''RND) . '">Журнал</a> |';
            echo 
' <a href="' gen_uri('category'''RND) . '">Категории</a> |';
            echo 
' <a href="' gen_uri('top'''RND) . '">Топ статей</a> |';
            echo 
' <a href="' gen_uri('search'''RND) . '">Поиск</a><br /></div>';
        }
        else {

            
$inSes->addMessage('Ошибка! Изменение невозможно, вы не автор данной публикации!');
            
gen_red('post'$row['journal_id'], RND);
        }
    }
    else {

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

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

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