-
Notifications
You must be signed in to change notification settings - Fork 0
/
admin.php
46 lines (40 loc) · 1.17 KB
/
admin.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
/**
* admin
* @aurhor Vladimir Shestakov
* @version 1.0
*/
namespace boolive\admin;
use boolive\basic\layout\layout;
use boolive\core\auth\Auth;
use boolive\core\request\Request;
use boolive\core\values\Rule;
class admin extends layout
{
protected $path = '/admin';
function startRule()
{
return Rule::arrays([
'REQUEST' => Rule::arrays([
'path' => Rule::regexp('/^'.preg_quote($this->path,'/').'($|\/)/ui')->required()
])
]);
}
function work(Request $request)
{
$user = Auth::get_user();
if($user->uri()!='/system/users/admin'){
$request->redirect('sign-in');
}
$request->mix(['REQUEST' => ['object' => mb_substr($request['REQUEST']['path'], mb_strlen($this->path))]]);
return parent::work($request);
}
function show($v, Request $request)
{
$v['menu_side'] = $this->menu_side->start($request);
$v['menu_main'] = $this->menu_main->start($request);
$v['menu_operations'] = $this->menu_operations->start($request);
$v['main'] = $this->main->start($request);
return parent::show($v, $request);
}
}