PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 28.4
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v28.4
28.4 28.3 28.2 28.1 28.0 27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 19.1 All 128 releases
wordpress-seo / admin / class-admin-utils.php

class-admin-utils.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 28.4, at admin/class-admin-utils.php

83 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WPSEO plugin file.
4 *
5 * @package WPSEO\Admin
6 */
7
8 /**
9 * Represents the utils for the admin.
10 */
11 class WPSEO_Admin_Utils {
12
13 /**
14 * Gets the install URL for the passed plugin slug.
15 *
16 * @param string $slug The slug to create an install link for.
17 *
18 * @return string The install URL. Empty string if the current user doesn't have the proper capabilities.
19 */
20 public static function get_install_url( $slug ) {
21 if ( ! current_user_can( 'install_plugins' ) ) {
22 return '';
23 }
24
25 return wp_nonce_url(
26 self_admin_url( 'update.php?action=install-plugin&plugin=' . dirname( $slug ) ),
27 'install-plugin_' . dirname( $slug ),
28 );
29 }
30
31 /**
32 * Gets the activation URL for the passed plugin slug.
33 *
34 * @param string $slug The slug to create an activation link for.
35 *
36 * @return string The activation URL. Empty string if the current user doesn't have the proper capabilities.
37 */
38 public static function get_activation_url( $slug ) {
39 if ( ! current_user_can( 'activate_plugins' ) ) {
40 return '';
41 }
42
43 return wp_nonce_url(
44 self_admin_url( 'plugins.php?action=activate&plugin_status=all&paged=1&s&plugin=' . $slug ),
45 'activate-plugin_' . $slug,
46 );
47 }
48
49 /**
50 * Creates a link if the passed plugin is deemend a directly-installable plugin.
51 *
52 * @param array $plugin The plugin to create the link for.
53 *
54 * @return string The link to the plugin install. Returns the title if the plugin is deemed a Premium product.
55 */
56 public static function get_install_link( $plugin ) {
57 $install_url = self::get_install_url( $plugin['slug'] );
58
59 if ( $install_url === '' || ( isset( $plugin['premium'] ) && $plugin['premium'] === true ) ) {
60 return $plugin['title'];
61 }
62
63 return sprintf(
64 '<a href="%s">%s</a>',
65 $install_url,
66 $plugin['title'],
67 );
68 }
69
70 /**
71 * Gets a visually hidden accessible message for links that open in a new browser tab.
72 *
73 * @return string The visually hidden accessible message.
74 */
75 public static function get_new_tab_message() {
76 return sprintf(
77 '<span class="screen-reader-text">%s</span>',
78 /* translators: Hidden accessibility text. */
79 esc_html__( '(Opens in a new browser tab)', 'wordpress-seo' ),
80 );
81 }
82 }
83