File: /www/wwwroot/www.scdc-marine.com/wp-content/plugins/Static-Html-Output/plugin/WP2Static/View.php
<?php
class WP2Static_View {
protected $variables = array();
protected $path = null;
protected $directory = 'views';
protected $extension = '.phtml';
protected $template = null;
public function __construct() {
list( $plugin_dir ) = explode( '/', plugin_basename( __FILE__ ) );
$path_array = array( WP_PLUGIN_DIR, $plugin_dir, $this->directory );
$this->path = implode( '/', $path_array );
}
public function setTemplate( $tpl ) {
$this->template = $tpl;
$this->variables = array();
return $this;
}
public function __set( $name, $value ) {
$this->variables[ $name ] = $value;
return $this;
}
public function assign( $name, $value ) {
return $this->__set( $name, $value );
}
public function __get( $name ) {
$value = array_key_exists( $name, $this->variables ) ? $this->variables[ $name ] : null;
return $value;
}
public function render() {
$file = $this->path . '/' . $this->template . $this->extension;
if ( ! is_readable( $file ) ) {
error_log( 'Can\'t find view template: ' . $file );
}
include $file;
return $this;
}
public function fetch() {
ob_start();
$this->render();
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
}