Перед созданием новой темы, пожалуйста, ознакомьтесь с FAQ по LinkorCMS

Фиксим КРИТИЧЕСКИЕ баги !

Супер пользователь
Сообщений: 125
Супер пользователь
Сообщений: 125
Описание бага: при редактировании БД, когда у нас есть 1 запись на последней странице. При ее удалении мы попадаем на предыдущую (т.е. были на 3 странице и попали на 2), но при этом в GET запросе остается таже что и была, хоть она и не существует уже. Соответственно в ссылке на удаление становятся неверные индексы, что приводит к полному удалению всех запссей при клике на нее.
Более понятно: измените в строке браузера номер страницы(page на любую типа 99. И попробуйте что то удалить.. :)

1. найти в файле table_review.inc.php

<?
if(isset($_GET['page'])){<br />
    $page = SafeEnv($_GET['page'], 11, int);<br />
}else{<br />
    $page = 1;<br />
}<br />
$rows_on_page = 40;
?>


2. заменить на

<?
$rows_on_page = 40;<br />
// Определяем номер активной страницы(пагинация)<br />
if(isset($_GET['page'])){<br />
    $maxpage = ceil(System::database()->NumRows()/$rows_on_page);<br />
    if(SafeDB($_GET['page'], 10, int) <= $maxpage){<br />
        $page = SafeDB($_GET['page'], 10, int);<br />
    }else{<br />
        $page = $maxpage;<br />
    }<br />
}else{<br />
    $page = 1;<br />
}
?>


-- Изменено "Fort": 05.03.2016 15:09 --
Гости не могут отвечать на темы. Войдите или Зарегистрируйтесь.
Здесь присутствуют
(пользователей: 0, гостей: 1)
Быстрый переход: