| @@ -34,19 +34,19 @@ | ||
| 34 | 34 | 'Use fluentform/before_global_settings_wrapper instead of fluentform_before_global_settings_wrapper.' |
| 35 | 35 | ); |
| 36 | 36 | do_action('fluentform/before_global_settings_wrapper'); |
| 37 | 37 | ?> |
| 38 | - <div class="ff_settings_sidebar_wrap"> | |
| 39 | - <span class="ff_sidebar_toggle" title="Toggle Setting"> | |
| 40 | - <i class="ff-icon ff-icon-arrow-right"></i> | |
| 41 | - </span> | |
| 38 | + <div class="ff_settings_sidebar_wrap" id="ff_global_settings_sidebar"> | |
| 42 | 39 | <div class="ff_settings_sidebar ff_layout_section_sidebar"> |
| 43 | 40 | <ul class="ff_settings_list ff_list_button"> |
| 44 | 41 | <li class="ff_list_button_item has_sub_menu "> |
| 45 | 42 | <a |
| 46 | 43 | class="ff_list_button_link" |
| 44 | + title="<?php echo esc_attr(__('General', 'fluentform')); ?>" | |
| 45 | + aria-label="<?php echo esc_attr(__('General', 'fluentform')); ?>" | |
| 47 | 46 | href="#"> |
| 48 | - <?php esc_html_e('General','fluentform'); ?> | |
| 47 | + <i class="ff_settings_menu_icon ff-icon ff-icon-setting" aria-hidden="true"></i> | |
| 48 | + <span class="ff_settings_menu_label"><?php esc_html_e('General','fluentform'); ?></span> | |
| 49 | 49 | </a> |
| 50 | 50 | <ul class="ff_list_submenu" > |
| 51 | 51 | <li > |
| 52 | 52 | <a class="ff-page-scroll" |
| @@ -113,10 +113,14 @@ | ||
| 113 | 113 | |
| 114 | 114 | <?php if (ArrayHelper::exists($components, 'payment_settings')) : ?> |
| 115 | 115 | <?php if (Helper::isPaymentCompatible()) : ?> |
| 116 | 116 | <li class="ff_list_button_item has_sub_menu"> |
| 117 | - <a class="ff_list_button_link" href="#"> | |
| 118 | - <?php echo esc_html(ArrayHelper::get($components, 'payment_settings.title', '')); ?> | |
| 117 | + <a class="ff_list_button_link" | |
| 118 | + title="<?php echo esc_attr(ArrayHelper::get($components, 'payment_settings.title', '')); ?>" | |
| 119 | + aria-label="<?php echo esc_attr(ArrayHelper::get($components, 'payment_settings.title', '')); ?>" | |
| 120 | + href="#"> | |
| 121 | + <i class="ff_settings_menu_icon ff-icon ff-icon-payment" aria-hidden="true"></i> | |
| 122 | + <span class="ff_settings_menu_label"><?php echo esc_html(ArrayHelper::get($components, 'payment_settings.title', '')); ?></span> | |
| 119 | 123 | </a> |
| 120 | 124 | <?php if (ArrayHelper::get($components, 'payment_settings.sub_menu')) : ?> |
| 121 | 125 | <ul class="ff_list_submenu"> |
| 122 | 126 | <?php $subMenus = ArrayHelper::get($components, 'payment_settings.sub_menu'); |
| @@ -141,10 +145,13 @@ | ||
| 141 | 145 | <li class="<?php echo esc_attr(Helper::getHtmlElementClass('payment_settings', $currentComponent)); ?> ff_list_button_item has_sub_menu"> |
| 142 | 146 | <a |
| 143 | 147 | class="ff_list_button_link ff-payment-settings-root" |
| 144 | 148 | data-hash="payment_settings" |
| 149 | + title="<?php echo esc_attr(__('Payment', 'fluentform')); ?>" | |
| 150 | + aria-label="<?php echo esc_attr(__('Payment', 'fluentform')); ?>" | |
| 145 | 151 | href="#"> |
| 146 | - <?php esc_html_e('Payment', 'fluentform'); ?> | |
| 152 | + <i class="ff_settings_menu_icon ff-icon ff-icon-payment" aria-hidden="true"></i> | |
| 153 | + <span class="ff_settings_menu_label"><?php esc_html_e('Payment', 'fluentform'); ?></span> | |
| 147 | 154 | </a> |
| 148 | 155 | <?php if (ArrayHelper::get($components, 'payment_settings.sub_menu')) : ?> |
| 149 | 156 | <ul class="ff_list_submenu"> |
| 150 | 157 | <?php |
| @@ -172,10 +179,14 @@ | ||
| 172 | 179 | <?php endif; ?> |
| 173 | 180 | <?php endif; ?> |
| 174 | 181 | |
| 175 | 182 | <li class="ff_list_button_item has_sub_menu"> |
| 176 | - <a class="ff_list_button_link" href="#"> | |
| 177 | - <?php esc_html_e('Security', 'fluentform'); ?> | |
| 183 | + <a class="ff_list_button_link" | |
| 184 | + title="<?php echo esc_attr(__('Security', 'fluentform')); ?>" | |
| 185 | + aria-label="<?php echo esc_attr(__('Security', 'fluentform')); ?>" | |
| 186 | + href="#"> | |
| 187 | + <i class="ff_settings_menu_icon ff-icon ff-icon-lock" aria-hidden="true"></i> | |
| 188 | + <span class="ff_settings_menu_label"><?php esc_html_e('Security', 'fluentform'); ?></span> | |
| 178 | 189 | </a> |
| 179 | 190 | <ul class="ff_list_submenu"> |
| 180 | 191 | <?php foreach ($components as $componentName => $component): ?> |
| 181 | 192 | <?php if (ArrayHelper::get($component, 'hash') == 're_captcha' |
| @@ -205,12 +216,15 @@ | ||
| 205 | 216 | <li class="<?php echo esc_attr(Helper::getHtmlElementClass('managers', $currentComponent)); ?> ff_list_button_item"> |
| 206 | 217 | <a |
| 207 | 218 | class="ff_list_button_link" |
| 208 | 219 | data-hash="managers" |
| 220 | + title="<?php echo esc_attr(__('Permissions', 'fluentform')); ?>" | |
| 221 | + aria-label="<?php echo esc_attr(__('Permissions', 'fluentform')); ?>" | |
| 209 | 222 | href="<?php echo esc_url(Helper::makeMenuUrl('fluent_forms_settings', [ |
| 210 | 223 | 'hash' => 'permissions' |
| 211 | 224 | ])); ?>"> |
| 212 | - <?php esc_html_e('Permissions','fluentform'); ?> | |
| 225 | + <i class="ff_settings_menu_icon ff-icon ff-icon-user" aria-hidden="true"></i> | |
| 226 | + <span class="ff_settings_menu_label"><?php esc_html_e('Permissions','fluentform'); ?></span> | |
| 213 | 227 | </a> |
| 214 | 228 | </li> |
| 215 | 229 | <?php if ( ArrayHelper::get($components, 'admin_approval')) :?> |
| 216 | 230 | |
| @@ -219,12 +233,15 @@ | ||
| 219 | 233 | class="ff_list_button_link" |
| 220 | 234 | data-hash="admin_approval" |
| 221 | 235 | data-settings_key="ff_admin_approval" |
| 222 | 236 | data-component="general-integration-settings" |
| 237 | + title="<?php echo esc_attr(__('Admin approval', 'fluentform')); ?>" | |
| 238 | + aria-label="<?php echo esc_attr(__('Admin approval', 'fluentform')); ?>" | |
| 223 | 239 | href="<?php echo esc_url(Helper::makeMenuUrl('fluent_forms_settings', [ |
| 224 | 240 | 'hash' => 'admin_approval' |
| 225 | 241 | ])); ?>"> |
| 226 | - <?php esc_html_e('Admin approval', 'fluentform'); ?> | |
| 242 | + <i class="ff_settings_menu_icon ff-icon ff-icon-checkmark-square" aria-hidden="true"></i> | |
| 243 | + <span class="ff_settings_menu_label"><?php esc_html_e('Admin approval', 'fluentform'); ?></span> | |
| 227 | 244 | </a> |
| 228 | 245 | </li> |
| 229 | 246 | <?php endif; ?> |
| 230 | 247 | <li class="<?php echo esc_attr(Helper::getHtmlElementClass('double_optin_settings', $currentComponent)); ?> ff_list_button_item"> |
| @@ -230,33 +247,62 @@ | ||
| 230 | 247 | <li class="<?php echo esc_attr(Helper::getHtmlElementClass('double_optin_settings', $currentComponent)); ?> ff_list_button_item"> |
| 231 | 248 | <a |
| 232 | 249 | class="ff_list_button_link" |
| 233 | 250 | data-hash="double_optin_settings" |
| 251 | + title="<?php echo esc_attr(__('Double Opt-in', 'fluentform')); ?>" | |
| 252 | + aria-label="<?php echo esc_attr(__('Double Opt-in', 'fluentform')); ?>" | |
| 234 | 253 | href="<?php echo esc_url(Helper::makeMenuUrl('fluent_forms_settings', [ |
| 235 | 254 | 'hash' => 'double_optin_settings' |
| 236 | 255 | ])); ?>"> |
| 237 | - <?php esc_html_e('Double Opt-in', 'fluentform'); ?> | |
| 256 | + <i class="ff_settings_menu_icon ff-icon ff-icon-email" aria-hidden="true"></i> | |
| 257 | + <span class="ff_settings_menu_label"><?php esc_html_e('Double Opt-in', 'fluentform'); ?></span> | |
| 238 | 258 | </a> |
| 239 | 259 | </li> |
| 240 | 260 | <?php |
| 261 | + // Every control on this card (the enable toggle, the | |
| 262 | + // adapter install) requires manage_options, so showing it | |
| 263 | + // to a settings manager would only offer them a switch | |
| 264 | + // that always errors. | |
| 265 | + if (current_user_can('manage_options')) { ?> | |
| 266 | + <li class="<?php echo esc_attr(Helper::getHtmlElementClass('mcp_settings', $currentComponent)); ?> ff_list_button_item"> | |
| 267 | + <a | |
| 268 | + class="ff_list_button_link" | |
| 269 | + data-hash="mcp_settings" | |
| 270 | + title="<?php echo esc_attr(__('MCP for AI Agents', 'fluentform')); ?>" | |
| 271 | + aria-label="<?php echo esc_attr(__('MCP for AI Agents', 'fluentform')); ?>" | |
| 272 | + href="<?php echo esc_url(Helper::makeMenuUrl('fluent_forms_settings', [ | |
| 273 | + 'hash' => 'mcp_settings' | |
| 274 | + ])); ?>"> | |
| 275 | + <i class="ff_settings_menu_icon ff-icon ff-icon-code" aria-hidden="true"></i> | |
| 276 | + <span class="ff_settings_menu_label"><?php esc_html_e('MCP for AI Agents', 'fluentform'); ?></span> | |
| 277 | + </a> | |
| 278 | + </li> | |
| 279 | + <?php } ?> | |
| 280 | + <?php | |
| 241 | 281 | if (ArrayHelper::exists($components, 'InventoryManager')) { ?> |
| 242 | 282 | <li class="<?php echo esc_attr(Helper::getHtmlElementClass('inventory', $currentComponent)); ?> ff_list_button_item"> |
| 243 | 283 | <a |
| 244 | 284 | class="ff_list_button_link" |
| 245 | 285 | data-hash="inventory_manager" |
| 286 | + title="<?php echo esc_attr(__('Inventory Manager', 'fluentform')); ?>" | |
| 287 | + aria-label="<?php echo esc_attr(__('Inventory Manager', 'fluentform')); ?>" | |
| 246 | 288 | href="<?php |
| 247 | 289 | echo esc_url(Helper::makeMenuUrl('fluent_forms_settings', [ |
| 248 | 290 | 'hash' => 'inventory_manager' |
| 249 | 291 | ])); ?>"> |
| 250 | - <?php | |
| 251 | - esc_html_e('Inventory Manager', 'fluentform'); ?> | |
| 292 | + <i class="ff_settings_menu_icon ff-icon ff-icon-layers" aria-hidden="true"></i> | |
| 293 | + <span class="ff_settings_menu_label"><?php esc_html_e('Inventory Manager', 'fluentform'); ?></span> | |
| 252 | 294 | </a> |
| 253 | 295 | </li> |
| 254 | 296 | <?php } ?> |
| 255 | 297 | |
| 256 | 298 | <li class="ff_list_button_item has_sub_menu"> |
| 257 | - <a class="ff_list_button_link" href="#"> | |
| 258 | - <?php esc_html_e('Configure Integrations', 'fluentform'); ?> | |
| 299 | + <a class="ff_list_button_link" | |
| 300 | + title="<?php echo esc_attr(__('Configure Integrations', 'fluentform')); ?>" | |
| 301 | + aria-label="<?php echo esc_attr(__('Configure Integrations', 'fluentform')); ?>" | |
| 302 | + href="#"> | |
| 303 | + <i class="ff_settings_menu_icon ff-icon ff-icon-puzzle" aria-hidden="true"></i> | |
| 304 | + <span class="ff_settings_menu_label"><?php esc_html_e('Configure Integrations', 'fluentform'); ?></span> | |
| 259 | 305 | </a> |
| 260 | 306 | <ul class="ff_list_submenu"> |
| 261 | 307 | <?php foreach ($components as $componentName => $component): ?> |
| 262 | 308 | <?php |
| @@ -263,10 +309,10 @@ | ||
| 263 | 309 | if (ArrayHelper::get($component, 'hash') != 're_captcha' |
| 264 | 310 | && ArrayHelper::get($component, 'hash') != 'h_captcha' |
| 265 | 311 | && ArrayHelper::get($component, 'hash') != 'turnstile' |
| 266 | 312 | && ArrayHelper::get($component, 'hash') != 'cleantalk' |
| 267 | - && ArrayHelper::get($component, 'query.component') != 'payment_settings' | |
| 268 | - && ArrayHelper::get($component, 'query.component') != 'license_page' | |
| 313 | + && $componentName != 'payment_settings' | |
| 314 | + && $componentName != 'license_page' | |
| 269 | 315 | && ArrayHelper::get($component, 'hash') != 'admin_approval' |
| 270 | 316 | && ArrayHelper::get($component, 'hash') != 'inventory_manager' |
| 271 | 317 | ) |
| 272 | 318 | : ?> |
| @@ -293,11 +339,14 @@ | ||
| 293 | 339 | <li class="<?php echo esc_attr(Helper::getHtmlElementClass('license_page', $currentComponent)); ?> ff_list_button_item"> |
| 294 | 340 | <a |
| 295 | 341 | class="ff_list_button_link" |
| 296 | 342 | data-component="<?php echo esc_attr(ArrayHelper::get($licensePage, 'query.component', '')); ?>" |
| 343 | + title="<?php echo esc_attr($licensePage['title']); ?>" | |
| 344 | + aria-label="<?php echo esc_attr($licensePage['title']); ?>" | |
| 297 | 345 | href="<?php echo esc_url(Helper::makeMenuUrl('fluent_forms_settings', $licensePage)); ?>" |
| 298 | 346 | > |
| 299 | - <?php echo esc_attr($licensePage['title']); ?> | |
| 347 | + <i class="ff_settings_menu_icon ff-icon ff-icon-handshake" aria-hidden="true"></i> | |
| 348 | + <span class="ff_settings_menu_label"><?php echo esc_attr($licensePage['title']); ?></span> | |
| 300 | 349 | </a> |
| 301 | 350 | </li> |
| 302 | 351 | <?php endif ?> |
| 303 | 352 | |
| @@ -305,10 +354,14 @@ | ||
| 305 | 354 | <?php if ($customLinks) : ?> |
| 306 | 355 | <?php foreach ($customLinks as $customLink): ?> |
| 307 | 356 | <?php if($subLinks = ArrayHelper::get($customLink, 'sub_links')) :?> |
| 308 | 357 | <li class="ff_list_button_item has_sub_menu"> |
| 309 | - <a class="ff_list_button_link" href="#"> | |
| 310 | - <?php echo esc_html(ArrayHelper::get($customLink, 'title', '')); ?> | |
| 358 | + <a class="ff_list_button_link" | |
| 359 | + title="<?php echo esc_attr(ArrayHelper::get($customLink, 'title', '')); ?>" | |
| 360 | + aria-label="<?php echo esc_attr(ArrayHelper::get($customLink, 'title', '')); ?>" | |
| 361 | + href="#"> | |
| 362 | + <i class="ff_settings_menu_icon ff-icon <?php echo esc_attr(ArrayHelper::get($customLink, 'icon', 'ff-icon-link')); ?>" aria-hidden="true"></i> | |
| 363 | + <span class="ff_settings_menu_label"><?php echo esc_html(ArrayHelper::get($customLink, 'title', '')); ?></span> | |
| 311 | 364 | </a> |
| 312 | 365 | <ul class="ff_list_submenu"> |
| 313 | 366 | <?php foreach ($subLinks as $customSubLink): ?> |
| 314 | 367 | <li |
| @@ -338,13 +391,16 @@ | ||
| 338 | 391 | data-hash="<?php echo esc_attr(ArrayHelper::get($customLink, 'hash', 'custom_component')) ?>" |
| 339 | 392 | data-settings_key="custom_component" |
| 340 | 393 | data-component="custom_component" |
| 341 | 394 | data-component_name="<?php echo esc_attr(ArrayHelper::get($customLink, 'component', '')); ?>" |
| 395 | + title="<?php echo esc_attr(ArrayHelper::get($customLink, 'title', '')); ?>" | |
| 396 | + aria-label="<?php echo esc_attr(ArrayHelper::get($customLink, 'title', '')); ?>" | |
| 342 | 397 | href="<?php echo esc_url(Helper::makeMenuUrl('fluent_forms_settings', [ |
| 343 | 398 | 'hash' => esc_attr(ArrayHelper::get($customLink, 'hash', 'custom_component')), |
| 344 | 399 | ])); ?>" |
| 345 | 400 | > |
| 346 | - <?php echo esc_attr(ArrayHelper::get($customLink, 'title', '')); ?> | |
| 401 | + <i class="ff_settings_menu_icon ff-icon <?php echo esc_attr(ArrayHelper::get($customLink, 'icon', 'ff-icon-link')); ?>" aria-hidden="true"></i> | |
| 402 | + <span class="ff_settings_menu_label"><?php echo esc_attr(ArrayHelper::get($customLink, 'title', '')); ?></span> | |
| 347 | 403 | </a> |
| 348 | 404 | </li> |
| 349 | 405 | <?php endif ?> |
| 350 | 406 | <?php endforeach; ?> |
| @@ -352,8 +408,12 @@ | ||
| 352 | 408 | <?php endif ?> |
| 353 | 409 | |
| 354 | 410 | </ul> |
| 355 | 411 | </div> |
| 412 | + <button type="button" class="ff_sidebar_toggle" title="<?php echo esc_attr(__('Collapse settings menu', 'fluentform')); ?>" aria-label="<?php echo esc_attr(__('Collapse settings menu', 'fluentform')); ?>" aria-controls="ff_global_settings_sidebar" aria-expanded="true" data-collapse-label="<?php echo esc_attr(__('Collapse settings menu', 'fluentform')); ?>" data-expand-label="<?php echo esc_attr(__('Expand settings menu', 'fluentform')); ?>"> | |
| 413 | + <i class="ff-icon ff-icon-arrow-right" aria-hidden="true"></i> | |
| 414 | + <span class="ff_sidebar_toggle_text"><?php echo esc_html(__('Collapse menu', 'fluentform')); ?></span> | |
| 415 | + </button> | |
| 356 | 416 | </div> |
| 357 | 417 | |
| 358 | 418 | <div class="ff_settings_container ff_layout_section_container" id="ff_settings_container"> |
| 359 | 419 | <?php |