HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpmuhibbah_err/wp-content/plugins/give/src/MultiFormGoals/ProgressBar/Block.php
<?php

namespace Give\MultiFormGoals\ProgressBar;

use Give\MultiFormGoals\ProgressBar\Model as ProgressBar;

class Block
{

    /**
     * Registers Multi-Form Goals block
     *
     * @since 2.9.0
     **/
    public function addBlock()
    {
        register_block_type(
            'give/progress-bar',
            [
                'render_callback' => [$this, 'renderCallback'],
                'attributes' => [
                    'ids' => [
                        'type' => 'array',
                        'default' => [],
                    ],
                    'categories' => [
                        'type' => 'array',
                        'default' => [],
                    ],
                    'tags' => [
                        'type' => 'array',
                        'default' => [],
                    ],
                    'goal' => [
                        'type' => 'string',
                        'default' => '1000',
                    ],
                    'enddate' => [
                        'type' => 'string',
                        'default' => '',
                    ],
                    'color' => [
                        'type' => 'string',
                        'default' => '#28c77b',
                    ],
                ],

            ]
        );
    }

    /**
     * Returns Progress Bar block markup
     *
     * @since 3.1.0 Use static function on array_map callback to pass the id as reference for _give_redirect_form_id to prevent warnings on PHP 8.0.1 or plus
     * @since 2.9.0
     **/
    public function renderCallback($attributes)
    {
        $progressBar = new ProgressBar(
            [
                'ids' => array_map(
                    static function ($id) {
                        _give_redirect_form_id($id);

                        return $id;
                    },
                    $attributes['ids']
                ),
                'tags' => $attributes['tags'],
                'categories' => $attributes['categories'],
                'goal' => $attributes['goal'],
                'enddate' => $attributes['enddate'],
                'color' => $attributes['color'],
            ]
        );

        return $progressBar->getOutput();
    }

    public function localizeAssets()
    {
        $defaultColorPalette = [
            [
                'name' => __('Red', 'give'),
                'color' => '#dd3333',
            ],
            [
                'name' => __('Orange', 'give'),
                'color' => '#dd9933',
            ],
            [
                'name' => __('Green', 'give'),
                'color' => '#28C77B',
            ],
            [
                'name' => __('Blue', 'give'),
                'color' => '#1e73be',
            ],
            [
                'name' => __('Purple', 'give'),
                'color' => '#8224e3',
            ],
            [
                'name' => __('Grey', 'give'),
                'color' => '#777777',
            ],
        ];
        $editorColorPalette = get_theme_support('editor-color-palette'); // Return value is in a nested array.

        wp_localize_script(
            'give-blocks-js',
            'giveProgressBarThemeSupport',
            [
                'editorColorPalette' => is_array($editorColorPalette) ? array_shift(
                    $editorColorPalette
                ) : $defaultColorPalette,
            ]
        );
    }
}