HEX
Server: Apache/2.4.63 (Unix)
System: Linux TOMS-220NAS 4.4.302+ #86009 SMP Wed Nov 26 18:19:17 CST 2025 x86_64
User: flavio87 (1026)
PHP: 8.3.27
Disabled: NONE
Upload Files
File: /volume1/web/qrcodesforeveryone/wp-content/plugins/dk-pdf/modules/Shortcode/ShortcodeModule.php
<?php
declare( strict_types=1 );

namespace Dinamiko\DKPDF\Shortcode;

use Dinamiko\DKPDF\Vendor\Inpsyde\Modularity\Module\ExecutableModule;
use Dinamiko\DKPDF\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait;
use Dinamiko\DKPDF\Vendor\Inpsyde\Modularity\Module\ServiceModule;
use Dinamiko\DKPDF\Vendor\Psr\Container\ContainerInterface;

class ShortcodeModule implements ServiceModule, ExecutableModule {
	use ModuleClassNameIdTrait;

	public function services(): array {
		return [
			'shortcode.manager' => static fn( $container ) => new ShortcodeManager( $container->get( 'template.loader' ) ),
		];
	}

	public function run( ContainerInterface $container ): bool {
		$shortcode_manager = $container->get( 'shortcode.manager' );
		assert( $shortcode_manager instanceof ShortcodeManager );

		add_shortcode( 'dkpdf-button', function (array $atts, ?string $content = null) use ( $shortcode_manager ) {
			return $shortcode_manager->button_shortcode($atts, $content);
		} );

		add_shortcode( 'dkpdf-remove', function (array $atts, ?string $content = null) use ( $shortcode_manager ) {
			return $shortcode_manager->remove_shortcode($atts, $content);
		} );

		add_shortcode( 'dkpdf-pagebreak', function (array $atts, ?string $content = null) use ( $shortcode_manager ) {
			return $shortcode_manager->pagebreak_shortcode($atts, $content);
		} );

		add_shortcode( 'dkpdf-columns', function (array $atts, ?string $content = null) use ( $shortcode_manager ) {
			return $shortcode_manager->columns_shortcode($atts, $content);
		} );

		add_shortcode( 'dkpdf-columnbreak', function (array $atts, ?string $content = null) use ( $shortcode_manager ) {
			return $shortcode_manager->columnbreak_shortcode($atts, $content);
		} );

		return true;
	}
}