Файловый менеджер - Редактировать - /home/digitalm/invisalign/wp-content/plugins/otter-blocks/inc/render/class-plugin-card-block.php
Назад
<?php /** * Card block * * @package ThemeIsle\GutenbergBlocks\Render */ namespace ThemeIsle\GutenbergBlocks\Render; /** * Class Plugin_Card_Block */ class Plugin_Card_Block { /** * Block render function for server-side. * * This method will pe passed to the render_callback parameter and it will output * the server side output of the block. * * @param array $attributes Blocks attrs. * @return mixed|string */ public function render( $attributes ) { if ( empty( $attributes['slug'] ) ) { return; } $results = $this->search( $attributes['slug'] ); if ( ! is_wp_error( $results['data'] ) ) { $results = $results['data']; $icon = ''; if ( isset( $results->icons['svg'] ) ) { $icon = $results->icons['svg']; } if ( isset( $results->icons['2x'] ) ) { $icon = $results->icons['2x']; } if ( isset( $results->icons['1x'] ) ) { $icon = $results->icons['1x']; } if ( isset( $results->icons['default'] ) ) { $icon = $results->icons['default']; } $wrapper_attributes = get_block_wrapper_attributes(); $markup = '<div ' . $wrapper_attributes . '> <div class="o-plugin-cards-wrapper"> <div class="o-plugin-cards-header"> <div class="o-plugin-cards-main"> <div class="o-plugin-cards-logo"> <img src="' . esc_url( $icon ) . '" alt="' . esc_attr( $results->name ) . '" title="' . esc_attr( $results->name ) . '"/> </div> <div class="o-plugin-cards-info"> <h4>' . esc_html( $results->name ) . '</h4> <h5>' . $results->author . '</h5> </div> <div class="o-plugin-cards-ratings"> ' . $this->get_ratings( $results->rating ) . ' </div> </div> </div> <div class="o-plugin-cards-details"> <div class="o-plugin-cards-description">' . esc_html( $results->short_description ) . '</div> <div class="o-plugin-cards-stats"> <h5>' . __( 'Plugin Stats', 'otter-blocks' ) . '</h5> <div class="o-plugin-cards-stats-list"> <div class="o-plugin-cards-stat"> <span class="o-plugin-cards-text-large">' . number_format( $results->active_installs ) . '+</span> ' . __( 'active installs', 'otter-blocks' ) . ' </div> <div class="o-plugin-cards-stat"> <span class="o-plugin-cards-text-large">' . floatval( $results->version ) . '+</span> ' . __( 'version', 'otter-blocks' ) . ' </div> <div class="o-plugin-cards-stat"> <span class="o-plugin-cards-text-large">' . floatval( $results->tested ) . '+</span> ' . __( 'tested up to', 'otter-blocks' ) . ' </div> </div> </div> </div> <div class="o-plugin-cards-download"> <a href="' . esc_url( $results->download_link ) . '">' . __( 'Download', 'otter-blocks' ) . '</a> </div> </div> </div>'; return $markup; } } /** * Search WordPress Plugin * * Search WordPress plugin using WordPress.org API. * * @param mixed $request Rest request. * * @return mixed */ protected function search( $request ) { $return = array( 'success' => false, 'data' => esc_html__( 'Something went wrong', 'otter-blocks' ), ); $slug = $request; require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; $request = array( 'per_page' => 12, 'slug' => $slug, 'fields' => array( 'active_installs' => true, 'added' => false, 'donate_link' => false, 'downloadlink' => true, 'homepage' => true, 'icons' => true, 'last_updated' => false, 'requires' => true, 'requires_php' => false, 'screenshots' => false, 'short_description' => true, 'slug' => false, 'sections' => false, 'rating' => true, 'ratings' => false, ), ); $results = plugins_api( 'plugin_information', $request ); if ( is_wp_error( $results ) ) { $return['data'] = 'error'; return $return; } $return['success'] = true; // Get data from API. $return['data'] = $results; return $return; } /** * Get Rating Stars * * Get 0-5 star rating from rating score. * * @param string $rating Rating value. * * @return mixed|string */ protected function get_ratings( $rating ) { $rating = round( (int) $rating / 10, 0 ) / 2; $full_stars = floor( $rating ); $half_stars = ceil( $rating - $full_stars ); $empty_stars = 5 - $full_stars - $half_stars; $output = str_repeat( '<span class="star-full"></span>', intval( $full_stars ) ); $output .= str_repeat( '<span class="star-half"></span>', intval( $half_stars ) ); $output .= str_repeat( '<span class="star-empty"></span>', intval( $empty_stars ) ); return $output; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.23 | Генерация страницы: 0.05 |
proxy
|
phpinfo
|
Настройка