晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/classes/ |
Upload File : |
<?php
class CSSFramework_User_Profile extends CSSFramework_Abstract{
/**
* options
*
* @var array
*/
public $options = array();
/**
* type
*
* @var string
*/
protected $type = 'user_profile';
/**
* CSSFramework_User_Profile constructor.
*
* @param array $options
*/
public function __construct( $options = array() ) {
$this->init( $options );
}
/**
* @param $options
*/
public function init( $options ) {
$this->options = $options;
add_action( 'load-profile.php', array( &$this, 'map_user_info' ) );
add_action( 'load-user-edit.php', array( &$this, 'map_user_info' ) );
add_action( 'show_user_profile', array( &$this, 'custom_user_profile_fields' ), 10, 1 );
add_action( 'edit_user_profile', array( &$this, 'custom_user_profile_fields' ), 10, 1 );
add_action( 'user_new_form', array( &$this, 'custom_user_profile_fields' ), 10, 1 );
add_action( 'personal_options_update', array( $this, 'save_customer_meta_fields' ), 10, 2 );
add_action( 'edit_user_profile_update', array( $this, 'save_customer_meta_fields' ), 10, 2 );
$this->addAction( 'admin_enqueue_scripts', 'load_style_script' );
}
public function map_user_info() {
foreach ( $this->options as $optionid => $option ) {
$this->options[ $optionid ] = $this->map_error_id( $option, $option['id'] );
}
}
public function load_style_script() {
global $pagenow;
if ( 'profile.php' === $pagenow || 'user-edit.php' === $pagenow || 'user-new.php' === $pagenow) {
cssf_assets()->render_framework_style_scripts();
}
}
/**
* @param null $user_id
*/
public function custom_user_profile_fields( $user_id = null ) {
$user_id = ( is_object( $user_id ) ) ? $user_id->ID : $user_id;
foreach ( $this->options as $option_id => $option ) {
$cssf_errors = get_transient( '_cssf_umeta_' . $option['id'] );
$cssf_errors['errors'] = isset( $cssf_errors['errors'] ) ? $cssf_errors['errors'] : array();
cssf_add_errors( $cssf_errors['errors'] );
$values = get_user_meta( $user_id, $option['id'], true );
$values = ( ! is_array( $values ) ) ? array() : $values;
$title = ( isset( $option['title'] ) && ! empty( $option['title'] ) ) ? '<h2>' . $option['title'] . '</h2>' : '';
echo $title;
echo '<div class="cssf-framework cssf-user-profile">';
if ( isset( $option['style'] ) && 'modern' === $option['style'] ) {
echo '<div class="cssf-body">';
}
foreach ( $option['fields'] as $field ) {
$value = $this->get_field_values( $field, $values );
echo cssf_add_element( $field, $value, $option['id'] );
}
if ( isset( $option['style'] ) && 'modern' === $option['style'] ) {
echo '</div>';
}
echo '</div>';
}
}
/**
* @param $user_id
*/
public function save_customer_meta_fields( $user_id ) {
$save_handler = new CSSFramework_DB_Save_Handler;
foreach ( $this->options as $options ) {
$posted_data = cssf_get_var( $options['id'] );
if ( isset( $options['fields'] ) ) {
$posted_data = $save_handler->general_save_handler( $posted_data, $options );
}
update_user_meta( $user_id, $options['id'], $posted_data );
set_transient( '_cssf_umeta_' . $options['id'], array( 'errors' => $save_handler->get_errors() ), 10 );
}
}
}