晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/rainic/www/oldTZh/wp-content/plugins/gravityforms/includes/settings/fields/ |
Upload File : |
<?php
namespace Gravity_Forms\Gravity_Forms\Settings\Fields;
use GFCommon;
use Gravity_Forms\Gravity_Forms\Settings\Settings;
use Gravity_Forms\Gravity_Forms\Settings\Fields;
defined( 'ABSPATH' ) || die();
// Load base class.
require_once 'class-radio.php';
class Card extends Radio {
/**
* Field type.
*
* @since 2.5.6
*
* @var string
*/
public $type = 'card';
/**
* Field choices.
*
* @since 2.5
*
* @var array
*/
public $choices = array();
/**
* Initialize field.
*
* @since 2.5
*
* @param array $props Field properties.
* @param Settings $settings Settings instance.
*/
public function __construct( $props, $settings ) {
// Prepare class.
$class = array( 'gform-settings-field__radio--visual' );
// Convert defined classes.
if ( rgar( $props, 'class' ) ) {
$props['class'] = explode( ' ', $props['class'] );
$class = array_merge( $class, $props['class'] );
unset( $props['class'] );
}
// Define class.
$this->class = implode( ' ', $class );
parent::__construct( $props, $settings );
}
// # RENDER METHODS ------------------------------------------------------------------------------------------------
/**
* Render field.
*
* @since 2.5
*
* @return string
*/
public function markup() {
// Get choices, selected value, classes.
$choices = $this->get_choices();
$selected_value = $this->get_value();
$has_icons = self::has_icons( $choices );
$has_tag = self::has_tag( $choices );
$icon_class = ' gform-settings-choice--visual';
// If no choices exist, return.
if ( $choices === false || empty( $choices ) ) {
return '';
}
// Display description.
$html = $this->get_description();
$html .= '<span class="' . esc_attr( $this->get_container_classes() ) . '">';
// Create inputs from choices.
foreach ( $choices as $i => $choice ) {
// Prepare choice attributes.
$choice['id'] = rgempty( 'id', $choice ) ? sprintf( '%s%s', $this->name, $i ) : $choice['id'];
$choice_value = rgar( $choice, 'value' ) ? $choice['value'] : $choice['label'];
$choice_tooltip = $this->settings->maybe_get_tooltip( $choice );
// Get input.
$choice_input = sprintf(
'<input type="radio" name="%s_%s" value="%s" %s %s />',
$this->settings->get_input_name_prefix(),
$this->name,
$choice_value,
checked( $selected_value, $choice_value, false ),
implode( ' ', self::get_choice_attributes( $choice, $this->get_attributes() ) )
);
// Get icon markup.
if ( $has_icons ) {
// Get the defined icon or use default.
$icon_markup = GFCommon::get_icon_markup( $choice, 'fa-cog' );
}
// Get tag markup.
if ( $has_tag ) {
$color = rgar( $choice, 'color' ) ? $choice['color'] : 'port';
$tag_markup = '<span class="gform-settings-card-tag gform-c-' . $color . '"><i class="gform-icon gform-icon--circle-star"></i>' . esc_html( $choice['tag'] ) . '</span>';
}
// Get description markup.
$description_markup = '<div class="gform-settings-card--description"><div class="gform-settings-card--description-content">';
if ( rgar( $choice, 'title' ) ) {
$description_markup .= '<strong>' . esc_html( $choice['title'] ) . '</strong>';
}
if ( rgar( $choice, 'description' ) ) {
$description_markup .= '<p>' . esc_html( $choice['description'] ) . '</p>';
}
$description_markup .= '</div></div>';
$html .= sprintf(
'<div id="gform-settings-radio-choice-%1$s" class="gform-settings-choice%2$s">
%3$s
<label for="%1$s">
<span>%4$s %5$s %6$s %7$s</span>
</label>
%8$s
</div>',
esc_attr( $choice['id'] ),
$icon_class,
$choice_input,
isset( $icon_markup ) ? $icon_markup : '',
esc_html( $choice['label'] ),
isset( $tag_markup ) ? $tag_markup : '',
$choice_tooltip,
$description_markup
);
}
// Wrap visual choices with container.
if ( ! empty( $icon_class ) ) {
$html = sprintf(
'<div class="gform-settings-choices--visual">%s</div>',
$html
);
}
// If field failed validation, add error icon.
$html .= $this->get_error_icon();
$html .= '</span>';
return $html;
}
}
Fields::register( 'card', '\Gravity_Forms\Gravity_Forms\Settings\Fields\Card' );