晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/powerpack-elements/modules/gallery/ |
Upload File : |
<?php
namespace PowerpackElements\Modules\Gallery;
use PowerpackElements\Base\Module_Base;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
class Module extends Module_Base {
/**
* Module is active or not.
*
* @since 1.3.3
*
* @access public
*
* @return bool true|false.
*/
public static function is_active() {
return true;
}
/**
* Get Module Name.
*
* @since 1.3.3
*
* @access public
*
* @return string Module name.
*/
public function get_name() {
return 'pp-gallery';
}
/**
* Get Widgets.
*
* @since 1.3.3
*
* @access public
*
* @return array Widgets.
*/
public function get_widgets() {
return array(
'Image_Gallery',
'Image_Slider',
);
}
/**
* Get Image Caption.
*
* @since 1.3.3
*
* @access public
*
* @return string image caption.
*/
public static function get_image_caption( $id, $caption_type = 'caption' ) {
$attachment = get_post( $id );
$attachment_caption = '';
if ( 'title' === $caption_type ) {
$attachment_caption = $attachment->post_title;
} elseif ( 'caption' === $caption_type ) {
$attachment_caption = wp_get_attachment_caption( $id );
} elseif ( 'description' === $caption_type ) {
$attachment_caption = $attachment->post_content;
}
return $attachment_caption;
}
/**
* Get Image Filters.
*
* @since 1.3.3
*
* @access public
*
* @return array image filters.
*/
public static function get_image_filters() {
$pp_image_filters = array(
'normal' => __( 'Normal', 'powerpack' ),
'filter-1977' => __( '1977', 'powerpack' ),
'filter-aden' => __( 'Aden', 'powerpack' ),
'filter-amaro' => __( 'Amaro', 'powerpack' ),
'filter-ashby' => __( 'Ashby', 'powerpack' ),
'filter-brannan' => __( 'Brannan', 'powerpack' ),
'filter-brooklyn' => __( 'Brooklyn', 'powerpack' ),
'filter-charmes' => __( 'Charmes', 'powerpack' ),
'filter-clarendon' => __( 'Clarendon', 'powerpack' ),
'filter-crema' => __( 'Crema', 'powerpack' ),
'filter-dogpatch' => __( 'Dogpatch', 'powerpack' ),
'filter-earlybird' => __( 'Earlybird', 'powerpack' ),
'filter-gingham' => __( 'Gingham', 'powerpack' ),
'filter-ginza' => __( 'Ginza', 'powerpack' ),
'filter-hefe' => __( 'Hefe', 'powerpack' ),
'filter-helena' => __( 'Helena', 'powerpack' ),
'filter-hudson' => __( 'Hudson', 'powerpack' ),
'filter-inkwell' => __( 'Inkwell', 'powerpack' ),
'filter-juno' => __( 'Juno', 'powerpack' ),
'filter-kelvin' => __( 'Kelvin', 'powerpack' ),
'filter-lark' => __( 'Lark', 'powerpack' ),
'filter-lofi' => __( 'Lofi', 'powerpack' ),
'filter-ludwig' => __( 'Ludwig', 'powerpack' ),
'filter-maven' => __( 'Maven', 'powerpack' ),
'filter-mayfair' => __( 'Mayfair', 'powerpack' ),
'filter-moon' => __( 'Moon', 'powerpack' ),
);
return $pp_image_filters;
}
/**
* Constructor function that initializes required actions and hooks
*/
public function __construct() {
parent::__construct();
// Gallery module - load more componenet.
add_action( 'wp', array( $this, 'gallery_get_images' ) );
}
/**
* Get gallery images
*
* @access public
*/
public function gallery_get_images() {
if ( ! isset( $_POST['pp_action'] ) || 'pp_gallery_get_images' !== $_POST['pp_action'] ) {
return;
}
if ( ! isset( $_POST['settings'] ) || empty( $_POST['settings'] ) ) {
return;
}
// Tell WordPress this is an AJAX request.
if ( ! defined( 'DOING_AJAX' ) ) {
define( 'DOING_AJAX', true );
}
$settings = $_POST['settings'];
$gallery_id = $settings['widget_id'];
$post_id = $settings['post_id'];
$template_id = $settings['template_id'];
if ( $template_id !== $post_id ) {
$post_id = $template_id;
}
$elementor = \Elementor\Plugin::$instance;
$meta = $elementor->documents->get( $post_id )->get_elements_data();
$gallery = $this->find_element_recursive( $meta, $gallery_id );
if ( isset( $gallery['templateID'] ) ) {
$template_data = \Elementor\Plugin::$instance->templates_manager->get_template_data( [
'source' => 'local',
'template_id' => $gallery['templateID'],
] );
if ( is_array( $template_data ) && isset( $template_data['content'] ) ) {
$gallery = $template_data['content'][0];
}
}
if ( ! $gallery ) {
wp_send_json_error();
}
// Restore default values.
$widget = $elementor->elements_manager->create_element_instance( $gallery );
$photos = $widget->ajax_get_images();
wp_send_json_success( array( 'items' => $photos ) );
}
/**
* Get Widget Setting data.
*
* @since 1.3.3
* @access public
* @param array $elements Element array.
* @param string $widget_id Element ID.
* @return Boolean True/False.
*/
public function find_element_recursive( $elements, $widget_id ) {
foreach ( $elements as $element ) {
if ( $widget_id === $element['id'] ) {
return $element;
}
if ( ! empty( $element['elements'] ) ) {
$element = $this->find_element_recursive( $element['elements'], $widget_id );
if ( $element ) {
return $element;
}
}
}
return false;
}
}