晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/public_html/oldTZh/wp-content/plugins/elementor-pro/modules/role-manager/ |
Upload File : |
<?php
namespace ElementorPro\Modules\RoleManager;
use ElementorPro\Plugin;
use ElementorPro\License\API;
use ElementorPro\Base\Module_Base;
use Elementor\Core\RoleManager\Role_Manager as RoleManagerBase;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
class Module extends Module_Base {
const ROLE_MANAGER_OPTION_NAME = 'role-manager';
public function get_role_manager_options() {
return get_option( 'elementor_' . self::ROLE_MANAGER_OPTION_NAME, [] );
}
public function get_name() {
return 'role-manager';
}
public function save_advanced_options( $input ) {
return $input;
}
public function get_user_restrictions() {
return $this->get_role_manager_options();
}
public function display_role_controls( $role_slug, $role_data ) {
static $options = false;
if ( ! API::is_license_active() || ! API::is_licence_has_feature( static::ROLE_MANAGER_OPTION_NAME, API::BC_VALIDATION_CALLBACK ) ) {
// Promotions for PRO when the license not active.
$this->print_role_controls_promotion();
return;
}
if ( ! $options ) {
$options = [
'excluded_options' => Plugin::elementor()->role_manager->get_role_manager_options(),
'advanced_options' => $this->get_role_manager_options(),
];
}
$id = self::ROLE_MANAGER_OPTION_NAME . '_' . $role_slug . '_design';
$name = 'elementor_' . self::ROLE_MANAGER_OPTION_NAME . '[' . $role_slug . '][]';
$checked = isset( $options['advanced_options'][ $role_slug ] ) ? $options['advanced_options'][ $role_slug ] : [];
?>
<label for="<?php echo esc_attr( $id ); ?>">
<input type="checkbox" name="<?php echo esc_attr( $name ); ?>" id="<?php echo esc_attr( $id ); ?>" value="design" <?php checked( in_array( 'design', $checked ), true ); ?>>
<?php echo esc_html__( 'Access to edit content only', 'elementor-pro' ); ?>
</label>
<?php
}
public function register_admin_fields( RoleManagerBase $role_manager ) {
$role_manager->add_section( 'general', 'advanced-role-manager', [
'fields' => [
self::ROLE_MANAGER_OPTION_NAME => [
'field_args' => [
'type' => 'raw_html',
'html' => '',
],
'setting_args' => [
'sanitize_callback' => [ $this, 'save_advanced_options' ],
],
],
],
] );
}
private function print_role_controls_promotion() {
?>
<div class="elementor-role-go-pro">
<div class="elementor-role-go-pro__desc">
<?php echo esc_html__( 'Want to give access only to content?', 'elementor-pro' ); ?>
</div>
<div class="elementor-role-go-pro__link ">
<a
class="elementor-button go-pro"
target="_blank"
href="<?php echo esc_url( $this->get_cta_url() ); ?>"
>
<?php echo esc_html( $this->get_cta_label() ); ?>
</a>
</div>
</div>
<?php
}
private function get_cta_label() {
if ( ! API::active_licence_has_feature( static::ROLE_MANAGER_OPTION_NAME ) ) {
return esc_html__( 'Upgrade', 'elementor-pro' );
}
return API::is_license_expired()
? esc_html__( 'Renew now', 'elementor-pro' )
: esc_html__( 'Connect & Activate', 'elementor-pro' );
}
private function get_cta_url() {
if ( ! API::active_licence_has_feature( static::ROLE_MANAGER_OPTION_NAME ) ) {
return 'https://go.elementor.com/go-pro-advanced-role-manager/';
}
return API::is_license_expired()
? 'https://go.elementor.com/renew-role-manager/'
: $this->get_connect_url();
}
private function get_connect_url() {
return Plugin::instance()->license_admin->get_connect_url( [
'utm_source' => 'wp-role-manager',
'utm_medium' => 'wp-dash',
'utm_campaign' => 'connect-and-activate-license',
] );
}
public function __construct() {
parent::__construct();
if ( is_admin() ) {
add_action( 'elementor/admin/after_create_settings/' . RoleManagerBase::PAGE_ID, [ $this, 'register_admin_fields' ], 100 );
}
remove_action( 'elementor/role/restrictions/controls', [ Plugin::elementor()->role_manager, 'get_go_pro_link_html' ] );
add_action( 'elementor/role/restrictions/controls', [ $this, 'display_role_controls' ], 10, 2 );
add_filter( 'elementor/editor/user/restrictions', [ $this, 'get_user_restrictions' ] );
}
}