first commit

This commit is contained in:
CHIEFSOFT\ameye
2024-06-08 17:09:23 -04:00
commit df3a033196
17887 changed files with 8637778 additions and 0 deletions
@@ -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}