first commit
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
{**
|
||||
* templates/admin/contextSettings.tpl
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* @brief Admin page for configuring high-level details about a context.
|
||||
*
|
||||
* @uses $editContext Context The context that is being edited.
|
||||
*}
|
||||
{extends file="layouts/backend.tpl"}
|
||||
|
||||
{block name="page"}
|
||||
<h1 class="app__pageHeading">
|
||||
{translate key="manager.settings.wizard"}
|
||||
</h1>
|
||||
|
||||
<tabs :track-history="true">
|
||||
<tab id="setup" label="{translate key="manager.setup"}">
|
||||
<tabs :is-side-tabs="true" :track-history="true">
|
||||
<tab id="context" label="{translate key="context.context"}">
|
||||
<pkp-form
|
||||
v-bind="components.{$smarty.const.FORM_CONTEXT}"
|
||||
@set="set"
|
||||
/>
|
||||
</tab>
|
||||
<tab id="appearance" label="{translate key="manager.website.appearance"}">
|
||||
<theme-form
|
||||
v-bind="components.{$smarty.const.FORM_THEME}"
|
||||
@set="set"
|
||||
/>
|
||||
</tab>
|
||||
<tab id="languages" label="{translate key="common.languages"}">
|
||||
{capture assign=languagesUrl}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT context=$editContext->getPath() component="grid.settings.languages.ManageLanguageGridHandler" op="fetchGrid" escape=false}{/capture}
|
||||
{load_url_in_div id="languageGridContainer" url=$languagesUrl}
|
||||
</tab>
|
||||
<tab id="indexing" label="{translate key="manager.setup.searchEngineIndexing"}">
|
||||
<pkp-form
|
||||
v-bind="components.{$smarty.const.FORM_SEARCH_INDEXING}"
|
||||
@set="set"
|
||||
/>
|
||||
</tab>
|
||||
<tab id="restrictBulkEmails" label="{translate key="admin.settings.restrictBulkEmails"}">
|
||||
{if $bulkEmailsEnabled}
|
||||
<pkp-form
|
||||
v-bind="components.{$smarty.const.FORM_RESTRICT_BULK_EMAILS}"
|
||||
@set="set"
|
||||
/>
|
||||
{else}
|
||||
{capture assign="siteSettingsUrl"}{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="admin" op="settings" anchor="setup/bulkEmails"}{/capture}
|
||||
<p>{translate key="admin.settings.disableBulkEmailRoles.contextDisabled" siteSettingsUrl=$siteSettingsUrl}</p>
|
||||
{/if}
|
||||
</tab>
|
||||
{call_hook name="Template::Settings::admin::contextSettings::setup"}
|
||||
</tabs>
|
||||
</tab>
|
||||
<tab id="plugins" label="{translate key="common.plugins"}">
|
||||
<tabs :track-history="true">
|
||||
<tab id="installed" label="{translate key="manager.plugins.installed"}">
|
||||
{capture assign=pluginGridUrl}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT context=$editContext->getPath() component="grid.settings.plugins.SettingsPluginGridHandler" op="fetchGrid" escape=false}{/capture}
|
||||
{load_url_in_div id="pluginGridContainer" url=$pluginGridUrl}
|
||||
</tab>
|
||||
<tab id="gallery" label="{translate key="manager.plugins.pluginGallery"}">
|
||||
{capture assign=pluginGalleryGridUrl}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT context=$editContext->getPath() component="grid.plugins.PluginGalleryGridHandler" op="fetchGrid" escape=false}{/capture}
|
||||
{load_url_in_div id="pluginGalleryGridContainer" url=$pluginGalleryGridUrl}
|
||||
</tab>
|
||||
{call_hook name="Template::Settings::admin::contextSettings::plugins"}
|
||||
</tabs>
|
||||
</tab>
|
||||
<tab id="users" label="{translate key="manager.users"}">
|
||||
{capture assign=usersUrl}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT context=$editContext->getPath() component="grid.settings.user.UserGridHandler" op="fetchGrid" escape=false}{/capture}
|
||||
{load_url_in_div id="userGridContainer" url=$usersUrl}
|
||||
</tab>
|
||||
{call_hook name="Template::Settings::admin::contextSettings"}
|
||||
</tabs>
|
||||
{/block}
|
||||
@@ -0,0 +1,23 @@
|
||||
{**
|
||||
* templates/admin/contexts.tpl
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* Display list of contexts in administration.
|
||||
*}
|
||||
{extends file="layouts/backend.tpl"}
|
||||
|
||||
{block name="page"}
|
||||
|
||||
{if $newVersionAvailable}
|
||||
<notification>
|
||||
{translate key="site.upgradeAvailable.admin" currentVersion=$currentVersion->getVersionString(false) latestVersion=$latestVersion}
|
||||
</notification>
|
||||
{/if}
|
||||
|
||||
{capture assign=contextsUrl}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="grid.admin.context.ContextGridHandler" op="fetchGrid" escape=false}{/capture}
|
||||
{load_url_in_div id="contextGridContainer" url=$contextsUrl}
|
||||
|
||||
{/block}
|
||||
@@ -0,0 +1,22 @@
|
||||
{**
|
||||
* templates/admin/editContext.tpl
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* @brief Display the form to add or edit a context
|
||||
*}
|
||||
<div id="editContext">
|
||||
{if $isAddingNewContext}
|
||||
<add-context-form
|
||||
{else}
|
||||
<pkp-form
|
||||
{/if}
|
||||
v-bind="components.{$smarty.const.FORM_CONTEXT}"
|
||||
@set="set"
|
||||
/>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
pkp.registry.init('editContext', 'AddContextContainer', {$containerData|json_encode});
|
||||
</script>
|
||||
@@ -0,0 +1,37 @@
|
||||
{**
|
||||
* templates/admin/failedJobDetails.tpl
|
||||
*
|
||||
* Copyright (c) 2014-2022 Simon Fraser University
|
||||
* Copyright (c) 2003-2022 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* Failed Jobs Details
|
||||
*}
|
||||
{extends file="layouts/backend.tpl"}
|
||||
|
||||
{block name="page"}
|
||||
<h1 class="app__pageHeading">
|
||||
{translate key=$pageTitle}
|
||||
</h1>
|
||||
<div class="app__contentPanel app__contentPanel__overflow">
|
||||
<pkp-table
|
||||
:columns="columns"
|
||||
:rows="rows"
|
||||
:label="label"
|
||||
>
|
||||
<template slot-scope="{ row, rowIndex }">
|
||||
<table-cell
|
||||
v-for="(column, columnIndex) in columns"
|
||||
:key="column.name"
|
||||
:column="column"
|
||||
:row="row"
|
||||
:tabindex="!rowIndex && !columnIndex ? 0 : -1"
|
||||
>
|
||||
<span v-if="column.name === 'value' && isValidJson(row.value)">
|
||||
<pre>{{ row.value }}</pre>
|
||||
</span>
|
||||
</table-cell>
|
||||
</template>
|
||||
</pkp-table>
|
||||
</div>
|
||||
{/block}
|
||||
@@ -0,0 +1,66 @@
|
||||
{**
|
||||
* templates/admin/failedJobs.tpl
|
||||
*
|
||||
* Copyright (c) 2014-2022 Simon Fraser University
|
||||
* Copyright (c) 2003-2022 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* Failed Jobs index
|
||||
*}
|
||||
{extends file="layouts/backend.tpl"}
|
||||
|
||||
{block name="page"}
|
||||
<h1 class="app__pageHeading">
|
||||
{translate key=$pageTitle}
|
||||
</h1>
|
||||
<div class="app__contentPanel">
|
||||
<pkp-table
|
||||
:columns="columns"
|
||||
:rows="rows"
|
||||
:description="description"
|
||||
:label="label"
|
||||
>
|
||||
<template v-slot:label v-if="total > 0">
|
||||
<div>
|
||||
<span class="pkp_helpers_half pkp_helpers_align_left">{{ label }}</span>
|
||||
<span class="pkp_helpers_half pkp_helpers_align_right pkp_helpers_text_right">
|
||||
<spinner v-if="isLoadingItems"></spinner>
|
||||
<pkp-button @click="requeueAll">
|
||||
{translate key="admin.jobs.failed.action.redispatch.all"}
|
||||
</pkp-button>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template slot-scope="{ row, rowIndex }">
|
||||
<table-cell
|
||||
v-for="(column, columnIndex) in columns"
|
||||
:key="column.name"
|
||||
:column="column"
|
||||
:row="row"
|
||||
:tabindex="!rowIndex && !columnIndex ? 0 : -1"
|
||||
>
|
||||
<button-row v-if="column.name === 'actions'">
|
||||
<pkp-button @click="redispatch(row)">
|
||||
{translate key="admin.jobs.failed.action.redispatch"}
|
||||
</pkp-button>
|
||||
<pkp-button is-warnable @click="remove(row)">
|
||||
{translate key="common.delete"}
|
||||
</pkp-button>
|
||||
<pkp-button element="a" is-link :href="row._hrefs._details">
|
||||
{translate key="common.details"}
|
||||
</pkp-button>
|
||||
</button-row>
|
||||
</table-cell>
|
||||
</template>
|
||||
</pkp-table>
|
||||
|
||||
<pagination
|
||||
v-if="lastPage > 1"
|
||||
:current-page="currentPage"
|
||||
:last-page="lastPage"
|
||||
:is-loading="isLoadingItems"
|
||||
@set-page="handlePagination"
|
||||
/>
|
||||
</div>
|
||||
{/block}
|
||||
@@ -0,0 +1,119 @@
|
||||
{**
|
||||
* templates/admin/index.tpl
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* Site administration index.
|
||||
*
|
||||
*}
|
||||
{extends file="layouts/backend.tpl"}
|
||||
|
||||
{block name="page"}
|
||||
<h1 class="app__pageHeading">
|
||||
{translate key="navigation.admin"}
|
||||
</h1>
|
||||
|
||||
{if $newVersionAvailable}
|
||||
<notification>
|
||||
{translate key="site.upgradeAvailable.admin" currentVersion=$currentVersion->getVersionString(false) latestVersion=$latestVersion}
|
||||
</notification>
|
||||
{/if}
|
||||
|
||||
<action-panel>
|
||||
<h2>{translate key="admin.siteManagement"}</h2>
|
||||
<p>
|
||||
{translate key="admin.siteManagement.description"}
|
||||
</p>
|
||||
<template slot="actions">
|
||||
<pkp-button
|
||||
element="a"
|
||||
href="{url op="contexts"}"
|
||||
>
|
||||
{translate key="admin.hostedContexts"}
|
||||
</pkp-button>
|
||||
<pkp-button
|
||||
element="a"
|
||||
href="{url op="settings"}"
|
||||
>
|
||||
{translate key="admin.siteSettings"}
|
||||
</pkp-button>
|
||||
</template>
|
||||
</action-panel>
|
||||
<action-panel>
|
||||
<h2>{translate key="admin.systemInformation"}</h2>
|
||||
<p>
|
||||
{translate key="admin.systemInformation.description"}
|
||||
</p>
|
||||
<template slot="actions">
|
||||
<pkp-button
|
||||
element="a"
|
||||
href="{url op="systemInfo"}"
|
||||
>
|
||||
{translate key="admin.systemInformation.view"}
|
||||
</pkp-button>
|
||||
</template>
|
||||
</action-panel>
|
||||
<action-panel>
|
||||
<h2>{translate key="admin.expireSessions"}</h2>
|
||||
<p>
|
||||
{translate key="admin.expireSessions.description"}
|
||||
</p>
|
||||
<template slot="actions">
|
||||
<form type="post" action="{url op="expireSessions"}">
|
||||
{csrf}
|
||||
<button class="pkpButton pkpButton--isWarnable" onclick="return confirm({translate|json_encode|escape key="admin.confirmExpireSessions"})">{translate key="admin.expireSessions"}</button>
|
||||
</form>
|
||||
</template>
|
||||
</action-panel>
|
||||
<action-panel>
|
||||
<h2>{translate key="admin.deleteCache"}</h2>
|
||||
<p>
|
||||
{translate key="admin.deleteCache.description"}
|
||||
</p>
|
||||
<template slot="actions">
|
||||
<form type="post" action="{url op="clearDataCache"}">
|
||||
{csrf}
|
||||
<button class="pkpButton pkpButton--isWarnable">{translate key="admin.clearDataCache"}</button>
|
||||
</form>
|
||||
<form type="post" action="{url op="clearTemplateCache"}">
|
||||
{csrf}
|
||||
<button class="pkpButton pkpButton--isWarnable" onclick="return confirm({translate|json_encode|escape key="admin.confirmClearTemplateCache"})">{translate key="admin.clearTemplateCache"}</button>
|
||||
</form>
|
||||
</template>
|
||||
</action-panel>
|
||||
<action-panel>
|
||||
<h2>{translate key="admin.scheduledTask.clearLogs"}</h2>
|
||||
<p>
|
||||
{translate key="admin.scheduledTask.clearLogs.description"}
|
||||
</p>
|
||||
<template slot="actions">
|
||||
<form type="post" action="{url op="clearScheduledTaskLogFiles"}">
|
||||
{csrf}
|
||||
<button class="pkpButton pkpButton--isWarnable" onclick="return confirm({translate|json_encode|escape key="admin.scheduledTask.confirmClearLogs"})">{translate key="admin.scheduledTask.clearLogs.delete"}</button>
|
||||
</form>
|
||||
</template>
|
||||
</action-panel>
|
||||
<action-panel>
|
||||
<h2>{translate key="navigation.tools.jobs"}</h2>
|
||||
<p>
|
||||
{translate key="navigation.tools.jobs.description"}
|
||||
</p>
|
||||
<template slot="actions">
|
||||
<pkp-button
|
||||
element="a"
|
||||
href="{url op="jobs"}"
|
||||
>
|
||||
{translate key="navigation.tools.jobs.view"}
|
||||
</pkp-button>
|
||||
<pkp-button
|
||||
element="a"
|
||||
href="{url op="failedJobs"}"
|
||||
>
|
||||
{translate key="navigation.tools.jobs.failed.view"}
|
||||
</pkp-button>
|
||||
</template>
|
||||
</action-panel>
|
||||
{call_hook name="Templates::Admin::Index::AdminFunctions"}
|
||||
{/block}
|
||||
@@ -0,0 +1,31 @@
|
||||
{**
|
||||
* templates/admin/jobs.tpl
|
||||
*
|
||||
* Copyright (c) 2014-2022 Simon Fraser University
|
||||
* Copyright (c) 2003-2022 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* Jobs index
|
||||
*}
|
||||
{extends file="layouts/backend.tpl"}
|
||||
|
||||
{block name="page"}
|
||||
<h1 class="app__pageHeading">
|
||||
{translate key=$pageTitle}
|
||||
</h1>
|
||||
<div class="app__contentPanel">
|
||||
<pkp-table
|
||||
:columns="columns"
|
||||
:rows="rows"
|
||||
:description="description"
|
||||
:label="label"
|
||||
></pkp-table>
|
||||
|
||||
<pagination v-if="lastPage > 1"
|
||||
:current-page="currentPage"
|
||||
:last-page="lastPage"
|
||||
:is-loading="isLoadingItems"
|
||||
@set-page="handlePagination"
|
||||
/>
|
||||
</div>
|
||||
{/block}
|
||||
@@ -0,0 +1,147 @@
|
||||
{**
|
||||
* templates/admin/settings.tpl
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* Administration settings page.
|
||||
*}
|
||||
{extends file="layouts/backend.tpl"}
|
||||
|
||||
{block name="page"}
|
||||
<h1 class="app__pageHeading">
|
||||
{translate key="admin.siteSettings"}
|
||||
</h1>
|
||||
|
||||
{if $newVersionAvailable}
|
||||
<notification>
|
||||
{translate key="site.upgradeAvailable.admin" currentVersion=$currentVersion->getVersionString(false) latestVersion=$latestVersion}
|
||||
</notification>
|
||||
{/if}
|
||||
|
||||
<tabs :track-history="true">
|
||||
{if $componentAvailability['siteSetup']}
|
||||
<tab id="setup" label="{translate key="admin.siteSetup"}">
|
||||
<tabs :is-side-tabs="true" :track-history="true">
|
||||
{if $componentAvailability['siteConfig']}
|
||||
<tab id="settings" label="{translate key="admin.settings"}">
|
||||
<pkp-form
|
||||
v-bind="components.{$smarty.const.FORM_SITE_CONFIG}"
|
||||
@set="set"
|
||||
/>
|
||||
</tab>
|
||||
{/if}
|
||||
{if $componentAvailability['siteInfo']}
|
||||
<tab id="info" label="{translate key="manager.setup.information"}">
|
||||
<pkp-form
|
||||
v-bind="components.{$smarty.const.FORM_SITE_INFO}"
|
||||
@set="set"
|
||||
/>
|
||||
</tab>
|
||||
{/if}
|
||||
{if $componentAvailability['languages']}
|
||||
<tab id="languages" label="{translate key="common.languages"}">
|
||||
{capture assign=languagesUrl}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="grid.admin.languages.AdminLanguageGridHandler" op="fetchGrid" escape=false}{/capture}
|
||||
{load_url_in_div id="languageGridContainer" url=$languagesUrl}
|
||||
</tab>
|
||||
{/if}
|
||||
{if $componentAvailability['navigationMenus']}
|
||||
<tab id="nav" label="{translate key="manager.navigationMenus"}">
|
||||
{capture assign=navigationMenusGridUrl}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="grid.navigationMenus.NavigationMenusGridHandler" op="fetchGrid" escape=false}{/capture}
|
||||
{load_url_in_div id="navigationMenuGridContainer" url=$navigationMenusGridUrl}
|
||||
{capture assign=navigationMenuItemsGridUrl}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="grid.navigationMenus.NavigationMenuItemsGridHandler" op="fetchGrid" escape=false}{/capture}
|
||||
{load_url_in_div id="navigationMenuItemsGridContainer" url=$navigationMenuItemsGridUrl}
|
||||
</tab>
|
||||
{/if}
|
||||
{if $componentAvailability['highlights']}
|
||||
<tab id="highlights" label="{translate key="common.highlights"}">
|
||||
<highlights-list-panel
|
||||
v-bind="components.highlights"
|
||||
@set="set"
|
||||
/>
|
||||
</tab>
|
||||
{/if}
|
||||
{if $componentAvailability['bulkEmails']}
|
||||
<tab id="bulkEmails" label="{translate key="admin.settings.enableBulkEmails.label"}">
|
||||
<pkp-form
|
||||
v-bind="components.{$smarty.const.FORM_SITE_BULK_EMAILS}"
|
||||
@set="set"
|
||||
/>
|
||||
</tab>
|
||||
{/if}
|
||||
{if $componentAvailability['statistics']}
|
||||
<tab id="statistics" label="{translate key="manager.setup.statistics"}">
|
||||
<pkp-form
|
||||
v-bind="components.{$smarty.const.FORM_SITE_STATISTICS}"
|
||||
@set="set"
|
||||
/>
|
||||
</tab>
|
||||
{/if}
|
||||
{call_hook name="Template::Settings::admin::setup"}
|
||||
</tabs>
|
||||
</tab>
|
||||
{/if}
|
||||
{if $componentAvailability['siteAppearance']}
|
||||
<tab id="appearance" label="{translate key="manager.website.appearance"}">
|
||||
<tabs :is-side-tabs="true" :track-history="true">
|
||||
{if $componentAvailability['siteTheme']}
|
||||
<tab id="theme" label="{translate key="manager.setup.theme"}">
|
||||
<theme-form
|
||||
v-bind="components.{$smarty.const.FORM_THEME}"
|
||||
@set="set"
|
||||
/>
|
||||
</tab>
|
||||
{/if}
|
||||
{if $componentAvailability['siteAppearanceSetup']}
|
||||
<tab id="setup" label="{translate key="navigation.setup"}">
|
||||
<pkp-form
|
||||
v-bind="components.{$smarty.const.FORM_SITE_APPEARANCE}"
|
||||
@set="set"
|
||||
/>
|
||||
</tab>
|
||||
{/if}
|
||||
{call_hook name="Template::Settings::admin::appearance"}
|
||||
</tabs>
|
||||
</tab>
|
||||
{/if}
|
||||
{if $componentAvailability['announcements']}
|
||||
<tab id="announcements" label="{translate key="announcement.announcements"}">
|
||||
<tabs :is-side-tabs="true" :track-history="true">
|
||||
<tab id="announcement-settings" label="{translate key="admin.settings"}">
|
||||
<pkp-form
|
||||
v-bind="components.{$smarty.const.FORM_ANNOUNCEMENT_SETTINGS}"
|
||||
@set="set"
|
||||
></pkp-form>
|
||||
</tab>
|
||||
<tab id="announcement-items" label="{translate key="announcement.announcements"}">
|
||||
<announcements-list-panel
|
||||
v-if="announcementsEnabled"
|
||||
v-bind="components.announcements"
|
||||
@set="set"
|
||||
></announcements-list-panel>
|
||||
<p v-else>
|
||||
{translate key="manager.announcements.notEnabled"}
|
||||
</p>
|
||||
</tab>
|
||||
<tab id="announcement-types" label="{translate key="manager.announcementTypes"}">
|
||||
<template v-if="announcementsEnabled">
|
||||
{capture assign=announcementTypeGridUrl}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="grid.announcements.AnnouncementTypeGridHandler" op="fetchGrid" escape=false}{/capture}
|
||||
{load_url_in_div id="announcementTypeGridContainer" url=$announcementTypeGridUrl inVueEl=true}
|
||||
</template>
|
||||
<p v-else>
|
||||
{translate key="manager.announcements.notEnabled"}
|
||||
</p>
|
||||
</tab>
|
||||
</tabs>
|
||||
</tab>
|
||||
{/if}
|
||||
{if $componentAvailability['sitePlugins']}
|
||||
<tab id="plugins" label="{translate key="common.plugins"}">
|
||||
{capture assign=pluginGridUrl}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="grid.admin.plugins.AdminPluginGridHandler" op="fetchGrid" escape=false}{/capture}
|
||||
{load_url_in_div id="pluginGridContainer" url=$pluginGridUrl}
|
||||
</tab>
|
||||
{/if}
|
||||
{call_hook name="Template::Settings::admin"}
|
||||
</tabs>
|
||||
{/block}
|
||||
@@ -0,0 +1,115 @@
|
||||
{**
|
||||
* systemInfo.tpl
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* Display system information.
|
||||
*}
|
||||
{extends file="layouts/backend.tpl"}
|
||||
|
||||
{block name="page"}
|
||||
<h1 class="app__pageHeading">
|
||||
{translate key="admin.systemInformation"}
|
||||
</h1>
|
||||
|
||||
{if $newVersionAvailable}
|
||||
<notification>
|
||||
{translate key="site.upgradeAvailable.admin" currentVersion=$currentVersion->getVersionString(false) latestVersion=$latestVersion}
|
||||
</notification>
|
||||
{/if}
|
||||
|
||||
<div class="app__contentPanel">
|
||||
|
||||
<h2>{translate key="admin.currentVersion"}: {$currentVersion->getVersionString(false)} ({$currentVersion->getDateInstalled()|date_format:$datetimeFormatLong})</h2>
|
||||
|
||||
{if $latestVersionInfo}
|
||||
<p>{translate key="admin.version.latest"}: {$latestVersionInfo.release|escape} ({$latestVersionInfo.date|date_format:$dateFormatLong})</p>
|
||||
{if $currentVersion->compare($latestVersionInfo.version) < 0}
|
||||
<p><strong>{translate key="admin.version.updateAvailable"}</strong>: <a href="{$latestVersionInfo.package|escape}">{translate key="admin.version.downloadPackage"}</a> | {if $latestVersionInfo.patch}<a href="{$latestVersionInfo.patch|escape}">{translate key="admin.version.downloadPatch"}</a>{else}{translate key="admin.version.downloadPatch"}{/if} | <a href="{$latestVersionInfo.info|escape}">{translate key="admin.version.moreInfo"}</a></p>
|
||||
{else}
|
||||
<p><strong>{translate key="admin.version.upToDate"}</strong></p>
|
||||
{/if}
|
||||
{else}
|
||||
<p><a href="{url versionCheck=1}">{translate key="admin.version.checkForUpdates"}</a></p>
|
||||
{/if}
|
||||
|
||||
<h2 id="versionHistory">{translate key="admin.versionHistory"}</h2>
|
||||
|
||||
<table class="pkpTable" aria-labelledby="versionHistory">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{translate key="admin.version"}</th>
|
||||
<th>{translate key="admin.versionMajor"}</th>
|
||||
<th>{translate key="admin.versionMinor"}</th>
|
||||
<th>{translate key="admin.versionRevision"}</th>
|
||||
<th>{translate key="admin.versionBuild"}</th>
|
||||
<th>{translate key="admin.dateInstalled"}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$versionHistory item="version"}
|
||||
<tr>
|
||||
<td>{$version->getVersionString(false)}</td>
|
||||
<td>{$version->getMajor()}</td>
|
||||
<td>{$version->getMinor()}</td>
|
||||
<td>{$version->getRevision()}</td>
|
||||
<td>{$version->getBuild()}</td>
|
||||
<td>{$version->getDateInstalled()|date_format:$dateFormatShort}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="serverInformation">{translate key="admin.serverInformation"}</h2>
|
||||
|
||||
<table class="pkpTable" aria-labelledby="serverInformation">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{translate key="admin.systemInfo.settingName"}</th>
|
||||
<th>{translate key="admin.systemInfo.settingValue"}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$serverInfo item="value" key="name"}
|
||||
<tr>
|
||||
<td>{translate key=$name}</td>
|
||||
<td>{$value|escape}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2>{translate key="admin.systemConfiguration"}</h2>
|
||||
|
||||
<table class="pkpTable" aria-labelledby="systemConfiguration{$key}">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{translate key="admin.systemInfo.settingName"}</th>
|
||||
<th>{translate key="admin.systemInfo.settingValue"}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{foreach from=$configData item="settings" key="category"}
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2" class="app--admin__systemInfoGroup">{$category}</td>
|
||||
</tr>
|
||||
{foreach from=$settings item="value" key="name"}
|
||||
<tr>
|
||||
<td>{$name|escape}</td>
|
||||
{if $name === "password"}
|
||||
<td>**************</td>
|
||||
{else}
|
||||
<td>{$value|escape}</td>
|
||||
{/if}
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
{/foreach}
|
||||
</table>
|
||||
|
||||
|
||||
<a href="{url op="phpinfo"}" target="_blank">{translate key="admin.phpInfo"}</a>
|
||||
</div><!-- .pkp_page_content -->
|
||||
{/block}
|
||||
Reference in New Issue
Block a user