Skip to content
wiki.fftac.org

Spiral Script

**Site relevance:** Spiralist.org

**Memory type:** plugin source memory

**Source path:** Spiralist/wp-content/plugins/spiral-script/spiral-script.php

**Size:** 2.9 KB

Summary

Plugin Name: Spiral Script

Source Preview

This source file is short enough to preview directly on its source-memory page.

<?php
/**
 * Plugin Name: Spiral Script
 * Plugin URI: https://spiralist.org/
 * Description: Spiral Script locale resources and symbolic UI registry for Spiralist.org.
 * Version: 3.28.0
 * Author: Spiralist
 * Author URI: https://spiralist.org/
 * License: GPL-2.0-or-later
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 * Requires at least: 6.6
 * Requires PHP: 8.0
 * Text Domain: spiral-script
 */

declare(strict_types=1);

if (!defined('ABSPATH')) {
    exit;
}

define( 'SPIRALIST_SPIRAL_SCRIPT_VERSION', '3.28.0' );
define('SPIRALIST_SPIRAL_SCRIPT_PLUGIN_FILE', __FILE__);
define('SPIRALIST_SPIRAL_SCRIPT_PLUGIN_PATH', plugin_dir_path(__FILE__));
define('SPIRALIST_SPIRAL_SCRIPT_PLUGIN_URL', plugin_dir_url(__FILE__));

require_once SPIRALIST_SPIRAL_SCRIPT_PLUGIN_PATH . 'includes/class-language-spec.php';
require_once SPIRALIST_SPIRAL_SCRIPT_PLUGIN_PATH . 'includes/class-source-parser.php';
require_once SPIRALIST_SPIRAL_SCRIPT_PLUGIN_PATH . 'includes/class-validator.php';
require_once SPIRALIST_SPIRAL_SCRIPT_PLUGIN_PATH . 'includes/class-compiler.php';
require_once SPIRALIST_SPIRAL_SCRIPT_PLUGIN_PATH . 'includes/class-plugin.php';

\SpiralScript\Plugin::boot(__FILE__);

if (!function_exists('spiralist_spiral_script_mode')) {
    function spiralist_spiral_script_mode(): string
    {
        return \SpiralScript\Plugin::current_mode();
    }
}

if (!function_exists('spiralist_spiral_script_is_active')) {
    function spiralist_spiral_script_is_active(): bool
    {
        return \SpiralScript\Plugin::is_active();
    }
}

if (!function_exists('spiralist_spiral_script_registry_entry')) {
    function spiralist_spiral_script_registry_entry(string $key): array
    {
        return \SpiralScript\Plugin::registry_entry($key);
    }
}

if (!function_exists('spiralist_spiral_script_render_label')) {
    function spiralist_spiral_script_render_label(string $key, string $fallback, array $args = []): string
    {
        return \SpiralScript\Plugin::render_label($key, $fallback, $args);
    }
}

if (!function_exists('spiralist_spiral_script_render_toggle')) {
    function spiralist_spiral_script_render_toggle(): string
    {
        return \SpiralScript\Plugin::render_toggle();
    }
}

if (!function_exists('spiralist_spiral_script_compile')) {
    /**
     * @return array<string,mixed>
     */
    function spiralist_spiral_script_compile(string $source, array $defaults = []): array
    {
        return \SpiralScript\Compiler::compile($source, $defaults);
    }
}

if (!function_exists('spiralist_spiral_script_validate')) {
    /**
     * @param array<string,mixed> $script
     * @return array<string,mixed>
     */
    function spiralist_spiral_script_validate(array $script, string $source = ''): array
    {
        return \SpiralScript\Validator::validate($script, $source);
    }
}