| Server IP : 104.21.74.147 / Your IP : 216.73.217.154 Web Server : nginx/1.24.0 System : Linux wordpress-sites 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/rebeccaone.com/wp-content/plugins/cornerstone/includes/classes/Util/ |
Upload File : |
<?php
namespace Themeco\Cornerstone\Util;
class StringPath {
public $data;
public function data($data) {
$this->data = $data;
return $this;
}
public function get($path) {
if ( ! is_array( $this->data ) || ! is_string( $path ) ) {
return null;
}
$paths = array_reverse( explode('.', $path) );
$current = $this->data;
try {
while( count($paths) > 0 ) {
$current = $this->resolvePath( $current, array_pop($paths) );
}
} catch (\Exception $e) {
return null;
}
return $current;
}
public function resolvePath($data, $path) {
if ( is_array($data)) {
if ($path === '') {
return $data;
}
if (isset($data[$path])) {
return $data[$path];
}
if ($path === '$end') { // keyword to access last item in array
return $data[count($data) -1];
}
$numeric_path = (int) $path;
if ($numeric_path == $path) { // convert numeric indexes
if (isset($data[$numeric_path])) {
return $data[$numeric_path];
}
}
}
throw new \Exception;
}
}