Server IP : 192.64.112.168 / Your IP : 3.149.243.29 Web Server : Apache System : Linux nc-ph-2300-85.bluforrest.com 4.18.0-513.9.1.el8_9.x86_64 #1 SMP Sat Dec 2 05:23:44 EST 2023 x86_64 User : expressoneac ( 1128) PHP Version : 8.0.30 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/expressoneac/www/wp-content/plugins/elementor-pro/core/utils/ |
Upload File : |
<?php namespace ElementorPro\Core\Utils; use \Elementor\Core\Utils\Collection as Collection_Base; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } // TODO: Move to Core. class Collection extends Collection_Base implements \JsonSerializable { /** * Change the items key by an item field. * * @param string $key * * @return Collection */ public function key_by( $key ) { return $this->map_with_keys( function ( $item ) use ( $key ) { return [ $item->{$key} => $item ]; } ); } /** * Flatten the items recursively. * * @return array */ public function flatten_recursive() { $output = []; $items = $this->all(); array_walk_recursive($items, function( $item ) use ( &$output ) { $output[] = $item; } ); return $output; } /** * Run array_diff between the collection and other array or collection. * * @param $filter * * @return $this */ public function diff( $filter ) { if ( $filter instanceof Collection_Base ) { $filter = $filter->all(); } return new static( array_diff( $this->all(), $filter ) ); } /** * Reverse the array * * @param false $preserve_keys * * @return $this */ public function reverse( $preserve_keys = false ) { return new static( array_reverse( $this->all(), $preserve_keys ) ); } /** * Return a JSON serialized representation of the Collection. * * @return array */ #[\ReturnTypeWillChange] public function jsonSerialize() { return $this->all(); } }