| Server IP : 46.105.57.169 / Your IP : 216.73.216.67 Web Server : Apache System : Linux webm002.cluster120.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : verseaumee ( 152031) PHP Version : 8.5.7 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/verseaumee/blueversion/wp-content/plugins/give/src/Framework/Views/ |
Upload File : |
<?php
namespace Give\Framework\Views;
use InvalidArgumentException;
/**
* Helper class responsible for loading views.
*/
class View
{
/**
* Default domain
*/
const DEFAULT_DOMAIN = 'FormBuilder';
/**
* @since 3.0.0
*
* @param array $templateParams Arguments for template.
* @param bool $echo
*
* @param string $view Template name
* When using multiple domains within this plugin, the domain directory can be set by using "." in the template name.
* String before the "." character is domain directory, and everything after is the template file path
* Example usage: View::render( 'DomainName.templateName' );
* This will try to load src/DomainName/resources/view/templateName.php file
*
* @return string|void
* @throws InvalidArgumentException if template file not exist
*
*/
public static function load($view, $templateParams = [], $echo = false)
{
// Get domain and file path
list ($domain, $file) = static::getPaths($view);
$template = GIVE_PLUGIN_DIR . "src/{$domain}/resources/views/{$file}.php";
if ( ! file_exists($template)) {
throw new InvalidArgumentException("View template file {$template} does not exist");
}
ob_start();
extract($templateParams);
include $template;
$content = ob_get_clean();
if ( ! $echo) {
return $content;
}
echo $content;
}
/**
* @since 3.0.0
*
* @param array $vars
*
* @param string $view
*/
public static function render($view, $vars = [])
{
static::load($view, $vars, true);
}
/**
* Get domain and template file path
*
* @since 3.0.0
*
* @param string $path
*
* @return array
*/
private static function getPaths($path)
{
// Check for . delimiter
if (false === strpos($path, '.')) {
return [
self::DEFAULT_DOMAIN,
$path,
];
}
return explode('.', $path, 2);
}
}