You are here

GeshiController.php in GeSHi Filter for syntax highlighting 8

Same filename and directory in other branches
  1. 8.2 codesnippetgeshi/src/Controller/GeshiController.php

File

codesnippetgeshi/src/Controller/GeshiController.php
View source
<?php

namespace Drupal\codesnippetgeshi\Controller;

use Drupal\Core\Controller\ControllerBase;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

/**
 * Class GeshiController.
 */
class GeshiController extends ControllerBase {

  /**
   * Process the ajax request to hightlight code.
   *
   * @param Symfony\Component\HttpFoundation\Request $request
   *   The request from ckeditor plugin.
   *
   * @return Symfony\Component\HttpFoundation\Response
   *   The code with hightlight.
   */
  public function ajax(Request $request) {
    $params = [];
    $content = $request
      ->getContent();
    if (!empty($content)) {

      // 2nd param to get as array.
      $params = json_decode($content, TRUE);
    }
    $geshi = new \GeSHi($params['html'], $params['lang']);
    $response = new Response();
    $response
      ->setContent($geshi
      ->parse_code());
    return $response;
  }

}

Classes

Namesort descending Description
GeshiController Class GeshiController.