���ѧۧݧ�ӧ�� �ާ֧ߧ֧էا֧� - ���֧էѧܧ�ڧ��ӧѧ�� - /home/rickpfrv/elirickard.com/wp-content/themes/micdrop/helpers/helper.php
���ѧ٧ѧ�
<?php if ( ! function_exists( 'micdrop_is_installed' ) ) { /** * Function that checks if forward plugin installed * * @param string $plugin - plugin name * * @return bool */ function micdrop_is_installed( $plugin ) { switch ( $plugin ) { case 'framework': return class_exists( 'QodeFramework' ); case 'core': return class_exists( 'MicdropCore' ); case 'woocommerce': return class_exists( 'WooCommerce' ); case 'gutenberg-page': $current_screen = function_exists( 'get_current_screen' ) ? get_current_screen() : array(); return method_exists( $current_screen, 'is_block_editor' ) && $current_screen->is_block_editor(); case 'gutenberg-editor': return class_exists( 'WP_Block_Type' ); default: return false; } } } if ( ! function_exists( 'micdrop_include_theme_is_installed' ) ) { /** * Function that set case is installed element for framework functionality * * @param bool $installed * @param string $plugin - plugin name * * @return bool */ function micdrop_include_theme_is_installed( $installed, $plugin ) { if ( 'theme' === $plugin ) { return class_exists( 'Micdrop_Handler' ); } return $installed; } add_filter( 'qode_framework_filter_is_plugin_installed', 'micdrop_include_theme_is_installed', 10, 2 ); } if ( ! function_exists( 'micdrop_template_part' ) ) { /** * Function that echo module template part. * * @param string $module name of the module from inc folder * @param string $template full path of the template to load * @param string $slug * @param array $params array of parameters to pass to template */ function micdrop_template_part( $module, $template, $slug = '', $params = array() ) { echo micdrop_get_template_part( $module, $template, $slug, $params ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } if ( ! function_exists( 'micdrop_get_template_part' ) ) { /** * Function that load module template part. * * @param string $module name of the module from inc folder * @param string $template full path of the template to load * @param string $slug * @param array $params array of parameters to pass to template * * @return string - string containing html of template */ function micdrop_get_template_part( $module, $template, $slug = '', $params = array() ) { //HTML Content from template $html = ''; $template_path = MICDROP_INC_ROOT_DIR . '/' . $module; $temp = $template_path . '/' . $template; if ( is_array( $params ) && count( $params ) ) { extract( $params ); // @codingStandardsIgnoreLine } $template = ''; if ( ! empty( $temp ) ) { if ( ! empty( $slug ) ) { $template = "{$temp}-{$slug}.php"; if ( ! file_exists( $template ) ) { $template = $temp . '.php'; } } else { $template = $temp . '.php'; } } if ( $template ) { ob_start(); include( $template ); // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound $html = ob_get_clean(); } return $html; } } if ( ! function_exists( 'micdrop_get_page_id' ) ) { /** * Function that returns current page id * Additional conditional is to check if current page is any wp archive page (archive, category, tag, date etc.) and returns -1 * * @return int */ function micdrop_get_page_id() { $page_id = get_queried_object_id(); if ( micdrop_is_wp_template() ) { $page_id = - 1; } return apply_filters( 'micdrop_filter_page_id', $page_id ); } } if ( ! function_exists( 'micdrop_is_wp_template' ) ) { /** * Function that checks if current page default wp page * * @return bool */ function micdrop_is_wp_template() { return is_archive() || is_search() || is_404() || ( is_front_page() && is_home() ); } } if ( ! function_exists( 'micdrop_get_ajax_status' ) ) { /** * Function that return status from ajax functions * * @param string $status - success or error * @param string $message - ajax message value * @param string|array $data - returned value * @param string $redirect - url address */ function micdrop_get_ajax_status( $status, $message, $data = null, $redirect = '' ) { $response = array( 'status' => esc_attr( $status ), 'message' => esc_html( $message ), 'data' => $data, 'redirect' => ! empty( $redirect ) ? esc_url( $redirect ) : '', ); $output = json_encode( $response ); exit( $output ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } if ( ! function_exists( 'micdrop_get_button_element' ) ) { /** * Function that returns button with provided params * * @param array $params - array of parameters * * @return string - string representing button html */ function micdrop_get_button_element( $params, $class ) { if ( class_exists( 'MicdropCore_Button_Shortcode' ) ) { return MicdropCore_Button_Shortcode::call_shortcode( $params ); } else { $link = isset( $params['link'] ) ? $params['link'] : '#'; $target = isset( $params['target'] ) ? $params['target'] : '_self'; $text = isset( $params['text'] ) ? $params['text'] : ''; if ( ! empty( $class ) && 'qodef-layout--outlined' === $class ) { $return_html = '<a itemprop="url" class="qodef-theme-button' . ' ' . $class . '"' . 'href="' . esc_url( $link ) . '" target="' . esc_attr( $target ) . '">'; $return_html .= '<span class="qodef-m-text">' . esc_html( $text ) . '</span></a>'; return $return_html; } else { return '<a itemprop="url" class="qodef-theme-button" href="' . esc_url( $link ) . '" target="' . esc_attr( $target ) . '">' . esc_html( $text ) . '</a>'; } } } } if ( ! function_exists( 'micdrop_render_button_element' ) ) { /** * Function that render button with provided params * * @param array $params - array of parameters */ function micdrop_render_button_element( $params, $class_name = '' ) { $class = isset( $class_name ) && ! empty( $class_name ) ? esc_attr( $class_name ) : ''; echo micdrop_get_button_element( $params, $class ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } if ( ! function_exists( 'micdrop_class_attribute' ) ) { /** * Function that render class attribute * * @param string|array $class */ function micdrop_class_attribute( $class ) { echo micdrop_get_class_attribute( $class ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } if ( ! function_exists( 'micdrop_get_class_attribute' ) ) { /** * Function that return class attribute * * @param string|array $class * * @return string|mixed */ function micdrop_get_class_attribute( $class ) { return micdrop_is_installed( 'framework' ) ? qode_framework_get_class_attribute( $class ) : ''; } } if ( ! function_exists( 'micdrop_get_post_value_through_levels' ) ) { /** * Function that returns meta value if exists * * @param string $name name of option * @param int $post_id id of * * @return string value of option */ function micdrop_get_post_value_through_levels( $name, $post_id = null ) { return micdrop_is_installed( 'framework' ) && micdrop_is_installed( 'core' ) ? micdrop_core_get_post_value_through_levels( $name, $post_id ) : ''; } } if ( ! function_exists( 'micdrop_get_space_value' ) ) { /** * Function that returns spacing value based on selected option * * @param string $text_value - textual value of spacing * * @return int */ function micdrop_get_space_value( $text_value ) { return micdrop_is_installed( 'core' ) ? micdrop_core_get_space_value( $text_value ) : 0; } } if ( ! function_exists( 'micdrop_wp_kses_html' ) ) { /** * Function that does escaping of specific html. * It uses wp_kses function with predefined attributes array. * * @param string $type - type of html element * @param string $content - string to escape * * @return string escaped output * @see wp_kses() * */ function micdrop_wp_kses_html( $type, $content ) { return micdrop_is_installed( 'framework' ) ? qode_framework_wp_kses_html( $type, $content ) : $content; } } if ( ! function_exists( 'micdrop_render_svg_icon' ) ) { /** * Function that print svg html icon * * @param string $name - icon name * @param string $class_name - custom html tag class name */ function micdrop_render_svg_icon( $name, $class_name = '' ) { echo micdrop_get_svg_icon( $name, $class_name ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } } if ( ! function_exists( 'micdrop_get_svg_icon' ) ) { /** * Returns svg html * * @param string $name - icon name * @param string $class_name - custom html tag class name * * @return string - string containing svg html */ function micdrop_get_svg_icon( $name, $class_name = '' ) { $html = ''; $class = isset( $class_name ) && ! empty( $class_name ) ? 'class="' . esc_attr( $class_name ) . '"' : ''; switch ( $name ) { case 'menu': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="64px" height="64px" viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve"><line x1="12" y1="21" x2="52" y2="21"/><line x1="12" y1="33" x2="52" y2="33"/><line x1="12" y1="45" x2="52" y2="45"/></svg>'; break; case 'mobile-menu-open': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" width="56" height="11" viewBox="0 0 56 11"><rect y=".5" width="56" height="2"></rect><rect y="8.5" width="56" height="2"></rect></svg>'; break; case 'mobile-menu-close': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" width="34.0512" height="32.876" viewBox="0 0 34.0512 32.876"><rect x="29.0257" y="7.7713" width="2" height="45.3333" transform="translate(-25.7263 16.9663) rotate(-46.0987)"></rect><rect x="7.3589" y="29.438" width="45.3333" height="2" transform="translate(-25.7152 15.3266) rotate(-43.9013)"></rect></svg>'; break; case 'search': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"></path></svg>'; break; case 'star': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20" viewBox="0 0 20 20"><path fill="currentColor" d="M15.5 19c-0.082 0-0.164-0.020-0.239-0.061l-5.261-2.869-5.261 2.869c-0.168 0.092-0.373 0.079-0.529-0.032s-0.235-0.301-0.203-0.49l0.958-5.746-3.818-3.818c-0.132-0.132-0.18-0.328-0.123-0.506s0.209-0.31 0.394-0.341l5.749-0.958 2.386-4.772c0.085-0.169 0.258-0.276 0.447-0.276s0.363 0.107 0.447 0.276l2.386 4.772 5.749 0.958c0.185 0.031 0.337 0.162 0.394 0.341s0.010 0.374-0.123 0.506l-3.818 3.818 0.958 5.746c0.031 0.189-0.048 0.379-0.203 0.49-0.086 0.061-0.188 0.093-0.29 0.093zM10 15c0.082 0 0.165 0.020 0.239 0.061l4.599 2.508-0.831-4.987c-0.027-0.159 0.025-0.322 0.14-0.436l3.313-3.313-5.042-0.84c-0.158-0.026-0.293-0.127-0.365-0.27l-2.053-4.106-2.053 4.106c-0.072 0.143-0.207 0.243-0.365 0.27l-5.042 0.84 3.313 3.313c0.114 0.114 0.166 0.276 0.14 0.436l-0.831 4.987 4.599-2.508c0.075-0.041 0.157-0.061 0.239-0.061z"></path></svg>'; break; case 'star-empty': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20" viewBox="0 0 20 20"><path fill="currentColor" d="M5.499 8.333c-0.24 0-0.452-0.173-0.493-0.418-0.045-0.272 0.139-0.53 0.411-0.575l1.749-0.291 0.386-0.772c0.123-0.247 0.424-0.347 0.671-0.224s0.347 0.424 0.224 0.671l-0.5 1c-0.072 0.143-0.207 0.243-0.365 0.27l-2 0.333c-0.028 0.005-0.056 0.007-0.083 0.007z"></path><path fill="currentColor" d="M2.5 10c-0.128 0-0.256-0.049-0.354-0.146l-1-1c-0.132-0.132-0.18-0.328-0.123-0.506s0.209-0.31 0.394-0.341l2-0.333c0.273-0.045 0.53 0.139 0.575 0.411s-0.139 0.53-0.411 0.575l-1.042 0.174 0.313 0.313c0.195 0.195 0.195 0.512 0 0.707-0.098 0.098-0.226 0.146-0.354 0.146z"></path><path fill="currentColor" d="M14.833 15c-0.24 0-0.452-0.173-0.493-0.418l-0.333-2c-0.027-0.159 0.025-0.322 0.14-0.436l1-1c0.195-0.195 0.512-0.195 0.707 0s0.195 0.512 0 0.707l-0.818 0.818 0.291 1.746c0.045 0.272-0.139 0.53-0.411 0.575-0.028 0.005-0.055 0.007-0.083 0.007z"></path><path fill="currentColor" d="M15.5 19c-0.082 0-0.164-0.020-0.239-0.061l-3-1.636c-0.242-0.132-0.332-0.436-0.2-0.678s0.436-0.332 0.678-0.2l2.099 1.145-0.165-0.987c-0.045-0.272 0.139-0.53 0.411-0.575s0.53 0.139 0.575 0.411l0.333 2c0.031 0.189-0.048 0.379-0.203 0.49-0.086 0.061-0.188 0.093-0.29 0.093z"></path><path fill="currentColor" d="M5.334 14c-0.027 0-0.055-0.002-0.083-0.007-0.272-0.045-0.456-0.303-0.411-0.575l0.124-0.746-0.818-0.818c-0.195-0.195-0.195-0.512 0-0.707s0.512-0.195 0.707 0l1 1c0.114 0.114 0.166 0.276 0.14 0.436l-0.167 1c-0.041 0.245-0.253 0.418-0.493 0.418z"></path><path fill="currentColor" d="M4.5 19c-0.102 0-0.204-0.031-0.29-0.093-0.156-0.111-0.235-0.301-0.203-0.49l0.5-3c0.045-0.272 0.303-0.456 0.575-0.411s0.456 0.303 0.411 0.575l-0.331 1.987 1.099-0.599c0.242-0.132 0.546-0.043 0.678 0.199s0.043 0.546-0.2 0.678l-2 1.091c-0.075 0.041-0.157 0.061-0.239 0.061z"></path><path fill="currentColor" d="M8.5 16.818c-0.177 0-0.349-0.094-0.439-0.261-0.132-0.242-0.043-0.546 0.2-0.678l1.5-0.818c0.149-0.081 0.33-0.081 0.479 0l0.5 0.273c0.242 0.132 0.332 0.436 0.2 0.678s-0.436 0.332-0.678 0.2l-0.261-0.142-1.261 0.688c-0.076 0.041-0.158 0.061-0.239 0.061z"></path><path fill="currentColor" d="M17.5 10c-0.128 0-0.256-0.049-0.354-0.146-0.195-0.195-0.195-0.512 0-0.707l0.313-0.313-2.042-0.34c-0.272-0.045-0.456-0.303-0.411-0.575s0.303-0.456 0.575-0.411l3 0.5c0.185 0.031 0.337 0.162 0.394 0.341s0.010 0.374-0.123 0.506l-1 1c-0.098 0.098-0.226 0.147-0.354 0.147z"></path><path fill="currentColor" d="M13.501 8.167c-0.027 0-0.055-0.002-0.083-0.007l-1-0.167c-0.158-0.026-0.293-0.127-0.365-0.27l-1-2c-0.123-0.247-0.023-0.547 0.224-0.671s0.547-0.023 0.671 0.224l0.886 1.772 0.749 0.125c0.272 0.045 0.456 0.303 0.411 0.575-0.041 0.244-0.253 0.418-0.493 0.418z"></path><path fill="currentColor" d="M9 5c-0.075 0-0.151-0.017-0.223-0.053-0.247-0.123-0.347-0.424-0.224-0.671l1-2c0.085-0.169 0.258-0.276 0.447-0.276 0 0 0 0 0 0 0.189 0 0.363 0.107 0.447 0.276l0.5 1c0.123 0.247 0.023 0.547-0.224 0.671s-0.547 0.023-0.671-0.224l-0.053-0.106-0.553 1.106c-0.088 0.175-0.264 0.277-0.448 0.277z"></path></svg>'; break; case 'menu-arrow-right': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"></path></svg>'; break; case 'slider-arrow-left': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" width="11.4965" height="10.1215" viewBox="0 0 11.4965 10.1215"><g><rect x="1.4548" y="3.9889" width="10.0417" height="2"/><polyline points="5.571 0.53 1.058 5.043 5.571 9.593"/></g><g><rect x="1.4548" y="3.9889" width="10.0417" height="2"/><polyline points="5.571 0.53 1.058 5.043 5.571 9.593"/></g></svg>'; break; case 'slider-arrow-right': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" width="11.4959" height="10.1209" viewBox="0 0 11.4959 10.1209"><g><rect y="3.9886" width="10.0417" height="2"/><polyline points="5.925 9.593 10.438 5.043 5.925 0.53"/></g><g><rect y="3.9886" width="10.0417" height="2"/><polyline points="5.925 9.593 10.438 5.043 5.925 0.53"/></g></svg>'; break; case 'pagination-arrow-left': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" width="11.4965" height="10.1215" viewBox="0 0 11.4965 10.1215"><g><rect x="1.4548" y="3.9889" width="10.0417" height="2"/><polyline points="5.571 0.53 1.058 5.043 5.571 9.593"/></g><g><rect x="1.4548" y="3.9889" width="10.0417" height="2"/><polyline points="5.571 0.53 1.058 5.043 5.571 9.593"/></g></svg>'; break; case 'pagination-arrow-right': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" width="11.4959" height="10.1209" viewBox="0 0 11.4959 10.1209"><g><rect y="3.9886" width="10.0417" height="2"/><polyline points="5.925 9.593 10.438 5.043 5.925 0.53"/></g><g><rect y="3.9886" width="10.0417" height="2"/><polyline points="5.925 9.593 10.438 5.043 5.925 0.53"/></g></svg>'; break; case 'close': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"><g><path d="M 10.050,23.95c 0.39,0.39, 1.024,0.39, 1.414,0L 17,18.414l 5.536,5.536c 0.39,0.39, 1.024,0.39, 1.414,0 c 0.39-0.39, 0.39-1.024,0-1.414L 18.414,17l 5.536-5.536c 0.39-0.39, 0.39-1.024,0-1.414c-0.39-0.39-1.024-0.39-1.414,0 L 17,15.586L 11.464,10.050c-0.39-0.39-1.024-0.39-1.414,0c-0.39,0.39-0.39,1.024,0,1.414L 15.586,17l-5.536,5.536 C 9.66,22.926, 9.66,23.56, 10.050,23.95z"></path></g></svg>'; break; // case 'spinner': // $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><path d="M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"></path></svg>'; // break; case 'spinner': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" width="69" height="10" viewBox="0 0 69 10"><circle cx="5" cy="5" r="5"/><circle cx="24.8233" cy="5" r="5"/><circle cx="44.4116" cy="5" r="5"/><circle cx="64" cy="5" r="5"/></svg>'; break; case 'album-back-link': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" width="16" height="128" viewBox="0 0 16 128" style="fill: currentColor;"><g><rect x="7.5" width="1" height="50" style="stroke: currentColor;"/><rect x="7.5" y="78" width="1" height="50" style="stroke: currentColor;"/></g><g><rect y="56" width="7" height="7"/><rect y="64.9366" width="7" height="7"/><rect x="9" y="56.0634" width="7" height="7"/><rect x="9" y="65" width="7" height="7"/></g></svg>'; break; case 'link': $html = '<svg ' . $class . ' xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32.06999969482422" height="33.58000183105469" viewBox="0 0 32.06999969482422 33.58000183105469"><g><path d="M 7.54,15.77c 1.278,1.278, 3.158,1.726, 4.868,1.216L 2.96,7.54C 2.652,7.232, 2.49,6.786, 2.49,6.254 c0-0.88, 0.46-2.004, 1.070-2.614c 0.8-0.8, 2.97-1.686, 3.98-0.682l 9.446,9.448c 0.138-0.462, 0.208-0.942, 0.208-1.422 c0-1.304-0.506-2.526-1.424-3.446L 9.364,1.134C 7.44-0.79, 3.616-0.068, 1.734,1.814C 0.642,2.906-0.036,4.598-0.036,6.23 c0,1.268, 0.416,2.382, 1.17,3.136L 7.54,15.77zM 24.46,16.23c-1.278-1.278-3.158-1.726-4.868-1.216l 9.448,9.448c 0.308,0.308, 0.47,0.752, 0.47,1.286 c0,0.88-0.46,2.004-1.070,2.614c-0.8,0.8-2.97,1.686-3.98,0.682L 15.014,19.594c-0.138,0.462-0.208,0.942-0.208,1.422 c0,1.304, 0.506,2.526, 1.424,3.446l 6.404,6.404c 1.924,1.924, 5.748,1.202, 7.63-0.68c 1.092-1.092, 1.77-2.784, 1.77-4.416 c0-1.268-0.416-2.382-1.17-3.136L 24.46,16.23zM 9.164,9.162C 8.908,9.416, 8.768,9.756, 8.768,10.116s 0.14,0.698, 0.394,0.952l 11.768,11.77 c 0.526,0.524, 1.38,0.524, 1.906,0c 0.256-0.254, 0.394-0.594, 0.394-0.954s-0.14-0.698-0.394-0.952L 11.068,9.162 C 10.544,8.638, 9.688,8.638, 9.164,9.162z"></path></g></svg>'; break; } return apply_filters( 'micdrop_filter_svg_icon', $html ); } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | ���֧ߧ֧�ѧ�ڧ� ����ѧߧڧ��: 0 |
proxy
|
phpinfo
|
���ѧ����ۧܧ�