# booktics/1.0.26/core/extensions/extension-icon.php

Booktics – Appointment Booking Calendar for Service Businesses, version 1.0.26. 42 lines.

- Page: https://pluginprobe.com/plugins/booktics/1.0.26/code/core/extensions/extension-icon.php
- Raw: https://pluginprobe.com/plugins/booktics/1.0.26/raw/core/extensions/extension-icon.php
- Modified: 2026-09-22T09:21:52+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/booktics/1.0.26/code/core/extensions/extension-icon.php#L10-L20`.

```php
<?php

namespace Booktics\Extensions;

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

use Booktics\Booktics;

class Extension_Icon {
    /**
     * Get icon
     *
     * @param string $extension_name
     *
     * @return string
     */
    public static function get( string $extension_name ): string {
        return self::get_svg( $extension_name );
    }

    /**
     * Get svg icon
     *
     * @param string $file_name
     */
    public static function get_svg( string $file_name ) {
        $extensions = array( 'svg', 'jpg', 'png', 'webp' );
        $base_url   = Booktics::assets_url() . 'images/addons/';
        $base_path  = BOOKTICS_DIR . '/assets/images/addons/';

        foreach ( $extensions as $ext ) {
            $file = $base_path . $file_name . '.' . $ext;
            if ( file_exists( $file ) ) {
                return $ext === 'svg' ? file_get_contents( $file ) : $base_url . $file_name . '.' . $ext;
            }
        }
        return '';
    }
}

```
