HEX
Server: LiteSpeed
System: Linux cde4.duelhost.dk 4.18.0-553.34.1.lve.el8.x86_64 #1 SMP Thu Jan 9 16:30:32 UTC 2025 x86_64
User: dmhkjfau (1027)
PHP: 7.4.33
Disabled: exec,system,passthru,shell_exec,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: /home/dmhkjfau/public_html/wp-content/plugins/wp-seopress/src/Models/JsonSchemaValue.php
<?php // phpcs:ignore

namespace SEOPress\Models;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * JsonSchemaValue
 *
 * @abstract
 */
abstract class JsonSchemaValue implements GetJsonFromFile {
	/**
	 * The getName function.
	 *
	 * @return string
	 */
	abstract protected function getName(); // phpcs:ignore -- TODO: check if method is outside this class before renaming.

	/**
	 * The getJson function.
	 *
	 * @since 4.5.0
	 *
	 * @return string
	 */
	public function getJson() {
		$file = apply_filters( 'seopress_get_json_from_file', sprintf( '%s/%s.json', SEOPRESS_TEMPLATE_JSON_SCHEMAS, $this->getName(), '.json' ) );

		if ( ! file_exists( $file ) ) {
			return '';
		}

		$json = file_get_contents( $file );

		return $json;
	}

	/**
	 * The getArrayJson function.
	 *
	 * @since 4.5.0
	 *
	 * @return array
	 */
	public function getArrayJson() {
		$json = $this->getJson();
		try {
			$data = json_decode( $json, true );

			return apply_filters( 'seopress_schema_get_array_json', $data, $this->getName() );
		} catch ( \Exception $th ) {
			return array();
		}
	}

	/**
	 * The renderJson function.
	 *
	 * @since 4.5.0
	 *
	 * @param array $data The data.
	 *
	 * @return array|string
	 */
	public function renderJson( $data ) {
		return wp_json_encode( $data );
	}

	/**
	 * The cleanValues function.
	 *
	 * @since 4.5.0
	 *
	 * @param array $data The data.
	 *
	 * @return array
	 */
	public function cleanValues( $data ) {
		return apply_filters( 'seopress_schema_clean_values', $data, $this->getName() );
	}
}