Easy Property Listings 3.5.21 Code Reference
  • Package
  • Class
  • Tree
  • Todo
  • Hook Reference

Packages

  • EPL
    • Admin
      • Actions
      • Classes
        • ContactsTable
        • EPL
          • Admin
            • Images
        • ReportsGraph
        • Welcome
      • Contacts
      • ContactsActions
      • ContactsFunctions
      • Elements
      • Functions
      • Help
      • HelpSingle
      • Menus
      • MenusAddons
      • MenusExtensions
      • MenusLicenses
      • Plugins
      • Reports
      • ReportsGraphing
      • User
    • Assets
      • ScriptsStyles
      • SVG
    • Classes
      • AuthorLoader
      • AuthorMeta
      • Contact
      • Cron
      • CustomPostType
      • Forms
      • License
      • ListingAdvanced
      • ListingElements
      • MetaboxesCustomFields
      • Pagination
      • PropertyMeta
      • RenderFields
      • RestAPI
      • Search
      • Session
      • Updater
    • Compatibility
      • Extensions
      • Functions
      • Shortcodes
    • Functions
      • Actions
      • ConditionalTags
      • ErrorTracking
      • Formatting
      • Front
      • Global
      • Install
      • Pagination
      • Settings
      • Templates
    • Hooks
      • EnergyCertificate
      • ExternalLinks
      • FloorPlan
      • Map
      • ReadMore
      • WebLink
    • Meta
      • InitCustomFields
      • Meta
    • PostTypes
      • Business
      • Commercial
      • CommercialLand
      • Contact
      • Functions
      • Land
      • Property
      • Rental
      • Rural
    • Shortcode
      • CommercialListingSearch
      • ContactForm
      • Listing
      • ListingAdvanced
      • ListingAuction
      • ListingCategory
      • ListingFeature
      • ListingLocation
      • ListingMetaDoc
      • ListingOpen
      • ListingResults
      • ListingSearch
      • Map
    • Taxonomy
      • BusinessCategories
      • ContactTag
      • Features
      • Location
    • Templates
      • Themes
        • iThemes
        • iThemesBuilder
    • Widget
      • Admin
        • Dashboard
      • Classes
        • Author
        • ContactCapture
        • Gallery
        • Listing
        • Search
      • Functions
  • None
  • WordPress
    • Session

Classes

  • EPL_Admin_Images
  • EPL_Advanced_Shortcode_Listing
  • EPL_Author
  • EPL_Author_Loader
  • EPL_Author_Meta
  • EPL_Contact
  • EPL_Contact_Reports_Table
  • EPL_CPT
  • EPL_Cron
  • EPL_FORM_BUILDER
  • EPL_Graph
  • EPL_License
  • EPL_Listing_Elements
  • EPL_METABOX
  • EPL_Pagination_Call
  • EPL_Property_Meta
  • EPL_Render_Fields
  • EPL_Rest_API
  • EPL_SEARCH
  • EPL_Search_Fields
  • EPL_Session
  • EPL_SL_Plugin_Updater
  • EPL_Welcome
  • EPL_Widget_Author
  • EPL_Widget_Contact_Capture
  • EPL_Widget_Property_Gallery
  • EPL_Widget_Property_Search
  • EPL_Widget_Recent_Property

Functions

  • EPL
  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 
<?php
/**
 * Multidimensional ArrayAccess
 *
 * Allows ArrayAccess-like functionality with multidimensional arrays.  Fully supports
 * both sets and unsets.
 *
 * @package WordPress
 * @subpackage Session
 * @since 3.6.0
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

/**
 * Recursive array class to allow multidimensional array access.
 *
 * @package WordPress
 * @since 3.6.0
 */
class Recursive_ArrayAccess implements ArrayAccess {
    /**
     * Internal data collection.
     *
     * @var array
     */
    protected $container = array();

    /**
     * Flag whether or not the internal collection has been changed.
     *
     * @var bool
     */
    protected $dirty = false;

    /**
     * Default object constructor.
     *
     * @param array $data Array of data.
     */
    protected function __construct( $data = array() ) {
        foreach ( $data as $key => $value ) {
            $this[ $key ] = $value;
        }
    }

    /**
     * Allow deep copies of objects
     */
    public function __clone() {
        foreach ( $this->container as $key => $value ) {
            if ( $value instanceof self ) {
                $this[ $key ] = clone $value;
            }
        }
    }

    /**
     * Output the data container as a multidimensional array.
     *
     * @return array
     */
    public function toArray() {
        $data = $this->container;
        foreach ( $data as $key => $value ) {
            if ( $value instanceof self ) {
                $data[ $key ] = $value->toArray();
            }
        }
        return $data;
    }

    /**
     * ArrayAccess Implementation
     **/

    /**
     * Whether a offset exists
     *
     * @link http://php.net/manual/en/arrayaccess.offsetexists.php
     *
     * @param mixed $offset An offset to check for.
     *
     * @return boolean true on success or false on failure.
     */
    #[\ReturnTypeWillChange] // phpcs:ignore PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound, Squiz.Commenting.FunctionComment.Missing
    public function offsetExists( $offset ) { // phpcs:ignore Squiz.Commenting.FunctionComment.Missing
        return isset( $this->container[ $offset ] );
    }

    /**
     * Offset to retrieve
     *
     * @link http://php.net/manual/en/arrayaccess.offsetget.php
     *
     * @param mixed $offset The offset to retrieve.
     *
     * @return mixed Can return all value types.
     */
    #[\ReturnTypeWillChange] // phpcs:ignore PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound, Squiz.Commenting.FunctionComment.Missing, Squiz.Commenting.FunctionComment.Missing
    public function offsetGet( $offset ) { // phpcs:ignore Squiz.Commenting.FunctionComment.Missing
        return isset( $this->container[ $offset ] ) ? $this->container[ $offset ] : null;
    }

    /**
     * Offset to set
     *
     * @link http://php.net/manual/en/arrayaccess.offsetset.php
     *
     * @param mixed $offset The offset to assign the value to.
     * @param mixed $data   The value to set.
     *
     * @return void
     */
    #[\ReturnTypeWillChange] // phpcs:ignore PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound, Squiz.Commenting.FunctionComment.Missing, Squiz.Commenting.FunctionComment.Missing
    public function offsetSet( $offset, $data ) { // phpcs:ignore Squiz.Commenting.FunctionComment.Missing
        if ( is_array( $data ) ) {
            $data = new self( $data );
        }
        if ( null === $offset ) { // Don't forget this!
            $this->container[] = $data;
        } else {
            $this->container[ $offset ] = $data;
        }

        $this->dirty = true;
    }

    /**
     * Offset to unset
     *
     * @link http://php.net/manual/en/arrayaccess.offsetunset.php
     *
     * @param mixed $offset The offset to unset.
     *
     * @return void
     */
    #[\ReturnTypeWillChange] // phpcs:ignore PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound, Squiz.Commenting.FunctionComment.Missing, Squiz.Commenting.FunctionComment.Missing
    public function offsetUnset( $offset ) { // phpcs:ignore Squiz.Commenting.FunctionComment.Missing
        unset( $this->container[ $offset ] );
    }
}
Easy Property Listings 3.5.21 Code Reference API documentation generated by ApiGen