# image-optimization/1.0.2/modules/oauth/classes/route-base.php

Image Optimizer – Compress Images and Convert to WebP or AVIF, version 1.0.2. 48 lines.

- Page: https://pluginprobe.com/plugins/image-optimization/1.0.2/code/modules/oauth/classes/route-base.php
- Raw: https://pluginprobe.com/plugins/image-optimization/1.0.2/raw/modules/oauth/classes/route-base.php
- Modified: 2024-01-08T11:53:40+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/image-optimization/1.0.2/code/modules/oauth/classes/route-base.php#L10-L20`.

```php
<?php

namespace ImageOptimizer\Modules\Oauth\Classes;

use ImageOptimizer\Classes\Route;

class Route_Base extends Route {
	const SITE_URL = 'https://my.elementor.com/connect/v1/';

	protected $auth = true;
	protected string $path = '';
	public function get_methods(): array {
		return [];
	}

	public function get_endpoint(): string {
		return 'connect/' . $this->get_path();
	}

	public function get_path(): string {
		return $this->path;
	}

	public function get_name(): string {
		return '';
	}

	public function get_permission_callback( \WP_REST_Request $request ): bool {
		$valid = $this->permission_callback( $request );

		return $valid && user_can( $this->current_user_id, 'manage_options' );
	}

	public function verify_nonce( $nonce = '', $name = '' ) {
		if ( ! wp_verify_nonce( sanitize_text_field( wp_unslash( $nonce ) ), $name ) ) {
			wp_die( 'Invalid nonce', 'image-optimizer' );
		}
	}

	public function verify_nonce_and_capability( $nonce = '', $name = '', $capability = 'manage_options' ) {
		$this->verify_nonce( $nonce, $name );

		if ( ! current_user_can( $capability ) ) {
			wp_die( 'You do not have sufficient permissions to access this page.' );
		}
	}
}

```
