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/SBogers18/decoockpit.nl/wwwroot/kms/lib/mvc/controller.class.php
<?php
/**
 * controller.class.php
 * Created by Komma Mediadesign.
 * Author: mike
 * Date: 3/19/13
 */

class Controller {

    /*
     * @property View
     * Contains a view object.
     */
    protected $View;

    /*
     * @property Model
     * Contains a model object.
     */
    protected $Model;

    /*
     * @property Alert
     * Contains an alert object.
     */
    protected $Alert;

    /*
    * lang
    */
    protected $lang;
    protected $urls;

    /*
     * @property Functions
     * Contains an functions object.
     * This object contains functions which can be used by a controller.
     */
    public $Functions;


    public function __construct()
    {
        $this->Alert = new Alert();
        $this->Functions = new Functions();
    }

    /*
     * LoadModel checks if the requested file exists.
     * If so, it includes it in this template and creates a new Model;
     */
    public function loadModel($name)
    {
        $path = DOCUMENT_ROOT . 'app/models/m_' . strtolower($name) . '.class.php';
        if(file_exists($path))
        {
            if( ! class_exists($name . '_Model'))
            {
                include $path;
            }
            $modelName = ucfirst($name) . '_Model';
            $this->Model = new $modelName;

        }
    }

    /*
     * Initialise
     * - Load Language
     * - Load Alerts
     * - Load Main navigation
     */
    public function init()
    {
        // Create new view
        $this->View = new View();

        // Menu
        if(class_exists('Main_Nav'))
        {
            $MainNav = new Main_Nav();
            $this->View->setData('main_menu',$MainNav->get());
        }

        // Load languages and alerts
        $this->loadLanguage();
        $this->loadAlerts();
    }

    /*
     * Load Language
     */
    public function loadLanguage()
    {
        if(defined('URL_LANG'))
        {
            $LanguageHandler = new LanguageHandler();
            $LanguageHandler->set(URL_LANG);

            $this->View->setLang($LanguageHandler->get());
            $this->View->setUrls($LanguageHandler->getUrls());

            $this->lang = $LanguageHandler->get();
            $this->urls = $LanguageHandler->getUrls();

            $flagMenu = $LanguageHandler->displayMenu();
            $this->View->setData('lang_menu',$flagMenu);
        }
    }

    /*
     * Load Alerts
     */
    public function loadAlerts()
    {
        if($alert = $this->Alert->get())
        {
            $this->View->setData('alert',$alert);
        }
    }
}