first commit
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
{**
|
||||
* templates/frontend/components/announcements.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 a list of announcements
|
||||
*
|
||||
* @uses $announcements array List of announcements
|
||||
*}
|
||||
|
||||
<ul class="cmp_announcements">
|
||||
{foreach from=$announcements item=announcement}
|
||||
<li>
|
||||
{include file="frontend/objects/announcement_summary.tpl"}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
@@ -0,0 +1,36 @@
|
||||
{**
|
||||
* templates/frontend/components/breadcrumbs.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 a breadcrumb nav item showing the current page. This basic
|
||||
* version is for top-level pages which only need to show the Home link. For
|
||||
* category- and series-specific breadcrumb generation, see
|
||||
* templates/frontend/components/breadcrumbs_catalog.tpl.
|
||||
*
|
||||
* @uses $currentTitle string The title to use for the current page.
|
||||
* @uses $currentTitleKey string Translation key for title of current page.
|
||||
*}
|
||||
|
||||
<nav class="cmp_breadcrumbs" role="navigation">
|
||||
<ol>
|
||||
<li>
|
||||
<a href="{url page="index" router=\PKP\core\PKPApplication::ROUTE_PAGE}">
|
||||
{translate key="common.homepageNavigationLabel"}
|
||||
</a>
|
||||
<span class="separator">{translate key="navigation.breadcrumbSeparator"}</span>
|
||||
</li>
|
||||
<li class="current">
|
||||
<span aria-current="page">
|
||||
{if $currentTitleKey}
|
||||
{translate key=$currentTitleKey}
|
||||
{else}
|
||||
{$currentTitle|escape}
|
||||
{/if}
|
||||
</span>
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
{**
|
||||
* templates/frontend/components/breadcrumbs_announcement.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 a breadcrumb nav item for announcements.
|
||||
*
|
||||
* @uses $currentTitle string The title to use for the current page.
|
||||
* @uses $currentTitleKey string Translation key for title of current page.
|
||||
*}
|
||||
|
||||
<nav class="cmp_breadcrumbs cmp_breadcrumbs_announcement" role="navigation">
|
||||
<ol>
|
||||
<li>
|
||||
<a href="{url page="index" router=\PKP\core\PKPApplication::ROUTE_PAGE}">
|
||||
{translate key="common.homepageNavigationLabel"}
|
||||
</a>
|
||||
<span class="separator">{translate key="navigation.breadcrumbSeparator"}</span>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{url page="announcement" router=\PKP\core\PKPApplication::ROUTE_PAGE}">
|
||||
{translate key="announcement.announcements"}
|
||||
</a>
|
||||
<span class="separator">{translate key="navigation.breadcrumbSeparator"}</span>
|
||||
</li>
|
||||
<li class="current">
|
||||
<span aria-current="page">{$currentTitle|escape}</span>
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
{**
|
||||
* templates/frontend/components/breadcrumbs_catalog.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 a breadcrumb nav item showing the location in the catalog.
|
||||
* This only supports one-level of nesting, as does the category hierarchy data.
|
||||
*
|
||||
* @uses $type string What kind of page should we use to construct urls
|
||||
* (category, series, new)?
|
||||
* @uses $parent Category A parent category if one exists
|
||||
* @uses $currentTitle string The title to use for the current page.
|
||||
* @uses $currentTitleKey string Translation key for title of current page.
|
||||
*}
|
||||
|
||||
<nav class="cmp_breadcrumbs cmp_breadcrumbs_catalog" role="navigation">
|
||||
<ol>
|
||||
<li>
|
||||
<a href="{url page="index" router=\PKP\core\PKPApplication::ROUTE_PAGE}">
|
||||
{translate key="common.homepageNavigationLabel"}
|
||||
</a>
|
||||
<span class="separator">{translate key="navigation.breadcrumbSeparator"}</span>
|
||||
</li>
|
||||
{if $parent}
|
||||
<li>
|
||||
<a href="{url op=$type path=$parent->getPath()}">
|
||||
{$parent->getLocalizedTitle()|escape}
|
||||
</a>
|
||||
<span class="separator">{translate key="navigation.breadcrumbSeparator"}</span>
|
||||
</li>
|
||||
{/if}
|
||||
<li class="current" aria-current="page">
|
||||
<span aria-current="page">
|
||||
{if $currentTitleKey}
|
||||
{translate key=$currentTitleKey}
|
||||
{else}
|
||||
{$currentTitle|escape}
|
||||
{/if}
|
||||
</span>
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
@@ -0,0 +1,33 @@
|
||||
{**
|
||||
* templates/frontend/components/editLink.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 edit link.
|
||||
*
|
||||
* @uses $page string Page to pass to the url constructor
|
||||
* @uses $op string Op to pass to the url constructor
|
||||
* @uses $path string Path to pass to the url constructor
|
||||
* @uses $anchor string Anchor to pass to the url constructor
|
||||
* @uses $sectionTitle string Translated name of section to be edited
|
||||
* @uses SectionTitleKey string A key that must be translated to get the
|
||||
* $sectionTitle
|
||||
*}
|
||||
{if in_array(\PKP\security\Role::ROLE_ID_MANAGER, (array) $userRoles)}
|
||||
|
||||
{* Render the $sectionTitle if we only have a translation key *}
|
||||
{if $sectionTitleKey}
|
||||
{capture assign='sectionTitle'}{translate key=$sectionTitleKey}{/capture}
|
||||
{/if}
|
||||
|
||||
<a href="{url page=$page op=$op path=$path anchor=$anchor}" class="cmp_edit_link">
|
||||
{translate key="common.edit"}
|
||||
|
||||
{* Screen readers need more context *}
|
||||
<span class="pkp_screen_reader">
|
||||
{translate key="help.goToEditPage" sectionTitle=$sectionTitle}
|
||||
</span>
|
||||
</a>
|
||||
{/if}
|
||||
@@ -0,0 +1,53 @@
|
||||
{**
|
||||
* templates/frontend/components/footer.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 Common site frontend footer.
|
||||
*
|
||||
* @uses $isFullWidth bool Should this page be displayed without sidebars? This
|
||||
* represents a page-level override, and doesn't indicate whether or not
|
||||
* sidebars have been configured for thesite.
|
||||
*}
|
||||
|
||||
</div><!-- pkp_structure_main -->
|
||||
|
||||
{* Sidebars *}
|
||||
{if empty($isFullWidth)}
|
||||
{capture assign="sidebarCode"}{call_hook name="Templates::Common::Sidebar"}{/capture}
|
||||
{if $sidebarCode}
|
||||
<div class="pkp_structure_sidebar left" role="complementary">
|
||||
{$sidebarCode}
|
||||
</div><!-- pkp_sidebar.left -->
|
||||
{/if}
|
||||
{/if}
|
||||
</div><!-- pkp_structure_content -->
|
||||
|
||||
<div class="pkp_structure_footer_wrapper" role="contentinfo">
|
||||
<a id="pkp_content_footer"></a>
|
||||
|
||||
<div class="pkp_structure_footer">
|
||||
|
||||
{if $pageFooter}
|
||||
<div class="pkp_footer_content">
|
||||
{$pageFooter}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="pkp_brand_footer">
|
||||
<a href="{url page="about" op="aboutThisPublishingSystem"}">
|
||||
<img alt="{translate key="about.aboutThisPublishingSystem"}" src="{$baseUrl}/{$brandImage}">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- pkp_structure_footer_wrapper -->
|
||||
|
||||
</div><!-- pkp_structure_page -->
|
||||
|
||||
{load_script context="frontend"}
|
||||
|
||||
{call_hook name="Templates::Common::Footer::PageFooter"}
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,102 @@
|
||||
{**
|
||||
* lib/pkp/templates/frontend/components/header.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 Common frontend site header.
|
||||
*
|
||||
* @uses $isFullWidth bool Should this page be displayed without sidebars? This
|
||||
* represents a page-level override, and doesn't indicate whether or not
|
||||
* sidebars have been configured for thesite.
|
||||
*}
|
||||
{strip}
|
||||
{* Determine whether a logo or title string is being displayed *}
|
||||
{assign var="showingLogo" value=true}
|
||||
{if !$displayPageHeaderLogo}
|
||||
{assign var="showingLogo" value=false}
|
||||
{/if}
|
||||
{/strip}
|
||||
<!DOCTYPE html>
|
||||
<html lang="{$currentLocale|replace:"_":"-"}" xml:lang="{$currentLocale|replace:"_":"-"}">
|
||||
{if !$pageTitleTranslated}{capture assign="pageTitleTranslated"}{translate key=$pageTitle}{/capture}{/if}
|
||||
{include file="frontend/components/headerHead.tpl"}
|
||||
<body class="pkp_page_{$requestedPage|escape|default:"index"} pkp_op_{$requestedOp|escape|default:"index"}{if $showingLogo} has_site_logo{/if}" dir="{$currentLocaleLangDir|escape|default:"ltr"}">
|
||||
|
||||
<div class="pkp_structure_page">
|
||||
|
||||
{* Header *}
|
||||
<header class="pkp_structure_head" id="headerNavigationContainer" role="banner">
|
||||
{* Skip to content nav links *}
|
||||
{include file="frontend/components/skipLinks.tpl"}
|
||||
|
||||
<div class="pkp_head_wrapper">
|
||||
|
||||
<div class="pkp_site_name_wrapper">
|
||||
<button class="pkp_site_nav_toggle">
|
||||
<span>Open Menu</span>
|
||||
</button>
|
||||
{if !$requestedPage || $requestedPage === 'index'}
|
||||
<h1 class="pkp_screen_reader">
|
||||
{if $currentContext}
|
||||
{$displayPageHeaderTitle|escape}
|
||||
{else}
|
||||
{$siteTitle|escape}
|
||||
{/if}
|
||||
</h1>
|
||||
{/if}
|
||||
<div class="pkp_site_name">
|
||||
{capture assign="homeUrl"}
|
||||
{url page="index" router=\PKP\core\PKPApplication::ROUTE_PAGE}
|
||||
{/capture}
|
||||
{if $displayPageHeaderLogo}
|
||||
<a href="{$homeUrl}" class="is_img">
|
||||
<img src="{$publicFilesDir}/{$displayPageHeaderLogo.uploadName|escape:"url"}" width="{$displayPageHeaderLogo.width|escape}" height="{$displayPageHeaderLogo.height|escape}" {if $displayPageHeaderLogo.altText != ''}alt="{$displayPageHeaderLogo.altText|escape}"{/if} />
|
||||
</a>
|
||||
{elseif $displayPageHeaderTitle}
|
||||
<a href="{$homeUrl}" class="is_text">{$displayPageHeaderTitle|escape}</a>
|
||||
{else}
|
||||
<a href="{$homeUrl}" class="is_img">
|
||||
<img src="{$baseUrl}/templates/images/structure/logo.png" alt="{$applicationName|escape}" title="{$applicationName|escape}" width="180" height="90" />
|
||||
</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{capture assign="primaryMenu"}
|
||||
{load_menu name="primary" id="navigationPrimary" ulClass="pkp_navigation_primary"}
|
||||
{/capture}
|
||||
|
||||
<nav class="pkp_site_nav_menu" aria-label="{translate|escape key="common.navigation.site"}">
|
||||
<a id="siteNav"></a>
|
||||
<div class="pkp_navigation_primary_row">
|
||||
<div class="pkp_navigation_primary_wrapper">
|
||||
{* Primary navigation menu for current application *}
|
||||
{$primaryMenu}
|
||||
|
||||
{* Search form *}
|
||||
{if $currentContext && $requestedPage !== 'search'}
|
||||
<div class="pkp_navigation_search_wrapper">
|
||||
<a href="{url page="search"}" class="pkp_search pkp_search_desktop">
|
||||
<span class="fa fa-search" aria-hidden="true"></span>
|
||||
{translate key="common.search"}
|
||||
</a>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<div class="pkp_navigation_user_wrapper" id="navigationUserWrapper">
|
||||
{load_menu name="user" id="navigationUser" ulClass="pkp_navigation_user" liClass="profile"}
|
||||
</div>
|
||||
</nav>
|
||||
</div><!-- .pkp_head_wrapper -->
|
||||
</header><!-- .pkp_structure_head -->
|
||||
|
||||
{* Wrapper for page content and sidebars *}
|
||||
{if $isFullWidth}
|
||||
{assign var=hasSidebar value=0}
|
||||
{/if}
|
||||
<div class="pkp_structure_content{if $hasSidebar} has_sidebar{/if}">
|
||||
<div class="pkp_structure_main" role="main">
|
||||
<a id="pkp_content_main"></a>
|
||||
@@ -0,0 +1,23 @@
|
||||
{**
|
||||
* templates/frontend/components/headerHead.tpl
|
||||
*
|
||||
* Copyright (c) 2014-2021 Simon Fraser University
|
||||
* Copyright (c) 2000-2021 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* Common site header <head> tag and contents.
|
||||
*}
|
||||
<head>
|
||||
<meta charset="{$defaultCharset|escape}">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>
|
||||
{$pageTitleTranslated|strip_tags}
|
||||
{* Add the journal name to the end of page titles *}
|
||||
{if $requestedPage|escape|default:"index" != 'index' && $currentContext && $currentContext->getLocalizedName()}
|
||||
| {$currentContext->getLocalizedName()}
|
||||
{/if}
|
||||
</title>
|
||||
|
||||
{load_header context="frontend"}
|
||||
{load_stylesheet context="frontend"}
|
||||
</head>
|
||||
@@ -0,0 +1,42 @@
|
||||
{**
|
||||
* templates/frontend/components/navigationMenu.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 Primary navigation menu list for the application
|
||||
*
|
||||
* @uses navigationMenu array Hierarchical array of navigation menu item assignments
|
||||
* @uses id string Element ID to assign the outer <ul>
|
||||
* @uses ulClass string Class name(s) to assign the outer <ul>
|
||||
* @uses liClass string Class name(s) to assign all <li> elements
|
||||
*}
|
||||
|
||||
{if $navigationMenu}
|
||||
<ul id="{$id|escape}" class="{$ulClass|escape} pkp_nav_list">
|
||||
{foreach key=field item=navigationMenuItemAssignment from=$navigationMenu->menuTree}
|
||||
{if !$navigationMenuItemAssignment->navigationMenuItem->getIsDisplayed()}
|
||||
{continue}
|
||||
{/if}
|
||||
<li class="{$liClass|escape}">
|
||||
<a href="{$navigationMenuItemAssignment->navigationMenuItem->getUrl()}">
|
||||
{$navigationMenuItemAssignment->navigationMenuItem->getLocalizedTitle()}
|
||||
</a>
|
||||
{if $navigationMenuItemAssignment->navigationMenuItem->getIsChildVisible()}
|
||||
<ul>
|
||||
{foreach key=childField item=childNavigationMenuItemAssignment from=$navigationMenuItemAssignment->children}
|
||||
{if $childNavigationMenuItemAssignment->navigationMenuItem->getIsDisplayed()}
|
||||
<li class="{$liClass|escape}">
|
||||
<a href="{$childNavigationMenuItemAssignment->navigationMenuItem->getUrl()}">
|
||||
{$childNavigationMenuItemAssignment->navigationMenuItem->getLocalizedTitle()}
|
||||
</a>
|
||||
</li>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
@@ -0,0 +1,15 @@
|
||||
{**
|
||||
* templates/frontend/components/navigationMenus/dashboardMenuItem.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 Dashboard menuItem Template
|
||||
*
|
||||
*}
|
||||
|
||||
{$navigationMenuItem->getLocalizedTitle()|escape}
|
||||
<span class="task_count">
|
||||
{$unreadNotificationCount}
|
||||
</span>
|
||||
@@ -0,0 +1,29 @@
|
||||
{**
|
||||
* templates/frontend/components/pagination.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 Common template for displaying pagination
|
||||
*
|
||||
* @uses $prevUrl string URL to the previous page
|
||||
* @uses $nextUrl string URL to the next page
|
||||
* @uses $showingStart int The number of the first item shown on this page
|
||||
* @uses $showingEnd int The number of the last item shown on this page
|
||||
* @uses $total int The total number of items available
|
||||
*}
|
||||
|
||||
{if $prevUrl || $nextUrl}
|
||||
<div class="cmp_pagination" aria-label="{translate|escape key="common.pagination.label"}">
|
||||
{if $prevUrl}
|
||||
<a class="prev" href="{$prevUrl}">{translate key="help.previous"}</a>
|
||||
{/if}
|
||||
<span class="current">
|
||||
{translate key="common.pagination" start=$showingStart end=$showingEnd total=$total}
|
||||
</span>
|
||||
{if $nextUrl}
|
||||
<a class="next" href="{$nextUrl}">{translate key="help.next"}</a>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
@@ -0,0 +1,127 @@
|
||||
{**
|
||||
* templates/frontend/components/registrationForm.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 basic registration form fields
|
||||
*
|
||||
* @uses $locale string Locale key to use in the affiliate field
|
||||
* @uses $givenName string First name input entry if available
|
||||
* @uses $familyName string Last name input entry if available
|
||||
* @uses $countries array List of country options
|
||||
* @uses $country string The selected country if available
|
||||
* @uses $email string Email input entry if available
|
||||
* @uses $username string Username input entry if available
|
||||
*}
|
||||
<fieldset class="identity">
|
||||
<legend>
|
||||
{translate key="user.profile"}
|
||||
</legend>
|
||||
<div class="fields">
|
||||
<div class="given_name">
|
||||
<label>
|
||||
<span class="label">
|
||||
{translate key="user.givenName"}
|
||||
<span class="required" aria-hidden="true">*</span>
|
||||
<span class="pkp_screen_reader">
|
||||
{translate key="common.required"}
|
||||
</span>
|
||||
</span>
|
||||
<input type="text" name="givenName" autocomplete="given-name" id="givenName" value="{$givenName|default:""|escape}" maxlength="255" required aria-required="true">
|
||||
</label>
|
||||
</div>
|
||||
<div class="family_name">
|
||||
<label>
|
||||
<span class="label">
|
||||
{translate key="user.familyName"}
|
||||
</span>
|
||||
<input type="text" name="familyName" autocomplete="family-name" id="familyName" value="{$familyName|default:""|escape}" maxlength="255">
|
||||
</label>
|
||||
</div>
|
||||
<div class="affiliation">
|
||||
<label>
|
||||
<span class="label">
|
||||
{translate key="user.affiliation"}
|
||||
<span class="required" aria-hidden="true">*</span>
|
||||
<span class="pkp_screen_reader">
|
||||
{translate key="common.required"}
|
||||
</span>
|
||||
</span>
|
||||
<input type="text" name="affiliation" autocomplete="organization" id="affiliation" value="{$affiliation|default:""|escape}" required aria-required="true">
|
||||
</label>
|
||||
</div>
|
||||
<div class="country">
|
||||
<label>
|
||||
<span class="label">
|
||||
{translate key="common.country"}
|
||||
<span class="required" aria-hidden="true">*</span>
|
||||
<span class="pkp_screen_reader">
|
||||
{translate key="common.required"}
|
||||
</span>
|
||||
</span>
|
||||
<select name="country" id="country" autocomplete="country-name" required aria-required="true">
|
||||
<option></option>
|
||||
{html_options options=$countries selected=$country}
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="login">
|
||||
<legend>
|
||||
{translate key="user.login"}
|
||||
</legend>
|
||||
<div class="fields">
|
||||
<div class="email">
|
||||
<label>
|
||||
<span class="label">
|
||||
{translate key="user.email"}
|
||||
<span class="required" aria-hidden="true">*</span>
|
||||
<span class="pkp_screen_reader">
|
||||
{translate key="common.required"}
|
||||
</span>
|
||||
</span>
|
||||
<input type="email" name="email" id="email" value="{$email|default:""|escape}" maxlength="90" required aria-required="true" autocomplete="email">
|
||||
</label>
|
||||
</div>
|
||||
<div class="username">
|
||||
<label>
|
||||
<span class="label">
|
||||
{translate key="user.username"}
|
||||
<span class="required" aria-hidden="true">*</span>
|
||||
<span class="pkp_screen_reader">
|
||||
{translate key="common.required"}
|
||||
</span>
|
||||
</span>
|
||||
<input type="text" name="username" id="username" value="{$username|default:""|escape}" maxlength="32" required aria-required="true" autocomplete="username">
|
||||
</label>
|
||||
</div>
|
||||
<div class="password">
|
||||
<label>
|
||||
<span class="label">
|
||||
{translate key="user.password"}
|
||||
<span class="required" aria-hidden="true">*</span>
|
||||
<span class="pkp_screen_reader">
|
||||
{translate key="common.required"}
|
||||
</span>
|
||||
</span>
|
||||
<input type="password" name="password" id="password" password="true" maxlength="32" required aria-required="true" autocomplete="new-password">
|
||||
</label>
|
||||
</div>
|
||||
<div class="password">
|
||||
<label>
|
||||
<span class="label">
|
||||
{translate key="user.repeatPassword"}
|
||||
<span class="required" aria-hidden="true">*</span>
|
||||
<span class="pkp_screen_reader">
|
||||
{translate key="common.required"}
|
||||
</span>
|
||||
</span>
|
||||
<input type="password" name="password2" id="password2" password="true" maxlength="32" required aria-required="true" autocomplete="new-password">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
@@ -0,0 +1,84 @@
|
||||
{**
|
||||
* templates/frontend/components/registrationFormContexts.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 role selection for all of the journals/presses on this site
|
||||
*
|
||||
* @uses $contexts array List of journals/presses on this site that have enabled registration
|
||||
* @uses $readerUserGroups array Associative array of user groups with reader
|
||||
* permissions in each context.
|
||||
* @uses $authorUserGroups array Associative array of user groups with author
|
||||
* permissions in each context.
|
||||
* @uses $reviewerUserGroups array Associative array of user groups with reviewer
|
||||
* permissions in each context.
|
||||
* @uses $userGroupIds array List group IDs this user is assigned
|
||||
*}
|
||||
|
||||
{* Only display the context role selection when registration is taking place
|
||||
outside of the context of any one journal/press. *}
|
||||
{if !$currentContext}
|
||||
|
||||
{* Allow users to register for any journal/press on this site *}
|
||||
<fieldset name="contexts">
|
||||
<legend>
|
||||
{translate key="user.register.contextsPrompt"}
|
||||
</legend>
|
||||
<div class="fields">
|
||||
<div id="contextOptinGroup" class="context_optin">
|
||||
<ul class="contexts">
|
||||
{foreach from=$contexts item=context}
|
||||
{assign var=contextId value=$context->getId()}
|
||||
{assign var=isSelected value=false}
|
||||
<li class="context">
|
||||
<div class="name">
|
||||
{$context->getLocalizedName()}
|
||||
</div class="name">
|
||||
<fieldset class="roles">
|
||||
<legend>
|
||||
{translate key="user.register.otherContextRoles"}
|
||||
</legend>
|
||||
{foreach from=$readerUserGroups[$contextId] item=userGroup}
|
||||
{if $userGroup->getPermitSelfRegistration()}
|
||||
{assign var="userGroupId" value=$userGroup->getId()}
|
||||
<label>
|
||||
<input type="checkbox" name="readerGroup[{$userGroupId}]"{if in_array($userGroupId, $userGroupIds)} checked="checked"{/if}>
|
||||
{$userGroup->getLocalizedName()}
|
||||
</label>
|
||||
{if in_array($userGroupId, $userGroupIds)}
|
||||
{assign var=isSelected value=true}
|
||||
{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{foreach from=$reviewerUserGroups[$contextId] item=userGroup}
|
||||
{if $userGroup->getPermitSelfRegistration()}
|
||||
{assign var="userGroupId" value=$userGroup->getId()}
|
||||
<label>
|
||||
<input type="checkbox" name="reviewerGroup[{$userGroupId}]"{if in_array($userGroupId, $userGroupIds)} checked="checked"{/if}>
|
||||
{$userGroup->getLocalizedName()}
|
||||
</label>
|
||||
{if in_array($userGroupId, $userGroupIds)}
|
||||
{assign var=isSelected value=true}
|
||||
{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
</fieldset>
|
||||
{* Require the user to agree to the terms of the context's privacy policy *}
|
||||
{if !$enableSiteWidePrivacyStatement && $context->getData('privacyStatement')}
|
||||
<div class="context_privacy {if $isSelected}context_privacy_visible{/if}">
|
||||
<label>
|
||||
<input type="checkbox" name="privacyConsent[{$contextId}]" id="privacyConsent[{$contextId}]" value="1"{if $privacyConsent[$contextId]} checked="checked"{/if}>
|
||||
{capture assign="privacyUrl"}{url router=\PKP\core\PKPApplication::ROUTE_PAGE context=$context->getPath() page="about" op="privacy"}{/capture}
|
||||
{translate key="user.register.form.privacyConsentThisContext" privacyUrl=$privacyUrl}
|
||||
</label>
|
||||
</div>
|
||||
{/if}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
{/if}
|
||||
@@ -0,0 +1,28 @@
|
||||
{**
|
||||
* templates/frontend/objects/announcement_full.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 full view of an announcement, when the announcement is
|
||||
* the primary element on the page.
|
||||
*
|
||||
* @uses $announcement Announcement The announcement to display
|
||||
*}
|
||||
|
||||
<article class="obj_announcement_full">
|
||||
<h1>
|
||||
{$announcement->getLocalizedTitle()|escape}
|
||||
</h1>
|
||||
<div class="date">
|
||||
{$announcement->getDatePosted()|date_format:$dateFormatShort}
|
||||
</div>
|
||||
<div class="description">
|
||||
{if $announcement->getLocalizedDescription()}
|
||||
{$announcement->getLocalizedDescription()|strip_unsafe_html}
|
||||
{else}
|
||||
{$announcement->getLocalizedDescriptionShort()|strip_unsafe_html}
|
||||
{/if}
|
||||
</div>
|
||||
</article><!-- .obj_announcement_full -->
|
||||
@@ -0,0 +1,37 @@
|
||||
{**
|
||||
* templates/frontend/objects/announcement_summary.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 a summary view of an announcement
|
||||
*
|
||||
* @uses $announcement Announcement The announcement to display
|
||||
* @uses $heading string HTML heading element, default: h2
|
||||
*}
|
||||
{if !$heading}
|
||||
{assign var="heading" value="h2"}
|
||||
{/if}
|
||||
|
||||
<article class="obj_announcement_summary">
|
||||
<{$heading}>
|
||||
<a href="{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="announcement" op="view" path=$announcement->getId()}">
|
||||
{$announcement->getLocalizedTitle()|escape}
|
||||
</a>
|
||||
</{$heading}>
|
||||
<div class="date">
|
||||
{$announcement->getDatePosted()|date_format:$dateFormatShort}
|
||||
</div>
|
||||
<div class="summary">
|
||||
{$announcement->getLocalizedDescriptionShort()|strip_unsafe_html}
|
||||
<a href="{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="announcement" op="view" path=$announcement->getId()}" class="read_more">
|
||||
<span aria-hidden="true" role="presentation">
|
||||
{translate key="common.readMore"}
|
||||
</span>
|
||||
<span class="pkp_screen_reader">
|
||||
{translate key="common.readMoreWithTitle" title=$announcement->getLocalizedTitle()|escape}
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</article><!-- .obj_announcement_summary -->
|
||||
@@ -0,0 +1,42 @@
|
||||
{**
|
||||
* templates/frontend/objects/announcements_list.tpl
|
||||
*
|
||||
* Copyright (c) 2014-2023 Simon Fraser University
|
||||
* Copyright (c) 2003-2023 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* @brief Display a list of announcements
|
||||
*
|
||||
* @uses $numAnnouncements int The number of announcements to display in the list
|
||||
* @uses $announcements Announcement[] The list of announcements
|
||||
*}
|
||||
|
||||
{if $numAnnouncements && $announcements|@count}
|
||||
<section class="cmp_announcements highlight_first">
|
||||
<a id="homepageAnnouncements"></a>
|
||||
<h2>
|
||||
{translate key="announcement.announcements"}
|
||||
</h2>
|
||||
{foreach name=announcements from=$announcements item=announcement}
|
||||
{if $smarty.foreach.announcements.iteration > $numAnnouncements}
|
||||
{break}
|
||||
{/if}
|
||||
{if $smarty.foreach.announcements.iteration == 1}
|
||||
{include file="frontend/objects/announcement_summary.tpl" heading="h3"}
|
||||
<div class="more">
|
||||
{else}
|
||||
<article class="obj_announcement_summary">
|
||||
<h4>
|
||||
<a href="{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="announcement" op="view" path=$announcement->getId()}">
|
||||
{$announcement->getLocalizedTitle()|escape}
|
||||
</a>
|
||||
</h4>
|
||||
<div class="date">
|
||||
{$announcement->getDatePosted()|date_format:$dateFormatShort}
|
||||
</div>
|
||||
</article>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</div><!-- .more -->
|
||||
</section>
|
||||
{/if}
|
||||
@@ -0,0 +1,25 @@
|
||||
{**
|
||||
* templates/frontend/pages/about.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 page to view a journal's or press's description, contact
|
||||
* details, policies and more.
|
||||
*
|
||||
* @uses $currentContext Journal|Press The current journal or press
|
||||
*}
|
||||
{include file="frontend/components/header.tpl" pageTitle="about.aboutContext"}
|
||||
|
||||
<div class="page page_about">
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitleKey="about.aboutContext"}
|
||||
<h1>
|
||||
{translate key="about.aboutContext"}
|
||||
</h1>
|
||||
{include file="frontend/components/editLink.tpl" page="management" op="settings" path="context" anchor="masthead" sectionTitleKey="about.aboutContext"}
|
||||
|
||||
{$currentContext->getLocalizedData('about')}
|
||||
</div><!-- .page -->
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
@@ -0,0 +1,23 @@
|
||||
{**
|
||||
* templates/frontend/pages/announcements.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 page which represents a single announcement
|
||||
*
|
||||
* @uses $announcement Announcement The announcement to display
|
||||
*}
|
||||
{include file="frontend/components/header.tpl" pageTitleTranslated=$announcement->getLocalizedTitle()|escape}
|
||||
|
||||
<div class="page page_announcement">
|
||||
|
||||
{include file="frontend/components/breadcrumbs_announcement.tpl" currentTitle=$announcement->getLocalizedTitle()|escape}
|
||||
|
||||
{* Display book details *}
|
||||
{include file="frontend/objects/announcement_full.tpl"}
|
||||
|
||||
</div><!-- .page -->
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
@@ -0,0 +1,26 @@
|
||||
{**
|
||||
* templates/frontend/pages/announcements.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 page to view the latest announcements
|
||||
*
|
||||
* @uses $announcements array List of announcements
|
||||
*}
|
||||
{include file="frontend/components/header.tpl" pageTitle="announcement.announcements"}
|
||||
|
||||
<div class="page page_announcements">
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitleKey="announcement.announcements"}
|
||||
<h1>
|
||||
{translate key="announcement.announcements"}
|
||||
</h1>
|
||||
{include file="frontend/components/editLink.tpl" page="management" op="settings" path="announcements" anchor="announcements" sectionTitleKey="announcement.announcements"}
|
||||
|
||||
{$announcementsIntroduction}
|
||||
|
||||
{include file="frontend/components/announcements.tpl"}
|
||||
</div><!-- .page -->
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
@@ -0,0 +1,118 @@
|
||||
{**
|
||||
* templates/frontend/pages/contact.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 page to view the press's contact details.
|
||||
*
|
||||
* @uses $currentContext Journal|Press The current journal or press
|
||||
* @uses $mailingAddress string Mailing address for the journal/press
|
||||
* @uses $contactName string Primary contact name
|
||||
* @uses $contactTitle string Primary contact title
|
||||
* @uses $contactAffiliation string Primary contact affiliation
|
||||
* @uses $contactPhone string Primary contact phone number
|
||||
* @uses $contactEmail string Primary contact email address
|
||||
* @uses $supportName string Support contact name
|
||||
* @uses $supportPhone string Support contact phone number
|
||||
* @uses $supportEmail string Support contact email address
|
||||
*}
|
||||
{include file="frontend/components/header.tpl" pageTitle="about.contact"}
|
||||
|
||||
<div class="page page_contact">
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitleKey="about.contact"}
|
||||
<h1>
|
||||
{translate key="about.contact"}
|
||||
</h1>
|
||||
{include file="frontend/components/editLink.tpl" page="management" op="settings" path="context" anchor="contact" sectionTitleKey="about.contact"}
|
||||
|
||||
{* Contact section *}
|
||||
<div class="contact_section">
|
||||
|
||||
{if $mailingAddress}
|
||||
<div class="address">
|
||||
{$mailingAddress|nl2br|strip_unsafe_html}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{* Primary contact *}
|
||||
{if $contactTitle || $contactName || $contactAffiliation || $contactPhone || $contactEmail}
|
||||
<div class="contact primary">
|
||||
<h2>
|
||||
{translate key="about.contact.principalContact"}
|
||||
</h2>
|
||||
|
||||
{if $contactName}
|
||||
<div class="name">
|
||||
{$contactName|escape}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $contactTitle}
|
||||
<div class="title">
|
||||
{$contactTitle|escape}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $contactAffiliation}
|
||||
<div class="affiliation">
|
||||
{$contactAffiliation|strip_unsafe_html}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $contactPhone}
|
||||
<div class="phone">
|
||||
<span class="label">
|
||||
{translate key="about.contact.phone"}
|
||||
</span>
|
||||
<span class="value">
|
||||
{$contactPhone|escape}
|
||||
</span>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $contactEmail}
|
||||
<div class="email">
|
||||
{mailto address=$contactEmail encode='javascript'}
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{* Technical contact *}
|
||||
{if $supportName || $supportPhone || $supportEmail}
|
||||
<div class="contact support">
|
||||
<h2>
|
||||
{translate key="about.contact.supportContact"}
|
||||
</h2>
|
||||
|
||||
{if $supportName}
|
||||
<div class="name">
|
||||
{$supportName|escape}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $supportPhone}
|
||||
<div class="phone">
|
||||
<span class="label">
|
||||
{translate key="about.contact.phone"}
|
||||
</span>
|
||||
<span class="value">
|
||||
{$supportPhone|escape}
|
||||
</span>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $supportEmail}
|
||||
<div class="email">
|
||||
{mailto address=$supportEmail encode='javascript'}
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
</div><!-- .page -->
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
@@ -0,0 +1,23 @@
|
||||
{**
|
||||
* templates/frontend/pages/editorialTeam.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 page to view the editorial team.
|
||||
*
|
||||
* @uses $currentContext Journal|Press The current journal or press
|
||||
*}
|
||||
{include file="frontend/components/header.tpl" pageTitle="about.editorialTeam"}
|
||||
|
||||
<div class="page page_editorial_team">
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitleKey="about.editorialTeam"}
|
||||
<h1>
|
||||
{translate key="about.editorialTeam"}
|
||||
</h1>
|
||||
{include file="frontend/components/editLink.tpl" page="management" op="settings" path="context" anchor="masthead" sectionTitleKey="about.editorialTeam"}
|
||||
{$currentContext->getLocalizedData('editorialTeam')}
|
||||
</div><!-- .page -->
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
@@ -0,0 +1,28 @@
|
||||
{**
|
||||
* templates/frontend/pages/error.tpl
|
||||
*
|
||||
* Copyright (c) 2014-2021 Simon Fraser University
|
||||
* Copyright (c) 2000-2021 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* Generic error page.
|
||||
* Displays a simple error message and (optionally) a return link.
|
||||
*}
|
||||
{include file="frontend/components/header.tpl"}
|
||||
|
||||
<div class="page page_error">
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitleKey=$pageTitle}
|
||||
<h1>
|
||||
{translate key=$pageTitle}
|
||||
</h1>
|
||||
<div class="description">
|
||||
{translate key=$errorMsg params=$errorParams}
|
||||
</div>
|
||||
{if $backLink}
|
||||
<div class="cmp_back_link">
|
||||
<a href="{$backLink}">{translate key=$backLinkLabel}</a>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
@@ -0,0 +1,29 @@
|
||||
{**
|
||||
* templates/frontend/pages/information.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.
|
||||
*
|
||||
* Information page.
|
||||
*
|
||||
*}
|
||||
{if !$contentOnly}
|
||||
{include file="frontend/components/header.tpl" pageTitle=$pageTitle}
|
||||
{/if}
|
||||
|
||||
<div class="page page_information">
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitleKey=$pageTitle}
|
||||
<h1>
|
||||
{translate key=$pageTitle}
|
||||
</h1>
|
||||
{include file="frontend/components/editLink.tpl" page="management" op="settings" path="website" anchor="setup/information" sectionTitleKey="manager.website.information"}
|
||||
|
||||
<div class="description">
|
||||
{$content}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{if !$contentOnly}
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
{/if}
|
||||
@@ -0,0 +1,32 @@
|
||||
{**
|
||||
* templates/frontend/pages/message.tpl
|
||||
*
|
||||
* Copyright (c) 2014-2021 Simon Fraser University
|
||||
* Copyright (c) 2000-2021 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* Generic message page.
|
||||
* Displays a simple message and (optionally) a return link.
|
||||
*}
|
||||
{include file="frontend/components/header.tpl"}
|
||||
|
||||
<div class="page page_message">
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitleKey=$pageTitle}
|
||||
<h1>
|
||||
{translate key=$pageTitle}
|
||||
</h1>
|
||||
<div class="description">
|
||||
{if $messageTranslated}
|
||||
{$messageTranslated}
|
||||
{else}
|
||||
{translate key=$message}
|
||||
{/if}
|
||||
</div>
|
||||
{if $backLink}
|
||||
<div class="cmp_back_link">
|
||||
<a href="{$backLink}">{translate key=$backLinkLabel}</a>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
@@ -0,0 +1,19 @@
|
||||
{**
|
||||
* frontend/pages/navigationMenuItemViewContent.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 NavigationMenuItem content
|
||||
*}
|
||||
{include file="frontend/components/header.tpl" pageTitleTranslated=$title}
|
||||
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitle=$title}
|
||||
|
||||
<div class="page">
|
||||
<h1 class="page_title">{$title|escape}</h1>
|
||||
{$content}
|
||||
</div>
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
@@ -0,0 +1,22 @@
|
||||
{**
|
||||
* templates/frontend/pages/privacy.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 page to view the privacy policy.
|
||||
*
|
||||
* @uses $currentContext Journal|Press The current journal or press
|
||||
*}
|
||||
{include file="frontend/components/header.tpl" pageTitle="manager.setup.privacyStatement"}
|
||||
|
||||
<div class="page page_privacy">
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitleKey="manager.setup.privacyStatement"}
|
||||
<h1>
|
||||
{translate key="manager.setup.privacyStatement"}
|
||||
</h1>
|
||||
{$privacyStatement}
|
||||
</div><!-- .page -->
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
@@ -0,0 +1,84 @@
|
||||
{**
|
||||
* templates/frontend/pages/submissions.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 page to view information about submissions.
|
||||
*
|
||||
* @uses $currentContext Journal|Press The current journal or press
|
||||
* @uses $submissionChecklist array List of requirements for submissions
|
||||
* @uses $submissionChecklistAfterContent string Optional data to include after the checklist
|
||||
*}
|
||||
{include file="frontend/components/header.tpl" pageTitle="about.submissions"}
|
||||
|
||||
<div class="page page_submissions">
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitleKey="about.submissions"}
|
||||
<h1>
|
||||
{translate key="about.submissions"}
|
||||
</h1>
|
||||
|
||||
<div class="cmp_notification">
|
||||
{if $sections|@count == 0 || $currentContext->getData('disableSubmissions')}
|
||||
{translate key="author.submit.notAccepting"}
|
||||
{else}
|
||||
{if $isUserLoggedIn}
|
||||
{capture assign="newSubmission"}<a href="{url page="submission"}">{translate key="about.onlineSubmissions.newSubmission"}</a>{/capture}
|
||||
{capture assign="viewSubmissions"}<a href="{url page="submissions"}">{translate key="about.onlineSubmissions.viewSubmissions"}</a>{/capture}
|
||||
{translate key="about.onlineSubmissions.submissionActions" newSubmission=$newSubmission viewSubmissions=$viewSubmissions}
|
||||
{else}
|
||||
{capture assign="login"}<a href="{url page="login"}">{translate key="about.onlineSubmissions.login"}</a>{/capture}
|
||||
{capture assign="register"}<a href="{url page="user" op="register"}">{translate key="about.onlineSubmissions.register"}</a>{/capture}
|
||||
{translate key="about.onlineSubmissions.registrationRequired" login=$login register=$register}
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{if $currentContext->getLocalizedData('authorGuidelines')}
|
||||
<div class="author_guidelines" id="authorGuidelines">
|
||||
<h2>
|
||||
{translate key="about.authorGuidelines"}
|
||||
{include file="frontend/components/editLink.tpl" page="management" op="settings" path="workflow" anchor="submission/instructions" sectionTitleKey="about.authorGuidelines"}
|
||||
</h2>
|
||||
{$currentContext->getLocalizedData('authorGuidelines')}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $submissionChecklist}
|
||||
<div class="submission_checklist">
|
||||
<h2>
|
||||
{translate key="about.submissionPreparationChecklist"}
|
||||
{include file="frontend/components/editLink.tpl" page="management" op="settings" path="workflow" anchor="submission/instructions" sectionTitleKey="about.submissionPreparationChecklist"}
|
||||
</h2>
|
||||
{$submissionChecklist}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if isset($submissionChecklistAfterContent)}
|
||||
{$submissionChecklistAfterContent}
|
||||
{/if}
|
||||
|
||||
{if $currentContext->getLocalizedData('copyrightNotice')}
|
||||
<div class="copyright_notice">
|
||||
<h2>
|
||||
{translate key="about.copyrightNotice"}
|
||||
{include file="frontend/components/editLink.tpl" page="management" op="settings" path="workflow" anchor="submission/authorGuidelines" sectionTitleKey="about.copyrightNotice"}
|
||||
</h2>
|
||||
{$currentContext->getLocalizedData('copyrightNotice')}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if $currentContext->getLocalizedData('privacyStatement')}
|
||||
<div class="privacy_statement" id="privacyStatement">
|
||||
<h2>
|
||||
{translate key="about.privacyStatement"}
|
||||
{include file="frontend/components/editLink.tpl" page="management" op="settings" path="website" anchor="setup/privacy" sectionTitleKey="about.privacyStatement"}
|
||||
</h2>
|
||||
{$currentContext->getLocalizedData('privacyStatement')}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
</div><!-- .page -->
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
@@ -0,0 +1,108 @@
|
||||
{**
|
||||
* templates/frontend/pages/userLogin.tpl
|
||||
*
|
||||
* Copyright (c) 2014-2021 Simon Fraser University
|
||||
* Copyright (c) 2000-2021 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* User login form.
|
||||
*
|
||||
*}
|
||||
{include file="frontend/components/header.tpl" pageTitle="user.login"}
|
||||
|
||||
<div class="page page_login">
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitleKey="user.login"}
|
||||
<h1>
|
||||
{translate key="user.login"}
|
||||
</h1>
|
||||
|
||||
<p>
|
||||
{translate key="common.requiredField"}
|
||||
</p>
|
||||
{* A login message may be displayed if the user was redireceted to the
|
||||
login page from another request. Examples include if login is required
|
||||
before dowloading a file. *}
|
||||
{if $loginMessage}
|
||||
<p>
|
||||
{translate key=$loginMessage}
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
<form class="cmp_form cmp_form login" id="login" method="post" action="{$loginUrl}" role="form">
|
||||
{csrf}
|
||||
|
||||
{if $error}
|
||||
<div class="pkp_form_error">
|
||||
{translate key=$error reason=$reason}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<input type="hidden" name="source" value="{$source|default:""|escape}" />
|
||||
|
||||
<fieldset class="fields">
|
||||
<legend class="pkp_screen_reader">{translate key="user.login"}</legend>
|
||||
<div class="username">
|
||||
<label>
|
||||
<span class="label">
|
||||
{translate key="user.usernameOrEmail"}
|
||||
<span class="required" aria-hidden="true">*</span>
|
||||
<span class="pkp_screen_reader">
|
||||
{translate key="common.required"}
|
||||
</span>
|
||||
</span>
|
||||
<input type="text" name="username" id="username" value="{$username|default:""|escape}" required aria-required="true" autocomplete="username">
|
||||
</label>
|
||||
</div>
|
||||
<div class="password">
|
||||
<label>
|
||||
<span class="label">
|
||||
{translate key="user.password"}
|
||||
<span class="required" aria-hidden="true">*</span>
|
||||
<span class="pkp_screen_reader">
|
||||
{translate key="common.required"}
|
||||
</span>
|
||||
</span>
|
||||
<input type="password" name="password" id="password" value="{$password|default:""|escape}" password="true" maxlength="32" required aria-required="true" autocomplete="current-password">
|
||||
<a href="{url page="login" op="lostPassword"}">
|
||||
{translate key="user.login.forgotPassword"}
|
||||
</a>
|
||||
</label>
|
||||
</div>
|
||||
<div class="remember checkbox">
|
||||
<label>
|
||||
<input type="checkbox" name="remember" id="remember" value="1" checked="$remember">
|
||||
<span class="label">
|
||||
{translate key="user.login.rememberUsernameAndPassword"}
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
{* recaptcha spam blocker *}
|
||||
{if $recaptchaPublicKey}
|
||||
<fieldset class="recaptcha_wrapper">
|
||||
<div class="fields">
|
||||
<div class="recaptcha">
|
||||
<div class="g-recaptcha" data-sitekey="{$recaptchaPublicKey|escape}">
|
||||
</div><label for="g-recaptcha-response" style="display:none;" hidden>Recaptcha response</label>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
{/if}
|
||||
|
||||
<div class="buttons">
|
||||
<button class="submit" type="submit">
|
||||
{translate key="user.login"}
|
||||
</button>
|
||||
|
||||
{if !$disableUserReg}
|
||||
{capture assign=registerUrl}{url page="user" op="register" source=$source}{/capture}
|
||||
<a href="{$registerUrl}" class="register">
|
||||
{translate key="user.login.registerNewAccount"}
|
||||
</a>
|
||||
{/if}
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div><!-- .page -->
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
@@ -0,0 +1,60 @@
|
||||
{**
|
||||
* templates/frontend/pages/userLostPassword.tpl
|
||||
*
|
||||
* Copyright (c) 2014-2021 Simon Fraser University
|
||||
* Copyright (c) 2000-2021 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* Password reset form.
|
||||
*
|
||||
*}
|
||||
{include file="frontend/components/header.tpl" pageTitle="user.login.resetPassword"}
|
||||
|
||||
<div class="page page_lost_password">
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitleKey="user.login.resetPassword"}
|
||||
<h1>
|
||||
{translate key="user.login.resetPassword"}
|
||||
</h1>
|
||||
|
||||
<p>{translate key="user.login.resetPasswordInstructions"}</p>
|
||||
|
||||
<form class="cmp_form lost_password" id="lostPasswordForm" action="{url page="login" op="requestResetPassword"}" method="post" role="form">
|
||||
{csrf}
|
||||
{if $error}
|
||||
<div class="pkp_form_error">
|
||||
{translate key=$error reason=$reason}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="fields">
|
||||
<div class="email">
|
||||
<label>
|
||||
<span class="label">
|
||||
{translate key="user.login.registeredEmail"}
|
||||
<span class="required" aria-hidden="true">*</span>
|
||||
<span class="pkp_screen_reader">
|
||||
{translate key="common.required"}
|
||||
</span>
|
||||
</span>
|
||||
<input type="email" name="email" id="email" value="{$email|escape}" required aria-required="true" autocomplete="email">
|
||||
</label>
|
||||
</div>
|
||||
<div class="buttons">
|
||||
<button class="submit" type="submit">
|
||||
{translate key="user.login.resetPassword"}
|
||||
</button>
|
||||
|
||||
{if !$disableUserReg}
|
||||
{capture assign=registerUrl}{url page="user" op="register" source=$source}{/capture}
|
||||
<a href="{$registerUrl}" class="register">
|
||||
{translate key="user.login.registerNewAccount"}
|
||||
</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
</div><!-- .page -->
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
@@ -0,0 +1,170 @@
|
||||
{**
|
||||
* templates/frontend/pages/userRegister.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.
|
||||
*
|
||||
* User registration form.
|
||||
*
|
||||
* @uses $primaryLocale string The primary locale for this journal/press
|
||||
*}
|
||||
{include file="frontend/components/header.tpl" pageTitle="user.register"}
|
||||
|
||||
<div class="page page_register">
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitleKey="user.register"}
|
||||
<h1>
|
||||
{translate key="user.register"}
|
||||
</h1>
|
||||
|
||||
<p>
|
||||
{translate key="common.requiredField"}
|
||||
</p>
|
||||
|
||||
<form class="cmp_form register" id="register" method="post" action="{url op="register"}" role="form">
|
||||
{csrf}
|
||||
|
||||
{if $source}
|
||||
<input type="hidden" name="source" value="{$source|escape}" />
|
||||
{/if}
|
||||
|
||||
{include file="common/formErrors.tpl"}
|
||||
|
||||
{include file="frontend/components/registrationForm.tpl"}
|
||||
|
||||
{* When a user is registering with a specific journal *}
|
||||
{if $currentContext}
|
||||
|
||||
<fieldset class="consent">
|
||||
{if $currentContext->getData('privacyStatement')}
|
||||
{* Require the user to agree to the terms of the privacy policy *}
|
||||
<legend class="pkp_screen_reader">{translate key="user.register.form.privacyConsentLabel"}</legend>
|
||||
<div class="fields">
|
||||
<div class="optin optin-privacy">
|
||||
<label>
|
||||
<input type="checkbox" name="privacyConsent" value="1"{if $privacyConsent} checked="checked"{/if}>
|
||||
{capture assign="privacyUrl"}{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="about" op="privacy"}{/capture}
|
||||
{translate key="user.register.form.privacyConsent" privacyUrl=$privacyUrl}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{* Ask the user to opt into public email notifications *}
|
||||
<div class="fields">
|
||||
<div class="optin optin-email">
|
||||
<label>
|
||||
<input type="checkbox" name="emailConsent" value="1"{if $emailConsent} checked="checked"{/if}>
|
||||
{translate key="user.register.form.emailConsent"}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{* Allow the user to sign up as a reviewer *}
|
||||
{assign var=contextId value=$currentContext->getId()}
|
||||
{assign var=userCanRegisterReviewer value=0}
|
||||
{foreach from=$reviewerUserGroups[$contextId] item=userGroup}
|
||||
{if $userGroup->getPermitSelfRegistration()}
|
||||
{assign var=userCanRegisterReviewer value=$userCanRegisterReviewer+1}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{if $userCanRegisterReviewer}
|
||||
<fieldset class="reviewer">
|
||||
{if $userCanRegisterReviewer > 1}
|
||||
<legend>
|
||||
{translate key="user.reviewerPrompt"}
|
||||
</legend>
|
||||
{capture assign="checkboxLocaleKey"}user.reviewerPrompt.userGroup{/capture}
|
||||
{else}
|
||||
{capture assign="checkboxLocaleKey"}user.reviewerPrompt.optin{/capture}
|
||||
{/if}
|
||||
<div class="fields">
|
||||
<div id="reviewerOptinGroup" class="optin">
|
||||
{foreach from=$reviewerUserGroups[$contextId] item=userGroup}
|
||||
{if $userGroup->getPermitSelfRegistration()}
|
||||
<label>
|
||||
{assign var="userGroupId" value=$userGroup->getId()}
|
||||
<input type="checkbox" name="reviewerGroup[{$userGroupId}]" value="1"{if in_array($userGroupId, $userGroupIds)} checked="checked"{/if}>
|
||||
{translate key=$checkboxLocaleKey userGroup=$userGroup->getLocalizedName()}
|
||||
</label>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
<div id="reviewerInterests" class="reviewer_interests">
|
||||
<label>
|
||||
<span class="label">
|
||||
{translate key="user.interests"}
|
||||
</span>
|
||||
<input type="text" name="interests" id="interests" value="{$interests|default:""|escape}">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
{include file="frontend/components/registrationFormContexts.tpl"}
|
||||
|
||||
{* When a user is registering for no specific journal, allow them to
|
||||
enter their reviewer interests *}
|
||||
{if !$currentContext}
|
||||
<div class="fields">
|
||||
<div class="reviewer_nocontext_interests">
|
||||
<label>
|
||||
<span class="label">
|
||||
{translate key="user.register.noContextReviewerInterests"}
|
||||
</span>
|
||||
<input type="text" name="interests" id="interests" value="{$interests|default:""|escape}">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{* Require the user to agree to the terms of the privacy policy *}
|
||||
{if $siteWidePrivacyStatement}
|
||||
<div class="fields">
|
||||
<div class="optin optin-privacy">
|
||||
<label>
|
||||
<input type="checkbox" name="privacyConsent[{\PKP\core\PKPApplication::CONTEXT_ID_NONE}]" id="privacyConsent[{\PKP\core\PKPApplication::CONTEXT_ID_NONE}]" value="1"{if $privacyConsent[\PKP\core\PKPApplication::CONTEXT_ID_NONE]} checked="checked"{/if}>
|
||||
{capture assign="privacyUrl"}{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="about" op="privacy"}{/capture}
|
||||
{translate key="user.register.form.privacyConsent" privacyUrl=$privacyUrl}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{* Ask the user to opt into public email notifications *}
|
||||
<div class="fields">
|
||||
<div class="optin optin-email">
|
||||
<label>
|
||||
<input type="checkbox" name="emailConsent" value="1"{if $emailConsent} checked="checked"{/if}>
|
||||
{translate key="user.register.form.emailConsent"}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{* recaptcha spam blocker *}
|
||||
{if $recaptchaPublicKey}
|
||||
<fieldset class="recaptcha_wrapper">
|
||||
<div class="fields">
|
||||
<div class="recaptcha">
|
||||
<div class="g-recaptcha" data-sitekey="{$recaptchaPublicKey|escape}">
|
||||
</div><label for="g-recaptcha-response" style="display:none;" hidden>Recaptcha response</label>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
{/if}
|
||||
|
||||
<div class="buttons">
|
||||
<button class="submit" type="submit">
|
||||
{translate key="user.register"}
|
||||
</button>
|
||||
|
||||
{capture assign="rolesProfileUrl"}{url page="user" op="profile" path="roles"}{/capture}
|
||||
<a href="{url page="login" source=$rolesProfileUrl}" class="login">{translate key="user.login"}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div><!-- .page -->
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
@@ -0,0 +1,48 @@
|
||||
{**
|
||||
* templates/frontend/pages/userRegisterComplete.tpl
|
||||
*
|
||||
* Copyright (c) 2014-2021 Simon Fraser University
|
||||
* Copyright (c) 2000-2021 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* @brief A landing page displayed to users upon successful registration
|
||||
*}
|
||||
{include file="frontend/components/header.tpl"}
|
||||
|
||||
<div class="page page_register_complete">
|
||||
{include file="frontend/components/breadcrumbs.tpl" currentTitleKey=$pageTitle}
|
||||
<h1>
|
||||
{translate key=$pageTitle}
|
||||
</h1>
|
||||
<p>
|
||||
{translate key="user.login.registrationComplete.instructions"}
|
||||
</p>
|
||||
<ul class="registration_complete_actions">
|
||||
{if array_intersect(array(\PKP\security\Role::ROLE_ID_MANAGER, \PKP\security\Role::ROLE_ID_SUB_EDITOR, \PKP\security\Role::ROLE_ID_ASSISTANT, \PKP\security\Role::ROLE_ID_REVIEWER), (array)$userRoles)}
|
||||
<li class="view_submissions">
|
||||
<a href="{url page="submissions"}">
|
||||
{translate key="user.login.registrationComplete.manageSubmissions"}
|
||||
</a>
|
||||
</li>
|
||||
{/if}
|
||||
{if $currentContext}
|
||||
<li class="new_submission">
|
||||
<a href="{url page="submission"}">
|
||||
{translate key="user.login.registrationComplete.newSubmission"}
|
||||
</a>
|
||||
</li>
|
||||
{/if}
|
||||
<li class="edit_profile">
|
||||
<a href="{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="user" op="profile"}">
|
||||
{translate key="user.editMyProfile"}
|
||||
</a>
|
||||
</li>
|
||||
<li class="browse">
|
||||
<a href="{url page="index"}">
|
||||
{translate key="user.login.registrationComplete.continueBrowsing"}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{include file="frontend/components/footer.tpl"}
|
||||
Reference in New Issue
Block a user