MenuController::generatemenucontrol()   A
last analyzed

Complexity

Conditions 3
Paths 2

Size

Total Lines 15
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 11
c 0
b 0
f 0
nc 2
nop 0
dl 0
loc 15
rs 9.9
1
<?php
2
3
namespace Chuckbe\Chuckcms\Controllers;
4
5
use Chuckbe\Chuckcms\Models\MenuItems;
6
use Chuckbe\Chuckcms\Models\Menus;
7
use Chuckbe\Chuckcms\Models\Page;
8
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
9
use Illuminate\Foundation\Bus\DispatchesJobs;
10
use Illuminate\Foundation\Validation\ValidatesRequests;
11
use Illuminate\Routing\Controller as BaseController;
12
13
class MenuController extends BaseController
14
{
15
    use AuthorizesRequests;
16
    use DispatchesJobs;
17
    use ValidatesRequests;
18
19
    protected $page;
20
21
    /**
22
     * Create a new controller instance.
23
     *
24
     * @return void
25
     */
26
    public function __construct(Page $page)
27
    {
28
        $this->page = $page;
29
    }
30
31
    /**
32
     * Show the dashboard -> menus index.
33
     *
34
     * @return \Illuminate\View\View
35
     */
36
    public function index()
37
    {
38
        $pages = $this->page->get();
39
40
        return view('chuckcms::backend.menus.index', compact('pages'));
41
    }
42
43
    public function createnewmenu()
44
    {
45
        $menu = new Menus();
46
        $menu->name = request()->input('menuname');
47
        $menu->save();
48
49
        return json_encode(['resp' => $menu->id]);
50
    }
51
52
    public function deleteitemmenu()
53
    {
54
        $menuitem = MenuItems::find(request()->input('id'));
55
56
        $menuitem->delete();
57
    }
58
59
    public function deletemenug()
60
    {
61
        $menus = new MenuItems();
62
        $getall = $menus->getall(request()->input('id'));
63
        if (count($getall) == 0) {
64
            $menudelete = Menus::find(request()->input('id'));
65
            $menudelete->delete();
66
67
            return json_encode(['resp' => 'you delete this item']);
68
        } else {
69
            return json_encode(['resp' => 'You have to delete all items first', 'error' => 1]);
70
        }
71
    }
72
73
    public function updateitem()
74
    {
75
        $arraydata = request()->input('arraydata');
76
        if (is_array($arraydata)) {
77
            foreach ($arraydata as $value) {
78
                $menuitem = MenuItems::find($value['id']);
79
                $menuitem->label = $value['label'];
80
                $menuitem->link = $value['link'];
81
                $menuitem->class = $value['class'];
82
                $menuitem->save();
83
            }
84
        } else {
85
            $menuitem = MenuItems::find(request()->input('id'));
86
            $menuitem->label = request()->input('label');
87
            $menuitem->link = request()->input('url');
88
            $menuitem->class = request()->input('clases');
89
            $menuitem->save();
90
        }
91
    }
92
93
    public function addcustommenu()
94
    {
95
        $menuitem = new MenuItems();
96
        $menuitem->label = request()->input('labelmenu');
97
        $menuitem->link = request()->input('linkmenu');
98
        $menuitem->menu = request()->input('idmenu');
99
        $menuitem->sort = MenuItems::getNextSortRoot(request()->input('idmenu'));
100
        $menuitem->save();
101
    }
102
103
    public function addpagemenu()
104
    {
105
        $menuitem = new MenuItems();
106
        $menuitem->label = request()->input('labelmenu');
107
        $menuitem->link = 'page:'.request()->input('linkmenu');
108
        $menuitem->menu = request()->input('idmenu');
109
        $menuitem->sort = MenuItems::getNextSortRoot(request()->input('idmenu'));
110
        $menuitem->save();
111
    }
112
113
    public function generatemenucontrol()
114
    {
115
        $menu = Menus::find(request()->input('idmenu'));
116
        $menu->name = request()->input('menuname');
117
        $menu->save();
118
        if (is_array(request()->input('arraydata'))) {
119
            foreach (request()->input('arraydata') as $value) {
120
                $menuitem = MenuItems::find($value['id']);
121
                $menuitem->parent = $value['parent'];
122
                $menuitem->sort = $value['sort'];
123
                $menuitem->depth = $value['depth'];
124
                $menuitem->save();
125
            }
126
        }
127
        echo json_encode(['resp' => 1]);
128
    }
129
}
130