# imagify/2.2.3.1/classes/Admin/AdminSubscriber.php

Imagify Image Optimization: Optimize Images | Compress &amp; Convert to WebP/AVIF, version 2.2.3.1. 68 lines.

- Page: https://pluginprobe.com/plugins/imagify/2.2.3.1/code/classes/Admin/AdminSubscriber.php
- Raw: https://pluginprobe.com/plugins/imagify/2.2.3.1/raw/classes/Admin/AdminSubscriber.php
- Modified: 2024-11-07T11:10:36+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/imagify/2.2.3.1/code/classes/Admin/AdminSubscriber.php#L10-L20`.

```php
<?php
declare(strict_types=1);

namespace Imagify\Admin;

use Imagify\EventManagement\SubscriberInterface;
use Imagify\User\User;

/**
 * Admin Subscriber
 */
class AdminSubscriber implements SubscriberInterface {

	/**
	 * User instance.
	 *
	 * @var User
	 */
	protected $user;

	/**
	 * Instantiate the class
	 *
	 * @param User $user User instance.
	 */
	public function __construct( User $user ) {
		$this->user = $user;
	}

	/**
	 * Returns an array of events this subscriber listens to
	 *
	 * @return array
	 */
	public static function get_subscribed_events() {
		$basename = plugin_basename( IMAGIFY_FILE );

		return [
			'plugin_action_links_' . $basename               => 'plugin_action_links',
			'network_admin_plugin_action_links_' . $basename => 'plugin_action_links',
		];
	}

	/**
	 * Add links to the plugin row in the plugins list.
	 *
	 * @since 1.7
	 *
	 * @param  array $actions An array of action links.
	 * @return array
	 */
	public function plugin_action_links( $actions ) {
		$text  = 1 !== $this->user->plan_id ? __( 'Documentation', 'imagify' ) : __( 'Upgrade', 'imagify' );
		$url   = 1 !== $this->user->plan_id ? 'documentation' : 'subscription';
		$class = 1 !== $this->user->plan_id ? '' : ' class="imagify-plugin-upgrade"';

		array_unshift( $actions, sprintf( '<a href="%s" target="_blank"%s>%s</a>',
			esc_url( imagify_get_external_url( $url ) ),
			$class,
			$text
		) );

		array_unshift( $actions, sprintf( '<a href="%s">%s</a>', esc_url( get_imagify_admin_url( 'bulk-optimization' ) ), __( 'Bulk Optimization', 'imagify' ) ) );
		array_unshift( $actions, sprintf( '<a href="%s">%s</a>', esc_url( get_imagify_admin_url() ), __( 'Settings', 'imagify' ) ) );
		return $actions;
	}
}

```
