protected function common_uninstall_check(\core\plugininfo\base $pluginfo) {

        if (!$pluginfo->is_uninstall_allowed()) {
            // The plugin's plugininfo class declares it should not be uninstalled.
            return false;
        }

        if ($pluginfo->get_status() === static::PLUGIN_STATUS_NEW) {
            // The plugin is not installed. It should be either installed or removed from the disk.
            // Relying on this temporary state may be tricky.
            return false;
        }

        if (method_exists($pluginfo, 'get_uninstall_url') and is_null($pluginfo->get_uninstall_url())) {
            // Backwards compatibility.
            debugging('\core\plugininfo\base subclasses should use is_uninstall_allowed() instead of returning null in get_uninstall_url()',
                DEBUG_DEVELOPER);
            return false;
        }

        return true;
    }
protected function common_uninstall_check(\core\plugininfo\base $pluginfo) {

        if (!$pluginfo->is_uninstall_allowed()) {
            // The plugin's plugininfo class declares it should not be uninstalled.
            return false;
        }

        if ($pluginfo->get_status() === static::PLUGIN_STATUS_NEW) {
            // The plugin is not installed. It should be either installed or removed from the disk.
            // Relying on this temporary state may be tricky.
            return false;
        }

        if (method_exists($pluginfo, 'get_uninstall_url') and is_null($pluginfo->get_uninstall_url())) {
            // Backwards compatibility.
            debugging('\core\plugininfo\base subclasses should use is_uninstall_allowed() instead of returning null in get_uninstall_url()',
                DEBUG_DEVELOPER);
            return false;
        }

        return true;
    }
protected function common_uninstall_check ( \ core \ plugininfo \ base $ pluginfo ) { if ( ! $ pluginfo -> is_uninstall_allowed ( ) ) { // The plugin's plugininfo class declares it should not be uninstalled. return false ; } if ( $ pluginfo -> get_status ( ) === static :: PLUGIN_STATUS_NEW ) { // The plugin is not installed. It should be either installed or removed from the disk. // Relying on this temporary state may be tricky. return false ; } if ( method_exists ( $ pluginfo , 'get_uninstall_url' ) and is_null ( $ pluginfo -> get_uninstall_url ( ) ) ) { // Backwards compatibility. debugging ( '\core\plugininfo\base subclasses should use is_uninstall_allowed() instead of returning null in get_uninstall_url()' , DEBUG_DEVELOPER ) ; return false ; } return true ; }
Helper method that implements common uninstall prerequisites

@param \core\plugininfo\base $pluginfo
@return bool
Helper method that implements common uninstall prerequisites