????JFIF??x?x????'
| Server IP : 172.67.174.47 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /././home/tempvsty/./oaa-foundation.org/wp-content/plugins/pro-elements/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();
}
}