HEX
Server: Apache
System: Linux clpupre 5.4.0-90-generic #101-Ubuntu SMP Fri Oct 15 20:00:55 UTC 2021 x86_64
User: undanet (1000)
PHP: 7.4.3
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/undanet/www/wp-content/plugins/wp-mpdf/wp_syntax_functions.inc.php
<?php
#
#  Copyright (c) 2007-2009 Ryan McGeary
#
#  This file is part of WP-Syntax.
#
#  WP-Syntax is free software; you can redistribute it and/or modify it under
#  the terms of the GNU General Public License as published by the Free
#  Software Foundation; either version 2 of the License, or (at your option)
#  any later version.
#
#  WP-Syntax is distributed in the hope that it will be useful, but WITHOUT ANY
#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
#  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
#  details.
#
#  You should have received a copy of the GNU General Public License along
#  with WP-Syntax; if not, write to the Free Software Foundation, Inc., 59
#  Temple Place, Suite 330, Boston, MA 02111-1307 USA
#

if ( ! defined( "WP_CONTENT_URL" ) ) {
	define( "WP_CONTENT_URL", get_option( "siteurl" ) . "/wp-content" );
}
if ( ! defined( "WP_PLUGIN_URL" ) ) {
	define( "WP_PLUGIN_URL", WP_CONTENT_URL . "/plugins" );
}


if ( ! function_exists( 'wp_syntax_code_trim' ) ) {
	function wp_syntax_code_trim( $code ) {
		// special ltrim b/c leading whitespace matters on 1st line of content
		$code = preg_replace( "/^\s*\n/siU", "", $code );
		$code = rtrim( $code );

		return $code;
	}
}
if ( ! function_exists( 'wp_syntax_substitute' ) ) {
	function wp_syntax_substitute( &$match ) {
		global $wp_syntax_token, $wp_syntax_matches;

		$i                       = count( $wp_syntax_matches );
		$wp_syntax_matches[ $i ] = $match;

		return "\n\n<p>" . $wp_syntax_token . sprintf( "%03d", $i ) . "</p>\n\n";
	}
}

function wp_syntax_highlight_mpdf( $match ) {
	global $wp_syntax_matches;

	$i     = intval( $match[1] );
	$match = $wp_syntax_matches[ $i ];

	$language = strtolower( trim( $match[1] ) );
	$line     = trim( $match[2] );
	$escaped  = trim( $match[3] );
	$code     = wp_syntax_code_trim( $match[4] );
	$code     = htmlspecialchars_decode( $code );

	$geshi = new GeSHi( $code, $language );
	$geshi->enable_keyword_links( false );
	$geshi->set_header_type( GESHI_HEADER_DIV );
	$geshi->set_tab_width( 4 );
	do_action_ref_array( 'wp_syntax_init_geshi', array( &$geshi ) );

	$output = "\n<div class=\"wp_syntax\">";

	//Beim Printen immer Line numbern anmachen
	$line = get_option( 'mpdf_geshi_linenumbers' );
	if ( $line ) {
		$lineMode = explode( "\n", $code );

		$output .= '<table>';
		for ( $i = 0; $i < count( $lineMode ); $i ++ ) {
			$geshi->set_source( $lineMode[ $i ] );

			if ( $i % 2 ) {
				$output .= '<tr style="background-color: #f5f5f5;">';
			} else {
				$output .= '<tr>';
			}
			$output .= '<td class="line_numbers" style="vertical-align: top;">';
			if ( ( $i + 1 ) % 5 ) {
				$output .= ( $i + 1 );
			} else {
				$output .= '<b>' . ( $i + 1 ) . '</b>';
			}
			$output .= '</td><td class="code">';
			$output .= $geshi->parse_code();
			$output .= '</td></tr>';
		}
		$output .= '</table>';
	} else {
		$output .= "<div class=\"code\">";
		$output .= $geshi->parse_code();
		$output .= "</div>";
	}

	return

		$output .= "</div>\n";

	return $output;
}

if ( ! function_exists( 'wp_syntax_before_filter' ) ) {
	function wp_syntax_before_filter( $content ) {
		return preg_replace_callback(
			"/\s*<pre(?:lang=[\"']([\w-]+)[\"']|line=[\"'](\d*)[\"']|escaped=[\"'](true|false)?[\"']|\s)+>(.*)<\/pre>\s*/siU",
			"wp_syntax_substitute",
			$content
		);
	}
}

function wp_syntax_after_filter_mpdf( $content ) {
	global $wp_syntax_token;

	$content = preg_replace_callback(
		"/<p>\s*" . $wp_syntax_token . "(\d{3})\s*<\/p>/si",
		"wp_syntax_highlight_mpdf",
		$content
	);

	return $content;
}

$wp_syntax_token = md5( uniqid( rand() ) );