if (isset($_POST['filter'])) {
    $_SESSION['filter'] = array('title' => trim($_POST['title']), 'start_date' => $_POST['start_date'], 'finish_date' => $_POST['finish_date']);
}
//Получаем ассоциативный массив статей из базы данных
$db_articles = new DBAdapter('Front', 'articles');
$articles_assoc = $db_articles->getAll();
unset($db_articles);
//Создаем массив обьектов статей
$articles_obj = array();
for ($i = 0; $i < count($articles_assoc); $i++) {
    $articles_obj[$i] = new Article($articles_assoc[$i]);
}
//Передаем массив обьектов в общий список (ArticlesList)
$list = new ArticlesList($articles_obj);
//Инициализируем фильтрацию и записываем параметры фильтрации в переменную
$filtr_data = array('title' => '', 'start_date' => '', 'finish_date' => '');
if (isset($_SESSION['filter'])) {
    $filtr_data = $_SESSION['filter'];
    $list->initFiltr($filtr_data);
}
//Получаем отфильтрованные статьи
$articles_assoc_filtred = $list->getFiltred();
//Вызываем нужное отображение
if (isset($_GET['layout'])) {
    if ($_GET['layout'] == 'admin') {
        $layout = new AdminLayout($articles_assoc_filtred, $filtr_data);
        exit;
    }
}
$layout = new FrontLayout($articles_assoc_filtred, $filtr_data);
exit;