HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
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']);
        }
    }
}