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


PHP bp_the_profile_field_input_name函数代码示例

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


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

示例1: edit_field_html

        public function edit_field_html(array $raw_properties = array())
        {
            $user_id = bp_displayed_user_id();
            if (isset($raw_properties['user_id'])) {
                $user_id = (int) $raw_properties['user_id'];
                unset($raw_properties['user_id']);
            }
            // HTML5 required attribute.
            if (bp_get_the_profile_field_is_required()) {
                $raw_properties['required'] = 'required';
                $required = true;
            } else {
                $required = false;
            }
            ?>
            <label for="<?php 
            bp_the_profile_field_input_name();
            ?>
"><?php 
            bp_the_profile_field_name();
            ?>
 <?php 
            if (bp_get_the_profile_field_is_required()) {
                esc_html_e('(required)', 'buddypress');
            }
            ?>
</label>
            <?php 
            do_action(bp_get_the_profile_field_errors_action());
            ?>
            <?php 
            bp_the_profile_field_options("user_id={$user_id}&required={$required}");
            ?>
        <?php 
        }
开发者ID:baden03,项目名称:buddypress-xprofile-custom-fields-type,代码行数:35,代码来源:Bxcft_Field_Type_CheckboxAcceptance.php

示例2: edit_field_html

    /**
     * Output the edit field HTML for this field type.
     *
     * Must be used inside the {@link bp_profile_fields()} template loop.
     *
     * @since 2.0.0
     *
     * @param array $raw_properties Optional key/value array of
     *                              {@link http://dev.w3.org/html5/markup/textarea.html permitted attributes}
     *                              that you want to add.
     */
    public function edit_field_html(array $raw_properties = array())
    {
        // User_id is a special optional parameter that certain other fields
        // types pass to {@link bp_the_profile_field_options()}.
        if (isset($raw_properties['user_id'])) {
            unset($raw_properties['user_id']);
        }
        $richtext_enabled = bp_xprofile_is_richtext_enabled_for_field();
        ?>

		<label for="<?php 
        bp_the_profile_field_input_name();
        ?>
">
			<?php 
        bp_the_profile_field_name();
        ?>
			<?php 
        bp_the_profile_field_required_label();
        ?>
		</label>

		<?php 
        /** This action is documented in bp-xprofile/bp-xprofile-classes */
        do_action(bp_get_the_profile_field_errors_action());
        if (!$richtext_enabled) {
            $r = wp_parse_args($raw_properties, array('cols' => 40, 'rows' => 5));
            ?>

			<textarea <?php 
            echo $this->get_edit_field_html_elements($r);
            ?>
><?php 
            bp_the_profile_field_edit_value();
            ?>
</textarea>

			<?php 
        } else {
            /**
             * Filters the arguments passed to `wp_editor()` in richtext xprofile fields.
             *
             * @since 2.4.0
             *
             * @param array $args {
             *     Array of optional arguments. See `wp_editor()`.
             *     @type bool $teeny         Whether to use the teeny version of TinyMCE. Default true.
             *     @type bool $media_buttons Whether to show media buttons. Default false.
             *     @type bool $quicktags     Whether to show the quicktags buttons. Default true.
             *     @type int  $textarea_rows Number of rows to display in the editor. Defaults to 1 in the
             *                               'admin' context, and 10 in the 'edit' context.
             * }
             * @param string $context The display context. 'edit' when the markup is intended for the
             *                        profile edit screen, 'admin' when intended for the Profile Fields
             *                        Dashboard panel.
             */
            $editor_args = apply_filters('bp_xprofile_field_type_textarea_editor_args', array('teeny' => true, 'media_buttons' => false, 'quicktags' => true, 'textarea_rows' => 10), 'edit');
            wp_editor(bp_get_the_profile_field_edit_value(), bp_get_the_profile_field_input_name(), $editor_args);
        }
    }
开发者ID:igniterealtime,项目名称:community-plugins,代码行数:71,代码来源:class-bp-xprofile-field-type-textarea.php

示例3: edit_field_html

    /**
     * Output the edit field HTML for this field type.
     *
     * Must be used inside the {@link bp_profile_fields()} template loop.
     *
     * @param array $raw_properties Optional key/value array of {@link http://dev.w3.org/html5/markup/input.radio.html permitted attributes} that you want to add.
     * @since 2.0.0
     */
    public function edit_field_html(array $raw_properties = array())
    {
        // user_id is a special optional parameter that we pass to
        // {@link bp_the_profile_field_options()}.
        if (isset($raw_properties['user_id'])) {
            $user_id = (int) $raw_properties['user_id'];
            unset($raw_properties['user_id']);
        } else {
            $user_id = bp_displayed_user_id();
        }
        ?>

		<div class="radio">

			<label for="<?php 
        bp_the_profile_field_input_name();
        ?>
">
				<?php 
        bp_the_profile_field_name();
        ?>
				<?php 
        if (bp_get_the_profile_field_is_required()) {
            ?>
					<?php 
            esc_html_e('(required)', 'buddypress');
            ?>
				<?php 
        }
        ?>
			</label>

			<?php 
        /** This action is documented in bp-xprofile/bp-xprofile-classes */
        do_action(bp_get_the_profile_field_errors_action());
        ?>

			<?php 
        bp_the_profile_field_options(array('user_id' => $user_id));
        if (!bp_get_the_profile_field_is_required()) {
            ?>

				<a class="clear-value" href="javascript:clear( '<?php 
            echo esc_js(bp_get_the_profile_field_input_name());
            ?>
' );">
					<?php 
            esc_html_e('Clear', 'buddypress');
            ?>
				</a>

			<?php 
        }
        ?>

		</div>

		<?php 
    }
开发者ID:jasonmcalpin,项目名称:BuddyPress,代码行数:67,代码来源:class-bp-xprofile-field-type-radiobutton.php

示例4: edit_field_html

    /**
     * Output the edit field HTML for this field type.
     *
     * Must be used inside the {@link bp_profile_fields()} template loop.
     *
     * @param array $raw_properties Optional key/value array of {@link http://dev.w3.org/html5/markup/select.html permitted attributes} that you want to add.
     * @since 2.0.0
     */
    public function edit_field_html(array $raw_properties = array())
    {
        // user_id is a special optional parameter that we pass to
        // {@link bp_the_profile_field_options()}.
        if (isset($raw_properties['user_id'])) {
            $user_id = (int) $raw_properties['user_id'];
            unset($raw_properties['user_id']);
        } else {
            $user_id = bp_displayed_user_id();
        }
        $r = bp_parse_args($raw_properties, array('multiple' => 'multiple', 'id' => bp_get_the_profile_field_input_name() . '[]', 'name' => bp_get_the_profile_field_input_name() . '[]'));
        ?>

		<label for="<?php 
        bp_the_profile_field_input_name();
        ?>
[]"><?php 
        bp_the_profile_field_name();
        ?>
 <?php 
        if (bp_get_the_profile_field_is_required()) {
            _e('(required)', 'buddypress');
        }
        ?>
</label>

		<?php 
        /** This action is documented in bp-xprofile/bp-xprofile-classes */
        do_action(bp_get_the_profile_field_errors_action());
        ?>

		<select <?php 
        echo $this->get_edit_field_html_elements($r);
        ?>
>
			<?php 
        bp_the_profile_field_options(array('user_id' => $user_id));
        ?>
		</select>

		<?php 
        if (!bp_get_the_profile_field_is_required()) {
            ?>

			<a class="clear-value" href="javascript:clear( '<?php 
            echo esc_js(bp_get_the_profile_field_input_name());
            ?>
[]' );">
				<?php 
            esc_html_e('Clear', 'buddypress');
            ?>
			</a>

		<?php 
        }
        ?>
	<?php 
    }
开发者ID:jasonmcalpin,项目名称:BuddyPress,代码行数:66,代码来源:class-bp-xprofile-field-type-multiselectbox.php

示例5: edit_field_html

    /**
     * Output the edit field HTML for this field type.
     *
     * Must be used inside the {@link bp_profile_fields()} template loop.
     *
     * @param array $raw_properties Optional key/value array of {@link http://dev.w3.org/html5/markup/select.html permitted attributes} that you want to add.
     * @since BuddyPress (2.0.0)
     */
    public function edit_field_html(array $raw_properties = array())
    {
        // user_id is a special optional parameter that we pass to
        // {@link bp_the_profile_field_options()}.
        if (isset($raw_properties['user_id'])) {
            $user_id = (int) $raw_properties['user_id'];
            unset($raw_properties['user_id']);
        } else {
            $user_id = bp_displayed_user_id();
        }
        ?>

		<label for="<?php 
        bp_the_profile_field_input_name();
        ?>
">
			<?php 
        bp_the_profile_field_name();
        ?>
			<?php 
        if (bp_get_the_profile_field_is_required()) {
            ?>
				<?php 
            esc_html_e('(required)', 'buddypress');
            ?>
			<?php 
        }
        ?>
		</label>

		<?php 
        /** This action is documented in bp-xprofile/bp-xprofile-classes */
        do_action(bp_get_the_profile_field_errors_action());
        ?>

		<select <?php 
        echo $this->get_edit_field_html_elements($raw_properties);
        ?>
>
			<?php 
        bp_the_profile_field_options(array('user_id' => $user_id));
        ?>
		</select>

		<?php 
    }
开发者ID:kosir,项目名称:thatcamp-org,代码行数:54,代码来源:class-bp-xprofile-field-type-selectbox.php

示例6: edit_field_html

    /**
     * Output the edit field HTML for this field type.
     *
     * Must be used inside the {@link bp_profile_fields()} template loop.
     *
     * @param array $raw_properties Optional key/value array of {@link http://dev.w3.org/html5/markup/textarea.html permitted attributes} that you want to add.
     * @since 2.0.0
     */
    public function edit_field_html(array $raw_properties = array())
    {
        // user_id is a special optional parameter that certain other fields
        // types pass to {@link bp_the_profile_field_options()}.
        if (isset($raw_properties['user_id'])) {
            unset($raw_properties['user_id']);
        }
        $r = bp_parse_args($raw_properties, array('cols' => 40, 'rows' => 5));
        ?>

		<label for="<?php 
        bp_the_profile_field_input_name();
        ?>
">
			<?php 
        bp_the_profile_field_name();
        ?>
			<?php 
        if (bp_get_the_profile_field_is_required()) {
            ?>
				<?php 
            esc_html_e('(required)', 'buddypress');
            ?>
			<?php 
        }
        ?>
		</label>

		<?php 
        /** This action is documented in bp-xprofile/bp-xprofile-classes */
        do_action(bp_get_the_profile_field_errors_action());
        ?>

		<textarea <?php 
        echo $this->get_edit_field_html_elements($r);
        ?>
><?php 
        bp_the_profile_field_edit_value();
        ?>
</textarea>

		<?php 
    }
开发者ID:jasonmcalpin,项目名称:BuddyPress,代码行数:51,代码来源:class-bp-xprofile-field-type-textarea.php

示例7: edit_field_html

        public function edit_field_html(array $raw_properties = array())
        {
            if (isset($raw_properties['user_id'])) {
                unset($raw_properties['user_id']);
            }
            // HTML5 required attribute.
            if (bp_get_the_profile_field_is_required()) {
                $raw_properties['required'] = 'required';
            }
            $html = $this->get_edit_field_html_elements(array_merge(array('type' => 'color', 'value' => bp_get_the_profile_field_edit_value()), $raw_properties));
            ?>
            <label for="<?php 
            bp_the_profile_field_input_name();
            ?>
"><?php 
            bp_the_profile_field_name();
            ?>
 <?php 
            if (bp_get_the_profile_field_is_required()) {
                esc_html_e('(required)', 'buddypress');
            }
            ?>
</label>
            <?php 
            do_action(bp_get_the_profile_field_errors_action());
            ?>
            <input <?php 
            echo $html;
            ?>
>
            <script>
                if (!Modernizr.inputtypes.color) {
                    // No html5 field colorpicker => Calling jscolor.
                    jQuery('input#<?php 
            bp_the_profile_field_input_name();
            ?>
').addClass('color');
                }
            </script>
       <?php 
        }
开发者ID:baden03,项目名称:buddypress-xprofile-custom-fields-type,代码行数:41,代码来源:Bxcft_Field_Type_Color.php

示例8: edit_field_html

    /**
     * Output the edit field HTML for this field type.
     *
     * Must be used inside the {@link bp_profile_fields()} template loop.
     *
     * @since 2.0.0
     *
     * @param array $raw_properties Optional key/value array of
     *                              {@link http://dev.w3.org/html5/markup/input.checkbox.html permitted attributes}
     *                              that you want to add.
     */
    public function edit_field_html(array $raw_properties = array())
    {
        // User_id is a special optional parameter that we pass to
        // {@link bp_the_profile_field_options()}.
        if (isset($raw_properties['user_id'])) {
            $user_id = (int) $raw_properties['user_id'];
            unset($raw_properties['user_id']);
        } else {
            $user_id = bp_displayed_user_id();
        }
        ?>

		<div class="checkbox">
			<label for="<?php 
        bp_the_profile_field_input_name();
        ?>
">
				<?php 
        bp_the_profile_field_name();
        ?>
				<?php 
        bp_the_profile_field_required_label();
        ?>
			</label>

			<?php 
        /** This action is documented in bp-xprofile/bp-xprofile-classes */
        do_action(bp_get_the_profile_field_errors_action());
        ?>

			<?php 
        bp_the_profile_field_options(array('user_id' => $user_id));
        ?>

		</div>

		<?php 
    }
开发者ID:swissspidy,项目名称:BuddyPress,代码行数:49,代码来源:class-bp-xprofile-field-type-checkbox.php

示例9: bp_ajax_register_form_function


//.........这里部分代码省略.........

				<?php 
    if (bp_is_active('xprofile')) {
        ?>

					<?php 
        do_action('bp_before_signup_profile_fields');
        ?>

					<div class="register-section ajax-register-section" id="profile-details-section">

						<?php 
        /* Use the profile field loop to render input fields for the 'base' profile field group */
        ?>
						<?php 
        if (bp_is_active('xprofile')) {
            if (bp_has_profile('profile_group_id=1&hide_empty_fields=0')) {
                while (bp_profile_groups()) {
                    bp_the_profile_group();
                    ?>

						<?php 
                    while (bp_profile_fields()) {
                        bp_the_profile_field();
                        ?>

							<div class="ctrlHolder fullwidth">

								<?php 
                        if ('textbox' == bp_get_the_profile_field_type()) {
                            ?>

									<label for="<?php 
                            bp_the_profile_field_input_name();
                            ?>
"><?php 
                            bp_the_profile_field_name();
                            ?>
 <?php 
                            if (bp_get_the_profile_field_is_required()) {
                                _e('', 'buddypress');
                            }
                            ?>
</label>
									<div id="<?php 
                            bp_the_profile_field_input_name();
                            ?>
_error" class="error"></div>
									<input type="text" name="<?php 
                            bp_the_profile_field_input_name();
                            ?>
" id="<?php 
                            bp_the_profile_field_input_name();
                            ?>
" value="<?php 
                            bp_the_profile_field_edit_value();
                            ?>
" />

								<?php 
                        }
                        ?>

								<?php 
                        if ('textarea' == bp_get_the_profile_field_type()) {
                            ?>
开发者ID:hscale,项目名称:webento,代码行数:67,代码来源:bp-ajax.registration.php

示例10: render_xprofile_field

    /**
     * Generates the HTML code for a single XProfile input field.
     *
     * Code is taken from the BuddyPress default theme file:
     * plugins/buddypress/bp-themes/bp-default/registration/register.php
     *
     * @since  1.0.1.0
     * @param  int $field_id The XProfile field ID.
     * @param  mixed $field_value Value of the field.
     * @return string The HTML code to display the field.
     */
    public function render_xprofile_field($field_id, $field_value = null, $visibility = false)
    {
        global $field;
        $field = xprofile_get_field($field_id);
        ob_start();
        ?>
		<div class="ms-form-element ms-form-element-xprofile editfield field-<?php 
        echo $field_id;
        ?>
">

			<?php 
        if ('textarea' == bp_get_the_profile_field_type()) {
            ?>

				<label for="<?php 
            bp_the_profile_field_input_name();
            ?>
"><?php 
            bp_the_profile_field_name();
            ?>
 <?php 
            if (bp_get_the_profile_field_is_required()) {
                _e('(required)', 'buddypress');
            }
            ?>
</label>
				<?php 
            do_action(bp_get_the_profile_field_errors_action());
            ?>
				<textarea rows="5" cols="40" name="<?php 
            bp_the_profile_field_input_name();
            ?>
" id="<?php 
            bp_the_profile_field_input_name();
            ?>
"><?php 
            bp_the_profile_field_edit_value();
            ?>
</textarea>

			<?php 
        } elseif ('selectbox' == bp_get_the_profile_field_type()) {
            ?>

				<label for="<?php 
            bp_the_profile_field_input_name();
            ?>
"><?php 
            bp_the_profile_field_name();
            ?>
 <?php 
            if (bp_get_the_profile_field_is_required()) {
                _e('(required)', 'buddypress');
            }
            ?>
</label>
				<?php 
            do_action(bp_get_the_profile_field_errors_action());
            ?>
				<select name="<?php 
            bp_the_profile_field_input_name();
            ?>
" id="<?php 
            bp_the_profile_field_input_name();
            ?>
">
					<?php 
            bp_the_profile_field_options();
            ?>
				</select>

			<?php 
        } elseif ('multiselectbox' == bp_get_the_profile_field_type()) {
            ?>

				<label for="<?php 
            bp_the_profile_field_input_name();
            ?>
"><?php 
            bp_the_profile_field_name();
            ?>
 <?php 
            if (bp_get_the_profile_field_is_required()) {
                _e('(required)', 'buddypress');
            }
            ?>
</label>
				<?php 
//.........这里部分代码省略.........
开发者ID:jsandlin85,项目名称:SkylineSports,代码行数:101,代码来源:class-ms-addon-profilefields.php

示例11: admin_field_html

    /**
     * Output HTML for this field type on the wp-admin Profile Fields screen.
     *
     * Must be used inside the {@link bp_profile_fields()} template loop.
     *
     * @since 2.0.0
     *
     * @param array $raw_properties Optional key/value array of permitted attributes that you want to add.
     */
    public function admin_field_html(array $raw_properties = array())
    {
        $day_r = bp_parse_args($raw_properties, array('id' => bp_get_the_profile_field_input_name() . '_day', 'name' => bp_get_the_profile_field_input_name() . '_day'));
        $month_r = bp_parse_args($raw_properties, array('id' => bp_get_the_profile_field_input_name() . '_month', 'name' => bp_get_the_profile_field_input_name() . '_month'));
        $year_r = bp_parse_args($raw_properties, array('id' => bp_get_the_profile_field_input_name() . '_year', 'name' => bp_get_the_profile_field_input_name() . '_year'));
        ?>

		<label for="<?php 
        bp_the_profile_field_input_name();
        ?>
_day" class="screen-reader-text"><?php 
        esc_html_e('Select day', 'buddypress');
        ?>
</label>
		<select <?php 
        echo $this->get_edit_field_html_elements($day_r);
        ?>
>
			<?php 
        bp_the_profile_field_options(array('type' => 'day'));
        ?>
		</select>

		<label for="<?php 
        bp_the_profile_field_input_name();
        ?>
_month" class="screen-reader-text"><?php 
        esc_html_e('Select month', 'buddypress');
        ?>
</label>
		<select <?php 
        echo $this->get_edit_field_html_elements($month_r);
        ?>
>
			<?php 
        bp_the_profile_field_options(array('type' => 'month'));
        ?>
		</select>

		<label for="<?php 
        bp_the_profile_field_input_name();
        ?>
_year" class="screen-reader-text"><?php 
        esc_html_e('Select year', 'buddypress');
        ?>
</label>
		<select <?php 
        echo $this->get_edit_field_html_elements($year_r);
        ?>
>
			<?php 
        bp_the_profile_field_options(array('type' => 'year'));
        ?>
		</select>

	<?php 
    }
开发者ID:swissspidy,项目名称:BuddyPress,代码行数:66,代码来源:class-bp-xprofile-field-type-datebox.php

示例12: admin_field_html

    /**
     * Output HTML for this field type on the wp-admin Profile Fields screen.
     *
     * Must be used inside the {@link bp_profile_fields()} template loop.
     *
     * @since 2.0.0
     *
     * @param array $raw_properties Optional key/value array of permitted attributes that you want to add.
     */
    public function admin_field_html(array $raw_properties = array())
    {
        $r = bp_parse_args($raw_properties, array('type' => 'text'));
        ?>

		<label for="<?php 
        bp_the_profile_field_input_name();
        ?>
" class="screen-reader-text"><?php 
        /* translators: accessibility text */
        esc_html_e('Textbox', 'buddypress');
        ?>
</label>
		<input <?php 
        echo $this->get_edit_field_html_elements($r);
        ?>
>

		<?php 
    }
开发者ID:CompositeUK,项目名称:clone.BuddyPress,代码行数:29,代码来源:class-bp-xprofile-field-type-textbox.php

示例13: admin_field_html

    /**
     * Output HTML for this field type on the wp-admin Profile Fields screen.
     *
     * Must be used inside the {@link bp_profile_fields()} template loop.
     *
     * @since 2.0.0
     *
     * @param array $raw_properties Optional key/value array of permitted attributes that you want to add.
     */
    public function admin_field_html(array $raw_properties = array())
    {
        ?>

		<label for="<?php 
        bp_the_profile_field_input_name();
        ?>
" class="screen-reader-text"><?php 
        /* translators: accessibility text */
        esc_html_e('Select', 'buddypress');
        ?>
</label>
		<select <?php 
        echo $this->get_edit_field_html_elements($raw_properties);
        ?>
>
			<?php 
        bp_the_profile_field_options();
        ?>
		</select>

		<?php 
    }
开发者ID:CompositeUK,项目名称:clone.BuddyPress,代码行数:32,代码来源:class-bp-xprofile-field-type-selectbox.php

示例14: admin_field_html

    /**
     * Output HTML for this field type on the wp-admin Profile Fields screen.
     *
     * Must be used inside the {@link bp_profile_fields()} template loop.
     *
     * @since 2.0.0
     *
     * @param array $raw_properties Optional key/value array of permitted attributes that you want to add.
     */
    public function admin_field_html(array $raw_properties = array())
    {
        $r = bp_parse_args($raw_properties, array('type' => 'number'));
        ?>

		<label for="<?php 
        bp_the_profile_field_input_name();
        ?>
" class="screen-reader-text"><?php 
        esc_html_e('Number field', 'buddypress');
        ?>
</label>
		<input <?php 
        echo $this->get_edit_field_html_elements($r);
        ?>
>
	<?php 
    }
开发者ID:mawilliamson,项目名称:wordpress,代码行数:27,代码来源:class-bp-xprofile-field-type-number.php

示例15: edit_field_html

    /**
     * Output the edit field HTML for this field type.
     *
     * Must be used inside the {@link bp_profile_fields()} template loop.
     *
     * @param array $raw_properties Optional key/value array of {@link http://dev.w3.org/html5/markup/input.number.html permitted attributes} that you want to add.
     * @since BuddyPress (2.0.0)
     */
    public function edit_field_html(array $raw_properties = array())
    {
        // user_id is a special optional parameter that certain other fields types pass to {@link bp_the_profile_field_options()}.
        if (isset($raw_properties['user_id'])) {
            unset($raw_properties['user_id']);
        }
        $html = $this->get_edit_field_html_elements(array_merge(array('type' => 'number', 'value' => bp_get_the_profile_field_edit_value()), $raw_properties));
        ?>
		<label for="<?php 
        bp_the_profile_field_input_name();
        ?>
"><?php 
        bp_the_profile_field_name();
        ?>
 <?php 
        if (bp_get_the_profile_field_is_required()) {
            esc_html_e('(required)', 'buddypress');
        }
        ?>
</label>
		<?php 
        do_action(bp_get_the_profile_field_errors_action());
        ?>
		<input <?php 
        echo $html;
        ?>
>
	<?php 
    }
开发者ID:kd5ytx,项目名称:Empirical-Wordpress,代码行数:37,代码来源:bp-xprofile-classes.php


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