File: D:/HostingSpaces/SBogers10/kms.komma.pro/wwwroot/lib/general/page_tracker.class.php
<?php
/**
* Created by Komma.pro
* User: mikevandersanden
* Date: 27/1/14
*/
class Page_Tracker
{
public function __construct(){}
/*
* Initialise
*/
public function init($newPage)
{
// Track current page
$this->trackPage($newPage);
// Track current item
$this->trackItem();
}
/*
* Keeps track of current page
*/
private function trackPage($newPage)
{
// Make sure current page exists
if( ! isset($_SESSION['current_page']))
{
$_SESSION['current_page'] = $newPage;
$_SESSION[$newPage] = array();
}
// Save current page in "old" page
$oldPage = $_SESSION['current_page'];
// Check if we switched pages
if($newPage != $oldPage)
{
// Reset page sessions
unset($_SESSION[$oldPage]);
// Set new current_page
$_SESSION['current_page'] = $newPage;
$_SESSION[$newPage] = array();
}
}
/*
* Keeps track of current page
*/
private function trackItem()
{
if(defined('URL_SUB'))
{
// Get converted url_sub
$Translator = new Translator(URL_LANG);
$converted = $Translator->convert(URL_SUB);
// Check for existing or new item
$isItem = substr(URL_SUB,0,4) == 'item';
$isNew = $converted == 'newItem';
// If existing or new item
if($isItem || $isNew)
{
// Get new item
if($isItem)
{
// Switch to existing item
$temp = explode('-',URL_SUB);
$newItem = $temp[1];
}
else
{
// Switch to new item
$newItem = 'new';
}
// Make sure current page exists
if( ! isset($_SESSION['current_item']))
{
$_SESSION['current_item'] = $newItem;
}
// Save current item in "old" item
$oldItem = $_SESSION['current_item'];
// Check if we switched pages
if($newItem != $oldItem)
{
// Reset page sessions
$page = $_SESSION['current_page'];
unset($_SESSION[$page][$oldItem]);
// Set new current_page
$_SESSION['current_item'] = $newItem;
}
}
}
else
{
// Reset current item
if(isset($_SESSION['current_item'])) unset($_SESSION['current_item']);
}
}
}