includes/class-freemius.php
function _uninstall_plugin_event( $check_user = true ) {
            $this->_logger->entrance( 'slug = ' . $this->_slug );

            if ( $check_user && ! current_user_can( 'activate_plugins' ) ) {
                return;
            }

            $params           = array();
            $uninstall_reason = null;
            if ( isset( $this->_storage->uninstall_reason ) ) {
                $uninstall_reason      = $this->_storage->uninstall_reason;
                $params['reason_id']   = $uninstall_reason->id;
                $params['reason_info'] = $uninstall_reason->info;
            }

            if ( ! $this->is_registered() ) {
                // Send anonymous uninstall event only if user submitted a feedback.
                if ( isset( $uninstall_reason ) ) {
                    if ( isset( $uninstall_reason->is_anonymous ) && ! $uninstall_reason->is_anonymous ) {
                        $this->opt_in( false, false, false, false, true );
                    } else {
                        $params['uid'] = $this->get_anonymous_id();
                        $this->get_api_plugin_scope()->call( 'uninstall.json', 'put', $params );
                    }
                }
            } else {
                $params = array_merge( $params, array(
                    'is_active'      => false,
                    'is_uninstalled' => true,
                ) );

                if ( $this->_is_network_active ) {
                    // Send uninstall event.
                    $this->send_installs_update( $params );
                } else {
                    // Send uninstall event.
                    $this->send_install_update( $params );
                }
            }

            // @todo Decide if we want to delete plugin information from db.
        }
function _uninstall_plugin_event( $check_user = true ) {
            $this->_logger->entrance( 'slug = ' . $this->_slug );

            if ( $check_user && ! current_user_can( 'activate_plugins' ) ) {
                return;
            }

            $params           = array();
            $uninstall_reason = null;
            if ( isset( $this->_storage->uninstall_reason ) ) {
                $uninstall_reason      = $this->_storage->uninstall_reason;
                $params['reason_id']   = $uninstall_reason->id;
                $params['reason_info'] = $uninstall_reason->info;
            }

            if ( ! $this->is_registered() ) {
                // Send anonymous uninstall event only if user submitted a feedback.
                if ( isset( $uninstall_reason ) ) {
                    if ( isset( $uninstall_reason->is_anonymous ) && ! $uninstall_reason->is_anonymous ) {
                        $this->opt_in( false, false, false, false, true );
                    } else {
                        $params['uid'] = $this->get_anonymous_id();
                        $this->get_api_plugin_scope()->call( 'uninstall.json', 'put', $params );
                    }
                }
            } else {
                $params = array_merge( $params, array(
                    'is_active'      => false,
                    'is_uninstalled' => true,
                ) );

                if ( $this->_is_network_active ) {
                    // Send uninstall event.
                    $this->send_installs_update( $params );
                } else {
                    // Send uninstall event.
                    $this->send_install_update( $params );
                }
            }

            // @todo Decide if we want to delete plugin information from db.
        }
function _uninstall_plugin_event ( $ check_user = true ) { $ this -> _logger -> entrance ( 'slug = ' . $ this -> _slug ) ; if ( $ check_user && ! current_user_can ( 'activate_plugins' ) ) { return ; } $ params = array ( ) ; $ uninstall_reason = null ; if ( isset ( $ this -> _storage -> uninstall_reason ) ) { $ uninstall_reason = $ this -> _storage -> uninstall_reason ; $ params [ 'reason_id' ] = $ uninstall_reason -> id ; $ params [ 'reason_info' ] = $ uninstall_reason -> info ; } if ( ! $ this -> is_registered ( ) ) { // Send anonymous uninstall event only if user submitted a feedback.
 if ( isset ( $ uninstall_reason ) ) { if ( isset ( $ uninstall_reason -> is_anonymous ) && ! $ uninstall_reason -> is_anonymous ) { $ this -> opt_in ( false , false , false , false , true ) ; } else { $ params [ 'uid' ] = $ this -> get_anonymous_id ( ) ; $ this -> get_api_plugin_scope ( ) -> call ( 'uninstall.json' , 'put' , $ params ) ; } } } else { $ params = array_merge ( $ params , array ( 'is_active' => false , 'is_uninstalled' => true , ) ) ; if ( $ this -> _is_network_active ) { // Send uninstall event.
 $ this -> send_installs_update ( $ params ) ; } else { // Send uninstall event.
 $ this -> send_install_update ( $ params ) ; } } // @todo Decide if we want to delete plugin information from db.
 }
Plugin uninstall hook.

@author Vova Feldman (@svovaf)
@since  1.0.1

@param bool $check_user Enforce checking if user have plugins activation privileges.
Plugin uninstall hook .