晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/tabatabaei/.trash/wp-content.1/themes/yuma/inc/ |
Upload File : |
<?php
/**
* sanitization functions
*
* @package yuma
*/
if ( ! function_exists( 'yuma_sanitize_select' ) ) :
/**
* Sanitize select, radio.
*
* @param mixed $input The value to sanitize.
* @param WP_Customize_Setting $setting WP_Customize_Setting instance.
* @return mixed Sanitized value.
*/
function yuma_sanitize_select( $input, $setting ) {
// Get list of choices from the control associated with the setting.
$choices = $setting->manager->get_control( $setting->id )->choices;
// If the input is a valid key, return it; otherwise, return the default.
return ( array_key_exists( $input, $choices ) ? $input : $setting->default );
}
endif;
if ( ! function_exists( 'yuma_sanitize_meta_select' ) ) :
/**
* Sanitize select, radio.
*
* @param mixed $input The value to sanitize.
* @return mixed Sanitized value.
*/
function yuma_sanitize_meta_select( $input, $choices ) {
// Get list of choices from the control associated with the setting.
$choices = ! empty( $choices ) ? ( array ) $choices : array();
// If the input is a valid key, return it; otherwise, return the default.
return ( array_key_exists( $input, $choices ) ? $input : '' );
}
endif;
if ( ! function_exists( 'yuma_sanitize_image' ) ) :
/**
* Image sanitization callback example.
*
* Checks the image's file extension and mime type against a whitelist. If they're allowed,
* send back the filename, otherwise, return the setting default.
*
* - Sanitization: image file extension
* - Control: text, WP_Customize_Image_Control
*
* @see wp_check_filetype() https://developer.wordpress.org/reference/functions/wp_check_filetype/
*
* @param string $image Image filename.
* @param WP_Customize_Setting $setting Setting instance.
* @return string The image filename if the extension is allowed; otherwise, the setting default.
*/
function yuma_sanitize_image( $image, $setting ) {
/*
* Array of valid image file types.
*
* The array includes image mime types that are included in wp_get_mime_types()
*/
$mimes = array(
'jpg|jpeg|jpe' => 'image/jpeg',
'gif' => 'image/gif',
'svg' => 'image/svg',
'png' => 'image/png',
'bmp' => 'image/bmp',
'tif|tiff' => 'image/tiff',
'ico' => 'image/x-icon'
);
// Return an array with file extension and mime_type.
$file = wp_check_filetype( $image, $mimes );
// If $image has a valid mime_type, return it; otherwise, return the default.
return ( $file['ext'] ? $image : $setting->default );
}
endif;
if ( ! function_exists( 'yuma_sanitize_number_range' ) ) :
/**
* Number Range sanitization callback example.
*
* - Sanitization: number_range
* - Control: number, tel
*
* Sanitization callback for 'number' or 'tel' type text inputs. This callback sanitizes
* `$number` as an absolute integer within a defined min-max range.
*
* @see absint() https://developer.wordpress.org/reference/functions/absint/
*
* @param int $number Number to check within the numeric range defined by the setting.
* @param WP_Customize_Setting $setting Setting instance.
* @return int|string The number, if it is zero or greater and falls within the defined range; otherwise,
* the setting default.
*/
function yuma_sanitize_number_range( $number, $setting ) {
// Ensure input is an absolute integer.
$number = absint( $number );
// Get the input attributes associated with the setting.
$atts = $setting->manager->get_control( $setting->id )->input_attrs;
// Get minimum number in the range.
$min = ( isset( $atts['min'] ) ? $atts['min'] : $number );
// Get maximum number in the range.
$max = ( isset( $atts['max'] ) ? $atts['max'] : $number );
// Get step.
$step = ( isset( $atts['step'] ) ? $atts['step'] : 1 );
// If the number is within the valid range, return it; otherwise, return the default
return ( $min <= $number && $number <= $max && is_int( $number / $step ) ? $number : $setting->default );
}
endif;
if ( ! function_exists( 'yuma_sanitize_checkbox' ) ) :
/**
* Sanitize checkbox.
*
* @param bool $checked Whether the checkbox is checked.
* @return bool Whether the checkbox is checked.
*/
function yuma_sanitize_checkbox( $checked ) {
return ( ( isset( $checked ) && true == $checked ) ? true : false );
}
endif;
if ( ! function_exists( 'yuma_sanitize_page_post' ) ) :
/**
* Sanitizes page/post
* @param $input entered value
* @return sanitized output
*/
function yuma_sanitize_page_post( $input ) {
// Ensure $input is an absolute integer.
$page_id = absint( $input );
// If $page_id is an ID of a published page, return it; otherwise, return false
return ( 'publish' == get_post_status( $page_id ) ? $page_id : false );
}
endif;
if( ! function_exists( 'yuma_sanitize_category' ) ) :
/**
* Sanitizes dropdown single category
* @param $input entered value
* @return sanitized output
*/
function yuma_sanitize_category( $input ) {
if ( $input != '' ) {
$args = array(
'type' => 'post',
'child_of' => 0,
'parent' => '',
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 0,
'hierarchical' => 0,
'taxonomy' => 'category',
);
$categories = get_categories( $args );
foreach ( $categories as $category )
$category_ids[] = $category->term_id;
if ( in_array( $input, $category_ids ) ) {
return $input;
}
else {
return '';
}
}
else {
return '';
}
}
endif;
if ( ! function_exists( 'yuma_santize_allow_tags' ) ) :
/**
* Textarea field with allowed tags
*
* @param string $input
* @param WP_Customize_Setting $setting Setting instance.
* @return string The input with only allowed tag i.e. anchor
*/
function yuma_santize_allow_tags( $input ) {
$input = wp_kses( $input, array(
'h1' => array(),
'h2' => array(),
'h3' => array(),
'h4' => array(),
'h5' => array(),
'h6' => array(),
'span' => array(),
'p' => array(),
'a' => array(
'target' => array(),
'href' => array(),
)
) );
return $input;
}
endif;
if ( ! function_exists( 'yuma_title_allow_span' ) ) :
/**
* Textarea field with allowed tags
*
* @param string $input
* @param WP_Customize_Setting $setting Setting instance.
* @return string The input with only allowed tag i.e. anchor
*/
function yuma_title_allow_span( $input ) {
$input = wp_kses( $input, array(
'span' => array(),
) );
return $input;
}
endif;
if ( ! function_exists( 'yuma_sanitize_switch' ) ) :
/**
* Sanitize data from custom Switch Control.
* @param string $input
* @return boolean
*/
function yuma_sanitize_switch( $input ) {
$input = sanitize_text_field( $input );
return ( in_array( $input, array( 'false', NULL ) ) ) ? false : true;
}
endif;
if ( ! function_exists( 'yuma_sanitize_multiple_absint' ) ) :
/**
* Sanitize data from multiple integers.
* @param string $input
* @return array
*/
function yuma_sanitize_multiple_absint( $input ) {
$input = ( array ) $input;
return array_map( 'absint', $input );
}
endif;
if ( ! function_exists( 'yuma_sanitize_send_empty' ) ) :
/**
* Sanitize data from multiple integers.
* @param string $input
* @return array
*/
function yuma_sanitize_send_empty( $input ) {
return false;
}
endif;