HEX
Server: LiteSpeed
System: Linux server315.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: globfdxw (6114)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /home/globfdxw/www/wp-content/plugins/give/src/TestData/Factories/PageFactory.php
<?php

namespace Give\TestData\Factories;

use Give\TestData\Framework\Factory;

/**
 * Class PageFactory
 * @package Give\TestData\Factories
 */
class PageFactory extends Factory
{

    /**
     * Donor definition
     *
     * @since 1.0.0
     * @return array
     */
    public function definition()
    {
        return [
            'post_title' => 'GiveWP Demonstration page',
            'post_content' => $this->getContent(),
            'post_status' => 'publish',
            'post_author' => $this->randomAuthor(),
            'post_type' => 'page',
        ];
    }

    /**
     * Page content
     *
     * @since 1.0.0
     * @return string
     */
    public function getContent()
    {
        $giveShortcodes = $this->getGiveShortcodes();

        $content = '';

        foreach ($giveShortcodes as $shortcode) {
            $content .= "<h3>[{$shortcode}]</h3>";
            $content .= "[{$shortcode}]";
        }

        return $content;
    }

    /**
     * Get GiveWP shortcodes
     *
     * @return array
     */
    private function getGiveShortcodes()
    {
        $shortcodes = [];

        foreach ($GLOBALS['shortcode_tags'] as $shortcode => $action) {
            if (false !== strpos($shortcode, 'give_')) {
                $shortcodes[] = $shortcode;
            }
        }

        return $shortcodes;
    }
}