hello
Server : Apache System : Linux webm006.cluster103.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64 User : chryzalihi ( 621211) PHP Version : 8.3.31 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl Directory : /home/chryzalihi/www/wp-contentOLD/themes/rakiya/library/inc/ |
<?php
/**
* Layout factory class. This is a singleton factory class for handling the registering and
* storing of `Hybrid_Layout` objects. Theme authors should utilize the API functions found
* in `inc/layouts.php`.
*
* @package HybridCore
* @subpackage Includes
* @author Justin Tadlock <justin@justintadlock.com>
* @copyright Copyright (c) 2008 - 2015, Justin Tadlock
* @link http://themehybrid.com/hybrid-core
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*/
/**
* Hybrid Layout Factory class. This is the backbone of the Layouts API. Theme authors should
* utilize the appropriate functions for accessing the `Hybrid_Layout_Factory` object.
*
* @since 3.0.0
* @access public
*/
class Hybrid_Layout_Factory {
/**
* Array of layout objects.
*
* @since 3.0.0
* @access public
* @var array
*/
public $layouts = array();
/**
* Constructor method.
*
* @since 3.0.0
* @access private
* @return void
*/
private function __construct() {}
/**
* Register a new layout object
*
* @see Hybrid_Layout::__construct()
* @since 3.0.0
* @access public
* @param string $name
* @param array $args
* @return void
*/
public function register_layout( $name, $args = array() ) {
if ( ! $this->layout_exists( $name ) ) {
$layout = new Hybrid_Layout( $name, $args );
$this->layouts[ $layout->name ] = $layout;
}
}
/**
* Unregisters a layout object.
*
* @since 3.0.0
* @access public
* @param string $name
* @return void
*/
public function unregister_layout( $name ) {
if ( $this->layout_exists( $name ) && false === $this->get( $name )->_internal )
unset( $this->layouts[ $name ] );
}
/**
* Checks if a layout exists.
*
* @since 3.0.0
* @access public
* @param string $name
* @return bool
*/
public function layout_exists( $name ) {
return isset( $this->layouts[ $name ] );
}
/**
* Gets a layout object.
*
* @since 3.0.0
* @access public
* @param string $name
* @return object|bool
*/
public function get_layout( $name ) {
return $this->layout_exists( $name ) ? $this->layouts[ $name ] : false;
}
/**
* Returns the instance.
*
* @since 3.0.0
* @access public
* @return object
*/
public static function get_instance() {
static $instance = null;
if ( is_null( $instance ) )
$instance = new Hybrid_Layout_Factory;
return $instance;
}
}