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/SBogers64/klimroosbudel.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);
        }
    }
}