HEX
Server: Apache/2.4.54 (Unix) OpenSSL/1.0.2k-fips
System: Linux f17.eelserver.com 3.10.0-1160.80.1.el7.x86_64 #1 SMP Tue Nov 8 15:48:59 UTC 2022 x86_64
User: zulfiqar (1155)
PHP: 8.2.0
Disabled: mail, exec, system, popen, proc_open, shell_exec, passthru, show_source
Upload Files
File: /home/zulfiqar/public_html/wp-content/plugins/stream/connectors/class-connector-mercator.php
<?php
/**
 * Connector for Mercator
 *
 * @package WP_Stream
 */

namespace WP_Stream;

/**
 * Class - Connector_Mercator
 */
class Connector_Mercator extends Connector {
	/**
	 * Connector slug
	 *
	 * @var string
	 */
	public $name = 'mercator';

	/**
	 * Actions registered for this connector
	 *
	 * @var array
	 */
	public $actions = array(
		'mercator.mapping.updated',
		'mercator.mapping.deleted',
		'mercator.mapping.created',
		'mercator.mapping.made_primary',
	);

	/**
	 * Register connector in the WP Frontend
	 *
	 * @var bool
	 */
	public $register_frontend = false;

	/**
	 * Return translated connector label
	 *
	 * @return string
	 */
	public function get_label() {
		return esc_html__( 'Mercator' );
	}

	/**
	 * Return translated action labels
	 *
	 * @return array
	 */
	public function get_action_labels() {
		return array(
			'made_primary' => esc_html__( 'Make primary domain', 'stream' ),
			'created'      => esc_html__( 'Created', 'stream' ),
			'deleted'      => esc_html__( 'Deleted', 'stream' ),
			'updated'      => esc_html__( 'Updated', 'stream' ),
		);
	}

	/**
	 * Return translated context labels
	 *
	 * @return array
	 */
	public function get_context_labels() {
		$labels = array();

		if ( is_multisite() && ! wp_is_large_network() ) {
			$blogs = wp_stream_get_sites();

			foreach ( $blogs as $blog ) {
				$blog_details   = get_site( $blog->blog_id );
				$key            = sprintf( 'blog-%d', $blog->blog_id );
				$labels[ $key ] = $blog_details->blogname;
			}
		}

		return $labels;
	}

	/**
	 * Add action links to Stream drop row in admin list screen
	 *
	 * @filter wp_stream_action_links_{connector}
	 *
	 * @param  array  $links   Previous links registered.
	 * @param  object $record  Stream record.
	 *
	 * @return array
	 */
	public function action_links( $links, $record ) {
		$links [ esc_html__( 'Site Admin' ) ] = get_admin_url( $record->object_id );

		if ( $record->object_id ) {
			$site_admin_link = get_admin_url( $record->object_id );

			if ( $site_admin_link ) {
				$links [ esc_html__( 'Site Admin' ) ] = $site_admin_link;
			}

			$site_settings_link = add_query_arg(
				array(
					'id'     => $record->object_id,
					'action' => 'mercator-aliases',
				),
				network_admin_url( 'admin.php' )
			);

			if ( $site_settings_link ) {
				$links [ esc_html__( 'Domain mapping Settings', 'stream' ) ] = $site_settings_link;
			}
		}

		return $links;
	}

	/**
	 * Log if domain is made primary.
	 *
	 * @param object $mapping  Mapping object.
	 */
	public function callback_mercator_mapping_made_primary( $mapping ) {
		$blog_id = $mapping->get_site_id();
		$blog    = get_site( $blog_id );

		$this->log(
			/* translators: %1$s: domain alias, %2$s: site name (e.g. "FooBar Blog") */
			_x(
				'"%1$s" domain alias was make primary for "%2$s"',
				'1. Domain alias 2. Site name',
				'stream'
			),
			array(
				'domain'    => $mapping->get_domain(),
				'site_name' => $blog->blogname,
			),
			$blog_id,
			sanitize_key( $blog->blogname ),
			'made_primary'
		);
	}

	/**
	 * Log if domain alias is updated.
	 *
	 * @param object $mapping      Mapping object.
	 * @param object $old_mapping  Old mapping object from before update.
	 */
	public function callback_mercator_mapping_updated( $mapping, $old_mapping ) {

		$blog_id = $mapping->get_site_id();
		$blog    = get_site( $blog_id );

		$this->log(
			/* translators: %1$s: domain alias, %2$s: site name (e.g. "FooBar Blog") */
			_x(
				'The domain alias "%1$s" was updated to "%2$s" for site "%3$s"',
				'1. Old Domain alias 2. Domain alias 2. Site name',
				'stream'
			),
			array(
				'old_domain' => $old_mapping->get_domain(),
				'domain'     => $mapping->get_domain(),
				'site_name'  => $blog->blogname,
			),
			$blog_id,
			sanitize_key( $blog->blogname ),
			'updated'
		);
	}

	/**
	 * Log if domain alias is deleted.
	 *
	 * @param object $mapping  Mapping of deleted alias.
	 */
	public function callback_mercator_mapping_deleted( $mapping ) {

		$blog_id = $mapping->get_site_id();
		$blog    = get_site( $blog_id );

		$this->log(
			/* translators: %1$s: domain alias, %2$s: site name (e.g. "FooBar Blog") */
			_x(
				'"%1$s" domain alias was deleted for "%2$s"',
				'1. Domain alias 2. Site name',
				'stream'
			),
			array(
				'domain'    => $mapping->get_domain(),
				'site_name' => $blog->blogname,
			),
			$blog_id,
			sanitize_key( $blog->blogname ),
			'deleted'
		);
	}

	/**
	 * Log if domain alias is created.
	 *
	 * @param object $mapping  Mapping object.
	 */
	public function callback_mercator_mapping_created( $mapping ) {
		$blog_id = $mapping->get_site_id();
		$blog    = get_site( $blog_id );

		$this->log(
			/* translators: %1$s: domain alias, %2$s: site name (e.g. "FooBar Blog") */
			_x(
				'"%1$s" domain alias was created for "%2$s"',
				'1. Domain alias 2. Site name',
				'stream'
			),
			array(
				'domain'    => $mapping->get_domain(),
				'site_name' => $blog->blogname,
			),
			$blog_id,
			sanitize_key( $blog->blogname ),
			'created'
		);
	}
}