first commit

This commit is contained in:
2026-03-05 13:07:40 +01:00
commit 64ba0721ee
25709 changed files with 4691006 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
<?php
/**
* Content Handler
* @package Simple Lightbox
* @subpackage Content Handlers
* @author Archetyped
*/
class SLB_Content_Handler extends SLB_Component {
/* Properties */
/**
* Match handler
* @var callback
*/
protected $match;
/**
* Custom attributes
* @var callback
*/
protected $attributes;
/* Matching */
/**
* Set matching handler
* @param callback $callback Handler callback
* @return object Current instance
*/
public function set_match( $callback ) {
$this->match = ( is_callable( $callback ) ) ? $callback : null;
return $this;
}
/**
* Retrieve match handler
* @return callback|null Match handler
*/
protected function get_match() {
return $this->match;
}
/**
* Check if valid match set
*/
protected function has_match() {
return ( is_null( $this->match ) ) ? false : true;
}
/**
* Match handler against URI
* @param string $uri URI to check for match
* @return bool TRUE if handler matches URI
*/
public function match( $uri, $uri_raw = null ) {
$ret = false;
if ( ! ! $uri && is_string( $uri ) && $this->has_match() ) {
$ret = call_user_func( $this->get_match(), $uri, $uri_raw );
}
return $ret;
}
/* Attributes */
public function set_attributes( $callback ) {
$this->attributes = ( is_callable( $callback ) ) ? $callback : null;
return $this;
}
public function get_attributes() {
$ret = array();
// Callback
if ( ! is_null( $this->attributes ) ) {
$ret = call_user_func( $this->attributes );
}
// Filter
$hook = sprintf( 'content_handler_%s_attributes', $this->get_id() );
$ret = $this->util->apply_filters( $hook, $ret );
return ( is_array( $ret ) ) ? $ret : array();
}
}