Conversie codeigniter 4
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
<?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 BaseModel {
|
||||
|
||||
protected $table = "pages";
|
||||
|
||||
public function subpages()
|
||||
{
|
||||
return $this->hasMany( 'Page' );
|
||||
}
|
||||
|
||||
|
||||
public static function getPages( $user )
|
||||
{
|
||||
$pages = Page::whereRaw( "id = page_id AND ((SELECT {$user->role} & pagelevel) != 0 OR pagelevel = 0)" )
|
||||
->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;
|
||||
}
|
||||
|
||||
public static function getPageAccessByRoleLevel( $roleLevel )
|
||||
{
|
||||
$rolePages = self::selectRaw( "
|
||||
id,
|
||||
{$roleLevel} AS rolelevel,
|
||||
IF(id = page_id, 'MAIN', 'SUB') AS typepage,
|
||||
pagename,
|
||||
IF((SELECT {$roleLevel} & pagelevel ) = 0, 'F', 'T') AS pageaccess" )
|
||||
->orderByRaw( "page_id, IF(id = page_id, 0, 1)" )
|
||||
->get();
|
||||
|
||||
return $rolePages;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user