HEX
Server: Apache
System: Linux sxb1plmcpnl510113.prod.sxb1.secureserver.net 4.18.0-553.58.1.lve.el8.x86_64 #1 SMP Fri Jul 4 12:07:06 UTC 2025 x86_64
User: acnbijigo78q (10488831)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: /home/acnbijigo78q/public_html/wp-content/plugins/acfml/classes/Tools/AdminUrl.php
<?php

namespace ACFML\Tools;

use WPML\UIPage;

class AdminUrl {

	const DASHBOARD_PARAM_SECTIONS          = 'sections';
	const DASHBOARD_SECTION_STRING          = 'string';
	const DASHBOARD_PARAM_STRING_DOMAIN     = 'predefinedStringDomain';
	const DASHBOARD_SECTION_PACKAGE_BY_SLUG = 'stringPackage/%s';

	/**
	 * @param string[] $sections
	 * @param string   $stringDomain
	 *
	 * @return string
	 */
	private static function getWPMLTMDashboard( array $sections = [], string $stringDomain = '' ) : string {
		$dashboardUrl = admin_url( UIPage::getTMDashboard() );
		if ( empty( $sections ) ) {
			return $dashboardUrl;
		}

		$dashboardUrl = add_query_arg(
			[ self::DASHBOARD_PARAM_SECTIONS => implode( ',', $sections ) ],
			$dashboardUrl
		);

		if ( in_array( self::DASHBOARD_SECTION_STRING, $sections, true ) && $stringDomain ) {
			$dashboardUrl = add_query_arg(
				[ self::DASHBOARD_PARAM_STRING_DOMAIN => $stringDomain ],
				$dashboardUrl
			);
		}

		return $dashboardUrl;
	}

	/**
	 * @param string $packageKindSlug
	 *
	 * @return string
	 */
	public static function getWPMLTMDashboardPackageSection( string $packageKindSlug ) : string {
		$section = sprintf( self::DASHBOARD_SECTION_PACKAGE_BY_SLUG, $packageKindSlug );
		return self::getWPMLTMDashboard( [ $section ] );
	}

}