www.gusucode.com > esoTalk 轻量化论坛 中文优化版 v1.0源码程序 > esotalk-1.0.0g5/addons/plugins/HighlightJS/plugin.php

    <?php
// Copyright 2015 Andrew Bagshaw
if (!defined("IN_ESOTALK")) exit;

ET::$pluginInfo["HighlightJS"] = array(
	"name" => "代码高亮",
	"description" => "添加编辑器代码高亮支持",
	"version" => "0.1",
	"author" => "Andrew Bagshaw",
	"authorEmail" => "",
	"authorURL" => "",
	"license" => "MIT"
);

class ETPlugin_HighlightJS extends ETPlugin{

	public function handler_conversationController_init($sender){
		$HighlightJS = C('plugin.HighlightJS.customstyle');

		if($HighlightJS)
			$CustomHighlightCSS= "<link rel=\"stylesheet\" href=\"//cdn.bootcss.com/highlight.js/9.12.0/styles/".$HighlightJS.".min.css\">";
		else
			$CustomHighlightCSS= "<link rel=\"stylesheet\" href=\"//cdn.bootcss.com/highlight.js/9.12.0/styles/default.min.css\">";
			
		$JSHeader = "<script src=\"//cdn.bootcss.com/highlight.js/9.12.0/highlight.min.js\"></script>";
		
		$codeToRun = "<script type=\"text/javascript\">$(document).ready(function() { $('pre').each(function(i, block) { hljs.highlightBlock(block); });});</script>";

		$sender->addToHead($CustomHighlightCSS);
		$sender->addToHead($JSHeader);
		$sender->addJSFile($this->resource("highlightactions.js"));
	}
	public function handler_conversationController_editPostAfter($sender)
	{
	
	}

	public function settings($sender){
		$form = ETFactory::make('form');
		$form->action = URL('admin/plugins/settings/HighlightJS');
		$form->setValue("customstyle", C("plugin.HighlightJS.customstyle"));

		if ($form->validPostBack('HighlightJSSave')){
			$config = array();
			$config['plugin.HighlightJS.customstyle'] = trim($form->getValue('customstyle'));

			ET::writeConfig($config);

			$sender->message(T('message.changesSaved'), 'success autoDismiss');
			$sender->redirect(URL('admin/plugins'));
		}

		$sender->data('HighlightJSForm', $form);
		return $this->View('settings');
	}

}