* @return string */ function themosis_theme_assets() { if (is_multisite() && SUBDOMAIN_INSTALL) { $segments = explode('themes', get_template_directory_uri()); $theme = strpos($segments[1], DS) !== false ? substr($segments[1], 1) : $segments[1]; return get_site_url() . '/' . CONTENT_DIR . '/themes/' . $theme . '/resources/assets'; } return get_template_directory_uri() . '/resources/assets'; } } /*----------------------------------------------------*/ // Asset directory URL. /*----------------------------------------------------*/ defined('THEMOSIS_ASSETS') ? THEMOSIS_ASSETS : define('THEMOSIS_ASSETS', themosis_theme_assets()); /*----------------------------------------------------*/ // Theme Textdomain. /*----------------------------------------------------*/ defined('THEMOSIS_THEME_TEXTDOMAIN') ? THEMOSIS_THEME_TEXTDOMAIN : define('THEMOSIS_THEME_TEXTDOMAIN', 'themosis-theme'); /*----------------------------------------------------*/ // Themosis Theme class. // Check if the framework is loaded. If not, warn the user // to activate it before continuing using the theme. /*----------------------------------------------------*/ if (!class_exists('THFWK_ThemosisTheme')) { class THFWK_ThemosisTheme { /** * Theme class instance. *
* Autoloading. */ $loader = new \Composer\Autoload\ClassLoader(); $classes = \Themosis\Facades\Config::get('loading'); foreach ($classes as $prefix => $path) { $loader->addPsr4($prefix, $path); } $loader->register(); /* * Register theme views folder path. */ $theme['view.finder']->addLocation(themosis_path('theme.resources') . 'views'); /* * Register theme public assets folder [dist directory]. */ $theme['asset.finder']->addPaths([themosis_theme_assets() => themosis_path('theme') . 'dist']); /* * Theme constants. */ $constants = new Themosis\Config\Constant($theme['config']->get('constants')); $constants->make(); /* * Register theme textdomain. */ defined('THEME_TEXTDOMAIN') ? THEME_TEXTDOMAIN : define('THEME_TEXTDOMAIN', $theme['config']->get('theme.textdomain')); $theme['action']->add('after_setup_theme', function () { load_theme_textdomain(THEME_TEXTDOMAIN, get_template_directory() . '/languages'); }); /* * Theme aliases. */
/** * Return the application front-end assets directory URL. * * @return string */ function themosis_assets() { // Check if the theme helper function exists. // Only if a themosis-theme is used. if (function_exists('themosis_theme_assets')) { return themosis_theme_assets(); } return get_template_directory_uri() . '/resources/assets'; }