HEX
Server: Apache
System: Linux digivps 5.15.0-163-generic #173-Ubuntu SMP Tue Oct 14 17:51:00 UTC 2025 x86_64
User: www (1000)
PHP: 8.3.15
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/healthyton.com/wp-content/plugins/advanced-ads/src/Ad_Repository.php
<?php

namespace Advanced_Ads;

/**
 * Ad Repository/Factory class.
 * Ensures every ad is only set-up once and the same instance is re-used within one request.
 */
class Ad_Repository extends Abstract_Repository {
	/**
	 * Array to hold the \Advanced_Ads_Ad objects, indexed by id.
	 *
	 * @var array
	 */
	protected static $repo = [];

	/**
	 * Get the ad object from the repository. Create and add it, if it doesn't exist.
	 * If the passed id is not an ad, return the created ad object without adding it to the repository.
	 * This behavior prevents breaking changes.
	 *
	 * @param int $id The ad id to look for.
	 *
	 * @return \Advanced_Ads_Ad
	 */
	public static function get( int $id ): \Advanced_Ads_Ad {
		if ( ! self::has( $id ) ) {
			$ad = new \Advanced_Ads_Ad( $id );
			if ( ! $ad->is_ad ) {
				return $ad;
			}
			self::$repo[ $id ] = $ad;
		}

		return self::$repo[ $id ];
	}
}