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

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

$config['board_moder'] = !empty($config['board_moder']) ? num($config['board_moder']) : 0;

if (
$is_logged) {

    
$error '';
    
$row = array();
    
$row $db->selectRow("SELECT ?_board_posts.*, ?_board_category.*
                           FROM ?_board_posts LEFT JOIN ?_board_category 
                           ON ?_board_posts.`board_cats_id` = ?_board_category.`cats_id` 
                           WHERE ?_board_posts.`board_id` = ? LIMIT 1;"
$id);

    if (!empty(
$row)) {

        if (
$row['board_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'])  : '';
                
$contatcs = !empty($_POST['contatcs']) ? check($_POST['contatcs'])  : '';

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

                  if (!empty(
$cid)) {

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

                      if (
cms_strlen($text) >= $config['board_min_text'] && cms_strlen($text) <= $config['board_max_text']) {

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

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

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

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

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

                                
del_vars('board_categories');
                              }

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

                              
$db->query("UPDATE ?_board_posts SET `board_cats_id` = ?, `board_title` = ?, `board_text` = ?, `board_moders` = ? WHERE `board_id` = ?;"$cid$title$text$moders$id);

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

                              
gen_red('post'$row['board_id'], RND);
                        }
                        else 
$error 'Ошибка! Выбранного раздела не существует!';
                      }
                      else 
$error 'Ошибка! Слишком длинный или короткий текст статьи (от ' $config['board_min_text'] . ' до ' $config['board_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 (
file_exists(ROOTPATH '/upload/boards/' $id '.jpg')) {

                            
unlink(ROOTPATH '/upload/boards/' $id '.jpg');
                        }

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

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

                        
$db->query("OPTIMIZE TABLE ?_board_posts, ?_board_category;");

                        
del_vars('board_categories');

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

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

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

              if (!empty(
$_FILES['photo']['name'])) {

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

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

                    
$photoname check(strtolower($_FILES['photo']['name']));
                    
$photosize getimagesize($_FILES['photo']['tmp_name']);
                    
$ext       strtolower(substr(strrchr($photoname'.'), 1));

                    if (
$ext == 'jpg' || $ext == 'jpeg' || $ext == 'gif' || $ext == 'png') {

                      if (
$_FILES['photo']['size'] > && $_FILES['photo']['size'] <= $config['board_max_size']) {

                        require_once( 
ENGINE '/classes/upload.class.php' );

                        
$handle = new upload($_FILES['photo']);

                        if (
$handle -> uploaded) {
                            
$handle -> file_new_name_body $id;
                            
$handle -> image_resize true;
                            
$handle -> image_ratio true;
                            
$handle -> image_convert 'jpg';
                            
$handle -> image_ratio_no_zoom_in true;
                            
$handle -> image_y $config['board_screen_height'];
                            
$handle -> image_x $config['board_screen_width'];
                            
$handle -> file_overwrite true;

                            if (
file_exists(ROOTPATH '/upload/boards/' $id '.jpg')) {

                                
unlink(ROOTPATH '/upload/boards/' $id '.jpg');
                            }

                            
$handle -> processROOTPATH '/upload/boards/' );

                            if (
$handle -> processed) {

                                
$handle -> clean();
                                
$inSes->addMessage('Фотография успешно загружена!''ok');
                                
gen_red('post'$idRND);

                            }
                            else 
$inSes->addMessage('Произошла Ошибка! ' $handle -> error);
                        }
                        else 
$inSes->addMessage('Ошибка! Не удалось загрузить изображение!');
                      }
                      else 
$inSes->addMessage('Ошибка! Вес изображения должен быть не более ' size($config['board_max_size']));
                    }
                    else 
$inSes->addMessage('Ошибка! Недопустимое расширение (Разрешено jpg, jpeg, gif и png)!');
                  }
                  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['board_title']);

            if (!empty(
$_GET['code'])) include( MODULES_PATH 'code.inc.php' );
            else if (!empty(
$_GET['smiles'])) include( MODULES_PATH 'smiles.inc.php' );
            
$row['board_text'] = str_ireplace(array('<br>','<br/>','<br />'), "n"nosmiles($row['board_text']));

            
$form = new cmsForm(gen_uri('edit'$id'rnd=' $_SESSION['token']), 'post'' name="form" id="edit"');
            
$form->addText(blink('*') . ' Заголовок:''title'$row['board_title'], ' style="width:98%;" maxlength="100"');
            
$form->addSelect(blink('*') . ' Категория:''cid'num($row['board_cats_id']), $cats);
            
$form->addCode(blink('*') . ' Текст объявления: ');
            
$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['board_text'], ' id="msg" style="width:98%;"');
            
$form->addTextarea('Контакты: адрес, телефон, факс и т.д.''contatcs'$row['board_contacts'], ' style="width:98%;"');
            echo 
$form->Submit('Изменить''submit');
            unset(
$form);

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

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

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

            echo 
'<div class="b">' icon('error.gif''icons');
            echo 
' <a href="' gen_uri('edit'$id'del=1&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('category'$row['board_cats_id'], RND) . '">' $row['cats_name'] . '</a> |';
            echo 
' <a href="' gen_uri('index'''RND) . '">Объявления</a> |';
            echo 
' <a href="' gen_uri('search'''RND) . '">Поиск</a><br /></div>';
        }
        else {

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

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

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

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