Uname: Linux webm012.cluster130.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Software: Apache
PHP version: 8.0.30 [ PHP INFO ] PHP os: Linux
Server Ip: 145.239.37.162
Your Ip: 216.73.216.190
User: dreampi (1009562) | Group: users (100)
Safe Mode: OFF
Disable Function:
_dyuweyrj4,_dyuweyrj4r,dl

name : Menu.php
<?php

namespace AmeliaBooking\Infrastructure\WP\config;

use AmeliaBooking\Domain\Services\Settings\SettingsService;
use AmeliaBooking\Infrastructure\Licence\Licence;
use AmeliaBooking\Infrastructure\WP\Translations\BackendStrings;

/**
 * Class Menu
 */
class Menu
{
    /** @var SettingsService $settingsService */
    private $settingsService;

    /**
     * Menu constructor.
     *
     * @param SettingsService $settingsService
     */
    public function __construct(SettingsService $settingsService)
    {
        $this->settingsService = $settingsService;
    }

    /**
     * @return array
     */
    public function __invoke()
    {
        $defaultPageOnBackend = $this->settingsService->getSetting(
            'general',
            'defaultPageOnBackend'
        );

        $defaultPages = [
            [
                'parentSlug' => 'amelia',
                'pageTitle'  => 'Dashboard',
                'menuTitle'  => BackendStrings::getDashboardStrings()['dashboard'],
                'capability' => 'amelia_read_dashboard',
                'menuSlug'   => 'wpamelia-dashboard',
            ],
            [
                'parentSlug' => 'amelia',
                'pageTitle'  => 'Calendar',
                'menuTitle'  => BackendStrings::getCalendarStrings()['calendar'],
                'capability' => 'amelia_read_calendar',
                'menuSlug'   => 'wpamelia-calendar',
            ],
            [
                'parentSlug' => 'amelia',
                'pageTitle'  => 'Appointments',
                'menuTitle'  => BackendStrings::getCommonStrings()['appointments'],
                'capability' => 'amelia_read_appointments',
                'menuSlug'   => 'wpamelia-appointments',
            ],
            [
                'parentSlug' => 'amelia',
                'pageTitle'  => 'Events',
                'menuTitle'  => BackendStrings::getCommonStrings()['events'],
                'capability' => 'amelia_read_events',
                'menuSlug'   => 'wpamelia-events',
            ]
        ];

        $defaultPageKey = array_search($defaultPageOnBackend, array_column($defaultPages, 'pageTitle'), true);

        $defaultPageElement = array_splice($defaultPages, $defaultPageKey, 1);

        $menuItems = [
                [
                    'parentSlug' => 'amelia',
                    'pageTitle'  => 'Services',
                    'menuTitle'  => BackendStrings::getCommonStrings()['services'],
                    'capability' => 'amelia_read_services',
                    'menuSlug'   => 'wpamelia-services',
                ],
                [
                    'parentSlug' => 'amelia',
                    'pageTitle'  => 'Locations',
                    'menuTitle'  => BackendStrings::getCommonStrings()['locations'],
                    'capability' => 'amelia_read_locations',
                    'menuSlug'   => 'wpamelia-locations',
                ],
                [
                    'parentSlug' => 'amelia',
                    'pageTitle'  => 'Customers',
                    'menuTitle'  => BackendStrings::getCustomerStrings()['customers'],
                    'capability' => 'amelia_read_customers',
                    'menuSlug'   => 'wpamelia-customers',
                ],
                [
                    'parentSlug' => 'amelia',
                    'pageTitle'  => 'Finance',
                    'menuTitle'  => BackendStrings::getPaymentStrings()['finance'],
                    'capability' => 'amelia_read_finance',
                    'menuSlug'   => 'wpamelia-finance',
                ],
                [
                    'parentSlug' => 'amelia',
                    'pageTitle'  => 'Notifications',
                    'menuTitle'  => BackendStrings::getNotificationsStrings()['notifications'],
                    'capability' => 'amelia_read_notifications',
                    'menuSlug'   => 'wpamelia-notifications',
                ],
                [
                    'parentSlug' => 'amelia',
                    'pageTitle'  => 'Customize',
                    'menuTitle'  => BackendStrings::getCustomizeStrings()['customize'],
                    'capability' => 'amelia_read_customize',
                    'menuSlug'   => 'wpamelia-customize',
                ],
                [
                    'parentSlug' => 'amelia',
                    'pageTitle'  => 'Customize New',
                    'menuTitle'  => BackendStrings::getCustomizeStrings()['customize'] . ' New',
                    'capability' => 'amelia_read_customize',
                    'menuSlug'   => 'wpamelia-customize-new',
                ],
                [
                    'parentSlug' => 'amelia',
                    'pageTitle'  => 'Custom Fields',
                    'menuTitle'  => BackendStrings::getCustomizeStrings()['custom_fields'],
                    'capability' => 'amelia_read_customize',
                    'menuSlug'   => 'wpamelia-cf',
                ],
                [
                    'parentSlug' => 'amelia',
                    'pageTitle'  => 'Settings',
                    'menuTitle'  => BackendStrings::getSettingsStrings()['settings'],
                    'capability' => 'amelia_read_settings',
                    'menuSlug'   => 'wpamelia-settings',
                ],
                [
                    'parentSlug' => 'amelia',
                    'pageTitle'  => 'What\'s new',
                    'menuTitle'  => BackendStrings::getCommonStrings()['whats_new'],
                    'capability' => 'amelia_read_whats_new',
                    'menuSlug'   => 'wpamelia-whats-new',
                ],
            ];

        if ($liteMenuItem = Licence::getLiteMenuItem()) {
            $menuItems[] = $liteMenuItem;
        }

        if ($employeesMenuItem = Licence::getEmployeesMenuItem()) {
            array_unshift($menuItems, $employeesMenuItem);
        }

        return array_merge(
            $defaultPageElement,
            $defaultPages,
            $menuItems
        );
    }
}
© 2026 GrazzMean-Shell