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}
|
||||
Reference in New Issue
Block a user