PluginProbe
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler / 1.6.5
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler v1.6.5
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 trunk All 48 releases
← All changes | app/Helpers/AdminHelper.php +79 -45 1.3.21 → 1.6.5 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,13 +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 - ],
150 + 'products' => self::getProductsMenu($baseUrl),
106 151 'subscriptions' => [
107 152 'label' => __('Subscriptions', 'fluent-cart'),
108 153 'link' => $baseUrl . 'subscriptions',
109 154 'permission' => ['subscriptions/view']
@@ -114,15 +159,8 @@
114 159 'permission' => ['reports/view']
115 160 ],
116 161 ], ['base_url' => $baseUrl]);
117 162
118 - $menuItems['more'] = [
119 - 'label' => __('More', 'fluent-cart'),
120 - 'link' => '#',
121 - 'children' => []
122 - ];
123 -
124 -
125 163 $moreItems = apply_filters('fluent_cart/global_admin_menu_more_items', array_filter([
126 164 'integrations' => [
127 165 'label' => __('Integrations', 'fluent-cart'),
128 166 'link' => $baseUrl . 'integrations',
@@ -154,21 +192,25 @@
154 192 'link' => $baseUrl . 'logs',
155 193 ],
156 194 ]), ['base_url' => $baseUrl]);
157 195
158 - $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 + }
159 204
160 - if ($echo) {
161 - App::make('view')->render('admin.admin_menu', [
162 - 'menu_items' => $menuItems,
163 - 'active' => $activeNav
164 - ]);
165 - } else {
166 - return App::make('view')->make('admin.admin_menu', [
167 - 'menu_items' => $menuItems,
168 - 'active' => $activeNav
169 - ]);
170 - }
205 + $menuItems['more'] = [
206 + 'label' => __('More', 'fluent-cart'),
207 + 'link' => '#',
208 + 'children' => $moreItems,
209 + ];
210 +
211 +
212 + return $menuItems;
171 213 }
172 214
173 215 public static function pushGlobalAdminAssets()
174 216 {
@@ -183,14 +225,6 @@
183 225 [],
184 226 FLUENTCART_VERSION,
185 227 );
186 228 }
187 -
188 -
189 229 }
190 -
191 -
192 -
193 -
194 -
195 -
196 230