close

Plugin Directory

Changeset 3404120


Ignore:
Timestamp:
11/27/2025 01:01:39 PM (6 months ago)
Author:
PierreLannoy
Message:

DecaLog 4.5.0 released from GitHub

Location:
decalog
Files:
140 edited
1 copied

Legend:

Unmodified
Added
Removed
  • decalog/tags/4.5.0/CHANGELOG.md

    r3272132 r3404120  
    33
    44The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and **DecaLog** adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
     5
     6## [4.5.0] - 2025-11-27
     7
     8### Added
     9- Compatibility with WordPress 6.9.
     10
     11### Changed
     12- [BC] Default PHP errors mapping has changed: now, `E_USER_NOTICE`, `E_STRICT` and `E_USER_DEPRECATED` are logged as `debug` events.
     13- [BC] Some Action Scheduler events have a lower level (thanks to [Jan Thiel](https://github.com/JanThiel)).
     14- [WP-CLI] Using `--quiet` now disables logging of events that are not errors. (thanks to [Jan Thiel](https://github.com/JanThiel)).
     15- The levels of `pre_clear_scheduled_hook` are now debug/info to prevent excessive noise.
     16- The level mapping is now usable earlyer while logging PHP errors (thanks to [s.protasov](https://github.com/pro2s)).
     17- The auto loading sequence have been improved (thanks to [Viktor Szépe](https://github.com/szepeviktor)).
     18
     19### Fixed
     20- Using last version of WP-Optimize plugin breaks the site (thanks to [123kubix123](https://github.com/123kubix123)).
     21- There are many typos (thanks to [Viktor Szépe](https://github.com/szepeviktor)).
    522
    623## [4.4.0] - 2025-04-14
     
    3148### Changed
    3249- To avoid name collision with some third-party configurations, the version tag in Datadog, Loki and Grafana loggers is now named `wp_version` (it was previously `version`).
    33 - Ability to self-update from Github.
     50- Ability to self-update from GitHub.
    3451- The plugin user agent is now more consistent and "standard".
    3552
     
    6481> **Important note about this version:**
    6582> - **DecaLog 4 is a transition version to prepare DecaLog 5.**
    66 > - **No migration path wil be available to migrate from DecaLog 3.x to 5.x, so don't ignore this version 4: install it!**
     83> - **No migration path will be available to migrate from DecaLog 3.x to 5.x, so don't ignore this version 4: install it!**
    6784> - **DecaLog 5 will be available in early 2025.**
    6885
     
    946963- The word "blog" has been replaced by "site" in events messages.
    947964- Some help strings have been modified to be more clear.
    948 - Lower severity of serialized json messages (triggered by `wp_die` handler) from criticial to debug.
     965- Lower severity of serialized json messages (triggered by `wp_die` handler) from critical to debug.
    949966
    950967### Removed
  • decalog/tags/4.5.0/HOOKS.md

    r3085475 r3404120  
    1111The format of the filtered value is an array of array(s). Each of the deepest array MUST contain 3 fields:
    1212
    13 * `url`: the full url of the action to perfom. This url is opened in a new tab of the user's browser.
     13* `url`: the full url of the action to perform. This url is opened in a new tab of the user's browser.
    1414* `hint`: the text displayed while hovering the icon.
    1515* `icon`: the "index" of the icon. Since DecaLog embeds the [Feather icon library](https://feathericons.com/), you can choose any index of this library.
     
    3838The format of the filtered value is an array of array(s). Each of the deepest array MUST contain 2 fields:
    3939
    40 * `url`: the full url of the action to perfom. This url is opened in a new tab of the user's browser.
     40* `url`: the full url of the action to perform. This url is opened in a new tab of the user's browser.
    4141* `text`: the text of the link anchor.
    4242
  • decalog/tags/4.5.0/WP-CLI.md

    r2552001 r3404120  
    1818If you don't specify `<count>`, DecaLog will launch an interactive logging session: it will display events as soon as they occur on your site. To quit this session, hit `CTRL+C`.
    1919
    20 If you specifiy a value for `<count>` between 1 to 60, DecaLog will show you the *count* last events triggered on your site.
     20If you specify a value for `<count>` between 1 to 60, DecaLog will show you the *count* last events triggered on your site.
    2121
    2222> Note the `tail` command needs shared memory support on your server, both for web server and command-line configuration. If it's not already the case, you must activate the ***shmop*** PHP module.
  • decalog/tags/4.5.0/admin/class-decalog-admin.php

    r3202160 r3404120  
    11971197        if ( Cache::$apcu_available) {
    11981198            $help  = '<img style="width:16px;vertical-align:text-bottom;" src="' . \Feather\Icons::get_base64( 'thumbs-up', 'none', '#00C800' ) . '" />&nbsp;';
    1199             $help .= decalog_esc_html__('APCu is available on your server: you can use high peformance storage mechanism.', 'decalog' );
     1199            $help .= decalog_esc_html__('APCu is available on your server: you can use high performance storage mechanism.', 'decalog' );
    12001200        } else {
    12011201            $help  = '<img style="width:16px;vertical-align:text-bottom;" src="' . \Feather\Icons::get_base64( 'alert-triangle', 'none', '#FF8C00' ) . '" />&nbsp;';
    1202             $help .= sprintf( decalog_esc_html__('APCu is not available on your server. To use high peformance storage mechanism you must activate %s PHP module.', 'decalog' ), '<code>apcu</code>' );
     1202            $help .= sprintf( decalog_esc_html__('APCu is not available on your server. To use high performance storage mechanism you must activate %s PHP module.', 'decalog' ), '<code>apcu</code>' );
    12031203        }
    12041204        add_settings_field(
  • decalog/tags/4.5.0/assets/fatal-error-handler.php

    r3085475 r3404120  
    5555        E_USER_WARNING      => 300,
    5656        E_NOTICE            => 250,
    57         E_USER_NOTICE       => 250,
    58         E_STRICT            => 250,
     57        E_USER_NOTICE       => 100,
     58        E_STRICT            => 100,
    5959        E_DEPRECATED        => 200,
    60         E_USER_DEPRECATED   => 200,
     60        E_USER_DEPRECATED   => 100,
    6161    ];
    6262
     
    128128     */
    129129    public function handle_error( $code, $message, $file = '', $line = 0, $context = [] ) {
    130         $level   = $this->error_level_map[ $code ] ?? 500;
     130        /**
     131         * Filters the error levels map
     132         *
     133         * @See https://github.com/Pierre-Lannoy/wp-decalog/blob/master/HOOKS.md
     134         * @since 4.5.0
     135         * @param   array   $levels       The current map
     136         */
     137        $map     = apply_filters( 'decalog_error_level_map', $this->error_level_map );
     138        $level   = $map[ $code ] ?? 500;
    131139        $file    = $this->normalized_file_line( $file, $line );
    132140        $message = \sprintf( 'Error (%s): "%s" at `%s`.', $this->error_string_map[ $code ] ?? 'Unknown PHP error', $message, $file );
  • decalog/tags/4.5.0/autoload.php

    r2794866 r3404120  
    1010spl_autoload_register(
    1111    function ( $class ) {
     12        $paths = array(
     13            'Decalog\\System\\'           => DECALOG_INCLUDES_DIR . 'system/',
     14            'Decalog\\Plugin\\Feature\\'  => DECALOG_INCLUDES_DIR . 'features/',
     15            'Decalog\\Plugin\\'           => DECALOG_INCLUDES_DIR . 'plugin/',
     16            'Decalog\\Processor\\'        => DECALOG_INCLUDES_DIR . 'processors/',
     17            'Decalog\\Handler\\'          => DECALOG_INCLUDES_DIR . 'handlers/',
     18            'Decalog\\Storage\\'          => DECALOG_INCLUDES_DIR . 'storage/',
     19            'Decalog\\Formatter\\'        => DECALOG_INCLUDES_DIR . 'formatters/',
     20            'Decalog\\Listener\\WP_CLI\\' => DECALOG_INCLUDES_DIR . 'listeners/wp-cli/',
     21            'Decalog\\Listener\\'         => DECALOG_INCLUDES_DIR . 'listeners/',
     22            'Decalog\\Panel\\'            => DECALOG_INCLUDES_DIR . 'panels/',
     23            'Decalog\\Library\\'          => DECALOG_VENDOR_DIR,
     24            'Decalog\\Integration\\'      => DECALOG_INCLUDES_DIR . 'integrations/',
     25            'Decalog\\API\\'              => DECALOG_INCLUDES_DIR . 'api/',
     26            'Decalog\\'                   => DECALOG_INCLUDES_DIR . 'api/',
     27        );
     28
    1229        $classname = $class;
    1330        $filepath  = __DIR__ . '/';
     
    1734            }
    1835            $filename = 'class-' . str_replace( '_', '-', strtolower( $classname ) ) . '.php';
    19             if ( strpos( $class, 'Decalog\System\\' ) === 0 ) {
    20                 $filepath = DECALOG_INCLUDES_DIR . 'system/';
    21             } elseif ( strpos( $class, 'Decalog\Plugin\Feature\\' ) === 0 ) {
    22                 $filepath = DECALOG_INCLUDES_DIR . 'features/';
    23             } elseif ( strpos( $class, 'Decalog\Plugin\\' ) === 0 ) {
    24                 $filepath = DECALOG_INCLUDES_DIR . 'plugin/';
    25             } elseif ( strpos( $class, 'Decalog\Processor\\' ) === 0 ) {
    26                 $filepath = DECALOG_INCLUDES_DIR . 'processors/';
    27             } elseif ( strpos( $class, 'Decalog\Handler\\' ) === 0 ) {
    28                 $filepath = DECALOG_INCLUDES_DIR . 'handlers/';
    29             } elseif ( strpos( $class, 'Decalog\Storage\\' ) === 0 ) {
    30                 $filepath = DECALOG_INCLUDES_DIR . 'storage/';
    31             } elseif ( strpos( $class, 'Decalog\Formatter\\' ) === 0 ) {
    32                 $filepath = DECALOG_INCLUDES_DIR . 'formatters/';
    33             } elseif ( strpos( $class, 'Decalog\Listener\WP_CLI\\' ) === 0 ) {
    34                 $filepath = DECALOG_INCLUDES_DIR . 'listeners/wp-cli/';
    35             } elseif ( strpos( $class, 'Decalog\Listener\\' ) === 0 ) {
    36                 $filepath = DECALOG_INCLUDES_DIR . 'listeners/';
    37             } elseif ( strpos( $class, 'Decalog\Panel\\' ) === 0 ) {
    38                 $filepath = DECALOG_INCLUDES_DIR . 'panels/';
    39             } elseif ( strpos( $class, 'Decalog\Library\\' ) === 0 ) {
    40                 $filepath = DECALOG_VENDOR_DIR;
    41             } elseif ( strpos( $class, 'Decalog\Integration\\' ) === 0 ) {
    42                 $filepath = DECALOG_INCLUDES_DIR . 'integrations/';
    43             } elseif ( strpos( $class, 'Decalog\API\\' ) === 0 ) {
    44                 $filepath = DECALOG_INCLUDES_DIR . 'api/';
    45             } elseif ( strpos( $class, 'Decalog\\' ) === 0 ) {
    46                 $filepath = DECALOG_INCLUDES_DIR . 'api/';
     36            foreach ( $paths as $prefix => $dir ) {
     37                if ( strpos( $class, $prefix ) === 0 ) {
     38                    $filepath = $dir;
     39                    break;
     40                }
    4741            }
    4842            if ( strpos( $filename, '-public' ) !== false ) {
  • decalog/tags/4.5.0/decalog.php

    r3272132 r3404120  
    1111 * Plugin URI:        https://perfops.one/decalog
    1212 * Description:       Capture and log events, metrics and traces on your site. Make WordPress observable – finally!
    13  * Version:           4.4.0
     13 * Version:           4.5.0
    1414 * Requires at least: 6.2
    1515 * Requires PHP:      8.1
  • decalog/tags/4.5.0/functions.php

    r3195163 r3404120  
    8686 * Functionally, the equivalent of the standard str_pad function, but is capable of successfully padding multibyte strings.
    8787 *
    88  * @param string $input         The string to be fully trimed.
     88 * @param string $input         The string to be fully trimmed.
    8989 * @param string $replacement   Optional. The string replacement.
    9090 *
    91  * @return string A fully trimed multibyte string.
     91 * @return string A fully trimmed multibyte string.
    9292 * @since   3.6.0
    9393 */
  • decalog/tags/4.5.0/includes/features/class-classtypes.php

    r3195163 r3404120  
    3535     *
    3636     * @since  1.0.0
    37      * @var    array    $classe_names    Maintains the classes list.
     37     * @var    array    $class_names    Maintains the classes list.
    3838     */
    39     public static $classe_names = [];
     39    public static $class_names = [];
    4040
    4141    /**
     
    4545     */
    4646    public static function init() {
    47         self::$classe_names['core']    = decalog_esc_html__( 'Core', 'decalog' );
    48         self::$classe_names['plugin']  = decalog_esc_html__( 'Plugin', 'decalog' );
    49         self::$classe_names['theme']   = decalog_esc_html__( 'Theme', 'decalog' );
    50         self::$classe_names['db']      = decalog_esc_html__( 'Database', 'decalog' );
    51         self::$classe_names['php']     = decalog_esc_html__( 'PHP', 'decalog' );
    52         self::$classe_names['library'] = decalog_esc_html__( 'Library', 'decalog' );
    53         self::$classe_names['unknown'] = decalog_esc_html__( 'Unknown', 'decalog' );
     47        self::$class_names['core']    = decalog_esc_html__( 'Core', 'decalog' );
     48        self::$class_names['plugin']  = decalog_esc_html__( 'Plugin', 'decalog' );
     49        self::$class_names['theme']   = decalog_esc_html__( 'Theme', 'decalog' );
     50        self::$class_names['db']      = decalog_esc_html__( 'Database', 'decalog' );
     51        self::$class_names['php']     = decalog_esc_html__( 'PHP', 'decalog' );
     52        self::$class_names['library'] = decalog_esc_html__( 'Library', 'decalog' );
     53        self::$class_names['unknown'] = decalog_esc_html__( 'Unknown', 'decalog' );
    5454
    5555    }
  • decalog/tags/4.5.0/includes/features/class-dlogger.php

    r3195163 r3404120  
    3939     * @var    string    $class    Maintains the class of the component.
    4040     */
    41     protected $class = 'unknwon';
     41    protected $class = 'unknown';
    4242
    4343    /**
  • decalog/tags/4.5.0/includes/features/class-dmonitor.php

    r3085475 r3404120  
    3737     * @var    string    $class    Maintains the class of the component.
    3838     */
    39     protected $class = 'unknwon';
     39    protected $class = 'unknown';
    4040
    4141    /**
  • decalog/tags/4.5.0/includes/features/class-dtracer.php

    r3085475 r3404120  
    3939     * @var    string    $class    Maintains the class of the component.
    4040     */
    41     protected $class = 'unknwon';
     41    protected $class = 'unknown';
    4242
    4343    /**
  • decalog/tags/4.5.0/includes/features/class-events.php

    r3195163 r3404120  
    205205        $icon   = '<img style="width:28px;float:left;padding-top:6px;padding-right:6px;" src="' . SDK::get_icon( $item['component'] ) . '" />';
    206206        $name   = $item['component'] . $this->get_filter( 'component', $item['component'] ) . $this->get_actions( 'source', $item ) . ' <span style="color:silver">' . $item['version'] . '</span>';
    207         $result = $icon . $name . '<br /><span style="color:silver">' . ClassTypes::$classe_names[ $item['class'] ] . $this->get_filter( 'class', $item['class'], true ) . '</span>';
     207        $result = $icon . $name . '<br /><span style="color:silver">' . ClassTypes::$class_names[ $item['class'] ] . $this->get_filter( 'class', $item['class'], true ) . '</span>';
    208208        return $result;
    209209    }
  • decalog/tags/4.5.0/includes/features/class-eventviewer.php

    r3195163 r3404120  
    454454        $hour    = $this->get_section( $content );
    455455        // Event source.
    456         $class     = ClassTypes::$classe_names[ strtolower( $this->event['class'] ) ];
     456        $class     = ClassTypes::$class_names[ strtolower( $this->event['class'] ) ];
    457457        $component = $this->event['component'] . ' ' . $this->event['version'];
    458458        $content   = '<span style="width:40%;cursor: default;float:left">' . $this->get_icon( 'folder' ) . $class . '</span>';
  • decalog/tags/4.5.0/includes/features/class-sdk.php

    r3094032 r3404120  
    3434     * Verify if SDK is present.
    3535     *
    36      * @retun   boolean True if SDK is present, false otherwise.
     36     * @return   boolean True if SDK is present, false otherwise.
    3737     * @since    3.0.0
    3838     */
     
    5050        if ( self::is_present() ) {
    5151            $result = \DecaLog\Engine::getLoggers();
    52             foreach ( $result as $slug => $loger ) {
     52            foreach ( $result as $slug => $logger ) {
    5353                $result[ $slug ]['slug'] = $slug;
    5454            }
     
    317317        $source  = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" preserveAspectRatio="xMidYMid meet">';
    318318        $source .= '<g transform="scale(2,2) translate(0,0)">';
    319         $source .= '<g id="orginal" style="fill-rule:nonzero;clip-rule:nonzero;stroke:' . $color1 . ';stroke-miterlimit:4;"></g>';
     319        $source .= '<g id="original" style="fill-rule:nonzero;clip-rule:nonzero;stroke:' . $color1 . ';stroke-miterlimit:4;"></g>';
    320320        $source .= '<g id="Layer_x0020_3" style="fill-rule:nonzero;clip-rule:nonzero;fill:none;stroke:' . $color3 . ';stroke-width:12.4651;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;">';
    321321        $source .= '<path style="fill:' . $color1 . ';stroke:' . $color1 . ';stroke-width:37.3953;stroke-linecap:butt;stroke-linejoin:miter;" d="M323.205,324.227c2.833-23.601,1.984-27.062,19.563-23.239l4.463,0.392c13.517,0.615,31.199-2.174,41.587-7c22.362-10.376,35.622-27.7,13.572-23.148c-50.297,10.376-53.755-6.655-53.755-6.655c53.111-78.803,75.313-178.836,56.149-203.322    C352.514-5.534,262.036,26.049,260.522,26.869l-0.482,0.089c-9.938-2.062-21.06-3.294-33.554-3.496c-22.761-0.374-40.032,5.967-53.133,15.904c0,0-161.408-66.498-153.899,83.628c1.597,31.936,45.777,241.655,98.47,178.31    c19.259-23.163,37.871-42.748,37.871-42.748c9.242,6.14,20.307,9.272,31.912,8.147l0.897-0.765c-0.281,2.876-0.157,5.689,0.359,9.019c-13.572,15.167-9.584,17.83-36.723,23.416c-27.457,5.659-11.326,15.734-0.797,18.367c12.768,3.193,42.305,7.716,62.268-20.224    l-0.795,3.188c5.325,4.26,4.965,30.619,5.72,49.452c0.756,18.834,2.017,36.409,5.856,46.771c3.839,10.36,8.369,37.05,44.036,29.406c29.809-6.388,52.6-15.582,54.677-101.107"/>';
  • decalog/tags/4.5.0/includes/formatters/class-datadogformatter.php

    r3195163 r3404120  
    5353            $event['message'] = $record['message'];
    5454        } else {
    55             $event['message'] = '<no messsage>';
     55            $event['message'] = '<no message>';
    5656        }
    5757        if ( array_key_exists( 'level', $record ) ) {
  • decalog/tags/4.5.0/includes/formatters/class-generichtmlformatter.php

    r3195163 r3404120  
    118118
    119119    /**
    120      * Get tarce detail.
     120     * Get trace detail.
    121121     *
    122122     * @param  array   $trace     The trace records.
  • decalog/tags/4.5.0/includes/formatters/class-newrelicformatter.php

    r2658577 r3404120  
    6969            $event['message'] = str_replace( '\'', '`', $event['message'] );
    7070        } else {
    71             $event['message'] = '<no messsage>';
     71            $event['message'] = '<no message>';
    7272        }
    7373        if ( array_key_exists( 'level', $record ) ) {
  • decalog/tags/4.5.0/includes/handlers/class-abstractmonitoringhandler.php

    r2870563 r3404120  
    146146        $message = wp_remote_retrieve_response_message( $result );
    147147        if ( '' === $message ) {
    148             $message = 'Unknow error';
     148            $message = 'Unknown error';
    149149        }
    150150        if ( $this->error_control ) {
  • decalog/tags/4.5.0/includes/handlers/class-abstracttracinghandler.php

    r2870563 r3404120  
    535535            $message = wp_remote_retrieve_response_message( $result );
    536536            if ( '' === $message ) {
    537                 $message = 'Unknow error';
     537                $message = 'Unknown error';
    538538            }
    539539            if ( $this->error_control ) {
  • decalog/tags/4.5.0/includes/integrations/class-optimizelogger.php

    r3195163 r3404120  
    6666     * @since 1.9.0
    6767     */
    68     public function emergency( $message, array $context = [] ) {
     68    public function emergency( $message, $context = [] ) {
    6969        $this->logger->emergency( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    7070    }
     
    7777     * @since 1.9.0
    7878     */
    79     public function alert( $message, array $context = [] ) {
     79    public function alert( $message, $context = [] ) {
    8080        $this->logger->alert( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    8181    }
     
    8888     * @since 1.9.0
    8989     */
    90     public function critical( $message, array $context = [] ) {
     90    public function critical( $message, $context = [] ) {
    9191        $this->logger->critical( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    9292    }
     
    100100     * @since 1.9.0
    101101     */
    102     public function error( $message, array $context = [] ) {
     102    public function error( $message, $context = [] ) {
    103103        $this->logger->error( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    104104    }
     
    111111     * @since 1.9.0
    112112     */
    113     public function warning( $message, array $context = [] ) {
     113    public function warning( $message, $context = [] ) {
    114114        $this->logger->warning( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    115115    }
     
    122122     * @since 1.9.0
    123123     */
    124     public function notice( $message, array $context = [] ) {
     124    public function notice( $message, $context = [] ) {
    125125        $this->logger->notice( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    126126    }
     
    135135     * @since 1.9.0
    136136     */
    137     public function info( $message, array $context = [] ) {
     137    public function info( $message, $context = [] ) {
    138138        $this->logger->info( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    139139    }
     
    146146     * @since 1.9.0
    147147     */
    148     public function debug( $message, array $context = [] ) {
     148    public function debug( $message, $context = [] ) {
    149149        $this->logger->debug( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    150150    }
     
    158158     * @since 1.9.0
    159159     */
    160     public function log( $level, $message, array $context = [] ) {
     160    public function log( $level, $message, $context = [] ) {
    161161        $this->logger->log( $level, (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    162162    }
  • decalog/tags/4.5.0/includes/libraries/elastic/elasticsearch/Client.php

    r3085475 r3404120  
    4040
    4141    /**
    42      * Specify is the request is asyncronous
     42     * Specify is the request is asynchronous
    4343     */
    4444    protected bool $async = false;
  • decalog/tags/4.5.0/includes/libraries/elastic/elasticsearch/ClientBuilder.php

    r3085475 r3404120  
    5252
    5353    /**
    54      * The NodelPool
     54     * The NodePool
    5555     */
    5656    private NodePoolInterface $nodePool;
     
    385385        if (!empty($this->apiKey)) {
    386386            if (!empty($this->username)) {
    387                 throw new AuthenticationException('You cannot use APIKey and Basic Authenication together');
     387                throw new AuthenticationException('You cannot use APIKey and Basic Authentication together');
    388388            }
    389389            $transport->setHeader('Authorization', sprintf("ApiKey %s", $this->apiKey));
  • decalog/tags/4.5.0/includes/libraries/elastic/elasticsearch/ClientInterface.php

    r3085475 r3404120  
    3434
    3535     /**
    36      * Set the asyncronous HTTP request
     36     * Set the asynchronous HTTP request
    3737     */
    3838    public function setAsync(bool $async): self;
    3939
    4040    /**
    41      * Get the asyncronous HTTP request setting
     41     * Get the asynchronous HTTP request setting
    4242     */
    4343    public function getAsync(): bool;
     
    6565    /**
    6666     * Send the HTTP request using the Elastic Transport.
    67      * It manages syncronous and asyncronus requests using Client::getAsync()
     67     * It manages synchronous and asynchronous requests using Client::getAsync()
    6868     *
    6969     * @return Elasticsearch|Promise
  • decalog/tags/4.5.0/includes/libraries/elastic/elasticsearch/Endpoints/Ml.php

    r3085475 r3404120  
    11311131     *     influencer_score: double, // influencer score threshold for the requested influencers
    11321132     *     sort: string, // sort field for the requested influencers
    1133      *     desc: boolean, // whether the results should be sorted in decending order
     1133     *     desc: boolean, // whether the results should be sorted in descending order
    11341134     *     pretty: boolean, // Pretty format the returned JSON response. (DEFAULT: false)
    11351135     *     human: boolean, // Return human readable values for statistics. (DEFAULT: true)
  • decalog/tags/4.5.0/includes/libraries/elastic/elasticsearch/Helper/Iterators/SearchResponseIterator.php

    r3085475 r3404120  
    136136
    137137    /**
    138      * Fetches every "page" after the first one using the lastest "scroll_id"
     138     * Fetches every "page" after the first one using the latest "scroll_id"
    139139     *
    140140     * @return void
  • decalog/tags/4.5.0/includes/libraries/elastic/elasticsearch/Response/Elasticsearch.php

    r3085475 r3404120  
    119119        }
    120120        throw new UnknownContentTypeException(sprintf(
    121             "Cannot deserialize the reponse as array with Content-Type: %s",
     121            "Cannot deserialize the response as array with Content-Type: %s",
    122122            $contentType
    123123        ));
     
    152152        }
    153153        throw new UnknownContentTypeException(sprintf(
    154             "Cannot deserialize the reponse as object with Content-Type: %s",
     154            "Cannot deserialize the response as object with Content-Type: %s",
    155155            $contentType
    156156        ));
  • decalog/tags/4.5.0/includes/libraries/elastic/elasticsearch/Traits/EndpointTrait.php

    r3085475 r3404120  
    3131{
    3232    /**
    33      * Check if an array containts nested array
     33     * Check if an array contains nested array
    3434     */
    3535    private function isNestedArray(array $a): bool
     
    157157    /**
    158158     * Build the API compatibility headers
    159      * transfrom Content-Type and Accept adding vnd.elasticsearch+ and compatible-with
     159     * transform Content-Type and Accept adding vnd.elasticsearch+ and compatible-with
    160160     *
    161161     * @see https://github.com/elastic/elasticsearch-php/pull/1142
  • decalog/tags/4.5.0/includes/libraries/elastic/transport/Transport.php

    r3085475 r3404120  
    153153            $phpSemVersion,
    154154            $this->purgePreReleaseTag(self::VERSION),
    155             $async ? 1 : 0 // 0=syncronous, 1=asynchronous
     155            $async ? 1 : 0 // 0=synchronous, 1=asynchronous
    156156        );
    157157        $lib = $this->getClientLibraryInfo();
  • decalog/tags/4.5.0/includes/libraries/guzzlehttp/Psr7/LimitStream.php

    r3085475 r3404120  
    106106     * @param int $offset Offset to seek to and begin byte limiting from
    107107     *
    108      * @throws \RuntimeException if the stream cannot be seeked.
     108     * @throws \RuntimeException if the stream cannot be sought.
    109109     */
    110110    public function setOffset(int $offset): void
  • decalog/tags/4.5.0/includes/libraries/guzzlehttp/Psr7/NoSeekStream.php

    r3085475 r3404120  
    88
    99/**
    10  * Stream decorator that prevents a stream from being seeked.
     10 * Stream decorator that prevents a stream from being sought.
    1111 */
    1212final class NoSeekStream implements StreamInterface
  • decalog/tags/4.5.0/includes/libraries/http/client-common/Plugin/HeaderSetPlugin.php

    r3085475 r3404120  
    1212 * Set headers on the request.
    1313 *
    14  * If the header does not exist it wil be set, if the header already exists it will be replaced.
     14 * If the header does not exist it will be set, if the header already exists it will be replaced.
    1515 *
    1616 * @author Soufiane Ghzal <sghzal@gmail.com>
  • decalog/tags/4.5.0/includes/libraries/http/client-common/Plugin/SeekableBodyPlugin.php

    r3085475 r3404120  
    2424
    2525    /**
    26      * @param array{'use_file_buffer'?: bool, 'memory_boffer_size'?: int} $config
     26     * @param array{'use_file_buffer'?: bool, 'memory_buffer_size'?: int} $config
    2727     *
    2828     * Configuration options:
  • decalog/tags/4.5.0/includes/libraries/http/discovery/Composer/Plugin.php

    r3085475 r3404120  
    2828 * virtual packages, this plugin will auto-install a well-known implementation if none is
    2929 * found. The plugin will first look at already installed packages and figure out the
    30  * preferred implementation to install based on the below stickyness rules (or on the first
     30 * preferred implementation to install based on the below stickiness rules (or on the first
    3131 * listed implementation if no rules match.)
    3232 *
     
    9090     * depending on which one is already installed on the right side.
    9191     */
    92     private const STICKYNESS_RULES = [
     92    private const STICKINESS_RULES = [
    9393        'symfony/http-client' => 'symfony/framework-bundle',
    9494        'php-http/guzzle7-adapter' => 'guzzlehttp/guzzle:^7',
     
    339339                }
    340340
    341                 foreach (array_intersect_key(self::STICKYNESS_RULES, $candidates) as $candidate => $stickyRule) {
     341                foreach (array_intersect_key(self::STICKINESS_RULES, $candidates) as $candidate => $stickyRule) {
    342342                    [$stickyName, $stickyVersion] = explode(':', $stickyRule, 2) + [1 => null];
    343343                    if (!isset($allPackages[$stickyName]) || ($isProject && !$dev && isset($devPackages[$stickyName]))) {
  • decalog/tags/4.5.0/includes/libraries/influxdb/ApiException.php

    r3085475 r3404120  
    101101
    102102    /**
    103      * Sets the deseralized response object (during deserialization)
     103     * Sets the deserialized response object (during deserialization)
    104104     *
    105105     * @param mixed $obj Deserialized response object
     
    113113
    114114    /**
    115      * Gets the deseralized response object (during deserialization)
     115     * Gets the deserialized response object (during deserialization)
    116116     *
    117117     * @return mixed the deserialized response object
  • decalog/tags/4.5.0/includes/libraries/influxdb/Configuration.php

    r2552001 r3404120  
    376376
    377377    /**
    378      * Sets the detault configuration instance
     378     * Sets the default configuration instance
    379379     *
    380380     * @param Configuration $config An instance of the Configuration Object
  • decalog/tags/4.5.0/includes/libraries/influxdb/FluxCsvParser.php

    r3085475 r3404120  
    292292
    293293        if ('dateTime:RFC3339' == $column->dataType || 'dateTime:RFC3339Nano' == $column->dataType) {
    294             ##todo nanoseconds precission, php datetime is only in microseconds precision
     294            # @todo nanoseconds precision, php datetime is only in microseconds precision
    295295            return $strVal;
    296296        }
  • decalog/tags/4.5.0/includes/libraries/influxdb/HeaderSelector.php

    r3085475 r3404120  
    9393     * Return the content type based on an array of content-type provided
    9494     *
    95      * @param string[] $contentType Array fo content-type
     95     * @param string[] $contentType Array of content-type
    9696     *
    9797     * @return string Content-Type (e.g. application/json)
  • decalog/tags/4.5.0/includes/libraries/influxdb/WriteRetry.php

    r3085475 r3404120  
    1616    private $jitterInterval;
    1717    private $maxRetryTime;
    18     private $retryTimout;
     18    private $retryTimeout;
    1919    /**
    2020     * @var array
     
    5858        $this->options = $options;
    5959
    60         //retry timout
    61         $this->retryTimout = microtime(true) * 1000 + $maxRetryTime;
     60        //retry timeout
     61        $this->retryTimeout = microtime(true) * 1000 + $maxRetryTime;
    6262    }
    6363
     
    8282
    8383            // throws exception when max retry time is exceeded
    84             if (microtime(true) * 1000 > $this->retryTimout) {
     84            if (microtime(true) * 1000 > $this->retryTimeout) {
    8585                DefaultApi::log("ERROR", "Maximum retry time $this->maxRetryTime ms exceeded", $this->options);
    8686                throw $e;
  • decalog/tags/4.5.0/includes/libraries/jaeger/Thrift/Agent/Zipkin/Span.php

    r2552001 r3404120  
    130130   * against a tick of currentTimeMillis.
    131131   *
    132    * For compatibilty with instrumentation that precede this field, collectors
     132   * For compatibility with instrumentation that precede this field, collectors
    133133   * or span stores can derive this via Annotation.timestamp.
    134134   * For example, SERVER_RECV.timestamp or CLIENT_SEND.timestamp.
     
    147147   * updates causing time to move backwards.
    148148   *
    149    * For compatibilty with instrumentation that precede this field, collectors
     149   * For compatibility with instrumentation that precede this field, collectors
    150150   * or span stores can derive this by subtracting Annotation.timestamp.
    151151   * For example, SERVER_SEND.timestamp - SERVER_RECV.timestamp.
  • decalog/tags/4.5.0/includes/libraries/lock/mutex/TransactionalMutex.php

    r2552001 r3404120  
    104104     * @param callable $code The synchronized execution block.
    105105     * @throws \Exception The execution block threw an exception.
    106      * @throws LockAcquireException The transaction was not commited.
     106     * @throws LockAcquireException The transaction was not committed.
    107107     * @return mixed The return value of the execution block.
    108108     * @SuppressWarnings(PHPMD)
  • decalog/tags/4.5.0/includes/libraries/lock/util/DoubleCheckedLocking.php

    r2391127 r3404120  
    5050     * If then returns boolean boolean false, the check did not pass before or
    5151     * after acquiring the lock. A boolean false can also be returned from the
    52      * critical code callback to indicate that processing did not occure or has
     52     * critical code callback to indicate that processing did not occur or has
    5353     * failed. It is up to the user to decide the last point.
    5454     *
  • decalog/tags/4.5.0/includes/libraries/lock/util/PcntlTimeout.php

    r2391127 r3404120  
    5353     *
    5454     * This method has the side effect, that any signal handler for SIGALRM will
    55      * be reset to the default hanlder (SIG_DFL). It also expects that there is
     55     * be reset to the default handler (SIG_DFL). It also expects that there is
    5656     * no previously scheduled alarm. If your application uses alarms
    5757     * ({@link pcntl_alarm()}) or a signal handler for SIGALRM, don't use this
    58      * method. It will interfer with your application and lead to unexpected
     58     * method. It will interfere with your application and lead to unexpected
    5959     * behaviour.
    6060     *
  • decalog/tags/4.5.0/includes/libraries/markdown/MarkdownParser.php

    r2391127 r3404120  
    4545
    4646    /**
    47      * @var array these are "escapeable" characters. When using one of these prefixed with a
     47     * @var array these are "escapable" characters. When using one of these prefixed with a
    4848     * backslash, the character will be outputted without the backslash and is not interpreted
    4949     * as markdown.
  • decalog/tags/4.5.0/includes/libraries/markdown/Parser.php

    r2391127 r3404120  
    2727    protected $context = [];
    2828    /**
    29      * @var array these are "escapeable" characters. When using one of these prefixed with a
     29     * @var array these are "escapable" characters. When using one of these prefixed with a
    3030     * backslash, the character will be outputted without the backslash and is not interpreted
    3131     * as markdown.
     
    130130
    131131    /**
    132      * Given a set of lines and an index of a current line it uses the registed block types to
     132     * Given a set of lines and an index of a current line it uses the registered block types to
    133133     * detect the type of this line.
    134134     * @param array $lines
  • decalog/tags/4.5.0/includes/libraries/markdown/inline/LinkTrait.php

    r2391127 r3404120  
    1212
    1313/**
    14  * Addes links and images as well as url markers.
     14 * Adds links and images as well as url markers.
    1515 *
    1616 * This trait conflicts with the HtmlTrait. If both are used together,
  • decalog/tags/4.5.0/includes/libraries/monolog/ErrorHandler.php

    r3085475 r3404120  
    168168            E_USER_ERROR        => LogLevel::ERROR,
    169169            E_USER_WARNING      => LogLevel::WARNING,
    170             E_USER_NOTICE       => LogLevel::NOTICE,
    171             E_STRICT            => LogLevel::NOTICE,
     170            E_USER_NOTICE       => LogLevel::DEBUG,
     171            E_STRICT            => LogLevel::DEBUG,
    172172            E_RECOVERABLE_ERROR => LogLevel::ERROR,
    173             E_DEPRECATED        => LogLevel::NOTICE,
    174             E_USER_DEPRECATED   => LogLevel::NOTICE,
     173            E_DEPRECATED        => LogLevel::INFO,
     174            E_USER_DEPRECATED   => LogLevel::DEBUG,
    175175        ];
    176176    }
  • decalog/tags/4.5.0/includes/libraries/prometheus/Storage/APC.php

    r2552001 r3404120  
    142142    public function wipeStorage(): void
    143143    {
    144         //                   /      / | PCRE expresion boundary
     144        //                   /      / | PCRE expression boundary
    145145        //                    ^       | match from first character only
    146146        //                     %s:    | common prefix substitute with colon suffix
  • decalog/tags/4.5.0/includes/libraries/spyc/Spyc.php

    r2397530 r3404120  
    8383
    8484  /**
    85    * Setting this to true will forse YAMLLoad to use syck_load function when
     85   * Setting this to true will force YAMLLoad to use syck_load function when
    8686   * possible. False by default.
    8787   * @var bool
     
    9090
    9191  /**
    92    * Setting this to true will forse YAMLLoad to use syck_load function when
     92   * Setting this to true will force YAMLLoad to use syck_load function when
    9393   * possible. False by default.
    9494   * @var bool
  • decalog/tags/4.5.0/includes/libraries/thrift/Protocol/TJSONProtocol.php

    r2552001 r3404120  
    662662     * @param string $name Function name
    663663     * @param int $type message type TMessageType::CALL or TMessageType::REPLY
    664      * @parem int $seqid The sequence id of this message
     664     * @param int $seqid The sequence id of this message
    665665     */
    666666    public function readMessageBegin(&$name, &$type, &$seqid)
  • decalog/tags/4.5.0/includes/libraries/thrift/Protocol/TProtocol.php

    r2552001 r3404120  
    135135     * @param string $name Function name
    136136     * @param int $type message type TMessageType::CALL or TMessageType::REPLY
    137      * @parem int $seqid The sequence id of this message
     137     * @param int $seqid The sequence id of this message
    138138     */
    139139    abstract public function readMessageBegin(&$name, &$type, &$seqid);
  • decalog/tags/4.5.0/includes/libraries/thrift/Server/TServerTransport.php

    r2552001 r3404120  
    3838
    3939    /**
    40      * Uses the accept implemtation. If null is returned, an
     40     * Uses the accept implementation. If null is returned, an
    4141     * exception is thrown.
    4242     *
  • decalog/tags/4.5.0/includes/libraries/thrift/Server/TSimpleServer.php

    r2552001 r3404120  
    66
    77/**
    8  * Simple implemtation of a Thrift server.
     8 * Simple implementation of a Thrift server.
    99 *
    1010 * @package thrift.server
  • decalog/tags/4.5.0/includes/libraries/thrift/Type/TConstant.php

    r2552001 r3404120  
    2929{
    3030    /**
    31      * Don't instanciate this class
     31     * Don't instantiate this class
    3232     */
    3333    protected function __construct()
  • decalog/tags/4.5.0/includes/libraries/tracy/Tracy/Debugger/Debugger.php

    r3085475 r3404120  
    205205        if (function_exists('ini_set')) {
    206206            ini_set('display_errors', '0'); // or 'stderr'
    207             ini_set('html_errors', '0'); // additionally turns off stack trace displaing by xdebug
     207            ini_set('html_errors', '0'); // additionally turns off stack trace displaying by xdebug
    208208            ini_set('log_errors', '0');
    209209            ini_set('zend.exception_ignore_args', '0');
     
    429429        if (empty(self::$logger)) {
    430430            self::$logger = new Logger(self::$logDirectory, self::$email, self::getBlueScreen());
    431             self::$logger->directory = &self::$logDirectory; // back compatiblity
     431            self::$logger->directory = &self::$logDirectory; // back compatibility
    432432            self::$logger->email = &self::$email;
    433433        }
  • decalog/tags/4.5.0/includes/listeners/class-abstractlistener.php

    r2794866 r3404120  
    5959     *
    6060     * @since  3.0.0
    61      * @var    \Decalog\Plugin\Feature\DTracer   $monitor    An instance of DTracer to trace listener tarces.
     61     * @var    \Decalog\Plugin\Feature\DTracer   $monitor    An instance of DTracer to trace listener traces.
    6262     */
    6363    protected $tracer = null;
  • decalog/tags/4.5.0/includes/listeners/class-corelistener.php

    r3195163 r3404120  
    192192            add_filter( 'pre_unschedule_hook', [ $this, 'pre_unschedule_hook' ], PHP_INT_MAX, 2 );
    193193        }
    194         // Aplications Passwords
     194        // Applications Passwords
    195195        add_action( 'wp_create_application_password', [ $this, 'wp_create_application_password' ], 10, 4 );
    196196        add_action( 'wp_update_application_password', [ $this, 'wp_update_application_password' ], 10, 3 );
     
    13871387    public function pre_clear_scheduled_hook( $pre, $hook, $args = null, $wp_error = null ) {
    13881388        if ( is_null( $pre ) ) {
    1389             $this->logger->info( sprintf( 'The "%s" event will be cleared.', $hook ) );
     1389            $this->logger->debug( sprintf( 'The "%s" event will be cleared.', $hook ) );
    13901390        } else {
    1391             $this->logger->notice( sprintf( 'A plugin prevented the "%s" event to be cleared.', $hook ) );
     1391            $this->logger->info( sprintf( 'A plugin prevented the "%s" event to be cleared.', $hook ) );
    13921392        }
    13931393        return $pre;
  • decalog/tags/4.5.0/includes/listeners/class-libaschedulerlistener.php

    r3085475 r3404120  
    138138     */
    139139    public function action_scheduler_deleted_action( $action_id ) {
    140         $this->logger->notice( sprintf( 'Action "%s" (action ID %s) deleted.', \ActionScheduler::store()->fetch_action( $action_id )->get_hook(), $action_id ) );
     140        $this->logger->info( sprintf( 'Action "%s" (action ID %s) deleted.', \ActionScheduler::store()->fetch_action( $action_id )->get_hook(), $action_id ) );
    141141    }
    142142
     
    192192     */
    193193    public function action_scheduler_failed_old_action_deletion( $action_id, $exception ) {
    194         $this->logger->error( sprintf( 'Unable to delete old action "%s" (action ID %s): %s.', \ActionScheduler::store()->fetch_action( $action_id )->get_hook(), $action_id, ( $exception instanceof \Throwable ? $exception->getMessage() : 'unknown error' ) ) );
     194        $this->logger->notice( sprintf( 'Unable to delete old action "%s" (action ID %s): %s.', \ActionScheduler::store()->fetch_action( $action_id )->get_hook(), $action_id, ( $exception instanceof \Throwable ? $exception->getMessage() : 'unknown error' ) ) );
    195195    }
    196196
  • decalog/tags/4.5.0/includes/listeners/class-phplistener.php

    r3085475 r3404120  
    4848        E_USER_WARNING      => Logger::WARNING,
    4949        E_NOTICE            => Logger::NOTICE,
    50         E_USER_NOTICE       => Logger::NOTICE,
    51         E_STRICT            => Logger::NOTICE,
     50        E_USER_NOTICE       => Logger::DEBUG,
     51        E_STRICT            => Logger::DEBUG,
    5252        E_DEPRECATED        => Logger::INFO,
    53         E_USER_DEPRECATED   => Logger::INFO,
     53        E_USER_DEPRECATED   => Logger::DEBUG,
    5454    ];
    5555
  • decalog/tags/4.5.0/includes/listeners/wp-cli/class-quiet.php

    r2794866 r3404120  
    5151     */
    5252    public function info( $message ) {
    53         $this->logger->info( ucfirst( $message ) );
    5453        parent::info( $message );
    5554    }
     
    6261     */
    6362    public function success( $message ) {
    64         $this->logger->notice( ucfirst( $message ) );
    6563        parent::success( $message );
    6664    }
     
    7371     */
    7472    public function warning( $message ) {
    75         $this->logger->warning( ucfirst( $message ) );
    7673        parent::warning( $message );
    7774    }
  • decalog/tags/4.5.0/includes/plugin/class-initializer.php

    r3195163 r3404120  
    6969                    } catch ( \Exception $e ) {
    7070                        $logger = Log::bootstrap( 'plugin', DECALOG_PRODUCT_SHORTNAME, DECALOG_VERSION );
    71                         $logger->critical( sprintf( 'Unable to instanciate `%s` class. DecaLog will not log following WP-CLI events.', $class ) );
     71                        $logger->critical( sprintf( 'Unable to instantiate `%s` class. DecaLog will not log following WP-CLI events.', $class ) );
    7272                    }
    7373                } else {
  • decalog/tags/4.5.0/includes/plugin/class-updater.php

    r3272132 r3404120  
    223223        }
    224224        $md                           = new Markdown();
    225         $res                          = new \stdClass();
     225        if ( ! is_object( $res ) ) {
     226            $res = new \stdClass();
     227        }
    226228        $res->name                    = $this->name;
    227229        $res->homepage                = 'https://perfops.one/' . $this->slug;
     
    238240        $res->download_link           = $infos->download_url;
    239241        $res->trunk                   = $infos->download_url;
    240         $res->sections                = [
    241             'changelog' => $md->get_inline( $infos->changelog, [] ) . '<br/><br/><p><a target="_blank" href="' . $res->homepage . '-changelog">CHANGELOG »</a></p>',
    242         ];
    243         $res->banners                 = [
    244             "low"  => str_replace( 'github.com', 'raw.githubusercontent.com', $this->product ) . '/refs/heads/master/.wordpress-org/banner-772x250.jpg',
    245             "high" => str_replace( 'github.com', 'raw.githubusercontent.com', $this->product ) . '/refs/heads/master/.wordpress-org/banner-1544x500.jpg'
    246         ];
     242        if ( isset( $res->sections['changelog'] ) ) {
     243            $res->sections['changelog'] = $md->get_inline( $infos->changelog, [] ) . '<br/><br/><p><a target="_blank" href="' . $res->homepage . '-changelog">CHANGELOG »</a></p>';
     244        } else {
     245            $res->sections = [
     246                'changelog' => $md->get_inline( $infos->changelog, [] ) . '<br/><br/><p><a target="_blank" href="' . $res->homepage . '-changelog">CHANGELOG »</a></p>',
     247            ];
     248        }
     249        if ( isset( $res->banners['low'] ) && isset( $res->banners['high'] )) {
     250            $res->banners['low'] = str_replace( 'github.com', 'raw.githubusercontent.com', $this->product ) . '/refs/heads/master/.wordpress-org/banner-772x250.jpg';
     251            $res->banners['high'] = str_replace( 'github.com', 'raw.githubusercontent.com', $this->product ) . '/refs/heads/master/.wordpress-org/banner-1544x500.jpg';
     252        } else {
     253            $res->banners                 = [
     254                'low'  => str_replace( 'github.com', 'raw.githubusercontent.com', $this->product ) . '/refs/heads/master/.wordpress-org/banner-772x250.jpg',
     255                'high' => str_replace( 'github.com', 'raw.githubusercontent.com', $this->product ) . '/refs/heads/master/.wordpress-org/banner-1544x500.jpg'
     256            ];
     257        }
    247258        return $res;
    248259    }
  • decalog/tags/4.5.0/includes/system/class-blog.php

    r2595032 r3404120  
    116116            return sprintf( '"%s" (site ID %s)', (string) $id->blogname, $id->id );
    117117        }
    118         return 'unknow site';
     118        return 'unknown site';
    119119    }
    120120
  • decalog/tags/4.5.0/includes/system/class-cache.php

    r2794866 r3404120  
    419419     * @since  1.0.0
    420420     */
    421     private static function delete_for_ful_name( $item_name ) {
     421    private static function delete_for_full_name( $item_name ) {
    422422        $item_name = self::normalized_item_name( $item_name );
    423423        $result    = 0;
     
    461461     * @since  3.4.0
    462462     */
    463     private static function delete_apcu_for_ful_name( $item_name ) {
     463    private static function delete_apcu_for_full_name( $item_name ) {
    464464        $item_name = self::normalized_item_name( $item_name );
    465465        $result    = 0;
     
    516516     */
    517517    public static function delete_global( $item_name ) {
    518         return self::delete_for_ful_name( self::full_item_name( $item_name ) );
     518        return self::delete_for_full_name( self::full_item_name( $item_name ) );
    519519    }
    520520
     
    527527     */
    528528    public static function delete_global_apcu( $item_name ) {
    529         return self::delete_apcu_for_ful_name( self::full_item_name( $item_name ) );
     529        return self::delete_apcu_for_full_name( self::full_item_name( $item_name ) );
    530530    }
    531531
     
    543543     */
    544544    public static function delete( $item_name, $blog_aware = false, $locale_aware = false, $user_aware = false ) {
    545         return self::delete_for_ful_name( self::full_item_name( $item_name, $blog_aware, $locale_aware, $user_aware ) );
     545        return self::delete_for_full_name( self::full_item_name( $item_name, $blog_aware, $locale_aware, $user_aware ) );
    546546    }
    547547
  • decalog/tags/4.5.0/includes/system/class-comment.php

    r2552001 r3404120  
    4949            return sprintf( '"%s" (comment ID %s)', wp_trim_words( wp_kses( $comment->comment_content, [] ), 8 ), $comment->comment_ID );
    5050        } else {
    51             return 'unknow comment';
     51            return 'unknown comment';
    5252        }
    5353    }
  • decalog/tags/4.5.0/includes/system/class-role.php

    r2481266 r3404120  
    8787     *
    8888     * @param   integer $user_id         Optional. The user id.
    89      * @return  boolean  True if privileges can be overridded, false otherwise.
     89     * @return  boolean  True if privileges can be overridden, false otherwise.
    9090     * @since   2.4.0
    9191     */
  • decalog/tags/4.5.0/includes/system/class-sharedmemory.php

    r3085475 r3404120  
    7979
    8080    /**
    81      * Acquire a ressource.
     81     * Acquire a resource.
    8282     *
    8383     * @param   string  $flags     Optional. The flags for opening.
  • decalog/tags/4.5.0/init.php

    r3272132 r3404120  
    1313define( 'DECALOG_PRODUCT_ABBREVIATION', 'decalog' );
    1414define( 'DECALOG_SLUG', 'decalog' );
    15 define( 'DECALOG_VERSION', '4.4.0' );
     15define( 'DECALOG_VERSION', '4.5.0' );
    1616define( 'DECALOG_API_VERSION', '3' );
    1717define( 'DECALOG_MONOLOG_VERSION', '2.9.3' );
  • decalog/tags/4.5.0/languages/decalog.pot

    r2713367 r3404120  
    442442#: admin/class-decalog-admin.php:1186
    443443msgid ""
    444 "APCu is available on your server: you can use high peformance storage "
     444"APCu is available on your server: you can use high performance storage "
    445445"mechanism."
    446446msgstr ""
     
    449449#, php-format
    450450msgid ""
    451 "APCu is not available on your server. To use high peformance storage "
     451"APCu is not available on your server. To use high performance storage "
    452452"mechanism you must activate %s PHP module."
    453453msgstr ""
  • decalog/tags/4.5.0/readme.txt

    r3272132 r3404120  
    44Requires at least: 6.2
    55Requires PHP: 8.1
    6 Tested up to: 6.8
    7 Stable tag: 4.4.0
     6Tested up to: 6.9
     7Stable tag: 4.5.0
    88License: GPLv3
    99License URI: https://www.gnu.org/licenses/gpl-3.0.html
  • decalog/trunk/CHANGELOG.md

    r3272132 r3404120  
    33
    44The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and **DecaLog** adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
     5
     6## [4.5.0] - 2025-11-27
     7
     8### Added
     9- Compatibility with WordPress 6.9.
     10
     11### Changed
     12- [BC] Default PHP errors mapping has changed: now, `E_USER_NOTICE`, `E_STRICT` and `E_USER_DEPRECATED` are logged as `debug` events.
     13- [BC] Some Action Scheduler events have a lower level (thanks to [Jan Thiel](https://github.com/JanThiel)).
     14- [WP-CLI] Using `--quiet` now disables logging of events that are not errors. (thanks to [Jan Thiel](https://github.com/JanThiel)).
     15- The levels of `pre_clear_scheduled_hook` are now debug/info to prevent excessive noise.
     16- The level mapping is now usable earlyer while logging PHP errors (thanks to [s.protasov](https://github.com/pro2s)).
     17- The auto loading sequence have been improved (thanks to [Viktor Szépe](https://github.com/szepeviktor)).
     18
     19### Fixed
     20- Using last version of WP-Optimize plugin breaks the site (thanks to [123kubix123](https://github.com/123kubix123)).
     21- There are many typos (thanks to [Viktor Szépe](https://github.com/szepeviktor)).
    522
    623## [4.4.0] - 2025-04-14
     
    3148### Changed
    3249- To avoid name collision with some third-party configurations, the version tag in Datadog, Loki and Grafana loggers is now named `wp_version` (it was previously `version`).
    33 - Ability to self-update from Github.
     50- Ability to self-update from GitHub.
    3451- The plugin user agent is now more consistent and "standard".
    3552
     
    6481> **Important note about this version:**
    6582> - **DecaLog 4 is a transition version to prepare DecaLog 5.**
    66 > - **No migration path wil be available to migrate from DecaLog 3.x to 5.x, so don't ignore this version 4: install it!**
     83> - **No migration path will be available to migrate from DecaLog 3.x to 5.x, so don't ignore this version 4: install it!**
    6784> - **DecaLog 5 will be available in early 2025.**
    6885
     
    946963- The word "blog" has been replaced by "site" in events messages.
    947964- Some help strings have been modified to be more clear.
    948 - Lower severity of serialized json messages (triggered by `wp_die` handler) from criticial to debug.
     965- Lower severity of serialized json messages (triggered by `wp_die` handler) from critical to debug.
    949966
    950967### Removed
  • decalog/trunk/HOOKS.md

    r3085475 r3404120  
    1111The format of the filtered value is an array of array(s). Each of the deepest array MUST contain 3 fields:
    1212
    13 * `url`: the full url of the action to perfom. This url is opened in a new tab of the user's browser.
     13* `url`: the full url of the action to perform. This url is opened in a new tab of the user's browser.
    1414* `hint`: the text displayed while hovering the icon.
    1515* `icon`: the "index" of the icon. Since DecaLog embeds the [Feather icon library](https://feathericons.com/), you can choose any index of this library.
     
    3838The format of the filtered value is an array of array(s). Each of the deepest array MUST contain 2 fields:
    3939
    40 * `url`: the full url of the action to perfom. This url is opened in a new tab of the user's browser.
     40* `url`: the full url of the action to perform. This url is opened in a new tab of the user's browser.
    4141* `text`: the text of the link anchor.
    4242
  • decalog/trunk/WP-CLI.md

    r2552001 r3404120  
    1818If you don't specify `<count>`, DecaLog will launch an interactive logging session: it will display events as soon as they occur on your site. To quit this session, hit `CTRL+C`.
    1919
    20 If you specifiy a value for `<count>` between 1 to 60, DecaLog will show you the *count* last events triggered on your site.
     20If you specify a value for `<count>` between 1 to 60, DecaLog will show you the *count* last events triggered on your site.
    2121
    2222> Note the `tail` command needs shared memory support on your server, both for web server and command-line configuration. If it's not already the case, you must activate the ***shmop*** PHP module.
  • decalog/trunk/admin/class-decalog-admin.php

    r3202160 r3404120  
    11971197        if ( Cache::$apcu_available) {
    11981198            $help  = '<img style="width:16px;vertical-align:text-bottom;" src="' . \Feather\Icons::get_base64( 'thumbs-up', 'none', '#00C800' ) . '" />&nbsp;';
    1199             $help .= decalog_esc_html__('APCu is available on your server: you can use high peformance storage mechanism.', 'decalog' );
     1199            $help .= decalog_esc_html__('APCu is available on your server: you can use high performance storage mechanism.', 'decalog' );
    12001200        } else {
    12011201            $help  = '<img style="width:16px;vertical-align:text-bottom;" src="' . \Feather\Icons::get_base64( 'alert-triangle', 'none', '#FF8C00' ) . '" />&nbsp;';
    1202             $help .= sprintf( decalog_esc_html__('APCu is not available on your server. To use high peformance storage mechanism you must activate %s PHP module.', 'decalog' ), '<code>apcu</code>' );
     1202            $help .= sprintf( decalog_esc_html__('APCu is not available on your server. To use high performance storage mechanism you must activate %s PHP module.', 'decalog' ), '<code>apcu</code>' );
    12031203        }
    12041204        add_settings_field(
  • decalog/trunk/assets/fatal-error-handler.php

    r3085475 r3404120  
    5555        E_USER_WARNING      => 300,
    5656        E_NOTICE            => 250,
    57         E_USER_NOTICE       => 250,
    58         E_STRICT            => 250,
     57        E_USER_NOTICE       => 100,
     58        E_STRICT            => 100,
    5959        E_DEPRECATED        => 200,
    60         E_USER_DEPRECATED   => 200,
     60        E_USER_DEPRECATED   => 100,
    6161    ];
    6262
     
    128128     */
    129129    public function handle_error( $code, $message, $file = '', $line = 0, $context = [] ) {
    130         $level   = $this->error_level_map[ $code ] ?? 500;
     130        /**
     131         * Filters the error levels map
     132         *
     133         * @See https://github.com/Pierre-Lannoy/wp-decalog/blob/master/HOOKS.md
     134         * @since 4.5.0
     135         * @param   array   $levels       The current map
     136         */
     137        $map     = apply_filters( 'decalog_error_level_map', $this->error_level_map );
     138        $level   = $map[ $code ] ?? 500;
    131139        $file    = $this->normalized_file_line( $file, $line );
    132140        $message = \sprintf( 'Error (%s): "%s" at `%s`.', $this->error_string_map[ $code ] ?? 'Unknown PHP error', $message, $file );
  • decalog/trunk/autoload.php

    r2794866 r3404120  
    1010spl_autoload_register(
    1111    function ( $class ) {
     12        $paths = array(
     13            'Decalog\\System\\'           => DECALOG_INCLUDES_DIR . 'system/',
     14            'Decalog\\Plugin\\Feature\\'  => DECALOG_INCLUDES_DIR . 'features/',
     15            'Decalog\\Plugin\\'           => DECALOG_INCLUDES_DIR . 'plugin/',
     16            'Decalog\\Processor\\'        => DECALOG_INCLUDES_DIR . 'processors/',
     17            'Decalog\\Handler\\'          => DECALOG_INCLUDES_DIR . 'handlers/',
     18            'Decalog\\Storage\\'          => DECALOG_INCLUDES_DIR . 'storage/',
     19            'Decalog\\Formatter\\'        => DECALOG_INCLUDES_DIR . 'formatters/',
     20            'Decalog\\Listener\\WP_CLI\\' => DECALOG_INCLUDES_DIR . 'listeners/wp-cli/',
     21            'Decalog\\Listener\\'         => DECALOG_INCLUDES_DIR . 'listeners/',
     22            'Decalog\\Panel\\'            => DECALOG_INCLUDES_DIR . 'panels/',
     23            'Decalog\\Library\\'          => DECALOG_VENDOR_DIR,
     24            'Decalog\\Integration\\'      => DECALOG_INCLUDES_DIR . 'integrations/',
     25            'Decalog\\API\\'              => DECALOG_INCLUDES_DIR . 'api/',
     26            'Decalog\\'                   => DECALOG_INCLUDES_DIR . 'api/',
     27        );
     28
    1229        $classname = $class;
    1330        $filepath  = __DIR__ . '/';
     
    1734            }
    1835            $filename = 'class-' . str_replace( '_', '-', strtolower( $classname ) ) . '.php';
    19             if ( strpos( $class, 'Decalog\System\\' ) === 0 ) {
    20                 $filepath = DECALOG_INCLUDES_DIR . 'system/';
    21             } elseif ( strpos( $class, 'Decalog\Plugin\Feature\\' ) === 0 ) {
    22                 $filepath = DECALOG_INCLUDES_DIR . 'features/';
    23             } elseif ( strpos( $class, 'Decalog\Plugin\\' ) === 0 ) {
    24                 $filepath = DECALOG_INCLUDES_DIR . 'plugin/';
    25             } elseif ( strpos( $class, 'Decalog\Processor\\' ) === 0 ) {
    26                 $filepath = DECALOG_INCLUDES_DIR . 'processors/';
    27             } elseif ( strpos( $class, 'Decalog\Handler\\' ) === 0 ) {
    28                 $filepath = DECALOG_INCLUDES_DIR . 'handlers/';
    29             } elseif ( strpos( $class, 'Decalog\Storage\\' ) === 0 ) {
    30                 $filepath = DECALOG_INCLUDES_DIR . 'storage/';
    31             } elseif ( strpos( $class, 'Decalog\Formatter\\' ) === 0 ) {
    32                 $filepath = DECALOG_INCLUDES_DIR . 'formatters/';
    33             } elseif ( strpos( $class, 'Decalog\Listener\WP_CLI\\' ) === 0 ) {
    34                 $filepath = DECALOG_INCLUDES_DIR . 'listeners/wp-cli/';
    35             } elseif ( strpos( $class, 'Decalog\Listener\\' ) === 0 ) {
    36                 $filepath = DECALOG_INCLUDES_DIR . 'listeners/';
    37             } elseif ( strpos( $class, 'Decalog\Panel\\' ) === 0 ) {
    38                 $filepath = DECALOG_INCLUDES_DIR . 'panels/';
    39             } elseif ( strpos( $class, 'Decalog\Library\\' ) === 0 ) {
    40                 $filepath = DECALOG_VENDOR_DIR;
    41             } elseif ( strpos( $class, 'Decalog\Integration\\' ) === 0 ) {
    42                 $filepath = DECALOG_INCLUDES_DIR . 'integrations/';
    43             } elseif ( strpos( $class, 'Decalog\API\\' ) === 0 ) {
    44                 $filepath = DECALOG_INCLUDES_DIR . 'api/';
    45             } elseif ( strpos( $class, 'Decalog\\' ) === 0 ) {
    46                 $filepath = DECALOG_INCLUDES_DIR . 'api/';
     36            foreach ( $paths as $prefix => $dir ) {
     37                if ( strpos( $class, $prefix ) === 0 ) {
     38                    $filepath = $dir;
     39                    break;
     40                }
    4741            }
    4842            if ( strpos( $filename, '-public' ) !== false ) {
  • decalog/trunk/decalog.php

    r3272132 r3404120  
    1111 * Plugin URI:        https://perfops.one/decalog
    1212 * Description:       Capture and log events, metrics and traces on your site. Make WordPress observable – finally!
    13  * Version:           4.4.0
     13 * Version:           4.5.0
    1414 * Requires at least: 6.2
    1515 * Requires PHP:      8.1
  • decalog/trunk/functions.php

    r3195163 r3404120  
    8686 * Functionally, the equivalent of the standard str_pad function, but is capable of successfully padding multibyte strings.
    8787 *
    88  * @param string $input         The string to be fully trimed.
     88 * @param string $input         The string to be fully trimmed.
    8989 * @param string $replacement   Optional. The string replacement.
    9090 *
    91  * @return string A fully trimed multibyte string.
     91 * @return string A fully trimmed multibyte string.
    9292 * @since   3.6.0
    9393 */
  • decalog/trunk/includes/features/class-classtypes.php

    r3195163 r3404120  
    3535     *
    3636     * @since  1.0.0
    37      * @var    array    $classe_names    Maintains the classes list.
     37     * @var    array    $class_names    Maintains the classes list.
    3838     */
    39     public static $classe_names = [];
     39    public static $class_names = [];
    4040
    4141    /**
     
    4545     */
    4646    public static function init() {
    47         self::$classe_names['core']    = decalog_esc_html__( 'Core', 'decalog' );
    48         self::$classe_names['plugin']  = decalog_esc_html__( 'Plugin', 'decalog' );
    49         self::$classe_names['theme']   = decalog_esc_html__( 'Theme', 'decalog' );
    50         self::$classe_names['db']      = decalog_esc_html__( 'Database', 'decalog' );
    51         self::$classe_names['php']     = decalog_esc_html__( 'PHP', 'decalog' );
    52         self::$classe_names['library'] = decalog_esc_html__( 'Library', 'decalog' );
    53         self::$classe_names['unknown'] = decalog_esc_html__( 'Unknown', 'decalog' );
     47        self::$class_names['core']    = decalog_esc_html__( 'Core', 'decalog' );
     48        self::$class_names['plugin']  = decalog_esc_html__( 'Plugin', 'decalog' );
     49        self::$class_names['theme']   = decalog_esc_html__( 'Theme', 'decalog' );
     50        self::$class_names['db']      = decalog_esc_html__( 'Database', 'decalog' );
     51        self::$class_names['php']     = decalog_esc_html__( 'PHP', 'decalog' );
     52        self::$class_names['library'] = decalog_esc_html__( 'Library', 'decalog' );
     53        self::$class_names['unknown'] = decalog_esc_html__( 'Unknown', 'decalog' );
    5454
    5555    }
  • decalog/trunk/includes/features/class-dlogger.php

    r3195163 r3404120  
    3939     * @var    string    $class    Maintains the class of the component.
    4040     */
    41     protected $class = 'unknwon';
     41    protected $class = 'unknown';
    4242
    4343    /**
  • decalog/trunk/includes/features/class-dmonitor.php

    r3085475 r3404120  
    3737     * @var    string    $class    Maintains the class of the component.
    3838     */
    39     protected $class = 'unknwon';
     39    protected $class = 'unknown';
    4040
    4141    /**
  • decalog/trunk/includes/features/class-dtracer.php

    r3085475 r3404120  
    3939     * @var    string    $class    Maintains the class of the component.
    4040     */
    41     protected $class = 'unknwon';
     41    protected $class = 'unknown';
    4242
    4343    /**
  • decalog/trunk/includes/features/class-events.php

    r3195163 r3404120  
    205205        $icon   = '<img style="width:28px;float:left;padding-top:6px;padding-right:6px;" src="' . SDK::get_icon( $item['component'] ) . '" />';
    206206        $name   = $item['component'] . $this->get_filter( 'component', $item['component'] ) . $this->get_actions( 'source', $item ) . ' <span style="color:silver">' . $item['version'] . '</span>';
    207         $result = $icon . $name . '<br /><span style="color:silver">' . ClassTypes::$classe_names[ $item['class'] ] . $this->get_filter( 'class', $item['class'], true ) . '</span>';
     207        $result = $icon . $name . '<br /><span style="color:silver">' . ClassTypes::$class_names[ $item['class'] ] . $this->get_filter( 'class', $item['class'], true ) . '</span>';
    208208        return $result;
    209209    }
  • decalog/trunk/includes/features/class-eventviewer.php

    r3195163 r3404120  
    454454        $hour    = $this->get_section( $content );
    455455        // Event source.
    456         $class     = ClassTypes::$classe_names[ strtolower( $this->event['class'] ) ];
     456        $class     = ClassTypes::$class_names[ strtolower( $this->event['class'] ) ];
    457457        $component = $this->event['component'] . ' ' . $this->event['version'];
    458458        $content   = '<span style="width:40%;cursor: default;float:left">' . $this->get_icon( 'folder' ) . $class . '</span>';
  • decalog/trunk/includes/features/class-sdk.php

    r3094032 r3404120  
    3434     * Verify if SDK is present.
    3535     *
    36      * @retun   boolean True if SDK is present, false otherwise.
     36     * @return   boolean True if SDK is present, false otherwise.
    3737     * @since    3.0.0
    3838     */
     
    5050        if ( self::is_present() ) {
    5151            $result = \DecaLog\Engine::getLoggers();
    52             foreach ( $result as $slug => $loger ) {
     52            foreach ( $result as $slug => $logger ) {
    5353                $result[ $slug ]['slug'] = $slug;
    5454            }
     
    317317        $source  = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" preserveAspectRatio="xMidYMid meet">';
    318318        $source .= '<g transform="scale(2,2) translate(0,0)">';
    319         $source .= '<g id="orginal" style="fill-rule:nonzero;clip-rule:nonzero;stroke:' . $color1 . ';stroke-miterlimit:4;"></g>';
     319        $source .= '<g id="original" style="fill-rule:nonzero;clip-rule:nonzero;stroke:' . $color1 . ';stroke-miterlimit:4;"></g>';
    320320        $source .= '<g id="Layer_x0020_3" style="fill-rule:nonzero;clip-rule:nonzero;fill:none;stroke:' . $color3 . ';stroke-width:12.4651;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;">';
    321321        $source .= '<path style="fill:' . $color1 . ';stroke:' . $color1 . ';stroke-width:37.3953;stroke-linecap:butt;stroke-linejoin:miter;" d="M323.205,324.227c2.833-23.601,1.984-27.062,19.563-23.239l4.463,0.392c13.517,0.615,31.199-2.174,41.587-7c22.362-10.376,35.622-27.7,13.572-23.148c-50.297,10.376-53.755-6.655-53.755-6.655c53.111-78.803,75.313-178.836,56.149-203.322    C352.514-5.534,262.036,26.049,260.522,26.869l-0.482,0.089c-9.938-2.062-21.06-3.294-33.554-3.496c-22.761-0.374-40.032,5.967-53.133,15.904c0,0-161.408-66.498-153.899,83.628c1.597,31.936,45.777,241.655,98.47,178.31    c19.259-23.163,37.871-42.748,37.871-42.748c9.242,6.14,20.307,9.272,31.912,8.147l0.897-0.765c-0.281,2.876-0.157,5.689,0.359,9.019c-13.572,15.167-9.584,17.83-36.723,23.416c-27.457,5.659-11.326,15.734-0.797,18.367c12.768,3.193,42.305,7.716,62.268-20.224    l-0.795,3.188c5.325,4.26,4.965,30.619,5.72,49.452c0.756,18.834,2.017,36.409,5.856,46.771c3.839,10.36,8.369,37.05,44.036,29.406c29.809-6.388,52.6-15.582,54.677-101.107"/>';
  • decalog/trunk/includes/formatters/class-datadogformatter.php

    r3195163 r3404120  
    5353            $event['message'] = $record['message'];
    5454        } else {
    55             $event['message'] = '<no messsage>';
     55            $event['message'] = '<no message>';
    5656        }
    5757        if ( array_key_exists( 'level', $record ) ) {
  • decalog/trunk/includes/formatters/class-generichtmlformatter.php

    r3195163 r3404120  
    118118
    119119    /**
    120      * Get tarce detail.
     120     * Get trace detail.
    121121     *
    122122     * @param  array   $trace     The trace records.
  • decalog/trunk/includes/formatters/class-newrelicformatter.php

    r2658577 r3404120  
    6969            $event['message'] = str_replace( '\'', '`', $event['message'] );
    7070        } else {
    71             $event['message'] = '<no messsage>';
     71            $event['message'] = '<no message>';
    7272        }
    7373        if ( array_key_exists( 'level', $record ) ) {
  • decalog/trunk/includes/handlers/class-abstractmonitoringhandler.php

    r2870563 r3404120  
    146146        $message = wp_remote_retrieve_response_message( $result );
    147147        if ( '' === $message ) {
    148             $message = 'Unknow error';
     148            $message = 'Unknown error';
    149149        }
    150150        if ( $this->error_control ) {
  • decalog/trunk/includes/handlers/class-abstracttracinghandler.php

    r2870563 r3404120  
    535535            $message = wp_remote_retrieve_response_message( $result );
    536536            if ( '' === $message ) {
    537                 $message = 'Unknow error';
     537                $message = 'Unknown error';
    538538            }
    539539            if ( $this->error_control ) {
  • decalog/trunk/includes/integrations/class-optimizelogger.php

    r3195163 r3404120  
    6666     * @since 1.9.0
    6767     */
    68     public function emergency( $message, array $context = [] ) {
     68    public function emergency( $message, $context = [] ) {
    6969        $this->logger->emergency( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    7070    }
     
    7777     * @since 1.9.0
    7878     */
    79     public function alert( $message, array $context = [] ) {
     79    public function alert( $message, $context = [] ) {
    8080        $this->logger->alert( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    8181    }
     
    8888     * @since 1.9.0
    8989     */
    90     public function critical( $message, array $context = [] ) {
     90    public function critical( $message, $context = [] ) {
    9191        $this->logger->critical( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    9292    }
     
    100100     * @since 1.9.0
    101101     */
    102     public function error( $message, array $context = [] ) {
     102    public function error( $message, $context = [] ) {
    103103        $this->logger->error( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    104104    }
     
    111111     * @since 1.9.0
    112112     */
    113     public function warning( $message, array $context = [] ) {
     113    public function warning( $message, $context = [] ) {
    114114        $this->logger->warning( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    115115    }
     
    122122     * @since 1.9.0
    123123     */
    124     public function notice( $message, array $context = [] ) {
     124    public function notice( $message, $context = [] ) {
    125125        $this->logger->notice( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    126126    }
     
    135135     * @since 1.9.0
    136136     */
    137     public function info( $message, array $context = [] ) {
     137    public function info( $message, $context = [] ) {
    138138        $this->logger->info( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    139139    }
     
    146146     * @since 1.9.0
    147147     */
    148     public function debug( $message, array $context = [] ) {
     148    public function debug( $message, $context = [] ) {
    149149        $this->logger->debug( (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    150150    }
     
    158158     * @since 1.9.0
    159159     */
    160     public function log( $level, $message, array $context = [] ) {
     160    public function log( $level, $message, $context = [] ) {
    161161        $this->logger->log( $level, (string) $message, is_array( $context ) && array_key_exists( 'code', $context ) && is_scalar( $context['code'] ) ? (int) $context['code'] : 0 );
    162162    }
  • decalog/trunk/includes/libraries/elastic/elasticsearch/Client.php

    r3085475 r3404120  
    4040
    4141    /**
    42      * Specify is the request is asyncronous
     42     * Specify is the request is asynchronous
    4343     */
    4444    protected bool $async = false;
  • decalog/trunk/includes/libraries/elastic/elasticsearch/ClientBuilder.php

    r3085475 r3404120  
    5252
    5353    /**
    54      * The NodelPool
     54     * The NodePool
    5555     */
    5656    private NodePoolInterface $nodePool;
     
    385385        if (!empty($this->apiKey)) {
    386386            if (!empty($this->username)) {
    387                 throw new AuthenticationException('You cannot use APIKey and Basic Authenication together');
     387                throw new AuthenticationException('You cannot use APIKey and Basic Authentication together');
    388388            }
    389389            $transport->setHeader('Authorization', sprintf("ApiKey %s", $this->apiKey));
  • decalog/trunk/includes/libraries/elastic/elasticsearch/ClientInterface.php

    r3085475 r3404120  
    3434
    3535     /**
    36      * Set the asyncronous HTTP request
     36     * Set the asynchronous HTTP request
    3737     */
    3838    public function setAsync(bool $async): self;
    3939
    4040    /**
    41      * Get the asyncronous HTTP request setting
     41     * Get the asynchronous HTTP request setting
    4242     */
    4343    public function getAsync(): bool;
     
    6565    /**
    6666     * Send the HTTP request using the Elastic Transport.
    67      * It manages syncronous and asyncronus requests using Client::getAsync()
     67     * It manages synchronous and asynchronous requests using Client::getAsync()
    6868     *
    6969     * @return Elasticsearch|Promise
  • decalog/trunk/includes/libraries/elastic/elasticsearch/Endpoints/Ml.php

    r3085475 r3404120  
    11311131     *     influencer_score: double, // influencer score threshold for the requested influencers
    11321132     *     sort: string, // sort field for the requested influencers
    1133      *     desc: boolean, // whether the results should be sorted in decending order
     1133     *     desc: boolean, // whether the results should be sorted in descending order
    11341134     *     pretty: boolean, // Pretty format the returned JSON response. (DEFAULT: false)
    11351135     *     human: boolean, // Return human readable values for statistics. (DEFAULT: true)
  • decalog/trunk/includes/libraries/elastic/elasticsearch/Helper/Iterators/SearchResponseIterator.php

    r3085475 r3404120  
    136136
    137137    /**
    138      * Fetches every "page" after the first one using the lastest "scroll_id"
     138     * Fetches every "page" after the first one using the latest "scroll_id"
    139139     *
    140140     * @return void
  • decalog/trunk/includes/libraries/elastic/elasticsearch/Response/Elasticsearch.php

    r3085475 r3404120  
    119119        }
    120120        throw new UnknownContentTypeException(sprintf(
    121             "Cannot deserialize the reponse as array with Content-Type: %s",
     121            "Cannot deserialize the response as array with Content-Type: %s",
    122122            $contentType
    123123        ));
     
    152152        }
    153153        throw new UnknownContentTypeException(sprintf(
    154             "Cannot deserialize the reponse as object with Content-Type: %s",
     154            "Cannot deserialize the response as object with Content-Type: %s",
    155155            $contentType
    156156        ));
  • decalog/trunk/includes/libraries/elastic/elasticsearch/Traits/EndpointTrait.php

    r3085475 r3404120  
    3131{
    3232    /**
    33      * Check if an array containts nested array
     33     * Check if an array contains nested array
    3434     */
    3535    private function isNestedArray(array $a): bool
     
    157157    /**
    158158     * Build the API compatibility headers
    159      * transfrom Content-Type and Accept adding vnd.elasticsearch+ and compatible-with
     159     * transform Content-Type and Accept adding vnd.elasticsearch+ and compatible-with
    160160     *
    161161     * @see https://github.com/elastic/elasticsearch-php/pull/1142
  • decalog/trunk/includes/libraries/elastic/transport/Transport.php

    r3085475 r3404120  
    153153            $phpSemVersion,
    154154            $this->purgePreReleaseTag(self::VERSION),
    155             $async ? 1 : 0 // 0=syncronous, 1=asynchronous
     155            $async ? 1 : 0 // 0=synchronous, 1=asynchronous
    156156        );
    157157        $lib = $this->getClientLibraryInfo();
  • decalog/trunk/includes/libraries/guzzlehttp/Psr7/LimitStream.php

    r3085475 r3404120  
    106106     * @param int $offset Offset to seek to and begin byte limiting from
    107107     *
    108      * @throws \RuntimeException if the stream cannot be seeked.
     108     * @throws \RuntimeException if the stream cannot be sought.
    109109     */
    110110    public function setOffset(int $offset): void
  • decalog/trunk/includes/libraries/guzzlehttp/Psr7/NoSeekStream.php

    r3085475 r3404120  
    88
    99/**
    10  * Stream decorator that prevents a stream from being seeked.
     10 * Stream decorator that prevents a stream from being sought.
    1111 */
    1212final class NoSeekStream implements StreamInterface
  • decalog/trunk/includes/libraries/http/client-common/Plugin/HeaderSetPlugin.php

    r3085475 r3404120  
    1212 * Set headers on the request.
    1313 *
    14  * If the header does not exist it wil be set, if the header already exists it will be replaced.
     14 * If the header does not exist it will be set, if the header already exists it will be replaced.
    1515 *
    1616 * @author Soufiane Ghzal <sghzal@gmail.com>
  • decalog/trunk/includes/libraries/http/client-common/Plugin/SeekableBodyPlugin.php

    r3085475 r3404120  
    2424
    2525    /**
    26      * @param array{'use_file_buffer'?: bool, 'memory_boffer_size'?: int} $config
     26     * @param array{'use_file_buffer'?: bool, 'memory_buffer_size'?: int} $config
    2727     *
    2828     * Configuration options:
  • decalog/trunk/includes/libraries/http/discovery/Composer/Plugin.php

    r3085475 r3404120  
    2828 * virtual packages, this plugin will auto-install a well-known implementation if none is
    2929 * found. The plugin will first look at already installed packages and figure out the
    30  * preferred implementation to install based on the below stickyness rules (or on the first
     30 * preferred implementation to install based on the below stickiness rules (or on the first
    3131 * listed implementation if no rules match.)
    3232 *
     
    9090     * depending on which one is already installed on the right side.
    9191     */
    92     private const STICKYNESS_RULES = [
     92    private const STICKINESS_RULES = [
    9393        'symfony/http-client' => 'symfony/framework-bundle',
    9494        'php-http/guzzle7-adapter' => 'guzzlehttp/guzzle:^7',
     
    339339                }
    340340
    341                 foreach (array_intersect_key(self::STICKYNESS_RULES, $candidates) as $candidate => $stickyRule) {
     341                foreach (array_intersect_key(self::STICKINESS_RULES, $candidates) as $candidate => $stickyRule) {
    342342                    [$stickyName, $stickyVersion] = explode(':', $stickyRule, 2) + [1 => null];
    343343                    if (!isset($allPackages[$stickyName]) || ($isProject && !$dev && isset($devPackages[$stickyName]))) {
  • decalog/trunk/includes/libraries/influxdb/ApiException.php

    r3085475 r3404120  
    101101
    102102    /**
    103      * Sets the deseralized response object (during deserialization)
     103     * Sets the deserialized response object (during deserialization)
    104104     *
    105105     * @param mixed $obj Deserialized response object
     
    113113
    114114    /**
    115      * Gets the deseralized response object (during deserialization)
     115     * Gets the deserialized response object (during deserialization)
    116116     *
    117117     * @return mixed the deserialized response object
  • decalog/trunk/includes/libraries/influxdb/Configuration.php

    r2552001 r3404120  
    376376
    377377    /**
    378      * Sets the detault configuration instance
     378     * Sets the default configuration instance
    379379     *
    380380     * @param Configuration $config An instance of the Configuration Object
  • decalog/trunk/includes/libraries/influxdb/FluxCsvParser.php

    r3085475 r3404120  
    292292
    293293        if ('dateTime:RFC3339' == $column->dataType || 'dateTime:RFC3339Nano' == $column->dataType) {
    294             ##todo nanoseconds precission, php datetime is only in microseconds precision
     294            # @todo nanoseconds precision, php datetime is only in microseconds precision
    295295            return $strVal;
    296296        }
  • decalog/trunk/includes/libraries/influxdb/HeaderSelector.php

    r3085475 r3404120  
    9393     * Return the content type based on an array of content-type provided
    9494     *
    95      * @param string[] $contentType Array fo content-type
     95     * @param string[] $contentType Array of content-type
    9696     *
    9797     * @return string Content-Type (e.g. application/json)
  • decalog/trunk/includes/libraries/influxdb/WriteRetry.php

    r3085475 r3404120  
    1616    private $jitterInterval;
    1717    private $maxRetryTime;
    18     private $retryTimout;
     18    private $retryTimeout;
    1919    /**
    2020     * @var array
     
    5858        $this->options = $options;
    5959
    60         //retry timout
    61         $this->retryTimout = microtime(true) * 1000 + $maxRetryTime;
     60        //retry timeout
     61        $this->retryTimeout = microtime(true) * 1000 + $maxRetryTime;
    6262    }
    6363
     
    8282
    8383            // throws exception when max retry time is exceeded
    84             if (microtime(true) * 1000 > $this->retryTimout) {
     84            if (microtime(true) * 1000 > $this->retryTimeout) {
    8585                DefaultApi::log("ERROR", "Maximum retry time $this->maxRetryTime ms exceeded", $this->options);
    8686                throw $e;
  • decalog/trunk/includes/libraries/jaeger/Thrift/Agent/Zipkin/Span.php

    r2552001 r3404120  
    130130   * against a tick of currentTimeMillis.
    131131   *
    132    * For compatibilty with instrumentation that precede this field, collectors
     132   * For compatibility with instrumentation that precede this field, collectors
    133133   * or span stores can derive this via Annotation.timestamp.
    134134   * For example, SERVER_RECV.timestamp or CLIENT_SEND.timestamp.
     
    147147   * updates causing time to move backwards.
    148148   *
    149    * For compatibilty with instrumentation that precede this field, collectors
     149   * For compatibility with instrumentation that precede this field, collectors
    150150   * or span stores can derive this by subtracting Annotation.timestamp.
    151151   * For example, SERVER_SEND.timestamp - SERVER_RECV.timestamp.
  • decalog/trunk/includes/libraries/lock/mutex/TransactionalMutex.php

    r2552001 r3404120  
    104104     * @param callable $code The synchronized execution block.
    105105     * @throws \Exception The execution block threw an exception.
    106      * @throws LockAcquireException The transaction was not commited.
     106     * @throws LockAcquireException The transaction was not committed.
    107107     * @return mixed The return value of the execution block.
    108108     * @SuppressWarnings(PHPMD)
  • decalog/trunk/includes/libraries/lock/util/DoubleCheckedLocking.php

    r2391127 r3404120  
    5050     * If then returns boolean boolean false, the check did not pass before or
    5151     * after acquiring the lock. A boolean false can also be returned from the
    52      * critical code callback to indicate that processing did not occure or has
     52     * critical code callback to indicate that processing did not occur or has
    5353     * failed. It is up to the user to decide the last point.
    5454     *
  • decalog/trunk/includes/libraries/lock/util/PcntlTimeout.php

    r2391127 r3404120  
    5353     *
    5454     * This method has the side effect, that any signal handler for SIGALRM will
    55      * be reset to the default hanlder (SIG_DFL). It also expects that there is
     55     * be reset to the default handler (SIG_DFL). It also expects that there is
    5656     * no previously scheduled alarm. If your application uses alarms
    5757     * ({@link pcntl_alarm()}) or a signal handler for SIGALRM, don't use this
    58      * method. It will interfer with your application and lead to unexpected
     58     * method. It will interfere with your application and lead to unexpected
    5959     * behaviour.
    6060     *
  • decalog/trunk/includes/libraries/markdown/MarkdownParser.php

    r2391127 r3404120  
    4545
    4646    /**
    47      * @var array these are "escapeable" characters. When using one of these prefixed with a
     47     * @var array these are "escapable" characters. When using one of these prefixed with a
    4848     * backslash, the character will be outputted without the backslash and is not interpreted
    4949     * as markdown.
  • decalog/trunk/includes/libraries/markdown/Parser.php

    r2391127 r3404120  
    2727    protected $context = [];
    2828    /**
    29      * @var array these are "escapeable" characters. When using one of these prefixed with a
     29     * @var array these are "escapable" characters. When using one of these prefixed with a
    3030     * backslash, the character will be outputted without the backslash and is not interpreted
    3131     * as markdown.
     
    130130
    131131    /**
    132      * Given a set of lines and an index of a current line it uses the registed block types to
     132     * Given a set of lines and an index of a current line it uses the registered block types to
    133133     * detect the type of this line.
    134134     * @param array $lines
  • decalog/trunk/includes/libraries/markdown/inline/LinkTrait.php

    r2391127 r3404120  
    1212
    1313/**
    14  * Addes links and images as well as url markers.
     14 * Adds links and images as well as url markers.
    1515 *
    1616 * This trait conflicts with the HtmlTrait. If both are used together,
  • decalog/trunk/includes/libraries/monolog/ErrorHandler.php

    r3085475 r3404120  
    168168            E_USER_ERROR        => LogLevel::ERROR,
    169169            E_USER_WARNING      => LogLevel::WARNING,
    170             E_USER_NOTICE       => LogLevel::NOTICE,
    171             E_STRICT            => LogLevel::NOTICE,
     170            E_USER_NOTICE       => LogLevel::DEBUG,
     171            E_STRICT            => LogLevel::DEBUG,
    172172            E_RECOVERABLE_ERROR => LogLevel::ERROR,
    173             E_DEPRECATED        => LogLevel::NOTICE,
    174             E_USER_DEPRECATED   => LogLevel::NOTICE,
     173            E_DEPRECATED        => LogLevel::INFO,
     174            E_USER_DEPRECATED   => LogLevel::DEBUG,
    175175        ];
    176176    }
  • decalog/trunk/includes/libraries/prometheus/Storage/APC.php

    r2552001 r3404120  
    142142    public function wipeStorage(): void
    143143    {
    144         //                   /      / | PCRE expresion boundary
     144        //                   /      / | PCRE expression boundary
    145145        //                    ^       | match from first character only
    146146        //                     %s:    | common prefix substitute with colon suffix
  • decalog/trunk/includes/libraries/spyc/Spyc.php

    r2397530 r3404120  
    8383
    8484  /**
    85    * Setting this to true will forse YAMLLoad to use syck_load function when
     85   * Setting this to true will force YAMLLoad to use syck_load function when
    8686   * possible. False by default.
    8787   * @var bool
     
    9090
    9191  /**
    92    * Setting this to true will forse YAMLLoad to use syck_load function when
     92   * Setting this to true will force YAMLLoad to use syck_load function when
    9393   * possible. False by default.
    9494   * @var bool
  • decalog/trunk/includes/libraries/thrift/Protocol/TJSONProtocol.php

    r2552001 r3404120  
    662662     * @param string $name Function name
    663663     * @param int $type message type TMessageType::CALL or TMessageType::REPLY
    664      * @parem int $seqid The sequence id of this message
     664     * @param int $seqid The sequence id of this message
    665665     */
    666666    public function readMessageBegin(&$name, &$type, &$seqid)
  • decalog/trunk/includes/libraries/thrift/Protocol/TProtocol.php

    r2552001 r3404120  
    135135     * @param string $name Function name
    136136     * @param int $type message type TMessageType::CALL or TMessageType::REPLY
    137      * @parem int $seqid The sequence id of this message
     137     * @param int $seqid The sequence id of this message
    138138     */
    139139    abstract public function readMessageBegin(&$name, &$type, &$seqid);
  • decalog/trunk/includes/libraries/thrift/Server/TServerTransport.php

    r2552001 r3404120  
    3838
    3939    /**
    40      * Uses the accept implemtation. If null is returned, an
     40     * Uses the accept implementation. If null is returned, an
    4141     * exception is thrown.
    4242     *
  • decalog/trunk/includes/libraries/thrift/Server/TSimpleServer.php

    r2552001 r3404120  
    66
    77/**
    8  * Simple implemtation of a Thrift server.
     8 * Simple implementation of a Thrift server.
    99 *
    1010 * @package thrift.server
  • decalog/trunk/includes/libraries/thrift/Type/TConstant.php

    r2552001 r3404120  
    2929{
    3030    /**
    31      * Don't instanciate this class
     31     * Don't instantiate this class
    3232     */
    3333    protected function __construct()
  • decalog/trunk/includes/libraries/tracy/Tracy/Debugger/Debugger.php

    r3085475 r3404120  
    205205        if (function_exists('ini_set')) {
    206206            ini_set('display_errors', '0'); // or 'stderr'
    207             ini_set('html_errors', '0'); // additionally turns off stack trace displaing by xdebug
     207            ini_set('html_errors', '0'); // additionally turns off stack trace displaying by xdebug
    208208            ini_set('log_errors', '0');
    209209            ini_set('zend.exception_ignore_args', '0');
     
    429429        if (empty(self::$logger)) {
    430430            self::$logger = new Logger(self::$logDirectory, self::$email, self::getBlueScreen());
    431             self::$logger->directory = &self::$logDirectory; // back compatiblity
     431            self::$logger->directory = &self::$logDirectory; // back compatibility
    432432            self::$logger->email = &self::$email;
    433433        }
  • decalog/trunk/includes/listeners/class-abstractlistener.php

    r2794866 r3404120  
    5959     *
    6060     * @since  3.0.0
    61      * @var    \Decalog\Plugin\Feature\DTracer   $monitor    An instance of DTracer to trace listener tarces.
     61     * @var    \Decalog\Plugin\Feature\DTracer   $monitor    An instance of DTracer to trace listener traces.
    6262     */
    6363    protected $tracer = null;
  • decalog/trunk/includes/listeners/class-corelistener.php

    r3195163 r3404120  
    192192            add_filter( 'pre_unschedule_hook', [ $this, 'pre_unschedule_hook' ], PHP_INT_MAX, 2 );
    193193        }
    194         // Aplications Passwords
     194        // Applications Passwords
    195195        add_action( 'wp_create_application_password', [ $this, 'wp_create_application_password' ], 10, 4 );
    196196        add_action( 'wp_update_application_password', [ $this, 'wp_update_application_password' ], 10, 3 );
     
    13871387    public function pre_clear_scheduled_hook( $pre, $hook, $args = null, $wp_error = null ) {
    13881388        if ( is_null( $pre ) ) {
    1389             $this->logger->info( sprintf( 'The "%s" event will be cleared.', $hook ) );
     1389            $this->logger->debug( sprintf( 'The "%s" event will be cleared.', $hook ) );
    13901390        } else {
    1391             $this->logger->notice( sprintf( 'A plugin prevented the "%s" event to be cleared.', $hook ) );
     1391            $this->logger->info( sprintf( 'A plugin prevented the "%s" event to be cleared.', $hook ) );
    13921392        }
    13931393        return $pre;
  • decalog/trunk/includes/listeners/class-libaschedulerlistener.php

    r3085475 r3404120  
    138138     */
    139139    public function action_scheduler_deleted_action( $action_id ) {
    140         $this->logger->notice( sprintf( 'Action "%s" (action ID %s) deleted.', \ActionScheduler::store()->fetch_action( $action_id )->get_hook(), $action_id ) );
     140        $this->logger->info( sprintf( 'Action "%s" (action ID %s) deleted.', \ActionScheduler::store()->fetch_action( $action_id )->get_hook(), $action_id ) );
    141141    }
    142142
     
    192192     */
    193193    public function action_scheduler_failed_old_action_deletion( $action_id, $exception ) {
    194         $this->logger->error( sprintf( 'Unable to delete old action "%s" (action ID %s): %s.', \ActionScheduler::store()->fetch_action( $action_id )->get_hook(), $action_id, ( $exception instanceof \Throwable ? $exception->getMessage() : 'unknown error' ) ) );
     194        $this->logger->notice( sprintf( 'Unable to delete old action "%s" (action ID %s): %s.', \ActionScheduler::store()->fetch_action( $action_id )->get_hook(), $action_id, ( $exception instanceof \Throwable ? $exception->getMessage() : 'unknown error' ) ) );
    195195    }
    196196
  • decalog/trunk/includes/listeners/class-phplistener.php

    r3085475 r3404120  
    4848        E_USER_WARNING      => Logger::WARNING,
    4949        E_NOTICE            => Logger::NOTICE,
    50         E_USER_NOTICE       => Logger::NOTICE,
    51         E_STRICT            => Logger::NOTICE,
     50        E_USER_NOTICE       => Logger::DEBUG,
     51        E_STRICT            => Logger::DEBUG,
    5252        E_DEPRECATED        => Logger::INFO,
    53         E_USER_DEPRECATED   => Logger::INFO,
     53        E_USER_DEPRECATED   => Logger::DEBUG,
    5454    ];
    5555
  • decalog/trunk/includes/listeners/wp-cli/class-quiet.php

    r2794866 r3404120  
    5151     */
    5252    public function info( $message ) {
    53         $this->logger->info( ucfirst( $message ) );
    5453        parent::info( $message );
    5554    }
     
    6261     */
    6362    public function success( $message ) {
    64         $this->logger->notice( ucfirst( $message ) );
    6563        parent::success( $message );
    6664    }
     
    7371     */
    7472    public function warning( $message ) {
    75         $this->logger->warning( ucfirst( $message ) );
    7673        parent::warning( $message );
    7774    }
  • decalog/trunk/includes/plugin/class-initializer.php

    r3195163 r3404120  
    6969                    } catch ( \Exception $e ) {
    7070                        $logger = Log::bootstrap( 'plugin', DECALOG_PRODUCT_SHORTNAME, DECALOG_VERSION );
    71                         $logger->critical( sprintf( 'Unable to instanciate `%s` class. DecaLog will not log following WP-CLI events.', $class ) );
     71                        $logger->critical( sprintf( 'Unable to instantiate `%s` class. DecaLog will not log following WP-CLI events.', $class ) );
    7272                    }
    7373                } else {
  • decalog/trunk/includes/plugin/class-updater.php

    r3272132 r3404120  
    223223        }
    224224        $md                           = new Markdown();
    225         $res                          = new \stdClass();
     225        if ( ! is_object( $res ) ) {
     226            $res = new \stdClass();
     227        }
    226228        $res->name                    = $this->name;
    227229        $res->homepage                = 'https://perfops.one/' . $this->slug;
     
    238240        $res->download_link           = $infos->download_url;
    239241        $res->trunk                   = $infos->download_url;
    240         $res->sections                = [
    241             'changelog' => $md->get_inline( $infos->changelog, [] ) . '<br/><br/><p><a target="_blank" href="' . $res->homepage . '-changelog">CHANGELOG »</a></p>',
    242         ];
    243         $res->banners                 = [
    244             "low"  => str_replace( 'github.com', 'raw.githubusercontent.com', $this->product ) . '/refs/heads/master/.wordpress-org/banner-772x250.jpg',
    245             "high" => str_replace( 'github.com', 'raw.githubusercontent.com', $this->product ) . '/refs/heads/master/.wordpress-org/banner-1544x500.jpg'
    246         ];
     242        if ( isset( $res->sections['changelog'] ) ) {
     243            $res->sections['changelog'] = $md->get_inline( $infos->changelog, [] ) . '<br/><br/><p><a target="_blank" href="' . $res->homepage . '-changelog">CHANGELOG »</a></p>';
     244        } else {
     245            $res->sections = [
     246                'changelog' => $md->get_inline( $infos->changelog, [] ) . '<br/><br/><p><a target="_blank" href="' . $res->homepage . '-changelog">CHANGELOG »</a></p>',
     247            ];
     248        }
     249        if ( isset( $res->banners['low'] ) && isset( $res->banners['high'] )) {
     250            $res->banners['low'] = str_replace( 'github.com', 'raw.githubusercontent.com', $this->product ) . '/refs/heads/master/.wordpress-org/banner-772x250.jpg';
     251            $res->banners['high'] = str_replace( 'github.com', 'raw.githubusercontent.com', $this->product ) . '/refs/heads/master/.wordpress-org/banner-1544x500.jpg';
     252        } else {
     253            $res->banners                 = [
     254                'low'  => str_replace( 'github.com', 'raw.githubusercontent.com', $this->product ) . '/refs/heads/master/.wordpress-org/banner-772x250.jpg',
     255                'high' => str_replace( 'github.com', 'raw.githubusercontent.com', $this->product ) . '/refs/heads/master/.wordpress-org/banner-1544x500.jpg'
     256            ];
     257        }
    247258        return $res;
    248259    }
  • decalog/trunk/includes/system/class-blog.php

    r2595032 r3404120  
    116116            return sprintf( '"%s" (site ID %s)', (string) $id->blogname, $id->id );
    117117        }
    118         return 'unknow site';
     118        return 'unknown site';
    119119    }
    120120
  • decalog/trunk/includes/system/class-cache.php

    r2794866 r3404120  
    419419     * @since  1.0.0
    420420     */
    421     private static function delete_for_ful_name( $item_name ) {
     421    private static function delete_for_full_name( $item_name ) {
    422422        $item_name = self::normalized_item_name( $item_name );
    423423        $result    = 0;
     
    461461     * @since  3.4.0
    462462     */
    463     private static function delete_apcu_for_ful_name( $item_name ) {
     463    private static function delete_apcu_for_full_name( $item_name ) {
    464464        $item_name = self::normalized_item_name( $item_name );
    465465        $result    = 0;
     
    516516     */
    517517    public static function delete_global( $item_name ) {
    518         return self::delete_for_ful_name( self::full_item_name( $item_name ) );
     518        return self::delete_for_full_name( self::full_item_name( $item_name ) );
    519519    }
    520520
     
    527527     */
    528528    public static function delete_global_apcu( $item_name ) {
    529         return self::delete_apcu_for_ful_name( self::full_item_name( $item_name ) );
     529        return self::delete_apcu_for_full_name( self::full_item_name( $item_name ) );
    530530    }
    531531
     
    543543     */
    544544    public static function delete( $item_name, $blog_aware = false, $locale_aware = false, $user_aware = false ) {
    545         return self::delete_for_ful_name( self::full_item_name( $item_name, $blog_aware, $locale_aware, $user_aware ) );
     545        return self::delete_for_full_name( self::full_item_name( $item_name, $blog_aware, $locale_aware, $user_aware ) );
    546546    }
    547547
  • decalog/trunk/includes/system/class-comment.php

    r2552001 r3404120  
    4949            return sprintf( '"%s" (comment ID %s)', wp_trim_words( wp_kses( $comment->comment_content, [] ), 8 ), $comment->comment_ID );
    5050        } else {
    51             return 'unknow comment';
     51            return 'unknown comment';
    5252        }
    5353    }
  • decalog/trunk/includes/system/class-role.php

    r2481266 r3404120  
    8787     *
    8888     * @param   integer $user_id         Optional. The user id.
    89      * @return  boolean  True if privileges can be overridded, false otherwise.
     89     * @return  boolean  True if privileges can be overridden, false otherwise.
    9090     * @since   2.4.0
    9191     */
  • decalog/trunk/includes/system/class-sharedmemory.php

    r3085475 r3404120  
    7979
    8080    /**
    81      * Acquire a ressource.
     81     * Acquire a resource.
    8282     *
    8383     * @param   string  $flags     Optional. The flags for opening.
  • decalog/trunk/init.php

    r3272132 r3404120  
    1313define( 'DECALOG_PRODUCT_ABBREVIATION', 'decalog' );
    1414define( 'DECALOG_SLUG', 'decalog' );
    15 define( 'DECALOG_VERSION', '4.4.0' );
     15define( 'DECALOG_VERSION', '4.5.0' );
    1616define( 'DECALOG_API_VERSION', '3' );
    1717define( 'DECALOG_MONOLOG_VERSION', '2.9.3' );
  • decalog/trunk/languages/decalog.pot

    r2713367 r3404120  
    442442#: admin/class-decalog-admin.php:1186
    443443msgid ""
    444 "APCu is available on your server: you can use high peformance storage "
     444"APCu is available on your server: you can use high performance storage "
    445445"mechanism."
    446446msgstr ""
     
    449449#, php-format
    450450msgid ""
    451 "APCu is not available on your server. To use high peformance storage "
     451"APCu is not available on your server. To use high performance storage "
    452452"mechanism you must activate %s PHP module."
    453453msgstr ""
  • decalog/trunk/readme.txt

    r3272132 r3404120  
    44Requires at least: 6.2
    55Requires PHP: 8.1
    6 Tested up to: 6.8
    7 Stable tag: 4.4.0
     6Tested up to: 6.9
     7Stable tag: 4.5.0
    88License: GPLv3
    99License URI: https://www.gnu.org/licenses/gpl-3.0.html
Note: See TracChangeset for help on using the changeset viewer.