/** * Print page header. */ public static function print_header() { $url_wpglobus_logo = WPGlobus::internal_images_url() . '/wpglobus-logo-180x180.png'; ?> <style> .wp-badge.wpglobus-badge { background: #ffffff url(<?php echo esc_url($url_wpglobus_logo); ?> ) no-repeat; background-size: contain; } </style> <?php echo '<div class="wrap about-wrap wpglobus-about-wrap">'; ?> <h1 class="wpglobus"><span class="wpglobus-wp">WP</span>Globus <span class="wpglobus-version"><?php echo esc_html(WPGLOBUS_VERSION); ?> </span> </h1> <div class="wpglobus-motto"><?php esc_html_e('Multilingual Everything!', 'wpglobus'); ?> </div> <div class="about-text"> <?php esc_html_e('WPGlobus is a family of WordPress plugins assisting you in making multilingual WordPress blogs and sites.', 'wpglobus'); ?> </div> <div class="wp-badge wpglobus-badge"></div> <?php }
/** * Filter api results * * @param stdClass|WP_Error $res Response object or WP_Error. * @param string $action The type of information being requested from the Plugin Install API. * @param stdClass $args Plugin API arguments. * * @return stdClass|WP_Error */ public static function filter__plugins_api_result($res, $action, $args) { if (is_wp_error($res)) { return $res; } if (empty($res->plugins)) { return $res; } foreach ((array) $res->plugins as $key => $plugin) { if (false === strpos($plugin->slug, 'wpglobus')) { unset($res->plugins[$key]); } else { if ('wpglobus-for-black-studio-tinymce-widget' === $plugin->slug) { /** * Set correct slug for the * `WPGlobus for Black Studio TinyMCE Widget` plugin. * * @since 1.6.3 */ $plugin->slug = 'wpglobus-for-black-studio-widget'; self::$plugin_card['free'][] = $plugin->slug; self::$free_plugins[$plugin->slug]['extra_data']['correctLink'] = 'wpglobus-for-black-studio-tinymce-widget'; } else { self::$plugin_card['free'][] = $plugin->slug; } } } $url_wpglobus_site = WPGlobus_Utils::url_wpglobus_site(); $all_products = self::_get_all_product_info(); foreach (self::$paid_plugins as $plugin => $plugin_data) { $plugin_file = implode('/', array(WP_PLUGIN_DIR, $plugin_data['slug'], $plugin_data['loader'])); if (is_readable($plugin_file)) { // Plugin is installed. self::$paid_plugins[$plugin]['plugin_data'] = get_plugin_data($plugin_file, false); } else { self::$paid_plugins[$plugin]['plugin_data'] = null; $product_slug = isset($plugin_data['product_slug']) ? $plugin_data['product_slug'] : $plugin; if (isset($all_products[$product_slug])) { $plugin_info = $all_products[$product_slug]; // Titles come as multilingual strings. $_plugin_title = WPGlobus_Filters::filter__text($plugin_info['title']); self::$paid_plugins[$plugin]['plugin_data'] = array('Description' => '', 'Name' => $_plugin_title, 'Title' => $_plugin_title, 'Version' => $plugin_info['_api_new_version'], 'PluginURI' => $url_wpglobus_site . 'product/' . $product_slug . '/'); } } } /** * Prepend the premium add-ons to the list of plugins. */ foreach (self::$paid_plugins as $slug => $paid_plugin) { $_info = self::_plugin_info_template(); $_info->slug = $slug; $_info->icons['default'] = $_info->icons['1x'] = $_info->icons['2x'] = WPGlobus::internal_images_url() . '/' . $paid_plugin['image_file']; if (!empty($paid_plugin['plugin_data'])) { $_info->name = $paid_plugin['plugin_data']['Name']; $_info->short_description = $paid_plugin['plugin_data']['Description']; $_info->homepage = $paid_plugin['plugin_data']['PluginURI']; } else { $_info->name = $slug; } self::$plugin_card['paid'][] = $slug; self::$paid_plugins[$slug]['card'] = $_info; self::$paid_plugins[$slug]['extra_data']['product_url'] = self::$paid_plugins[$slug]['extra_data']['details_url'] = $_info->homepage; array_unshift($res->plugins, $_info); } $res->info['results'] = count($res->plugins); return $res; }