PluginProbe
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler / 1.6.6
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler v1.6.6
1.6.6 1.6.5 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.4 1.5.5 1.5.3 1.5.2 1.5.1 1.5.0 1.4.2 1.4.1 1.4.0 1.3.28 1.3.27 1.3.26 1.3.25 1.3.23 1.3.22 1.3.21 1.3.20 1.3.19 All 49 releases
← All changes | app/Helpers/AdminHelper.php +79 -56 1.3.22 → 1.6.6 View file →
@@ -14,9 +14,9 @@
14 14 {
15 15 public static function getProductMenu($product, $echo = false, $activeMenu = '')
16 16 {
17 17 // Skip rendering menu when custom editor modal is open
18 - if (isset($_GET['custom-editor']) && $_GET['custom-editor'] == 'true') {
18 + if (App::request()->get('custom-editor') === 'true') {
19 19 return '';
20 20 }
21 21
22 22 if (!$product instanceof Product) {
@@ -39,16 +39,8 @@
39 39 'product_integrations' => [
40 40 'label' => __('Integrations', 'fluent-cart'),
41 41 'link' => $baseUrl . 'products/' . $productId . '/integrations'
42 42 ],
43 - // 'product_pricing' => [
44 - // 'label' => __('Pricing', 'fluent-cart'),
45 - // 'link' => $baseUrl . 'products/' . $productId . '/pricing'
46 - // ],
47 -// 'product_integrations' => [
48 -// 'label' => __('Integrations', 'fluent-cart'),
49 -// 'link' => $baseUrl . 'products/' . $productId . '/integrations'
50 -// ]
51 43 ], [
52 44 'product_id' => $productId,
53 45 'base_url' => $baseUrl
54 46 ]);
@@ -53,9 +45,9 @@
53 45 'base_url' => $baseUrl
54 46 ]);
55 47
56 48 $request = App::request()->all();
57 - if (isset($request['action']) && $request['action'] == 'edit') {
49 + if (isset($request['action']) && $request['action'] === 'edit') {
58 50 $menuItems['product_details'] = [
59 51 'label' => __('Edit Pricing', 'fluent-cart'),
60 52 'link' => admin_url('admin.php?page=fluent-cart#/products/' . $productId)
61 53 ];
@@ -72,17 +64,74 @@
72 64 'status' => $product->post_status,
73 65 'product_id' => $productId
74 66 ];
75 67
76 - if ($echo) {
77 - App::make('view')->render('admin.admin_product_menu', $data);
78 - } else {
68 + if (!$echo) {
79 69 return (string)App::make('view')->make('admin.admin_product_menu', $data);
80 70 }
71 +
72 + App::make('view')->render('admin.admin_product_menu', $data);
81 73 }
82 74
75 + private static function getProductsMenu($baseUrl)
76 + {
77 + $menu = [
78 + 'label' => __('Products', 'fluent-cart'),
79 + 'link' => $baseUrl . 'products',
80 + 'permission' => ['products/view']
81 + ];
82 +
83 + $children = [];
84 +
85 + // The parent link is not reachable on touch (the tap opens the dropdown),
86 + // and the off-canvas menu renders children only — so list it as a child too.
87 + $children['all_products'] = [
88 + 'label' => __('All Products', 'fluent-cart'),
89 + 'link' => $baseUrl . 'products',
90 + 'permission' => ['products/view']
91 + ];
92 +
93 + // Attributes power the advanced-variations feature.
94 + $children['product_attributes'] = [
95 + 'label' => __('Attributes', 'fluent-cart'),
96 + 'link' => $baseUrl . 'products/attributes',
97 + 'permission' => ['products/view']
98 + ];
99 +
100 + // Inventory only when the advanced-inventory toggle is on.
101 + if (ModuleSettings::isActive('stock_management') &&
102 + ModuleSettings::getSettings('stock_management.enable_advanced_inventory') === 'yes') {
103 + $children['product_inventory'] = [
104 + 'label' => __('Inventory', 'fluent-cart'),
105 + 'link' => $baseUrl . 'products/inventory',
106 + 'permission' => ['products/view']
107 + ];
108 + }
109 +
110 + $menu['children'] = $children;
111 +
112 + return $menu;
113 + }
114 +
83 115 public static function getAdminMenu($echo = false, $activeNav = '')
84 116 {
117 + $menuItems = self::getMenuItems();
118 +
119 + if (!$echo) {
120 + return App::make('view')->make('admin.admin_menu', [
121 + 'menu_items' => $menuItems,
122 + 'active' => $activeNav
123 + ]);
124 + }
125 +
126 + App::make('view')->render('admin.admin_menu', [
127 + 'menu_items' => $menuItems,
128 + 'active' => $activeNav
129 + ]);
130 + }
131 +
132 + public static function getMenuItems($withSettings = false)
133 + {
85 134 $baseUrl = apply_filters('fluent_cart/admin_base_url', admin_url('admin.php?page=fluent-cart#/'), []);
86 135 $menuItems = apply_filters('fluent_cart/global_admin_menu_items', [
87 136 'dashboard' => [
88 137 'label' => __('Dashboard', 'fluent-cart'),
@@ -97,24 +146,9 @@
97 146 'label' => __('Customers', 'fluent-cart'),
98 147 'link' => $baseUrl . 'customers',
99 148 'permission' => ['customers/view', 'customers/manage']
100 149 ],
101 - 'products' => [
102 - 'label' => __('Products', 'fluent-cart'),
103 - 'link' => $baseUrl . 'products',
104 - 'permission' => ['products/view'],
105 - 'children' => [
106 - 'all_products' => [
107 - 'label' => __('All Products', 'fluent-cart'),
108 - 'link' => $baseUrl . 'products'
109 - ],
110 - 'product_inventory' => [
111 - 'label' => __('Inventory', 'fluent-cart'),
112 - 'link' => $baseUrl . 'products/inventory',
113 - 'permission' => ['products/view']
114 - ]
115 - ]
116 - ],
150 + 'products' => self::getProductsMenu($baseUrl),
117 151 'subscriptions' => [
118 152 'label' => __('Subscriptions', 'fluent-cart'),
119 153 'link' => $baseUrl . 'subscriptions',
120 154 'permission' => ['subscriptions/view']
@@ -125,15 +159,8 @@
125 159 'permission' => ['reports/view']
126 160 ],
127 161 ], ['base_url' => $baseUrl]);
128 162
129 - $menuItems['more'] = [
130 - 'label' => __('More', 'fluent-cart'),
131 - 'link' => '#',
132 - 'children' => []
133 - ];
134 -
135 -
136 163 $moreItems = apply_filters('fluent_cart/global_admin_menu_more_items', array_filter([
137 164 'integrations' => [
138 165 'label' => __('Integrations', 'fluent-cart'),
139 166 'link' => $baseUrl . 'integrations',
@@ -165,21 +192,25 @@
165 192 'link' => $baseUrl . 'logs',
166 193 ],
167 194 ]), ['base_url' => $baseUrl]);
168 195
169 - $menuItems['more']['children'] = $moreItems;
196 + if ($withSettings) {
197 + $menuItems['settings'] = [
198 + 'label' => __('Settings', 'fluent-cart'),
199 + 'link' => $baseUrl . 'settings/store-settings',
200 + 'permission' => ['store/settings', 'store/sensitive'],
201 + 'icon' => 'fluent-settings'
202 + ];
203 + }
170 204
171 - if ($echo) {
172 - App::make('view')->render('admin.admin_menu', [
173 - 'menu_items' => $menuItems,
174 - 'active' => $activeNav
175 - ]);
176 - } else {
177 - return App::make('view')->make('admin.admin_menu', [
178 - 'menu_items' => $menuItems,
179 - 'active' => $activeNav
180 - ]);
181 - }
205 + $menuItems['more'] = [
206 + 'label' => __('More', 'fluent-cart'),
207 + 'link' => '#',
208 + 'children' => $moreItems,
209 + ];
210 +
211 +
212 + return $menuItems;
182 213 }
183 214
184 215 public static function pushGlobalAdminAssets()
185 216 {
@@ -194,14 +225,6 @@
194 225 [],
195 226 FLUENTCART_VERSION,
196 227 );
197 228 }
198 -
199 -
200 229 }
201 -
202 -
203 -
204 -
205 -
206 -
207 230