HEX
Server: Apache
System: Linux cpanelx.inxs.ro 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: crowdandsafety (1041)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/crowdandsafety/public_html/wp-content/plugins/cornerstone/includes/classes/Parsy/Language.php
<?php

namespace Themeco\Cornerstone\Parsy;

class Language {

  protected $debug;
  protected $language;

  public function setup($debug = false) {
    $this->debug = $debug;
    $this->language = self::create($this->grammar());
    return $this;
  }

  public function grammar() {
    return [];
  }

  public function __get($key) {
    return $this->language->{$key};
  }

  // This lets us define a set of parsers that can be called recursively
  public static function create( $grammar ) {
    $language = new \stdClass;
    $cache = new \stdClass;
    foreach ( $grammar as $key => $parserFn ) {
      if (!is_callable($parserFn)) {
        $language->{$key} = $parserFn;
      } else {
        $language->{$key} = P::lazy(function() use( $parserFn, $language, &$cache, $key ) {
          if ( ! isset( $cache->{$key} ) ) {
            $cache->{$key} = $parserFn($language,$key)->name($key);
          }
          return $cache->{$key};
        }, $key);
      }
    }
    return $language;
  }

}