Test short code

Insérer [code lang=name]code[/code]

<pre>
/** * Prepare callback for the GeSHi filter. */ 
function geshifilter_prepare_callback($text, $filter)
{
    require_once drupal_get_path('module', 'geshifilter') .'/geshifilter.pages.inc'; 
    return _geshifilter_prepare($filter-&gt;format, $text); 
} 
</pre>
<?php
namespace Drupal\shortcode_code\Plugin\Shortcode;
use GeSHi;
use Drupal\Core\Language\Language;
use Drupal\shortcode\Plugin\ShortcodeBase;



/**
 * highlits code coming from a file
 *
 * @Shortcode(
 *   id = "src",
 *   title = @Translation("src"),
 *   description = @Translation("Shows file in a code manner")
 * )
 */

     
class FileShortcode extends CodeShortcode {

  /**
   * {@inheritdoc}
   */

  public function process(array $attributes, $text, $langcode = Language::LANGCODE_NOT_SPECIFIED) {
        filename = dirname(__FILE__) . '/../../../../../../sites/default/files/geshi/'. $text;
        if (file_exists($text)){                                       
                $text = htmlspecialchars(file_get_contents($text));            
        }
        return  CodeShortcode($attributes, $text, $langcode);
  }

  /**
   * {@inheritdoc}
   */

  public function tips($long = FALSE) {
    $output = [];
    $output[] = '<p><strong>' . $this->t('[src] filename [/src]') . '</strong> ';
    if ($long) {
      $output[] = $this->t('Shows file in a code manner.') . '</p>';
    }
    else {
      $output[] = $this->t('Shows file in a code manner.') . '</p>';
    }

    return implode(' ', $output);
  }
}
 

Ajouter un commentaire

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et les adresses courriel se transforment en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Cette question sert à vérifier si vous êtes un visiteur humain ou non afin d'éviter les soumissions de pourriel (spam) automatisées.