SILENT KILLERPanel

Current Path: > home > codekrsu > > escapematrixonline.com > wp-content > plugins > optinmonster > OMAPI >


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: /home/codekrsu//escapematrixonline.com/wp-content/plugins/optinmonster/OMAPI/

NameTypeSizeLast ModifiedActions
EasyDigitalDownloads Directory - -
Elementor Directory - -
Integrations Directory - -
MemberPress Directory - -
Plugins Directory - -
Promos Directory - -
Rules Directory - -
Shortcodes Directory - -
WPForms Directory - -
WooCommerce Directory - -
Actions.php File 7126 bytes February 25 2025 01:06:30.
Ajax.php File 1494 bytes November 17 2021 04:02:26.
Api.php File 14508 bytes February 25 2025 01:06:30.
ApiAuth.php File 2463 bytes October 07 2021 23:34:50.
ApiKey.php File 5205 bytes July 01 2024 22:14:00.
AssetLoader.php File 5721 bytes April 01 2021 19:57:40.
BaseRestApi.php File 6807 bytes October 15 2024 19:52:30.
Blocks.php File 13118 bytes March 26 2025 18:07:30.
ClassicEditor.php File 7085 bytes July 19 2022 01:42:26.
ConstantContact.php File 7602 bytes July 01 2024 22:14:00.
Debug.php File 4453 bytes July 01 2024 22:14:00.
EasyDigitalDownloads.php File 9553 bytes July 01 2024 22:14:00.
Elementor.php File 5493 bytes January 18 2023 22:34:56.
Inserter.php File 11562 bytes September 14 2022 06:35:44.
InstallSkin.php File 1386 bytes January 20 2021 22:11:00.
InstallSkinCompat.php File 1395 bytes January 20 2021 22:11:00.
MailPoet.php File 13680 bytes July 01 2024 22:14:00.
MemberPress.php File 4216 bytes June 23 2023 01:24:22.
Menu.php File 15787 bytes November 27 2024 23:45:46.
Notifications.php File 18910 bytes October 15 2024 19:52:30.
OmuApi.php File 4122 bytes October 27 2021 22:35:34.
Output.php File 24860 bytes September 16 2024 23:28:26.
Pages.php File 17172 bytes March 31 2025 18:30:04.
Partners.php File 4805 bytes July 01 2024 22:14:00.
Plugins.php File 24923 bytes April 23 2024 17:54:30.
Promos.php File 1132 bytes September 14 2022 06:35:44.
Refresh.php File 5891 bytes March 31 2025 18:30:04.
RestApi.php File 39506 bytes October 15 2024 19:52:30.
RevenueAttribution.php File 3037 bytes May 17 2022 18:55:22.
Review.php File 1482 bytes September 08 2021 19:22:54.
Rules.php File 24003 bytes July 01 2024 22:14:00.
Save.php File 11057 bytes October 13 2023 01:19:08.
Shortcode.php File 3668 bytes November 30 2021 23:04:18.
Sites.php File 8554 bytes July 01 2024 22:14:00.
Support.php File 8446 bytes February 25 2025 01:06:30.
Type.php File 2496 bytes February 11 2023 00:30:54.
Urls.php File 8996 bytes November 13 2024 02:13:58.
Utils.php File 7590 bytes March 31 2025 18:30:04.
Validate.php File 9280 bytes February 22 2024 23:03:38.
WPForms.php File 2666 bytes July 27 2023 00:06:52.
Welcome.php File 4930 bytes November 17 2021 04:02:26.
Widget.php File 6652 bytes November 17 2021 04:02:26.
WooCommerce.php File 20046 bytes July 01 2024 22:14:00.
Wordfence.php File 5606 bytes October 09 2024 11:38:44.
WpErrorException.php File 714 bytes November 17 2020 01:51:02.

Reading File: /home/codekrsu//escapematrixonline.com/wp-content/plugins/optinmonster/OMAPI//Urls.php

<?php
/**
 * Urls class.
 *
 * @since 2.2.0
 *
 * @package OMAPI
 * @author  Justin Sternberg
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Urls class.
 *
 * @since 2.2.0
 */
class OMAPI_Urls {

	/**
	 * Get the settings url.
	 *
	 * @since 2.2.0
	 *
	 * @param  array $args Array of query args.
	 *
	 * @return string
	 */
	public static function settings( $args = array() ) {
		return self::om_admin( 'settings', $args );
	}

	/**
	 * Get the campaigns url.
	 *
	 * @since 2.2.0
	 *
	 * @param  array $args Array of query args.
	 *
	 * @return string
	 */
	public static function campaigns( $args = array() ) {
		return self::om_admin( 'campaigns', $args );
	}

	/**
	 * Get the templates url.
	 *
	 * @since 2.2.0
	 *
	 * @param  array $args Array of query args.
	 *
	 * @return string
	 */
	public static function templates( $args = array() ) {
		return self::om_admin( 'templates', $args );
	}

	/**
	 * Get the playbooks url.
	 *
	 * @since 2.12.0
	 *
	 * @param  array $args Array of query args.
	 *
	 * @return string
	 */
	public static function playbooks( $args = array() ) {
		return self::om_admin( 'playbooks', $args );
	}

	/**
	 * Get the OM wizard url.
	 *
	 * @since 2.2.0
	 *
	 * @return string
	 */
	public static function wizard() {
		return self::dashboard( array( 'onboarding' => true ) );
	}

	/**
	 * Get the contextual OM dashboard url.
	 *
	 * @since 2.2.0
	 *
	 * @param  array $args Array of query args.
	 *
	 * @return string
	 */
	public static function dashboard( $args = array() ) {
		return self::om_admin( 'dashboard', $args );
	}

	/**
	 * Get the contextual OM university url.
	 *
	 * @since 2.13.8
	 *
	 * @param  array $args Array of query args.
	 *
	 * @return string
	 */
	public static function university( $args = array() ) {
		return self::om_admin( 'university', $args );
	}

	/**
	 * Get the campaign output settings edit url.
	 *
	 * @since 2.2.0
	 *
	 * @param  string $campaign_slug The campaign slug to edit.
	 * @param  array  $args Array of query args.
	 *
	 * @return string
	 */
	public static function campaign_output_settings( $campaign_slug, $args = array() ) {
		$args = array_merge( $args, array( 'campaignId' => $campaign_slug ) );

		return self::campaigns( $args );
	}

	/**
	 * Get the OM onboarding dashboard url.
	 *
	 * @since 2.2.0
	 *
	 * @return string
	 */
	public static function onboarding() {
		return self::wizard();
	}

	/**
	 * Get a link to an OM admin page.
	 *
	 * @since 2.2.0
	 *
	 * @param  string $page Page shortened slug.
	 * @param  array  $args Array of query args.
	 *
	 * @return string
	 */
	public static function om_admin( $page, $args ) {
		$defaults = array(
			'page' => 'optin-monster-' . $page,
		);

		return self::admin( wp_parse_args( $args, $defaults ) );
	}

	/**
	 * Get an admin page url.
	 *
	 * @since 2.2.0
	 *
	 * @param  array $args Array of query args.
	 *
	 * @return string
	 */
	public static function admin( $args = array() ) {
		$url = add_query_arg( $args, admin_url( 'admin.php' ) );

		return esc_url_raw( $url );
	}

	/**
	 * Get app url, with proper query args set to ensure going to correct account, and setting return
	 * query arg to come back (if relevant on the destination page).
	 *
	 * @since 2.2.0
	 *
	 * @param  string $path The path on the app.
	 * @param  string $return_url Url to return. Will default to wp_get_referer().
	 *
	 * @return string        The app url.
	 */
	public static function om_app( $path, $return_url = '' ) {
		$app_url           = OPTINMONSTER_APP_URL . '/';
		$final_destination = $app_url . $path;

		if ( empty( $return_url ) ) {

			$return_url = wp_get_referer();
			if ( empty( $return_url ) ) {
				$return_url = self::dashboard();
			}
		}
		$return_url = rawurlencode( $return_url );

		$final_destination = add_query_arg( 'return', $return_url, $final_destination );

		$url = add_query_arg( 'redirect_to', rawurlencode( $final_destination ), $app_url );

		$account_id = OMAPI::get_instance()->get_option( 'accountUserId' );
		if ( ! empty( $account_id ) ) {
			$url = add_query_arg( 'accountId', $account_id, $url );
		}

		return $url;
	}

	/**
	 * Get upgrade url, with utm_medium param and optional feature.
	 *
	 * @since 2.4.0
	 *
	 * @param  string $utm_medium The utm_medium query param.
	 * @param  string $feature    The feature to pass to the upgrade page.
	 * @param  string $return_url Url to return. Will default to wp_get_referer().
	 * @param  array  $args       Additional query args.
	 *
	 * @return string        The upgrade url.
	 */
	public static function upgrade( $utm_medium, $feature = 'none', $return_url = '', $args = array() ) {
		$args = self::upgrade_params( $utm_medium, $feature, $args );
		$path = add_query_arg( $args, 'account/wp-upgrade/' );

		return self::om_app( $path, $return_url );
	}

	/**
	 * Get the query args for the upgrade url.
	 *
	 * @since 2.15.0
	 *
	 * @param  string $utm_medium The utm_medium query param.
	 * @param  string $feature    The feature to pass to the upgrade page.
	 * @param  array  $args       Additional query args.
	 *
	 * @return array              The query args.
	 */
	public static function upgrade_params( $utm_medium, $feature = 'none', $args = array() ) {
		$defaults = wp_parse_args(
			self::get_partner_params( OPTINMONSTER_APP_URL . '/account/wp-upgrade/' ),
			array(
				'utm_source'   => 'WordPress',
				'utm_medium'   => $utm_medium,
				'utm_campaign' => 'Plugin',
				'feature'      => $feature,
			)
		);

		foreach ( $defaults as $key => $value ) {
			if ( null === $value ) {
				unset( $defaults[ $key ] );
			}
		}

		return wp_parse_args( $args, $defaults );
	}

	/**
	 * Get marketing url, with utm_medium params.
	 *
	 * @since 2.11.0
	 *
	 * @param  string $path The path on the app.
	 * @param  array  $args Additional query args.
	 *
	 * @return string        The marketing url.
	 */
	public static function marketing( $path = '', $args = array() ) {
		$url      = sprintf( OPTINMONSTER_URL . '/%1$s', $path );
		$defaults = wp_parse_args(
			self::get_partner_params( $url ),
			array(
				'utm_source'   => 'WordPress',
				'utm_medium'   => '',
				'utm_campaign' => 'Plugin',
			)
		);
		$args     = wp_parse_args( $args, $defaults );

		return add_query_arg( $args, $url );
	}

	/**
	 * Returns the API credentials for OptinMonster.
	 *
	 * @since 2.2.0
	 *
	 * @return string The API url to use for embedding on the page.
	 */
	public static function om_api() {
		$custom_api_url = OMAPI::get_instance()->get_option( 'customApiUrl' );
		return ! empty( $custom_api_url ) ? $custom_api_url : OPTINMONSTER_APIJS_URL;
	}

	/**
	 * Sets the partner id param if found, and parses the partner url for additional args to set.
	 *
	 * @since 2.15.0
	 *
	 * @param  string $destination_url The destination url to compare against.
	 *
	 * @return array                   The additional args.
	 */
	protected static function get_partner_params( $destination_url = '' ) {
		$args = array();

		// Add the partner id attribution query arg, if it exists.
		$id = OMAPI_Partners::get_id();
		if ( ! empty( $id ) ) {
			$args['sscid'] = $id;
		}

		// Next, let's parse the partner url for additional query args
		// stuffed on the urllink query arg redirect url.
		$partner_url = OMAPI_Partners::has_partner_url();
		if (
			! $partner_url
			|| false === strpos( $partner_url, 'urllink' )
		) {
			return $args;
		}

		// No params, no problem.
		$parsed = wp_parse_url( $partner_url );
		if ( empty( $parsed['query'] ) ) {
			return $args;
		}

		// No urllink param, do not pass go, do not collect $200.
		$query = wp_parse_args( $parsed['query'] );
		if ( empty( $query['urllink'] ) ) {
			return $args;
		}

		// Normalize the url.
		$url = urldecode( $query['urllink'] );
		$url = false === strpos( $url, 'http' )
			? 'https://' . $url
			: str_replace( 'http://', 'https://', $url );

		// Now let's make sure the url matches the destination url,
		// before we go attaching its query args.
		if (
			$destination_url
			&& rtrim( $destination_url, '/' ) && 0 !== stripos( $url, $destination_url )
		) {
			return $args;
		}

		// No args, do not pass go, do not collect $200.
		$bits = wp_parse_url( $url );
		if ( empty( $bits['query'] ) ) {
			return $args;
		}

		$query = wp_parse_args( $bits['query'] );
		if ( ! empty( $query ) ) {
			// Ok, let's add the found query args to the args array.
			$args = wp_parse_args( $query, $args );
		}

		return $args;
	}

	/**
	 * Filters the `allowed_redirect_hosts`.
	 *
	 * Adds the OptinMonster app and OptinMonster site to the allowed hosts.
	 *
	 * @since 2.16.3
	 *
	 * @param array $hosts Array of allowed hosts.
	 *
	 * @return array The allowed hosts.
	 */
	public static function allowed_redirect_hosts( $hosts = array() ) {
		if ( ! is_array( $hosts ) ) {
			$hosts = array();
		}

		$hosts[] = str_replace( 'https://', '', OPTINMONSTER_APP_URL );
		$hosts[] = str_replace( 'https://', '', OPTINMONSTER_URL );

		return $hosts;
	}
}

SILENT KILLER Tool