晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
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/setupTZh/betheme/functions/widgets/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/rainic/public_html/setupTZh/betheme/functions/widgets/class-mfn-widget-menu.php
<?php
/**
 * Widget Muffin Menu
 *
 * @package Betheme
 * @author Muffin group
 * @link https://muffingroup.com
 */

if (! class_exists('Mfn_Widget_Menu')) {
	class Mfn_Widget_Menu extends WP_Widget
	{

		/**
		 * Constructor
		 */

		public function __construct()
		{
			$widget_ops = array( 'classname' => 'widget_mfn_menu', 'description' => esc_html__('Use this widget on pages to display aside menu with children or siblings of the current page', 'mfn-opts') );

			parent::__construct('widget_mfn_menu', esc_html__('Be Menu', 'mfn-opts'), $widget_ops);

			$this->alt_option_name = 'widget_mfn_menu';
		}

		/**
		 * Outputs the HTML for this widget.
		 */

		public function widget($args, $instance)
		{
			if (! isset($args['widget_id'])) {
				$args['widget_id'] = null;
			}
			extract($args, EXTR_SKIP);

			$title = "";
			if ($instance['use_page_title']) {
				$title = wp_title('', false);
			} elseif ($instance['title']) {
				$title = $instance['title'];
			}

			$title = apply_filters('widget_title', $title, $instance, $this->id_base);

			echo wp_kses_post($before_widget);

			if ($title) {
				echo wp_kses($before_title, array('h3'=>array(),'h4'=>array()));
					echo wp_kses($title, mfn_allowed_html());
				echo wp_kses($after_title, array('h3'=>array(),'h4'=>array()));
			}

			if( empty($instance['nav_menu']) ) {

				// pages menu

				$parentID = false;
				if ($instance['use_page_sibling']==1) {

					// sibling
					$aPost = get_post(get_the_ID());
					if (is_array($aPost->ancestors) && key_exists(0, $aPost->ancestors)) {
						$parentID = $aPost->ancestors[0];
					}

				} else {

					// children
					$parentID = get_the_ID();

				}

				$aPages_attr = array(
					'title_li' => '',
					'depth' => !empty($instance['depth']) ? intval($instance['depth']) : 1,
					'child_of' => $parentID,
					'link_before' => '',
					'echo' => 0,
				);

				$aPages = wp_list_pages($aPages_attr);

				// if there is no children

				if ((! $aPages) && ($instance['use_page_sibling'] == 2)) {
					$aPost = get_post(get_the_ID());
					$parentID = false;
					if (is_array($aPost->ancestors) && key_exists(0, $aPost->ancestors)) {
						$parentID = $aPost->ancestors[0];
					}

					$aPages_attr['child_of'] = $parentID;
					$aPages = wp_list_pages($aPages_attr);
				}

				// echo

				if ($aPages) {
					echo '<ul class="menu">';
						echo wp_kses_post($aPages);
					echo '</ul>';
				}

			} else {

				// custom menu

				$submenu = isset($instance['submenus']) ? $instance['submenus'] : 'show';
				$args = array(
					'menu_class' => 'menu submenus-'. $submenu,
					'menu' => $instance['nav_menu'],
					'depth' => $instance['depth'] ? intval($instance['depth']) : 1,
				);
				wp_nav_menu($args);
			}

			echo wp_kses_post($after_widget);
		}

		/**
		 * Deals with the settings when they are saved by the admin.
		 */

		public function update($new_instance, $old_instance)
		{
			$instance = $old_instance;
			$instance['title'] = strip_tags($new_instance['title']);
			$instance['nav_menu'] = (int) $new_instance['nav_menu'];

			$instance['depth'] = (int) $new_instance['depth'];
			$instance['submenus'] = strip_tags($new_instance['submenus']);

			$instance['use_page_title'] = (int) $new_instance['use_page_title'];
			$instance['use_page_sibling'] = (int) $new_instance['use_page_sibling'];

			return $instance;
		}

		/**
		 * Displays the form for this widget on the Widgets page of the WP Admin area.
		 */

		public function form($instance)
		{
			$title = isset($instance['title']) ? esc_attr($instance['title']) : '';
			$nav_menu = isset($instance['nav_menu']) ? absint($instance['nav_menu']) : 0;

			$depth = isset($instance['depth']) ? absint($instance['depth']) : 1;
			$submenus = isset($instance['submenus']) ? esc_attr($instance['submenus']) : '';

			$use_page_title = isset($instance['use_page_title']) ? absint($instance['use_page_title']) : 0;
			$use_page_sibling = isset($instance['use_page_sibling']) ? absint($instance['use_page_sibling']) : 2;

			// get menus

			$menus = wp_get_nav_menus(array( 'orderby' => 'name' ));
			?>

				<p>
					<label for="<?php echo esc_attr($this->get_field_id('title')); ?>"><?php esc_html_e('Title:', 'mfn-opts'); ?></label>
					<input class="widefat" id="<?php echo esc_attr($this->get_field_id('title')); ?>" name="<?php echo esc_attr($this->get_field_name('title')); ?>" type="text" value="<?php echo esc_attr($title); ?>" />
				</p>

				<p>
					<input id="<?php echo esc_attr($this->get_field_id('use_page_title')); ?>" name="<?php echo esc_attr($this->get_field_name('use_page_title')); ?>" type="checkbox" value="1" <?php if ($use_page_title) {echo 'checked="checked"';} ?> />
					<label for="<?php echo esc_attr($this->get_field_id('use_page_title')); ?>"><?php esc_html_e('Use current page title', 'mfn-opts'); ?></label>
				</p>

				<p>
					<label for="<?php echo esc_attr($this->get_field_id('nav_menu')); ?>"><?php esc_html_e('Menu:', 'mfn-opts'); ?></label>
					<select id="<?php echo esc_attr($this->get_field_id('nav_menu')); ?>" name="<?php echo esc_attr($this->get_field_name('nav_menu')); ?>">
						<?php
							echo '<option value="0">'. esc_html__('- Pages Menu -', 'mfn-opts') .'</option>';
							foreach ($menus as $menu) {
								echo '<option value="'. esc_attr($menu->term_id) .'" '. selected($nav_menu, $menu->term_id, false). '>'. esc_attr($menu->name) . '</option>';
							} ?>
					</select>
				</p>

				<p>
					<label><b><?php esc_html_e('Options for Custom Menu', 'mfn-opts'); ?></b></label>
					<br />

					<label for="<?php echo esc_attr($this->get_field_id('depth')); ?>"><?php esc_html_e('Depth:', 'mfn-opts'); ?></label>
					<input id="<?php echo esc_attr($this->get_field_id('depth')); ?>" name="<?php echo esc_attr($this->get_field_name('depth')); ?>" type="text" value="<?php echo esc_attr($depth); ?>" size="3"/>
					<br />

					<label for="<?php echo esc_attr($this->get_field_id('submenus')); ?>"><?php esc_html_e('Submenus:', 'mfn-opts'); ?></label>
					<select id="<?php echo esc_attr($this->get_field_id('submenus')); ?>" name="<?php echo esc_attr($this->get_field_name('submenus')); ?>">
						<?php
							echo '<option value="show" '. selected($submenus, 'show', false). '>'. esc_html__('Always show', 'mfn-opts') .'</option>';
							echo '<option value="hover" '. selected($submenus, 'hover', false). '>'. esc_html__('Show on hover', 'mfn-opts') .'</option>';
							echo '<option value="hover submenu-active" '. selected($submenus, 'hover submenu-active', false). '>'. esc_html__('Show on hover, always show active', 'mfn-opts') .'</option>';
							echo '<option value="click-mobile" '. selected($submenus, 'click', false). '>'. esc_html__('Show on hover / click on mobile', 'mfn-opts') .'</option>';
							echo '<option value="click" '. selected($submenus, 'click', false). '>'. esc_html__('Show on click', 'mfn-opts') .'</option>';
						?>
					</select>
				</p>

				<p>
					<label><b><?php esc_html_e('Options for Pages Menu', 'mfn-opts'); ?></b></label>
					<br />

					<input id="<?php echo esc_attr($this->get_field_id('use_page_sibling')); ?>" name="<?php echo esc_attr($this->get_field_name('use_page_sibling')); ?>" type="radio" value="1" <?php if ($use_page_sibling==1) {echo "checked='checked'";} ?> />
					<label for="<?php echo esc_attr($this->get_field_id('use_page_sibling')); ?>"><?php esc_html_e('Show page siblings', 'mfn-opts'); ?></label>
					<br/>

					<input id="<?php echo esc_attr($this->get_field_id('use_page_childrens')); ?>" name="<?php echo esc_attr($this->get_field_name('use_page_sibling')); ?>" type="radio" value="0" <?php if (! $use_page_sibling) {echo "checked='checked'";} ?> />
					<label for="<?php echo esc_attr($this->get_field_id('use_page_childrens')); ?>"><?php esc_html_e('Show page children', 'mfn-opts'); ?></label>
					<br/>

					<input id="<?php echo esc_attr($this->get_field_id('use_page_childrens2')); ?>" name="<?php echo esc_attr($this->get_field_name('use_page_sibling')); ?>" type="radio" value="2" <?php if ($use_page_sibling==2) {echo "checked='checked'";} ?> />
					<label for="<?php echo esc_attr($this->get_field_id('use_page_childrens2')); ?>"><?php esc_html_e('Show page children (if there is no children, show siblings)', 'mfn-opts'); ?></label>
				</p>

			<?php
		}
	}
}

haha - 2025