HEX
Server: Apache/2
System: Linux nexus-01 4.18.0-553.120.1.el8_10.x86_64 #1 SMP Mon Apr 20 18:04:27 EDT 2026 x86_64
User: aglcoke (1118)
PHP: 8.2.31
Disabled: mail,exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //proc/thread-self/cwd/wp-content/plugins/envato-elements/inc/api/class-banners.php
<?php
/**
 * Envato Elements: Banners API
 *
 * Banners API
 *
 * @package Envato/Envato_Elements
 * @since 2.0.0
 */

namespace Envato_Elements\API;

use Envato_Elements\Backend\Options;

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


/**
 * Search API
 *
 * @since 2.0.0
 */
class Banners extends API {

	/**
	 * @param $request \WP_REST_Request
	 *
	 * @return \WP_REST_Response
	 */
	public function dismiss_banner( $request ) {

		$banner_id = $request->get_param( 'bannerId' );

		// Get a list of dismissed banners (defaulting to an empty array)
		$dismissed_banners = Options::get_instance()->get( 'dismissed_banners', [] );

		// Add the users dismissed banner to the options array
		$dismissed_banners[ $banner_id ] = true;

		// Save this new options array back to the DB:
		Options::get_instance()->set( 'dismissed_banners', $dismissed_banners );

		// Return some success to react:
		return $this->format_success( [
			'closed' => true,
		] );
	}

	public function register_api_endpoints() {
		$this->register_endpoint( 'dismissBanner', [ $this, 'dismiss_banner' ] );
	}
}