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();
}
}
?>