HEX
Server: nginx/1.18.0
System: Linux iZj6c1ieg2jrpk1z5tzi19Z 6.3.9-1.el7.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 21 22:18:40 EDT 2023 x86_64
User: www (1001)
PHP: 8.2.4
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.cytocare.cn/wp-content/plugins/gwolle-gb/frontend/gb-ajax-infinite-scroll.php
<?php


if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly



/*
 * Handles AJAX request from Gwolle-GB for Infinite Scroll.
 * Will only be used if Infinite Scroll is enabled instead of default pagination.
 *
 * Prints html with a list of entries.
 */
function gwolle_gb_infinite_scroll_callback() {

	$output = '';

	$page_num = 1;
	if ( isset($_POST['pageNum']) && is_numeric($_POST['pageNum']) ) {
		$page_num = (int) $_POST['pageNum'];
	}

	$book_id = 1;
	if ( isset($_POST['book_id']) && is_numeric($_POST['book_id']) ) {
		$book_id = (int) $_POST['book_id'];
	}
	$shortcode_atts = array();
	$shortcode_atts['book_id'] = $book_id;

	$num_entries = (int) get_option('gwolle_gb-entriesPerPage', 20);
	$num_entries = (int) apply_filters( 'gwolle_gb_read_num_entries', $num_entries, $shortcode_atts );

	if ( $page_num === 1 ) {
		$offset = 0;
	} else {
		$offset = ( ( $page_num - 1 ) * $num_entries );
	}


	/* Get the entries for the frontend */
	$entries = gwolle_gb_get_entries(
		array(
			'offset'      => $offset,
			'num_entries' => $num_entries,
			'checked'     => 'checked',
			'trash'       => 'notrash',
			'spam'        => 'nospam',
			'book_id'     => $book_id,
		)
	);


	/* Entries from the template */
	if ( ! is_array($entries) || empty($entries) ) {
		$output .= 'false';
	} else {

		// Try to load and require_once the template from the themes folders.
		if ( locate_template( array( 'gwolle_gb-entry.php' ), true, true ) === '') {

			$output .= '<!-- Gwolle-GB Entry: Default Template Loaded -->
				';

			// No template found and loaded in the theme folders.
			// Load the template from the plugin folder.
			require_once GWOLLE_GB_DIR . '/frontend/gwolle_gb-entry.php';

		} else {

			$output .= '<!-- Gwolle-GB Entry: Custom Template Loaded -->
				';

		}

		$counter = $offset;
		$first = false;
		foreach ($entries as $entry) {
			$counter++;

			// Run the function from the template to get the entry.
			$entry_output = gwolle_gb_entry_template( $entry, $first, $counter );

			// Add a filter for each entry, so devs can add or remove parts.
			$output .= apply_filters( 'gwolle_gb_entry_read', $entry_output, $entry );

		}

	}

	echo $output;

	die(); // this is required to return a proper result

}
add_action( 'wp_ajax_gwolle_gb_infinite_scroll', 'gwolle_gb_infinite_scroll_callback' );
add_action( 'wp_ajax_nopriv_gwolle_gb_infinite_scroll', 'gwolle_gb_infinite_scroll_callback' );