__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php
/**
 * @author    ThemePunch <[email protected]>
 * @link      https://www.themepunch.com/
 * @copyright 2024 ThemePunch
 */

if( !defined( 'ABSPATH') ) exit();

class RevSliderPageTemplate {

	/**
	 * A reference to an instance of this class.
	 */
	private static $instance;

	/**
	 * The array of templates that this plugin tracks.
	 */
	protected $templates;

	/**
	 * Returns an instance of this class. 
	 */
	public static function get_instance(){

		if(null == self::$instance) self::$instance = new RevSliderPageTemplate();
		
		return self::$instance;
	} 

	/**
	 * Initializes the plugin by setting filters and administration functions.
	 */
	private function __construct(){

		$this->templates = array();

		// Add a filter to the attributes metabox to inject template into the cache.
		add_filter('page_attributes_dropdown_pages_args', array( $this, 'register_project_templates'));

		// Add a filter to the save post to inject out template into the page cache
		add_filter('wp_insert_post_data', array($this, 'register_project_templates'));

		// Add a filter to the template include to determine if the page has our 
		// template assigned and return it's path
		add_filter('template_include', array($this, 'view_project_template'));

		// Add your templates to this array.
		$this->templates = array('../public/views/revslider-page-template.php' => 'Slider Revolution Blank Template');
		
		// Fix for WP 4.7
		add_filter('theme_page_templates', array($this, 'register_project_templates_new'));

		// Add filters to the attributes metabox to inject templates to all posts
		$types = get_post_types([], 'objects');
		foreach($types as $type => $values){
			if(isset($type)) add_filter('theme_' . $type . '_templates', array($this, 'add_post_templates'));
		}
	} 


	// Adds our template to the new post templates setting (WP >= 4.7)
	public function register_project_templates_new($post_templates){
	    return array_merge($post_templates, $this->templates);
	}


	public function  add_post_templates($templates){
		$my_virtual_templates = array('../public/views/revslider-page-template.php' => 'Slider Revolution Blank Template');

		return array_merge($templates, $my_virtual_templates);
	}


	/**
	 * Adds our template to the pages cache in order to trick WordPress
	 * into thinking the template file exists where it doens't really exist.
	 *
	 */

	public function register_project_templates($atts){

		// Create the key used for the themes cache
		$cache_key = 'page_templates-' . md5(get_theme_root() . '/' . get_stylesheet());

		// Retrieve the cache list. 
		// If it doesn't exist, or it's empty prepare an array
		$templates = wp_get_theme()->get_page_templates();

		if(empty($templates)) $templates = array();

		// New cache, therefore remove the old one
		wp_cache_delete($cache_key , 'themes');

		// Now add our template to the list of templates by merging our templates
		// with the existing templates array from the cache.
		$templates = array_merge($templates, $this->templates);

		// Add the modified cache to allow WordPress to pick it up for listing
		// available templates
		wp_cache_add($cache_key, $templates, 'themes', 1800);

		return $atts;
	} 

	/**
	 * Checks if the template is assigned to the page
	 */
	public function view_project_template($template){

		if(is_search()) return $template; //fix for search issue (B-5798177839)

		global $post;
		
		if(!isset($post->ID)) return $template;
			
		if(!isset($this->templates[get_post_meta( 
			$post->ID, '_wp_page_template', true 
		)])){
			return $template;
		} 

		$file = plugin_dir_path(__FILE__). get_post_meta($post->ID, '_wp_page_template', true);
		
		// Just to be safe, we check if the file exist first
		if(file_exists($file)){
			return $file;
		}else{
			echo $file;
		}

		return $template;
	}
}

Filemanager

Name Type Size Permission Actions
external Folder 0750
api.class.php File 74.97 KB 0640
aq-resizer.class.php File 7.8 KB 0640
backwards.php File 1.44 KB 0640
basic-css.php File 11.57 KB 0640
cache.class.php File 5.93 KB 0640
coloreasing.class.php File 6.4 KB 0640
colorpicker.class.php File 15.29 KB 0640
cssparser.class.php File 24.9 KB 0640
data.class.php File 76.43 KB 0640
em-integration.class.php File 6.7 KB 0640
extension.class.php File 7.56 KB 0640
favorite.class.php File 1.24 KB 0640
functions.class.php File 86.12 KB 0640
globals.class.php File 2.49 KB 0640
googlefonts.php File 244.63 KB 0640
index.php File 27 B 0640
jetpack.class.php File 1.66 KB 0640
navigation.class.php File 19.19 KB 0640
navigations.php File 118.17 KB 0640
object-library.class.php File 52.29 KB 0640
output.sr6.class.php File 321.47 KB 0640
output.sr7.class.php File 90.37 KB 0640
page-template.class.php File 3.73 KB 0640
slide.class.php File 117.47 KB 0640
slider.class.php File 122.87 KB 0640
update.class.php File 7.68 KB 0640
woocommerce.class.php File 11.6 KB 0640
wpml.class.php File 5.84 KB 0640
Filemanager