• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Yoast / wordpress-seo / 49cdf70e861509c37a279de77f1105ee59c0f57f

20 Feb 2024 09:17AM UTC coverage: 53.172%. First build
49cdf70e861509c37a279de77f1105ee59c0f57f

push

github

YoastBot
Bump version to 22.1 on free

7564 of 13903 branches covered (54.41%)

Branch coverage included in aggregate %.

29067 of 54988 relevant lines covered (52.86%)

40245.15 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/admin/class-admin-utils.php
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( 'install_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
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc