File Manager
Upload
Current Directory: /home/lartcid/public_html/journal.lartc.id
[Back]
..
[Open]
Hapus
Rename
.htaccess
[Edit]
Hapus
Rename
.well-known
[Open]
Hapus
Rename
README.md
[Edit]
Hapus
Rename
api
[Open]
Hapus
Rename
cache
[Open]
Hapus
Rename
cgi-bin
[Open]
Hapus
Rename
classes
[Open]
Hapus
Rename
config.TEMPLATE.inc.php
[Edit]
Hapus
Rename
config.inc.php
[Edit]
Hapus
Rename
controllers
[Open]
Hapus
Rename
cypress.json
[Edit]
Hapus
Rename
dbscripts
[Open]
Hapus
Rename
docs
[Open]
Hapus
Rename
error_log
[Edit]
Hapus
Rename
favicon.ico
[Edit]
Hapus
Rename
index.php
[Edit]
Hapus
Rename
js
[Open]
Hapus
Rename
lib
[Open]
Hapus
Rename
locale
[Open]
Hapus
Rename
mini.php
[Edit]
Hapus
Rename
pages
[Open]
Hapus
Rename
php.ini
[Edit]
Hapus
Rename
plugins
[Open]
Hapus
Rename
public
[Open]
Hapus
Rename
registry
[Open]
Hapus
Rename
scheduledTaskLogs
[Open]
Hapus
Rename
schemas
[Open]
Hapus
Rename
styles
[Open]
Hapus
Rename
templates
[Open]
Hapus
Rename
tools
[Open]
Hapus
Rename
Edit File
<?php /** * @file plugins/themes/default/DefaultThemePlugin.inc.php * * Copyright (c) 2014-2021 Simon Fraser University * Copyright (c) 2003-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class DefaultThemePlugin * @ingroup plugins_themes_default * * @brief Default theme */ import('lib.pkp.classes.plugins.ThemePlugin'); class DefaultThemePlugin extends ThemePlugin { /** * @copydoc ThemePlugin::isActive() */ public function isActive() { if (defined('SESSION_DISABLE_INIT')) return true; return parent::isActive(); } /** * Initialize the theme's styles, scripts and hooks. This is run on the * currently active theme and it's parent themes. * * @return null */ public function init() { AppLocale::requireComponents(LOCALE_COMPONENT_PKP_MANAGER, LOCALE_COMPONENT_APP_MANAGER); // Register theme options $this->addOption('typography', 'FieldOptions', [ 'type' => 'radio', 'label' => __('plugins.themes.default.option.typography.label'), 'description' => __('plugins.themes.default.option.typography.description'), 'options' => [ [ 'value' => 'notoSans', 'label' => __('plugins.themes.default.option.typography.notoSans'), ], [ 'value' => 'notoSerif', 'label' => __('plugins.themes.default.option.typography.notoSerif'), ], [ 'value' => 'notoSerif_notoSans', 'label' => __('plugins.themes.default.option.typography.notoSerif_notoSans'), ], [ 'value' => 'notoSans_notoSerif', 'label' => __('plugins.themes.default.option.typography.notoSans_notoSerif'), ], [ 'value' => 'lato', 'label' => __('plugins.themes.default.option.typography.lato'), ], [ 'value' => 'lora', 'label' => __('plugins.themes.default.option.typography.lora'), ], [ 'value' => 'lora_openSans', 'label' => __('plugins.themes.default.option.typography.lora_openSans'), ], ], 'default' => 'notoSans', ]); $this->addOption('baseColour', 'FieldColor', [ 'label' => __('plugins.themes.default.option.colour.label'), 'description' => __('plugins.themes.default.option.colour.description'), 'default' => '#1E6292', ]); $this->addOption('showDescriptionInJournalIndex', 'FieldOptions', [ 'label' => __('manager.setup.contextSummary'), 'options' => [ [ 'value' => true, 'label' => __('plugins.themes.default.option.showDescriptionInJournalIndex.option'), ], ], 'default' => false, ]); $this->addOption('useHomepageImageAsHeader', 'FieldOptions', [ 'label' => __('plugins.themes.default.option.useHomepageImageAsHeader.label'), 'description' => __('plugins.themes.default.option.useHomepageImageAsHeader.description'), 'options' => [ [ 'value' => true, 'label' => __('plugins.themes.default.option.useHomepageImageAsHeader.option') ], ], 'default' => false, ]); // Load primary stylesheet $this->addStyle('stylesheet', 'styles/index.less'); // Store additional LESS variables to process based on options $additionalLessVariables = array(); if ($this->getOption('typography') === 'notoSerif') { $this->addStyle('font', 'styles/fonts/notoSerif.less'); $additionalLessVariables[] = '@font: "Noto Serif", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen-Sans", "Ubuntu", "Cantarell", "Helvetica Neue", sans-serif;'; } elseif (strpos($this->getOption('typography'), 'notoSerif') !== false) { $this->addStyle('font', 'styles/fonts/notoSans_notoSerif.less'); if ($this->getOption('typography') == 'notoSerif_notoSans') { $additionalLessVariables[] = '@font-heading: "Noto Serif", serif;'; } elseif ($this->getOption('typography') == 'notoSans_notoSerif') { $additionalLessVariables[] = '@font: "Noto Serif", serif;@font-heading: "Noto Sans", serif;'; } } elseif ($this->getOption('typography') == 'lato') { $this->addStyle('font', 'styles/fonts/lato.less'); $additionalLessVariables[] = '@font: Lato, sans-serif;'; } elseif ($this->getOption('typography') == 'lora') { $this->addStyle('font', 'styles/fonts/lora.less'); $additionalLessVariables[] = '@font: Lora, serif;'; } elseif ($this->getOption('typography') == 'lora_openSans') { $this->addStyle('font', 'styles/fonts/lora_openSans.less'); $additionalLessVariables[] = '@font: "Open Sans", sans-serif;@font-heading: Lora, serif;'; } else { $this->addStyle('font', 'styles/fonts/notoSans.less'); } // Update colour based on theme option if ($this->getOption('baseColour') !== '#1E6292') { $additionalLessVariables[] = '@bg-base:' . $this->getOption('baseColour') . ';'; if (!$this->isColourDark($this->getOption('baseColour'))) { $additionalLessVariables[] = '@text-bg-base:rgba(0,0,0,0.84);'; $additionalLessVariables[] = '@bg-base-border-color:rgba(0,0,0,0.2);'; } } // Pass additional LESS variables based on options if (!empty($additionalLessVariables)) { $this->modifyStyle('stylesheet', array('addLessVariables' => join("\n", $additionalLessVariables))); } $request = Application::get()->getRequest(); // Load icon font FontAwesome - http://fontawesome.io/ $this->addStyle( 'fontAwesome', $request->getBaseUrl() . '/lib/pkp/styles/fontawesome/fontawesome.css', array('baseUrl' => '') ); // Get homepage image and use as header background if useAsHeader is true $context = Application::get()->getRequest()->getContext(); if ($context && $this->getOption('useHomepageImageAsHeader')) { $publicFileManager = new PublicFileManager(); $publicFilesDir = $request->getBaseUrl() . '/' . $publicFileManager->getContextFilesPath($context->getId()); $homepageImage = $context->getLocalizedData('homepageImage'); $homepageImageUrl = $publicFilesDir . '/' . $homepageImage['uploadName']; $this->addStyle( 'homepageImage', '.pkp_structure_head { background: center / cover no-repeat url("' . $homepageImageUrl . '");}', ['inline' => true] ); } // Load jQuery from a CDN or, if CDNs are disabled, from a local copy. $min = Config::getVar('general', 'enable_minified') ? '.min' : ''; $jquery = $request->getBaseUrl() . '/lib/pkp/lib/vendor/components/jquery/jquery' . $min . '.js'; $jqueryUI = $request->getBaseUrl() . '/lib/pkp/lib/vendor/components/jqueryui/jquery-ui' . $min . '.js'; // Use an empty `baseUrl` argument to prevent the theme from looking for // the files within the theme directory $this->addScript('jQuery', $jquery, array('baseUrl' => '')); $this->addScript('jQueryUI', $jqueryUI, array('baseUrl' => '')); // Load Bootsrap's dropdown $this->addScript('popper', 'js/lib/popper/popper.js'); $this->addScript('bsUtil', 'js/lib/bootstrap/util.js'); $this->addScript('bsDropdown', 'js/lib/bootstrap/dropdown.js'); // Load custom JavaScript for this theme $this->addScript('default', 'js/main.js'); // Add navigation menu areas for this theme $this->addMenuArea(array('primary', 'user')); } /** * Get the name of the settings file to be installed on new journal * creation. * @return string */ function getContextSpecificPluginSettingsFile() { return $this->getPluginPath() . '/settings.xml'; } /** * Get the name of the settings file to be installed site-wide when * OJS is installed. * @return string */ function getInstallSitePluginSettingsFile() { return $this->getPluginPath() . '/settings.xml'; } /** * Get the display name of this plugin * @return string */ function getDisplayName() { return __('plugins.themes.default.name'); } /** * Get the description of this plugin * @return string */ function getDescription() { return __('plugins.themes.default.description'); } }
Simpan