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

Yoast / wordpress-seo / 56db0408fe2a0dbffe1c2c6cfad9b5c2f6941e34

14 Apr 2025 12:24PM UTC coverage: 52.454% (-2.1%) from 54.594%
56db0408fe2a0dbffe1c2c6cfad9b5c2f6941e34

Pull #22077

github

enricobattocchi
Adjust carryforward in Coveralls action
Pull Request #22077: Drop compatibility with PHP 7.2 and 7.3

7827 of 13877 branches covered (56.4%)

Branch coverage included in aggregate %.

29025 of 56379 relevant lines covered (51.48%)

42277.18 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

© 2026 Coveralls, Inc