コード例 #1
0
ファイル: index.php プロジェクト: alpharder/learn-ecommerce
session_start();
if (!isset($_SESSION['cart'])) {
    $_SESSION['cart'] = array();
}
if (!isset($_SESSION['user_id'])) {
    $_SESSION['user_id'] = 0;
}
// Загрузим из БД данные об авторизованном пользователе
if ($_SESSION['user_id'] > 0) {
    $user = db_select('SELECT * FROM `users` WHERE `id` = :id', array(':id' => $_SESSION['user_id']));
    $user = reset($user);
    if ($user) {
        $_SESSION['user'] = $user;
    } else {
        $_SESSION['user_id'] = 0;
        $_SESSION['user'] = array();
    }
} else {
    $_SESSION['user'] = array();
}
$action = get_current_action();
$path_to_controller = CONTROLLERS_DIR . '/' . $action . '.php';
// подключим файл, которые содержит код для выбранного $action
if (file_exists($path_to_controller)) {
    require_once $path_to_controller;
} else {
    // если передан несуществующий action - покажем 404 страницу
    not_found_404();
}
// запишем данные сессии в файл сессии
session_write_close();
コード例 #2
0
/**
 * Возвращает список элементов меню сайта.
 */
function get_menu_items()
{
    $is_logged_in = is_logged_in();
    $items = array(array('title' => 'Домашняя страница', 'action' => 'homepage', 'visible' => true), array('title' => 'Товары', 'action' => 'products', 'visible' => true), array('title' => 'Регистрация', 'action' => 'signup', 'visible' => !$is_logged_in), array('title' => 'Авторизация', 'action' => 'login', 'visible' => !$is_logged_in), array('title' => 'Корзина', 'action' => 'cart', 'visible' => true));
    $action = get_current_action();
    // для каждого элемента меню в цикле определим
    foreach ($items as &$item) {
        // активен ли он
        $item['is_active'] = $action == $item['action'];
        // и ссылку на раздел сайта, за который отвечает элемент меню
        $item['url'] = './index.php?action=' . $item['action'];
    }
    unset($item);
    // уберём из массива элементы, которые не должны отображаться
    foreach ($items as $k => $item) {
        if (!$item['visible']) {
            unset($items[$k]);
        }
    }
    return $items;
}