Server IP : 89.26.249.46  /  Your IP : 216.73.216.230
Web Server : Apache
System : Linux a.cp.cloudlink.pt 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User : eticalga ( 1129)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/eticalga/www/files/plugins/acfml/classes/Tools/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/eticalga/www/files/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 ] );
	}

}