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/NVonken/mijneigenlied.com/wwwroot/Core/Domain/Menu.php
<?php

class Menu extends BaseClass {

	////////////////
	// Properties //
	////////////////

	public $Id;
	public $Language;
	public $MenuTypeId;
	public $ParentId;
	public $Title;
	public $Sort;
	public $PageId;
	public $Url;
	public $Target;

	public static $_primaryKey = array("Id");

	////////////////////
	// Public methods //
	////////////////////

	public static function Select($Id) {
		return parent::Select($Id);
	}

	public static function SelectAll() {
		return parent::SelectAll();
	}

	public static function SelectAllByParent($ParentId, $language = null, $hatchId = null) {
		if($ParentId == null)
			$parentWhere = "IS NULL";
		else
			$parentWhere = "= '".parent::_db()->escape($ParentId) ."'";
		
		return parent::SelectObjects("	SELECT Menu.*, Page.PageTitle as PageTitle, Page.Slug as PageSlug 
										FROM Menu 
										LEFT JOIN Page ON Page.Id = Menu.PageId
										".($hatchId != null ? "INNER JOIN MenuHatch ON MenuId = Menu.Id AND HatchId = ".intval($hatchId) : "")."
										WHERE ParentId ".$parentWhere." ".($language != null ? "
										AND Menu.Language = '".parent::_db()->escape($language)."'" : "")." 
										ORDER BY Language, Sort ASC");
	}

	public static function SelectAllByLevel($LevelId) {
		return parent::SelectObjects("SELECT * FROM Menu WHERE Level = '" . intval($LevelId) . "'");
	}

	public static function SelectAllByMenuType($MenuTypeId) {
		return parent::SelectObjects("SELECT * FROM Menu WHERE MenuTypeId = '" . intval($MenuTypeId) . "'");
	}

	public static function SelectByUrl($Url) {
		return parent::SelectObjects("SELECT * FROM Menu WHERE Url = '" . $Url . "'");
	}
	
	public static function SelectByPage($pageId)
	{
		return parent::SelectObjects("SELECT Menu.* FROM Menu_Page INNER JOIN Menu ON Id = MenuId WHERE PageId = ".intval($pageId));
	}
	
	public static function SelectBySort($parentId, $language, $sort)
	{
		if($parentId == null)
			return reset(parent::SelectObjects("SELECT * FROM Menu WHERE parentId IS NULL AND Language = '".$language."' AND Sort = ".intval($sort)));
		else
			return reset(parent::SelectObjects("SELECT * FROM Menu WHERE parentId = '".intval($parentId)."' AND Language = '".$language."' AND Sort = ".intval($sort)));
	}
	
	public static function SelectLastSort($parentId, $language)
	{
		if($parentId == null)
			$q = parent::_db()->query("SELECT MAX(Sort) FROM Menu WHERE parentId IS NULL AND Language = '".$language."'");
		else
			$q = parent::_db()->query("SELECT MAX(Sort) FROM Menu WHERE parentId = '".$parentId."' AND Language = '".$language."'");
		return parent::_db()->result($q, 0);
	}
	
	public function compareMenus($menu1, $menu2) {
		if ($menu1 -> Sort < $menu2 -> Sort)
			return -1;
		else if ($menu1 -> Sort == $menu2 -> Sort)
			return 0;
		else
			return 1;
	}

	public function Insert()
    {
        return parent::Insert();
    }

    public function Update()
    {
        parent::Update();
    }
    public function Delete()
    {
        parent::_db()->query("UPDATE Menu SET Sort = Sort - 1 WHERE Sort > ".intval($this->Sort)." AND Language = '".parent::_db()->escape($this->Language)."' AND parentId ".($this->ParentId != null ? " = ".intval($this->ParentId) : "IS NULL"));
        parent::Delete();
    }
}
?>