public static function show_preview()
 {
     echo '<div id="content">';
     self::load_settings();
     // Run first to ensure global settings loaded
     $crayon = CrayonWP::instance();
     // Settings to prevent from validating
     $preview_settings = array(self::SAMPLE_CODE);
     // Load settings from GET and validate
     foreach ($_POST as $key => $value) {
         //	echo $key, ' ', $value , '<br/>';
         $value = stripslashes($value);
         if (!in_array($key, $preview_settings)) {
             $_POST[$key] = CrayonSettings::validate($key, $value);
         } else {
             $_POST[$key] = $value;
         }
     }
     $crayon->settings($_POST);
     if (!isset($crayon_preview_dont_override_get) || !$crayon_preview_dont_override_get) {
         $settings = array(CrayonSettings::TOP_SET => TRUE, CrayonSettings::TOP_MARGIN => 10, CrayonSettings::BOTTOM_SET => FALSE, CrayonSettings::BOTTOM_MARGIN => 0);
         $crayon->settings($settings);
     }
     // Print the theme CSS
     $theme_id = $crayon->setting_val(CrayonSettings::THEME);
     if ($theme_id != NULL) {
         echo CrayonResources::themes()->get_css($theme_id, date('U'));
     }
     $font_id = $crayon->setting_val(CrayonSettings::FONT);
     if ($font_id != NULL) {
         echo CrayonResources::fonts()->get_css($font_id);
     }
     // Load custom code based on language
     $lang = $crayon->setting_val(CrayonSettings::FALLBACK_LANG);
     $path = crayon_pf(CRAYON_UTIL_PATH . '/sample/' . $lang . '.txt', FALSE);
     if (isset($_POST[self::SAMPLE_CODE])) {
         $crayon->code($_POST[self::SAMPLE_CODE]);
     } else {
         if ($lang && @file_exists($path)) {
             $crayon->url($path);
         } else {
             $code = "\n// A sample class\nclass Human {\n\tprivate int age = 0;\n\tpublic void birthday() {\n\t\tage++;\n\t\tprint('Happy Birthday!');\n\t}\n}\n";
             $crayon->code($code);
         }
     }
     $crayon->title('Sample Code');
     $crayon->marked('5-7');
     $crayon->output($highlight = true, $nums = true, $print = true);
     echo '</div>';
     crayon_load_plugin_textdomain();
     exit;
 }
        $_GET[$key] = CrayonSettings::validate($key, $value);
    }
}
$crayon->settings($_GET);
if (!isset($crayon_preview_dont_override_get) || !$crayon_preview_dont_override_get) {
    $settings = array(CrayonSettings::TOP_SET => TRUE, CrayonSettings::TOP_MARGIN => 10, CrayonSettings::BOTTOM_SET => FALSE, CrayonSettings::BOTTOM_MARGIN => 0);
    $crayon->settings($settings);
}
// Print the theme CSS
$theme_id = $crayon->setting_val(CrayonSettings::THEME);
if ($theme_id != NULL) {
    echo CrayonResources::themes()->get_css($theme_id);
}
$font_id = $crayon->setting_val(CrayonSettings::FONT);
if ($font_id != NULL) {
    echo CrayonResources::fonts()->get_css($font_id);
}
// Load custom code based on language
$lang = $crayon->setting_val(CrayonSettings::FALLBACK_LANG);
$path = crayon_pf(dirname(__FILE__) . '/sample/' . $lang . '.txt', FALSE);
if ($lang && @file_exists($path)) {
    $crayon->url($path);
} else {
    $code = "\r\n// A sample class\r\nclass Human {\r\n\tprivate int age = 0;\r\n\tpublic void birthday() {\r\n\t\tage++;\r\n\t\tprint('Happy Birthday!');\r\n\t}\r\n}\r\n";
    $crayon->code($code);
}
$crayon->title('Sample Code');
$crayon->marked('5-7');
$crayon->output($highlight = true, $nums = true, $print = true);
echo '</div>';
crayon_load_plugin_textdomain();
示例#3
0
function crayon_is_php_file($filepath, $valid)
{
    $path = pathinfo(crayon_pf($filepath));
    return is_file($filepath) && $path['extension'] === 'php' && $path['filename'] === $valid;
}
define('CRAYON_HIGHLIGHTER', 'CrayonHighlighter');
define('CRAYON_ELEMENT_CLASS', 'CrayonElement');
define('CRAYON_SETTING_CLASS', 'CrayonSetting');
// Directories
define('CRAYON_DIR', crayon_pf(basename(dirname(__FILE__))));
define('CRAYON_LANG_DIR', crayon_s('langs'));
define('CRAYON_THEME_DIR', crayon_s('themes'));
define('CRAYON_FONT_DIR', crayon_s('fonts'));
define('CRAYON_UTIL_DIR', crayon_s('util'));
define('CRAYON_CSS_DIR', crayon_s('css'));
define('CRAYON_JS_DIR', crayon_s('js'));
define('CRAYON_TRANS_DIR', crayon_s('trans'));
define('CRAYON_THEME_EDITOR_DIR', crayon_s('theme-editor'));
define('CRAYON_TAG_EDITOR_DIR', crayon_s('tag-editor'));
// Paths
define('CRAYON_ROOT_PATH', crayon_pf(dirname(__FILE__)));
define('CRAYON_LANG_PATH', CRAYON_ROOT_PATH . CRAYON_LANG_DIR);
define('CRAYON_THEME_PATH', CRAYON_ROOT_PATH . CRAYON_THEME_DIR);
define('CRAYON_FONT_PATH', CRAYON_ROOT_PATH . CRAYON_FONT_DIR);
define('CRAYON_UTIL_PATH', CRAYON_ROOT_PATH . CRAYON_UTIL_DIR);
define('CRAYON_TAG_EDITOR_PATH', CRAYON_ROOT_PATH . CRAYON_UTIL_DIR . CRAYON_TAG_EDITOR_DIR);
define('CRAYON_THEME_EDITOR_PATH', CRAYON_ROOT_PATH . CRAYON_UTIL_DIR . CRAYON_THEME_EDITOR_DIR);
// Files
define('CRAYON_LOG_FILE', CRAYON_ROOT_PATH . 'log.txt');
define('CRAYON_TOUCH_FILE', CRAYON_UTIL_PATH . 'touch.txt');
define('CRAYON_LOG_MAX_SIZE', 50000);
// Bytes
define('CRAYON_README_FILE', CRAYON_ROOT_PATH . 'readme.txt');
define('CRAYON_LANG_EXT', CRAYON_LANG_PATH . 'extensions.txt');
define('CRAYON_LANG_ALIAS', CRAYON_LANG_PATH . 'aliases.txt');
define('CRAYON_LANG_DELIM', CRAYON_LANG_PATH . 'delimiters.txt');