File Editor
Directories:
.. (Back)
Elementor
Files:
Actions.php
Ajax.php
Api.php
ApiAuth.php
ApiKey.php
AssetLoader.php
Blocks.php
ClassicEditor.php
ConstantContact.php
Debug.php
Elementor.php
Inserter.php
InstallSkin.php
InstallSkinCompat.php
MailPoet.php
Menu.php
Notifications.php
OmuApi.php
Output.php
Pages.php
Partners.php
Plugins.php
Refresh.php
RestApi.php
Review.php
Rules.php
Save.php
Shortcode.php
Sites.php
Support.php
TrustPulse.php
Type.php
Urls.php
Utils.php
Validate.php
Welcome.php
Widget.php
WooCommerce.php
WpErrorException.php
Create New File
Create
Edit File: 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 OM wizard url. * * @since 2.2.0 * * @param array $args Array of query args. * * @return string */ public static function wizard( $args = array() ) { return self::om_admin( 'onboarding-wizard', $args ); } /** * 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 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 * * @param array $args Array of query args. * * @return string */ public static function onboarding( $args = array() ) { $args = array_merge( $args, array( 'info' => true ) ); return self::dashboard( $args ); } /** * 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( 'userId' ); 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 $return_url Url to return. Will default to wp_get_referer(). * * @return string The upgrade url. */ public static function upgrade( $utm_medium, $feature = 'none', $return_url = '' ) { $path = sprintf( 'account/upgrade/?utm_source=WordPress&%1$s=pluginMenu&utm_campaign=Plugin&feature=%2$s', $utm_medium, $feature ); return self::om_app( $path, $return_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; } }
Save Changes
Rename File
Rename