48 lines
1.1 KiB
PHP
48 lines
1.1 KiB
PHP
<?php
|
|
/**
|
|
* Created by Pensare Software.
|
|
* User: Theo Weijmer
|
|
* Date: 21/12/2017
|
|
* Time: 18:05
|
|
*/
|
|
|
|
use \Illuminate\Database\Eloquent\Model as Eloquent;
|
|
|
|
class Page extends Eloquent {
|
|
|
|
protected $table = "pages";
|
|
|
|
public function subpages()
|
|
{
|
|
return $this->hasMany( 'Page' );
|
|
}
|
|
|
|
|
|
public static function getPages( $user )
|
|
{
|
|
$pages = Page::whereRaw( 'id = page_id' )
|
|
->with( [
|
|
'subpages' => function ( $q ) use ( $user ) {
|
|
$q->whereRaw(
|
|
"id != page_id AND ((SELECT {$user->role} & pagelevel) != 0 OR pagelevel = 0)" )
|
|
->orderBy( 'pageorder' );
|
|
}] )
|
|
->orderBy( 'pageorder' )
|
|
->get();
|
|
|
|
return $pages;
|
|
}
|
|
|
|
public static function getAppPages( $user )
|
|
{
|
|
$appPages = Page::select( 'id', 'pageurl' )
|
|
->whereAppPage( 'T' )
|
|
->whereRaw(
|
|
"((SELECT {$user->role} & pagelevel) != 0 OR pagelevel = 0)" )
|
|
->get();
|
|
|
|
return $appPages;
|
|
}
|
|
|
|
|
|
} |