3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Plugin Name: Stream * Plugin URI: https://wp-stream.com/ * Description: Stream tracks logged-in user activity so you can monitor every change made on your WordPress site in beautifully organized detail. All activity is organized by context, action and IP address for easy filtering. Developers can extend Stream with custom connectors to log any kind of action. * Version: 1.4.6 * Author: Stream * Author URI: https://wp-stream.com/ * License: GPLv2+ * Text Domain: stream * Domain Path: /languages */ /** * Copyright (c) 2014 WP Stream Pty Ltd (https://wp-stream.com/) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 2 or, at * your discretion, any later version, as published by the Free * Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ class WP_Stream { /** * Plugin version number * * @const string */ const VERSION = '1.4.6'; /** * Hold Stream instance * * @var string */ public static $instance; /** * @var WP_Stream_DB */ public $db = null; /** * @var WP_Stream_Network */ public $network = null; /** * Class constructor */ private function __construct() { define( 'WP_STREAM_PLUGIN', plugin_basename( __FILE__ ) ); define( 'WP_STREAM_DIR', plugin_dir_path( __FILE__ ) ); define( 'WP_STREAM_URL', plugin_dir_url( __FILE__ ) ); define( 'WP_STREAM_INC_DIR', WP_STREAM_DIR . 'includes/' ); // Load filters polyfill require_once WP_STREAM_INC_DIR . 'filter-input.php'; // Load DB helper class require_once WP_STREAM_INC_DIR . 'db.php'; $this->db = new WP_Stream_DB; // Check DB and display an admin notice if there are tables missing add_action( 'init', array( $this, 'verify_database_present' ) ); // Install the plugin add_action( 'wp_stream_before_db_notices', array( __CLASS__, 'install' ) ); // Trigger admin notices add_action( 'all_admin_notices', array( __CLASS__, 'admin_notices' ) ); // Load languages add_action( 'plugins_loaded', array( __CLASS__, 'i18n' ) ); // Load settings at the same priority as connectors to support exclusions require_once WP_STREAM_INC_DIR . 'settings.php'; add_action( 'init', array( 'WP_Stream_Settings', 'load' ), 9 ); // Load network class if ( is_multisite() ) { require_once WP_STREAM_INC_DIR . 'network.php'; $this->network = new WP_Stream_Network; } // Load logger class require_once WP_STREAM_INC_DIR . 'log.php'; add_action( 'plugins_loaded', array( 'WP_Stream_Log', 'load' ) ); // Load connectors after widgets_init, but before the default of 10 require_once WP_STREAM_INC_DIR . 'connectors.php'; add_action( 'init', array( 'WP_Stream_Connectors', 'load' ), 9 ); // Load query class require_once WP_STREAM_INC_DIR . 'query.php'; require_once WP_STREAM_INC_DIR . 'context-query.php'; // Load support for feeds require_once WP_STREAM_INC_DIR . 'feeds.php'; add_action( 'init', array( 'WP_Stream_Feeds', 'load' ) ); // Add frontend indicator add_action( 'wp_head', array( $this, 'frontend_indicator' ) ); // Include Stream extension updater require_once WP_STREAM_INC_DIR . 'updater.php'; WP_Stream_Updater::instance(); if ( is_admin() ) { require_once WP_STREAM_INC_DIR . 'admin.php'; add_action( 'plugins_loaded', array( 'WP_Stream_Admin', 'load' ) ); require_once WP_STREAM_INC_DIR . 'extensions.php'; add_action( 'admin_init', array( 'WP_Stream_Extensions', 'get_instance' ) ); // Registers a hook that connectors and other plugins can use whenever a stream update happens add_action( 'admin_init', array( __CLASS__, 'update_activation_hook' ) ); require_once WP_STREAM_INC_DIR . 'dashboard.php'; add_action( 'plugins_loaded', array( 'WP_Stream_Dashboard_Widget', 'load' ) ); require_once WP_STREAM_INC_DIR . 'live-update.php'; add_action( 'plugins_loaded', array( 'WP_Stream_Live_Update', 'load' ) ); require_once WP_STREAM_INC_DIR . 'pointers.php'; add_action( 'plugins_loaded', array( 'WP_Stream_Pointers', 'load' ) ); } // Load deprecated functions require_once WP_STREAM_INC_DIR . 'deprecated.php'; } /** * Invoked when the PHP version check fails. Load up the translations and * add the error message to the admin notices */ static function fail_php_version() { add_action( 'plugins_loaded', array( __CLASS__, 'i18n' ) ); self::notice( __( 'Stream requires PHP version 5.3+, plugin is currently NOT ACTIVE.', 'stream' ) ); } /** * Loads the translation files. * * @access public * @action plugins_loaded * @return void */ public static function i18n() { load_plugin_textdomain( 'stream', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); } /** * Installation / Upgrade checks * * @action register_activation_hook * @return void */ public static function install() { // Install plugin tables require_once WP_STREAM_INC_DIR . 'install.php'; $update = WP_Stream_Install::get_instance(); } /** * Verify that all needed databases are present and add an error message if not. * * @return void */ public function verify_database_present() { /** * Filter will halt install() if set to true * * @param bool * @return bool */ if ( apply_filters( 'wp_stream_no_tables', false ) ) { return; } if ( ! function_exists( 'is_plugin_active_for_network' ) ) { require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); } global $wpdb; $database_message = ''; $uninstall_message = ''; // Check if all needed DB is present $missing_tables = array(); foreach ( $this->db->get_table_names() as $table_name ) { if ( $wpdb->get_var( "SHOW TABLES LIKE '$table_name'" ) !== $table_name ) { $missing_tables[] = $table_name; } } if ( $missing_tables ) { $database_message .= sprintf( '%s <strong>%s</strong>', _n( 'The following table is not present in the WordPress database:', 'The following tables are not present in the WordPress database:', count( $missing_tables ), 'stream' ), esc_html( implode( ', ', $missing_tables ) ) ); } if ( is_plugin_active_for_network( WP_STREAM_PLUGIN ) && current_user_can( 'manage_network_plugins' ) ) { $uninstall_message = sprintf( __( 'Please <a href="%s">uninstall</a> the Stream plugin and activate it again.', 'stream' ), network_admin_url( 'plugins.php#stream' ) ); } elseif ( current_user_can( 'activate_plugins' ) ) { $uninstall_message = sprintf( __( 'Please <a href="%s">uninstall</a> the Stream plugin and activate it again.', 'stream' ), admin_url( 'plugins.php#stream' ) ); } /** * Fires before admin notices are triggered for missing database tables. */ do_action( 'wp_stream_before_db_notices' ); if ( ! empty( $database_message ) ) { self::notice( $database_message ); if ( ! empty( $uninstall_message ) ) { self::notice( $uninstall_message ); } } } static function update_activation_hook() { WP_Stream_Admin::register_update_hook( dirname( plugin_basename( __FILE__ ) ), array( __CLASS__, 'install' ), self::VERSION ); } /** * Whether the current PHP version meets the minimum requirements * * @return bool */ public static function is_valid_php_version() { return version_compare( PHP_VERSION, '5.3', '>=' ); } /** * Handle notice messages according to the appropriate context (WP-CLI or the WP Admin) * * @param string $message * @param bool $is_error * @return void */ public static function notice( $message, $is_error = true ) { if ( defined( 'WP_CLI' ) ) { $message = strip_tags( $message ); if ( $is_error ) { WP_CLI::warning( $message ); } else { WP_CLI::success( $message ); } } else { self::admin_notices( $message, $is_error ); } } /** * Show an error or other message in the WP Admin * * @param string $message * @param bool $is_error * @return void */ public static function admin_notices( $message, $is_error = true ) { if ( empty( $message ) ) { return; } $class_name = $is_error ? 'error' : 'updated'; $html_message = sprintf( '<div class="%s">%s</div>', esc_attr( $class_name ), wpautop( $message ) ); echo wp_kses_post( $html_message ); } /** * Displays an HTML comment in the frontend head to indicate that Stream is activated, * and which version of Stream is currently in use. * * @since 1.4.5 * * @action wp_head * @return string|void An HTML comment, or nothing if the value is filtered out. */ public function frontend_indicator() { $comment = sprintf( 'Stream WordPress user activity plugin v%s', esc_html( self::VERSION ) ); // Localization not needed /** * Filter allows the HTML output of the frontend indicator comment * to be altered or removed, if desired. * * @return string $comment The content of the HTML comment */ $comment = apply_filters( 'wp_stream_frontend_indicator', $comment ); if ( ! empty( $comment ) ) { echo sprintf( "<!-- %s -->\n", esc_html( $comment ) ); // xss ok } } /** * Return active instance of WP_Stream, create one if it doesn't exist * * @return WP_Stream */ public static function get_instance() { if ( empty( self::$instance ) ) { $class = __CLASS__; self::$instance = new $class; } return self::$instance; } } if ( WP_Stream::is_valid_php_version() ) { $GLOBALS['wp_stream'] = WP_Stream::get_instance(); register_activation_hook( __FILE__, array( 'WP_Stream', 'install' ) ); } else { WP_Stream::fail_php_version(); }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 13
Branch analysis from position: 3
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/sRBpX
function name:  (null)
number of ops:  16
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  332     0  E >   INIT_STATIC_METHOD_CALL                                  'WP_Stream', 'is_valid_php_version'
          1        DO_FCALL                                      0  $0      
          2      > JMPZ                                                     $0, ->13
  333     3    >   INIT_STATIC_METHOD_CALL                                  'WP_Stream', 'get_instance'
          4        DO_FCALL                                      0  $3      
          5        FETCH_W                      global              $1      'GLOBALS'
          6        ASSIGN_DIM                                               $1, 'wp_stream'
          7        OP_DATA                                                  $3
  334     8        INIT_FCALL_BY_NAME                                       'register_activation_hook'
          9        SEND_VAL_EX                                              '%2Fin%2FsRBpX'
         10        SEND_VAL_EX                                              <array>
         11        DO_FCALL                                      0          
         12      > JMP                                                      ->15
  336    13    >   INIT_STATIC_METHOD_CALL                                  'WP_Stream', 'fail_php_version'
         14        DO_FCALL                                      0          
  337    15    > > RETURN                                                   1

Class WP_Stream:
Function __construct:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 67, Position 2 = 74
Branch analysis from position: 67
2 jumps found. (Code = 43) Position 1 = 117, Position 2 = 156
Branch analysis from position: 117
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 156
Branch analysis from position: 74
filename:       /in/sRBpX
function name:  __construct
number of ops:  160
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   62     0  E >   INIT_FCALL                                               'define'
          1        SEND_VAL                                                 'WP_STREAM_PLUGIN'
          2        INIT_FCALL_BY_NAME                                       'plugin_basename'
          3        SEND_VAL_EX                                              '%2Fin%2FsRBpX'
          4        DO_FCALL                                      0  $0      
          5        SEND_VAR                                                 $0
          6        DO_ICALL                                                 
   63     7        INIT_FCALL                                               'define'
          8        SEND_VAL                                                 'WP_STREAM_DIR'
          9        INIT_FCALL_BY_NAME                                       'plugin_dir_path'
         10        SEND_VAL_EX                                              '%2Fin%2FsRBpX'
         11        DO_FCALL                                      0  $2      
         12        SEND_VAR                                                 $2
         13        DO_ICALL                                                 
   64    14        INIT_FCALL                                               'define'
         15        SEND_VAL                                                 'WP_STREAM_URL'
         16        INIT_FCALL_BY_NAME                                       'plugin_dir_url'
         17        SEND_VAL_EX                                              '%2Fin%2FsRBpX'
         18        DO_FCALL                                      0  $4      
         19        SEND_VAR                                                 $4
         20        DO_ICALL                                                 
   65    21        INIT_FCALL                                               'define'
         22        SEND_VAL                                                 'WP_STREAM_INC_DIR'
         23        FETCH_CONSTANT                                   ~6      'WP_STREAM_DIR'
         24        CONCAT                                           ~7      ~6, 'includes%2F'
         25        SEND_VAL                                                 ~7
         26        DO_ICALL                                                 
   68    27        FETCH_CONSTANT                                   ~9      'WP_STREAM_INC_DIR'
         28        CONCAT                                           ~10     ~9, 'filter-input.php'
         29        INCLUDE_OR_EVAL                                          ~10, REQUIRE_ONCE
   71    30        FETCH_CONSTANT                                   ~12     'WP_STREAM_INC_DIR'
         31        CONCAT                                           ~13     ~12, 'db.php'
         32        INCLUDE_OR_EVAL                                          ~13, REQUIRE_ONCE
   72    33        NEW                                              $16     'WP_Stream_DB'
         34        DO_FCALL                                      0          
         35        ASSIGN_OBJ                                               'db'
         36        OP_DATA                                                  $16
   75    37        INIT_FCALL_BY_NAME                                       'add_action'
         38        SEND_VAL_EX                                              'init'
         39        FETCH_THIS                                       ~18     
         40        INIT_ARRAY                                       ~19     ~18
         41        ADD_ARRAY_ELEMENT                                ~19     'verify_database_present'
         42        SEND_VAL_EX                                              ~19
         43        DO_FCALL                                      0          
   78    44        INIT_FCALL_BY_NAME                                       'add_action'
         45        SEND_VAL_EX                                              'wp_stream_before_db_notices'
         46        SEND_VAL_EX                                              <array>
         47        DO_FCALL                                      0          
   81    48        INIT_FCALL_BY_NAME                                       'add_action'
         49        SEND_VAL_EX                                              'all_admin_notices'
         50        SEND_VAL_EX                                              <array>
         51        DO_FCALL                                      0          
   84    52        INIT_FCALL_BY_NAME                                       'add_action'
         53        SEND_VAL_EX                                              'plugins_loaded'
         54        SEND_VAL_EX                                              <array>
         55        DO_FCALL                                      0          
   87    56        FETCH_CONSTANT                                   ~24     'WP_STREAM_INC_DIR'
         57        CONCAT                                           ~25     ~24, 'settings.php'
         58        INCLUDE_OR_EVAL                                          ~25, REQUIRE_ONCE
   88    59        INIT_FCALL_BY_NAME                                       'add_action'
         60        SEND_VAL_EX                                              'init'
         61        SEND_VAL_EX                                              <array>
         62        SEND_VAL_EX                                              9
         63        DO_FCALL                                      0          
   91    64        INIT_FCALL_BY_NAME                                       'is_multisite'
         65        DO_FCALL                                      0  $28     
         66      > JMPZ                                                     $28, ->74
   92    67    >   FETCH_CONSTANT                                   ~29     'WP_STREAM_INC_DIR'
         68        CONCAT                                           ~30     ~29, 'network.php'
         69        INCLUDE_OR_EVAL                                          ~30, REQUIRE_ONCE
   93    70        NEW                                              $33     'WP_Stream_Network'
         71        DO_FCALL                                      0          
         72        ASSIGN_OBJ                                               'network'
         73        OP_DATA                                                  $33
   97    74    >   FETCH_CONSTANT                                   ~35     'WP_STREAM_INC_DIR'
         75        CONCAT                                           ~36     ~35, 'log.php'
         76        INCLUDE_OR_EVAL                                          ~36, REQUIRE_ONCE
   98    77        INIT_FCALL_BY_NAME                                       'add_action'
         78        SEND_VAL_EX                                              'plugins_loaded'
         79        SEND_VAL_EX                                              <array>
         80        DO_FCALL                                      0          
  101    81        FETCH_CONSTANT                                   ~39     'WP_STREAM_INC_DIR'
         82        CONCAT                                           ~40     ~39, 'connectors.php'
         83        INCLUDE_OR_EVAL                                          ~40, REQUIRE_ONCE
  102    84        INIT_FCALL_BY_NAME                                       'add_action'
         85        SEND_VAL_EX                                              'init'
         86        SEND_VAL_EX                                              <array>
         87        SEND_VAL_EX                                              9
         88        DO_FCALL                                      0          
  105    89        FETCH_CONSTANT                                   ~43     'WP_STREAM_INC_DIR'
         90        CONCAT                                           ~44     ~43, 'query.php'
         91        INCLUDE_OR_EVAL                                          ~44, REQUIRE_ONCE
  106    92        FETCH_CONSTANT                                   ~46     'WP_STREAM_INC_DIR'
         93        CONCAT                                           ~47     ~46, 'context-query.php'
         94        INCLUDE_OR_EVAL                                          ~47, REQUIRE_ONCE
  109    95        FETCH_CONSTANT                                   ~49     'WP_STREAM_INC_DIR'
         96        CONCAT                                           ~50     ~49, 'feeds.php'
         97        INCLUDE_OR_EVAL                                          ~50, REQUIRE_ONCE
  110    98        INIT_FCALL_BY_NAME                                       'add_action'
         99        SEND_VAL_EX                                              'init'
        100        SEND_VAL_EX                                              <array>
        101        DO_FCALL                                      0          
  113   102        INIT_FCALL_BY_NAME                                       'add_action'
        103        SEND_VAL_EX                                              'wp_head'
        104        FETCH_THIS                                       ~53     
        105        INIT_ARRAY                                       ~54     ~53
        106        ADD_ARRAY_ELEMENT                                ~54     'frontend_indicator'
        107        SEND_VAL_EX                                              ~54
        108        DO_FCALL                                      0          
  116   109        FETCH_CONSTANT                                   ~56     'WP_STREAM_INC_DIR'
        110        CONCAT                                           ~57     ~56, 'updater.php'
        111        INCLUDE_OR_EVAL                                          ~57, REQUIRE_ONCE
  117   112        INIT_STATIC_METHOD_CALL                                  'WP_Stream_Updater', 'instance'
        113        DO_FCALL                                      0          
  119   114        INIT_FCALL_BY_NAME                                       'is_admin'
        115        DO_FCALL                                      0  $60     
        116      > JMPZ                                                     $60, ->156
  120   117    >   FETCH_CONSTANT                                   ~61     'WP_STREAM_INC_DIR'
        118        CONCAT                                           ~62     ~61, 'admin.php'
        119        INCLUDE_OR_EVAL                                          ~62, REQUIRE_ONCE
  121   120        INIT_FCALL_BY_NAME                                       'add_action'
        121        SEND_VAL_EX                                              'plugins_loaded'
        122        SEND_VAL_EX                                              <array>
        123        DO_FCALL                                      0          
  123   124        FETCH_CONSTANT                                   ~65     'WP_STREAM_INC_DIR'
        125        CONCAT                                           ~66     ~65, 'extensions.php'
        126        INCLUDE_OR_EVAL                                          ~66, REQUIRE_ONCE
  124   127        INIT_FCALL_BY_NAME                                       'add_action'
        128        SEND_VAL_EX                                              'admin_init'
        129        SEND_VAL_EX                                              <array>
        130        DO_FCALL                                      0          
  127   131        INIT_FCALL_BY_NAME                                       'add_action'
        132        SEND_VAL_EX                                              'admin_init'
        133        SEND_VAL_EX                                              <array>
        134        DO_FCALL                                      0          
  129   135        FETCH_CONSTANT                                   ~70     'WP_STREAM_INC_DIR'
        136        CONCAT                                           ~71     ~70, 'dashboard.php'
        137        INCLUDE_OR_EVAL                                          ~71, REQUIRE_ONCE
  130   138        INIT_FCALL_BY_NAME                                       'add_action'
        139        SEND_VAL_EX                                              'plugins_loaded'
        140        SEND_VAL_EX                                              <array>
        141        DO_FCALL                                      0          
  132   142        FETCH_CONSTANT                                   ~74     'WP_STREAM_INC_DIR'
        143        CONCAT                                           ~75     ~74, 'live-update.php'
        144        INCLUDE_OR_EVAL                                          ~75, REQUIRE_ONCE
  133   145        INIT_FCALL_BY_NAME                                       'add_action'
        146        SEND_VAL_EX                                              'plugins_loaded'
        147        SEND_VAL_EX                                              <array>
        148        DO_FCALL                                      0          
  135   149        FETCH_CONSTANT                                   ~78     'WP_STREAM_INC_DIR'
        150        CONCAT                                           ~79     ~78, 'pointers.php'
        151        INCLUDE_OR_EVAL                                          ~79, REQUIRE_ONCE
  136   152        INIT_FCALL_BY_NAME                                       'add_action'
        153        SEND_VAL_EX                                              'plugins_loaded'
        154        SEND_VAL_EX                                              <array>
        155        DO_FCALL                                      0          
  140   156    >   FETCH_CONSTANT                                   ~82     'WP_STREAM_INC_DIR'
        157        CONCAT                                           ~83     ~82, 'deprecated.php'
        158        INCLUDE_OR_EVAL                                          ~83, REQUIRE_ONCE
  141   159      > RETURN                                                   null

End of function __construct

Function fail_php_version:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/sRBpX
function name:  fail_php_version
number of ops:  12
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  148     0  E >   INIT_FCALL_BY_NAME                                       'add_action'
          1        SEND_VAL_EX                                              'plugins_loaded'
          2        SEND_VAL_EX                                              <array>
          3        DO_FCALL                                      0          
  149     4        INIT_STATIC_METHOD_CALL                                  'notice'
          5        INIT_FCALL_BY_NAME                                       '__'
          6        SEND_VAL_EX                                              'Stream+requires+PHP+version+5.3%2B%2C+plugin+is+currently+NOT+ACTIVE.'
          7        SEND_VAL_EX                                              'stream'
          8        DO_FCALL                                      0  $1      
          9        SEND_VAR_NO_REF_EX                                       $1
         10        DO_FCALL                                      0          
  150    11      > RETURN                                                   null

End of function fail_php_version

Function i18n:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/sRBpX
function name:  i18n
number of ops:  13
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  160     0  E >   INIT_FCALL_BY_NAME                                       'load_plugin_textdomain'
          1        SEND_VAL_EX                                              'stream'
          2        SEND_VAL_EX                                              <false>
          3        INIT_FCALL                                               'dirname'
          4        INIT_FCALL_BY_NAME                                       'plugin_basename'
          5        SEND_VAL_EX                                              '%2Fin%2FsRBpX'
          6        DO_FCALL                                      0  $0      
          7        SEND_VAR                                                 $0
          8        DO_ICALL                                         $1      
          9        CONCAT                                           ~2      $1, '%2Flanguages%2F'
         10        SEND_VAL_EX                                              ~2
         11        DO_FCALL                                      0          
  161    12      > RETURN                                                   null

End of function i18n

Function install:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/sRBpX
function name:  install
number of ops:  7
compiled vars:  !0 = $update
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  171     0  E >   FETCH_CONSTANT                                   ~1      'WP_STREAM_INC_DIR'
          1        CONCAT                                           ~2      ~1, 'install.php'
          2        INCLUDE_OR_EVAL                                          ~2, REQUIRE_ONCE
  172     3        INIT_STATIC_METHOD_CALL                                  'WP_Stream_Install', 'get_instance'
          4        DO_FCALL                                      0  $4      
          5        ASSIGN                                                   !0, $4
  173     6      > RETURN                                                   null

End of function install

Function verify_database_present:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 6
Branch analysis from position: 5
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 6
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 14
Branch analysis from position: 11
2 jumps found. (Code = 77) Position 1 = 22, Position 2 = 34
Branch analysis from position: 22
2 jumps found. (Code = 78) Position 1 = 23, Position 2 = 34
Branch analysis from position: 23
2 jumps found. (Code = 43) Position 1 = 31, Position 2 = 33
Branch analysis from position: 31
1 jumps found. (Code = 42) Position 1 = 22
Branch analysis from position: 22
Branch analysis from position: 33
Branch analysis from position: 34
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 56
Branch analysis from position: 36
2 jumps found. (Code = 46) Position 1 = 61, Position 2 = 65
Branch analysis from position: 61
2 jumps found. (Code = 43) Position 1 = 66, Position 2 = 79
Branch analysis from position: 66
1 jumps found. (Code = 42) Position 1 = 95
Branch analysis from position: 95
2 jumps found. (Code = 43) Position 1 = 101, Position 2 = 110
Branch analysis from position: 101
2 jumps found. (Code = 43) Position 1 = 107, Position 2 = 110
Branch analysis from position: 107
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 110
Branch analysis from position: 110
Branch analysis from position: 79
2 jumps found. (Code = 43) Position 1 = 83, Position 2 = 95
Branch analysis from position: 83
2 jumps found. (Code = 43) Position 1 = 101, Position 2 = 110
Branch analysis from position: 101
Branch analysis from position: 110
Branch analysis from position: 95
Branch analysis from position: 65
Branch analysis from position: 56
Branch analysis from position: 34
Branch analysis from position: 14
filename:       /in/sRBpX
function name:  verify_database_present
number of ops:  111
compiled vars:  !0 = $wpdb, !1 = $database_message, !2 = $uninstall_message, !3 = $missing_tables, !4 = $table_name
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  187     0  E >   INIT_FCALL_BY_NAME                                       'apply_filters'
          1        SEND_VAL_EX                                              'wp_stream_no_tables'
          2        SEND_VAL_EX                                              <false>
          3        DO_FCALL                                      0  $5      
          4      > JMPZ                                                     $5, ->6
  188     5    > > RETURN                                                   null
  191     6    >   INIT_FCALL                                               'function_exists'
          7        SEND_VAL                                                 'is_plugin_active_for_network'
          8        DO_ICALL                                         $6      
          9        BOOL_NOT                                         ~7      $6
         10      > JMPZ                                                     ~7, ->14
  192    11    >   FETCH_CONSTANT                                   ~8      'ABSPATH'
         12        CONCAT                                           ~9      ~8, '%2Fwp-admin%2Fincludes%2Fplugin.php'
         13        INCLUDE_OR_EVAL                                          ~9, REQUIRE_ONCE
  195    14    >   BIND_GLOBAL                                              !0, 'wpdb'
  197    15        ASSIGN                                                   !1, ''
  198    16        ASSIGN                                                   !2, ''
  201    17        ASSIGN                                                   !3, <array>
  202    18        FETCH_OBJ_R                                      ~14     'db'
         19        INIT_METHOD_CALL                                         ~14, 'get_table_names'
         20        DO_FCALL                                      0  $15     
         21      > FE_RESET_R                                       $16     $15, ->34
         22    > > FE_FETCH_R                                               $16, !4, ->34
  203    23    >   INIT_METHOD_CALL                                         !0, 'get_var'
         24        ROPE_INIT                                     3  ~18     'SHOW+TABLES+LIKE+%27'
         25        ROPE_ADD                                      1  ~18     ~18, !4
         26        ROPE_END                                      2  ~17     ~18, '%27'
         27        SEND_VAL_EX                                              ~17
         28        DO_FCALL                                      0  $20     
         29        IS_NOT_IDENTICAL                                         !4, $20
         30      > JMPZ                                                     ~21, ->33
  204    31    >   ASSIGN_DIM                                               !3
         32        OP_DATA                                                  !4
  202    33    > > JMP                                                      ->22
         34    >   FE_FREE                                                  $16
  208    35      > JMPZ                                                     !3, ->56
  209    36    >   INIT_FCALL                                               'sprintf'
  210    37        SEND_VAL                                                 '%25s+%3Cstrong%3E%25s%3C%2Fstrong%3E'
  211    38        INIT_FCALL_BY_NAME                                       '_n'
  212    39        SEND_VAL_EX                                              'The+following+table+is+not+present+in+the+WordPress+database%3A'
  213    40        SEND_VAL_EX                                              'The+following+tables+are+not+present+in+the+WordPress+database%3A'
  214    41        COUNT                                            ~23     !3
         42        SEND_VAL_EX                                              ~23
  215    43        SEND_VAL_EX                                              'stream'
         44        DO_FCALL                                      0  $24     
         45        SEND_VAR                                                 $24
  217    46        INIT_FCALL_BY_NAME                                       'esc_html'
         47        INIT_FCALL                                               'implode'
         48        SEND_VAL                                                 '%2C+'
         49        SEND_VAR                                                 !3
         50        DO_ICALL                                         $25     
         51        SEND_VAR_NO_REF_EX                                       $25
         52        DO_FCALL                                      0  $26     
         53        SEND_VAR                                                 $26
         54        DO_ICALL                                         $27     
         55        ASSIGN_OP                                     8          !1, $27
  221    56    >   INIT_FCALL_BY_NAME                                       'is_plugin_active_for_network'
         57        FETCH_CONSTANT                                   ~29     'WP_STREAM_PLUGIN'
         58        SEND_VAL_EX                                              ~29
         59        DO_FCALL                                      0  $30     
         60      > JMPZ_EX                                          ~31     $30, ->65
         61    >   INIT_FCALL_BY_NAME                                       'current_user_can'
         62        SEND_VAL_EX                                              'manage_network_plugins'
         63        DO_FCALL                                      0  $32     
         64        BOOL                                             ~31     $32
         65    > > JMPZ                                                     ~31, ->79
  222    66    >   INIT_FCALL                                               'sprintf'
         67        INIT_FCALL_BY_NAME                                       '__'
         68        SEND_VAL_EX                                              'Please+%3Ca+href%3D%22%25s%22%3Euninstall%3C%2Fa%3E+the+Stream+plugin+and+activate+it+again.'
         69        SEND_VAL_EX                                              'stream'
         70        DO_FCALL                                      0  $33     
         71        SEND_VAR                                                 $33
         72        INIT_FCALL_BY_NAME                                       'network_admin_url'
         73        SEND_VAL_EX                                              'plugins.php%23stream'
         74        DO_FCALL                                      0  $34     
         75        SEND_VAR                                                 $34
         76        DO_ICALL                                         $35     
         77        ASSIGN                                                   !2, $35
         78      > JMP                                                      ->95
  223    79    >   INIT_FCALL_BY_NAME                                       'current_user_can'
         80        SEND_VAL_EX                                              'activate_plugins'
         81        DO_FCALL                                      0  $37     
         82      > JMPZ                                                     $37, ->95
  224    83    >   INIT_FCALL                                               'sprintf'
         84        INIT_FCALL_BY_NAME                                       '__'
         85        SEND_VAL_EX                                              'Please+%3Ca+href%3D%22%25s%22%3Euninstall%3C%2Fa%3E+the+Stream+plugin+and+activate+it+again.'
         86        SEND_VAL_EX                                              'stream'
         87        DO_FCALL                                      0  $38     
         88        SEND_VAR                                                 $38
         89        INIT_FCALL_BY_NAME                                       'admin_url'
         90        SEND_VAL_EX                                              'plugins.php%23stream'
         91        DO_FCALL                                      0  $39     
         92        SEND_VAR                                                 $39
         93        DO_ICALL                                         $40     
         94        ASSIGN                                                   !2, $40
  230    95    >   INIT_FCALL_BY_NAME                                       'do_action'
         96        SEND_VAL_EX                                              'wp_stream_before_db_notices'
         97        DO_FCALL                                      0          
  232    98        ISSET_ISEMPTY_CV                                 ~43     !1
         99        BOOL_NOT                                         ~44     ~43
        100      > JMPZ                                                     ~44, ->110
  233   101    >   INIT_STATIC_METHOD_CALL                                  'notice'
        102        SEND_VAR_EX                                              !1
        103        DO_FCALL                                      0          
  234   104        ISSET_ISEMPTY_CV                                 ~46     !2
        105        BOOL_NOT                                         ~47     ~46
        106      > JMPZ                                                     ~47, ->110
  235   107    >   INIT_STATIC_METHOD_CALL                                  'notice'
        108        SEND_VAR_EX                                              !2
        109        DO_FCALL                                      0          
  238   110    > > RETURN                                                   null

End of functi

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
271.39 ms | 1432 KiB | 24 Q