当前位置: 首页>>代码示例>>PHP>>正文


PHP bbp_get_displayed_user_id函数代码示例

本文整理汇总了PHP中bbp_get_displayed_user_id函数的典型用法代码示例。如果您正苦于以下问题:PHP bbp_get_displayed_user_id函数的具体用法?PHP bbp_get_displayed_user_id怎么用?PHP bbp_get_displayed_user_id使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了bbp_get_displayed_user_id函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: get_context_data

 /**
  * Get data from context
  * 
  * @since  1.0
  * @return array
  */
 public function get_context_data()
 {
     $data = array($this->id);
     if (function_exists('bbp_get_displayed_user_id')) {
         $data[] = bbp_get_displayed_user_id();
     }
     return $data;
 }
开发者ID:thibaultvanc,项目名称:plombier,代码行数:14,代码来源:bbpress.php

示例2: mycred_bbp_add_balance_in_profile

 function mycred_bbp_add_balance_in_profile()
 {
     $user_id = bbp_get_displayed_user_id();
     $mycred = mycred();
     if ($mycred->exclude_user($user_id)) {
         return;
     }
     $balance = $mycred->get_users_cred($user_id, $mycred->mycred_type);
     $layout = $mycred->plural() . ': ' . $mycred->format_creds($balance);
     $layout = apply_filters('mycred_bbp_authors_profile_balance', $layout, $balance, $user_id);
     echo apply_filters('mycred_bbp_profile_balance', '<div class="users-mycred-balance">' . $layout . '</div>', $user_id, $balance);
 }
开发者ID:socialray,项目名称:surfied-2-0,代码行数:12,代码来源:mycred-hook-bbPress.php

示例3: avia_bbpress_breadcrumb

 function avia_bbpress_breadcrumb($trail)
 {
     global $avia_config;
     if (isset($avia_config['currently_viewing']) && $avia_config['currently_viewing'] == 'forum' || get_post_type() === "forum" || get_post_type() === "topic") {
         $bc = bbp_get_breadcrumb();
         if (isset($avia_config['bbpress_trail'])) {
             $trail_zero = $trail[0];
             $trail = $avia_config['bbpress_trail'];
             $trail[0] = $trail_zero;
         }
         if (bbp_is_single_user_edit() || bbp_is_single_user()) {
             $user_info = get_userdata(bbp_get_displayed_user_id());
             $title = __("Profile for User:", "avia_framework") . " " . $user_info->display_name;
             array_pop($trail);
             $trail[] = $title;
         }
     }
     return $trail;
 }
开发者ID:DylanPeti,项目名称:socialize,代码行数:19,代码来源:config.php

示例4: bbps_lock_to_author

function bbps_lock_to_author($bbp_t)
{
    global $wp_query;
    //return if we are at a prem forum or the user is an admin or moderator	and we are not looking at a users profile page!
    if ((bbps_is_premium_forum(bbp_get_forum_id()) == false || current_user_can('administrator') || current_user_can('bbp_moderator')) && !bbp_is_single_user()) {
        return $bbp_t;
    }
    // is someone looking at a user page? if they are then we want to exclude all premium posts
    //and change the post author to be the users who profile it is
    if (bbp_is_single_user()) {
        $premium_topics = bbps_get_all_premium_topic_ids();
        $user_id = bbp_get_displayed_user_id();
        $bbp_t['post_author'] = $user_id;
        $bbp_t['author'] = $user_id;
        $bbp_t['post__not_in'] = $premium_topics;
        $bbp_t['post_type'] = 'topic';
        return $bbp_t;
    } else {
        //there is one problem with this - if the users ID is 0 then it still shows all topics
        //setting userid to -1 seems to do the trick .. better way perhapes?
        //ops no it doesnt do the trick so for lauch I will make it a huge number this will need to be revisited ASAP
        global $current_user;
        $current_user = wp_get_current_user();
        $user_id = $current_user->ID;
        if ($user_id == 0) {
            $user_id = 99999999;
        }
        //create the new query we only want to display topics from that user
        $bbp_t['post_author'] = $user_id;
        $bbp_t['author'] = $user_id;
        $bbp_t['post_type'] = 'topic';
        $bbp_t['show_stickies'] = 0;
        $bbp_t['posts_per_page'] = 30;
        //	exit('<pre>'.print_r($bbp_t,1).'</pre>');
        return $bbp_t;
    }
}
开发者ID:styledthemes,项目名称:bbPress-Support-Forums,代码行数:37,代码来源:bbps-premium-forum.php

示例5: get_header

<?php

global $avia_config;
/*
 * get_header is a basic wordpress function, used to retrieve the header.php file in your theme directory.
 */
get_header();
$title = "";
if (!is_singular()) {
    $title = __('Forums', "avia_framework");
}
if (function_exists('bbp_is_single_user_edit') && (bbp_is_single_user_edit() || bbp_is_single_user())) {
    $user_info = get_userdata(bbp_get_displayed_user_id());
    $title = __("Profile for User:", "avia_framework") . " " . $user_info->display_name;
    if (bbp_is_single_user_edit()) {
        $title = __("Edit profile for User:", "avia_framework") . " " . $user_info->display_name;
    }
}
$args = array();
if (!empty($title)) {
    $args['title'] = $title;
}
if (get_post_meta(get_the_ID(), 'header', true) != 'no') {
    echo avia_title($args);
}
?>
		
		<div class='container_wrap main_color <?php 
avia_layout_class('main');
?>
'>
开发者ID:bluedrone,项目名称:plugins,代码行数:31,代码来源:forum.php

示例6: bbp_make_ham_user

/**
 * Mark a users topics and replies as spam when the user is marked as spam
 *
 * @since bbPress (r3405)
 *
 * @global WPDB $wpdb
 * @param int $user_id Optional. User ID to unspam. Defaults to displayed user.
 *
 * @uses bbp_is_single_user()
 * @uses bbp_is_user_home()
 * @uses bbp_get_displayed_user_id()
 * @uses bbp_is_user_keymaster()
 * @uses get_blogs_of_user()
 * @uses bbp_get_topic_post_type()
 * @uses bbp_get_reply_post_type()
 * @uses switch_to_blog()
 * @uses get_post_type()
 * @uses bbp_unspam_topic()
 * @uses bbp_unspam_reply()
 * @uses restore_current_blog()
 *
 * @return If no user ID passed
 */
function bbp_make_ham_user($user_id = 0)
{
    // Use displayed user if it's not yourself
    if (empty($user_id) && bbp_is_single_user() && !bbp_is_user_home()) {
        $user_id = bbp_get_displayed_user_id();
    }
    // Bail if no user ID
    if (empty($user_id)) {
        return false;
    }
    // Bail if user ID is keymaster
    if (bbp_is_user_keymaster($user_id)) {
        return false;
    }
    // Arm the torpedos
    global $wpdb;
    // Get the blog IDs of the user to mark as spam
    $blogs = get_blogs_of_user($user_id, true);
    // If user has no blogs, they are a guest on this site
    if (empty($blogs)) {
        $blogs[$wpdb->blogid] = array();
    }
    // Make array of post types to mark as spam
    $post_types = array(bbp_get_topic_post_type(), bbp_get_reply_post_type());
    $post_types = "'" . implode("', '", $post_types) . "'";
    // Loop through blogs and remove their posts
    foreach ((array) array_keys($blogs) as $blog_id) {
        // Switch to the blog ID
        switch_to_blog($blog_id);
        // Get topics and replies
        $posts = $wpdb->get_col($wpdb->prepare("SELECT ID FROM {$wpdb->posts} WHERE post_author = %d AND post_status = '%s' AND post_type IN ( {$post_types} )", $user_id, bbp_get_spam_status_id()));
        // Loop through posts and spam them
        if (!empty($posts)) {
            foreach ($posts as $post_id) {
                // The routines for topics ang replies are different, so use the
                // correct one based on the post type
                switch (get_post_type($post_id)) {
                    case bbp_get_topic_post_type():
                        bbp_unspam_topic($post_id);
                        break;
                    case bbp_get_reply_post_type():
                        bbp_unspam_reply($post_id);
                        break;
                }
            }
        }
        // Switch back to current blog
        restore_current_blog();
    }
    // Success
    return true;
}
开发者ID:igniterealtime,项目名称:community-plugins,代码行数:75,代码来源:capabilities.php

示例7: insert_into_bbpress_profile

 public function insert_into_bbpress_profile()
 {
     $user_id = bbp_get_displayed_user_id();
     mycred_display_users_badges($user_id);
 }
开发者ID:nfer,项目名称:mycred,代码行数:5,代码来源:myCRED-addon-badges.php

示例8: insert_balance_profile

 /**
  * Insert Balance in bbPress Profiles
  * @since 1.1.1
  * @version 1.2
  */
 public function insert_balance_profile()
 {
     $user_id = bbp_get_displayed_user_id();
     if ($this->core->exclude_user($user_id) || $user_id == 0) {
         return;
     }
     $balance = $this->core->get_users_cred($user_id, $this->mycred_type);
     $layout = $this->core->plural() . ': ' . $this->core->format_creds($balance);
     echo apply_filters('mycred_bbp_profile_balance', '<div class="users-mycred-balance">' . $layout . '</div>', $layout, $user_id, $this);
 }
开发者ID:kfwebdev,项目名称:wp-atd,代码行数:15,代码来源:mycred-hook-bbPress.php

示例9: ulike_bbp_add_scores_in_profile

function ulike_bbp_add_scores_in_profile()
{
    global $wp_ulike_class;
    $user_id = bbp_get_displayed_user_id();
    $score = $wp_ulike_class->get_user_score($user_id);
    echo "<div class=\"ulike-section bbp-user-section\"><p>Благодарностей: <span class=\"\">{$score}</span></p></div>";
}
开发者ID:NickIvanter,项目名称:wp-ulike,代码行数:7,代码来源:wp-ulike.php

示例10: bbp_edit_user_forums_role

/**
 * Output forum role selector (for user edit)
 *
 * @since 2.2.0 bbPress (r4284)
 */
function bbp_edit_user_forums_role()
{
    // Return if no user is being edited
    if (!bbp_is_single_user_edit()) {
        return;
    }
    // Get the user's current forum role
    $user_role = bbp_get_user_role(bbp_get_displayed_user_id());
    // Get the folum roles
    $dynamic_roles = bbp_get_dynamic_roles();
    // Only keymasters can set other keymasters
    if (!bbp_is_user_keymaster()) {
        unset($dynamic_roles[bbp_get_keymaster_role()]);
    }
    ?>

	<select name="bbp-forums-role" id="bbp-forums-role">
		<option value=""><?php 
    esc_html_e('&mdash; No role for these forums &mdash;', 'bbpress');
    ?>
</option>

		<?php 
    foreach ($dynamic_roles as $role => $details) {
        ?>

			<option <?php 
        selected($user_role, $role);
        ?>
 value="<?php 
        echo esc_attr($role);
        ?>
"><?php 
        echo bbp_translate_user_role($details['name']);
        ?>
</option>

		<?php 
    }
    ?>

	</select>

	<?php 
}
开发者ID:CompositeUK,项目名称:clone.bbPress,代码行数:50,代码来源:template.php

示例11: bbp_has_topics


//.........这里部分代码省略.........
            // If any posts have been excluded specifically, Ignore those that are sticky.
            if (!empty($stickies) && !empty($r['post__not_in'])) {
                $stickies = array_diff($stickies, $r['post__not_in']);
            }
            // Fetch sticky posts that weren't in the query results
            if (!empty($stickies)) {
                // Query to use in get_posts to get sticky posts
                $sticky_query = array('post_type' => bbp_get_topic_post_type(), 'post_parent' => 'any', 'meta_key' => '_bbp_last_active_time', 'meta_type' => 'DATETIME', 'orderby' => 'meta_value', 'order' => 'DESC', 'include' => $stickies);
                // Cleanup
                unset($stickies);
                // Conditionally exclude private/hidden forum ID's
                $exclude_forum_ids = bbp_exclude_forum_ids('array');
                if (!empty($exclude_forum_ids)) {
                    $sticky_query['post_parent__not_in'] = $exclude_forum_ids;
                }
                // What are the default allowed statuses (based on user caps)
                if (bbp_get_view_all()) {
                    $sticky_query['post_status'] = $r['post_status'];
                    // Lean on the 'perm' query var value of 'readable' to provide statuses
                } else {
                    $sticky_query['post_status'] = $r['perm'];
                }
                // Get all stickies
                $sticky_posts = get_posts($sticky_query);
                if (!empty($sticky_posts)) {
                    // Get a count of the visible stickies
                    $sticky_count = count($sticky_posts);
                    // Merge the stickies topics with the query topics .
                    $bbp->topic_query->posts = array_merge($sticky_posts, $bbp->topic_query->posts);
                    // Adjust loop and counts for new sticky positions
                    $bbp->topic_query->found_posts = (int) $bbp->topic_query->found_posts + (int) $sticky_count;
                    $bbp->topic_query->post_count = (int) $bbp->topic_query->post_count + (int) $sticky_count;
                    // Cleanup
                    unset($sticky_posts);
                }
            }
        }
    }
    // If no limit to posts per page, set it to the current post_count
    if (-1 === $r['posts_per_page']) {
        $r['posts_per_page'] = $bbp->topic_query->post_count;
    }
    // Add pagination values to query object
    $bbp->topic_query->posts_per_page = $r['posts_per_page'];
    $bbp->topic_query->paged = $r['paged'];
    // Only add pagination if query returned results
    if (((int) $bbp->topic_query->post_count || (int) $bbp->topic_query->found_posts) && (int) $bbp->topic_query->posts_per_page) {
        // Limit the number of topics shown based on maximum allowed pages
        if (!empty($r['max_num_pages']) && $bbp->topic_query->found_posts > $bbp->topic_query->max_num_pages * $bbp->topic_query->post_count) {
            $bbp->topic_query->found_posts = $bbp->topic_query->max_num_pages * $bbp->topic_query->post_count;
        }
        // If pretty permalinks are enabled, make our pagination pretty
        if (bbp_use_pretty_urls()) {
            // User's topics
            if (bbp_is_single_user_topics()) {
                $base = bbp_get_user_topics_created_url(bbp_get_displayed_user_id());
                // User's favorites
            } elseif (bbp_is_favorites()) {
                $base = bbp_get_favorites_permalink(bbp_get_displayed_user_id());
                // User's subscriptions
            } elseif (bbp_is_subscriptions()) {
                $base = bbp_get_subscriptions_permalink(bbp_get_displayed_user_id());
                // Root profile page
            } elseif (bbp_is_single_user()) {
                $base = bbp_get_user_profile_url(bbp_get_displayed_user_id());
                // View
            } elseif (bbp_is_single_view()) {
                $base = bbp_get_view_url();
                // Topic tag
            } elseif (bbp_is_topic_tag()) {
                $base = bbp_get_topic_tag_link();
                // Page or single post
            } elseif (is_page() || is_single()) {
                $base = get_permalink();
                // Forum archive
            } elseif (bbp_is_forum_archive()) {
                $base = bbp_get_forums_url();
                // Topic archive
            } elseif (bbp_is_topic_archive()) {
                $base = bbp_get_topics_url();
                // Default
            } else {
                $base = get_permalink((int) $r['post_parent']);
            }
            // Use pagination base
            $base = trailingslashit($base) . user_trailingslashit(bbp_get_paged_slug() . '/%#%/');
            // Unpretty pagination
        } else {
            $base = add_query_arg('paged', '%#%');
        }
        // Pagination settings with filter
        $bbp_topic_pagination = apply_filters('bbp_topic_pagination', array('base' => $base, 'format' => '', 'total' => $r['posts_per_page'] === $bbp->topic_query->found_posts ? 1 : ceil((int) $bbp->topic_query->found_posts / (int) $r['posts_per_page']), 'current' => (int) $bbp->topic_query->paged, 'prev_text' => is_rtl() ? '&rarr;' : '&larr;', 'next_text' => is_rtl() ? '&larr;' : '&rarr;', 'mid_size' => 1));
        // Add pagination to query object
        $bbp->topic_query->pagination_links = paginate_links($bbp_topic_pagination);
        // Remove first page from pagination
        $bbp->topic_query->pagination_links = str_replace(bbp_get_paged_slug() . "/1/'", "'", $bbp->topic_query->pagination_links);
    }
    // Return object
    return apply_filters('bbp_has_topics', $bbp->topic_query->have_posts(), $bbp->topic_query);
}
开发者ID:joeyblake,项目名称:bbpress,代码行数:101,代码来源:template.php

示例12: bbp_edit_user_form_fields

/**
 * Output the required hidden fields when editing a user
 *
 * @since bbPress (r2690)
 *
 * @uses bbp_displayed_user_id() To output the displayed user id
 * @uses wp_nonce_field() To generate a hidden nonce field
 * @uses wp_referer_field() To generate a hidden referer field
 */
function bbp_edit_user_form_fields()
{
    ?>

	<input type="hidden" name="action"  id="bbp_post_action" value="bbp-update-user" />
	<input type="hidden" name="user_id" id="user_id"         value="<?php 
    bbp_displayed_user_id();
    ?>
" />

	<?php 
    wp_nonce_field('update-user_' . bbp_get_displayed_user_id());
}
开发者ID:rmccue,项目名称:bbPress,代码行数:22,代码来源:bbp-common-template.php

示例13: insert_into_bbpress_profile

 /**
  * Insert Badges into bbPress profile
  * @version 1.1
  */
 public function insert_into_bbpress_profile()
 {
     $user_id = bbp_get_displayed_user_id();
     if (isset($this->badges['show_all_bb']) && $this->badges['show_all_bb'] == 1) {
         mycred_render_my_badges(array('show' => 'all', 'width' => MYCRED_BADGE_WIDTH, 'height' => MYCRED_BADGE_HEIGHT, 'user_id' => $user_id));
     } else {
         mycred_display_users_badges($user_id);
     }
 }
开发者ID:socialray,项目名称:surfied-2-0,代码行数:13,代码来源:myCRED-addon-badges.php

示例14: bbp_notice_edit_user_is_super_admin

/**
 * Super admin privileges notice
 *
 * @since bbPress (r2688)
 *
 * @uses is_multisite() To check if the blog is multisite
 * @uses bbp_is_single_user() To check if it's the profile page
 * @uses bbp_is_single_user_edit() To check if it's the profile edit page
 * @uses current_user_can() To check if the current user can manage network
 *                           options
 * @uses bbp_get_displayed_user_id() To get the displayed user id
 * @uses is_super_admin() To check if the user is super admin
 * @uses bbp_is_user_home() To check if it's the user home
 * @uses bbp_is_user_home_edit() To check if it's the user home edit
 */
function bbp_notice_edit_user_is_super_admin()
{
    if (is_multisite() && (bbp_is_single_user() || bbp_is_single_user_edit()) && current_user_can('manage_network_options') && is_super_admin(bbp_get_displayed_user_id())) {
        ?>

	<div class="bbp-template-notice important">
		<p><?php 
        bbp_is_user_home() || bbp_is_user_home_edit() ? _e('You have super admin privileges.', 'bbpress') : _e('This user has super admin privileges.', 'bbpress');
        ?>
</p>
	</div>

<?php 
    }
}
开发者ID:rmccue,项目名称:bbPress,代码行数:30,代码来源:bbp-user-template.php

示例15: bbp_has_topics


//.........这里部分代码省略.........
        // We have stickies
        if (is_array($stickies) && !empty($stickies)) {
            // Setup the number of stickies and reset offset to 0
            $num_topics = count($bbp->topic_query->posts);
            $sticky_offset = 0;
            // Loop over topics and relocate stickies to the front.
            for ($i = 0; $i < $num_topics; $i++) {
                if (in_array($bbp->topic_query->posts[$i]->ID, $stickies)) {
                    $sticky = $bbp->topic_query->posts[$i];
                    // Remove sticky from current position
                    array_splice($bbp->topic_query->posts, $i, 1);
                    // Move to front, after other stickies
                    array_splice($bbp->topic_query->posts, $sticky_offset, 0, array($sticky));
                    // Increment the sticky offset.  The next sticky will be placed at this offset.
                    $sticky_offset++;
                    // Remove post from sticky posts array
                    $offset = array_search($sticky->ID, $stickies);
                    // Cleanup
                    unset($stickies[$offset]);
                    unset($sticky);
                }
            }
            // If any posts have been excluded specifically, Ignore those that are sticky.
            if (!empty($stickies) && !empty($post__not_in)) {
                $stickies = array_diff($stickies, $post__not_in);
            }
            // Fetch sticky posts that weren't in the query results
            if (!empty($stickies)) {
                // Query to use in get_posts to get sticky posts
                $sticky_query = array('post_type' => bbp_get_topic_post_type(), 'post_parent' => 'any', 'post_status' => $default_post_status, 'meta_key' => '_bbp_last_active_time', 'orderby' => 'meta_value', 'order' => 'DESC', 'include' => $stickies);
                // Get all stickies
                $sticky_posts = get_posts($sticky_query);
                if (!empty($sticky_posts)) {
                    // Get a count of the visible stickies
                    $sticky_count = count($sticky_posts);
                    // Loop through stickies and add them to beginning of array
                    foreach ($sticky_posts as $sticky) {
                        $topics[] = $sticky;
                    }
                    // Loop through topics and add them to end of array
                    foreach ($bbp->topic_query->posts as $topic) {
                        $topics[] = $topic;
                    }
                    // Adjust loop and counts for new sticky positions
                    $bbp->topic_query->posts = $topics;
                    $bbp->topic_query->found_posts = (int) $bbp->topic_query->found_posts + (int) $sticky_count;
                    $bbp->topic_query->post_count = (int) $bbp->topic_query->post_count + (int) $sticky_count;
                    // Cleanup
                    unset($topics);
                    unset($stickies);
                    unset($sticky_posts);
                }
            }
        }
    }
    // If no limit to posts per page, set it to the current post_count
    if (-1 == $posts_per_page) {
        $posts_per_page = $bbp->topic_query->post_count;
    }
    // Add pagination values to query object
    $bbp->topic_query->posts_per_page = $posts_per_page;
    $bbp->topic_query->paged = $paged;
    // Only add pagination if query returned results
    if (((int) $bbp->topic_query->post_count || (int) $bbp->topic_query->found_posts) && (int) $bbp->topic_query->posts_per_page) {
        // Limit the number of topics shown based on maximum allowed pages
        if (!empty($max_num_pages) && $bbp->topic_query->found_posts > $bbp->topic_query->max_num_pages * $bbp->topic_query->post_count) {
            $bbp->topic_query->found_posts = $bbp->topic_query->max_num_pages * $bbp->topic_query->post_count;
        }
        // If pretty permalinks are enabled, make our pagination pretty
        if ($wp_rewrite->using_permalinks()) {
            // Profile page
            if (bbp_is_single_user()) {
                $base = bbp_get_user_profile_url(bbp_get_displayed_user_id());
            } elseif (bbp_is_single_view()) {
                $base = bbp_get_view_url();
            } elseif (bbp_is_topic_tag()) {
                $base = bbp_get_topic_tag_link();
            } elseif (is_page() || is_single()) {
                $base = get_permalink();
            } elseif (bbp_is_topic_archive()) {
                $base = bbp_get_topics_url();
            } else {
                $base = get_permalink($post_parent);
            }
            // Use pagination base
            $base = trailingslashit($base) . user_trailingslashit($wp_rewrite->pagination_base . '/%#%/');
            // Unpretty pagination
        } else {
            $base = add_query_arg('paged', '%#%');
        }
        // Pagination settings with filter
        $bbp_topic_pagination = apply_filters('bbp_topic_pagination', array('base' => $base, 'format' => '', 'total' => $posts_per_page == $bbp->topic_query->found_posts ? 1 : ceil((int) $bbp->topic_query->found_posts / (int) $posts_per_page), 'current' => (int) $bbp->topic_query->paged, 'prev_text' => '&larr;', 'next_text' => '&rarr;', 'mid_size' => 1));
        // Add pagination to query object
        $bbp->topic_query->pagination_links = paginate_links($bbp_topic_pagination);
        // Remove first page from pagination
        $bbp->topic_query->pagination_links = str_replace($wp_rewrite->pagination_base . "/1/'", "'", $bbp->topic_query->pagination_links);
    }
    // Return object
    return apply_filters('bbp_has_topics', $bbp->topic_query->have_posts(), $bbp->topic_query);
}
开发者ID:rmccue,项目名称:bbPress,代码行数:101,代码来源:bbp-topic-template.php


注:本文中的bbp_get_displayed_user_id函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。