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
+54
View File
@@ -0,0 +1,54 @@
{**
* templates/user/apiProfileForm.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.
*
* Public user profile form.
*}
<script>
$(function() {ldelim}
// Attach the form handler.
$('#apiProfileForm').pkpHandler('$.pkp.controllers.form.AjaxFormHandler');
{rdelim});
</script>
<form class="pkp_form" id="apiProfileForm" method="post" action="{url op="saveAPIProfile"}" enctype="multipart/form-data">
{* Help Link *}
{help file="user-profile" class="pkp_help_tab"}
{csrf}
{include file="controllers/notification/inPlaceNotification.tpl" notificationId="apiProfileNotification"}
{fbvFormSection title="user.apiKey"}
{if !$apiKey}{assign var=apiKey value="common.none"|translate}{/if}
{fbvElement id=apiKey type="text" readonly="true" inline=true value=$apiKey size=$fbvStyles.size.MEDIUM}
{if !$apiSecretMissing}
{fbvElement id=apiKeyAction type="hidden" readonly="true" value=$apiKeyAction}
<button
type="submit"
{if $apiKeyAction === \PKP\user\form\APIProfileForm::API_KEY_DELETE}
onClick="return confirm({translate|json_encode|escape key='user.apiKey.remove.confirmation.message'})"
class="pkpButton pkpButton--isWarnable"
{else}
class="pkp_button pkp_button_primary"
{/if}
>
{translate key=$apiKeyActionTextKey}
</button>
{/if}
<p>
{translate key=($apiKeyAction === \PKP\user\form\APIProfileForm::API_KEY_NEW) ? "user.apiKey.generateWarning" : "user.apiKey.removeWarning"}
</p>
{/fbvFormSection}
<p>
{capture assign="privacyUrl"}
{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="about" op="privacy"}
{/capture}
{translate key="user.privacyLink" privacyUrl=$privacyUrl}
</p>
</form>
+44
View File
@@ -0,0 +1,44 @@
{**
* templates/user/changePassword.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.
*
* Form to change a user's password.
*}
<script>
$(function() {ldelim}
// Attach the form handler.
$('#changePasswordForm').pkpHandler('$.pkp.controllers.form.AjaxFormHandler');
{rdelim});
</script>
<form class="pkp_form" id="changePasswordForm" method="post" action="{url op="savePassword"}">
{* Help Link *}
{help file="user-profile" class="pkp_help_tab"}
{csrf}
{include file="controllers/notification/inPlaceNotification.tpl" notificationId="changePasswordFormNotification"}
<p><span class="instruct">{translate key="user.profile.changePasswordInstructions"}</span></p>
{fbvFormArea id="changePasswordFormArea"}
{fbvFormSection label="user.profile.oldPassword"}
{fbvElement type="text" password="true" id="oldPassword" maxLength="32" size=$fbvStyles.size.MEDIUM}
{/fbvFormSection}
{fbvFormSection label="user.profile.newPassword"}
{capture assign="passwordLengthRestriction"}{translate key="user.register.form.passwordLengthRestriction" length=$minPasswordLength}{/capture}
{fbvElement type="text" password="true" id="password" label=$passwordLengthRestriction subLabelTranslate=false maxLength="32" size=$fbvStyles.size.MEDIUM}
{fbvElement type="text" password="true" id="password2" maxLength="32" label="user.profile.repeatNewPassword" size=$fbvStyles.size.MEDIUM}
{/fbvFormSection}
<p>
{capture assign="privacyUrl"}{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="about" op="privacy"}{/capture}
{translate key="user.privacyLink" privacyUrl=$privacyUrl}
</p>
{fbvFormButtons submitText="common.save"}
{/fbvFormArea}
</form>
+57
View File
@@ -0,0 +1,57 @@
{**
* templates/user/contactForm.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 profile form.
*}
<script>
$(function() {ldelim}
// Attach the form handler.
$('#contactForm').pkpHandler('$.pkp.controllers.form.AjaxFormHandler');
{rdelim});
</script>
<form class="pkp_form" id="contactForm" method="post" action="{url op="saveContact"}">
{* Help Link *}
{help file="user-profile" class="pkp_help_tab"}
{csrf}
{include file="controllers/notification/inPlaceNotification.tpl" notificationId="contactFormNotification"}
{fbvFormSection}
{fbvElement type="email" label="user.email" id="email" value=$email size=$fbvStyles.size.MEDIUM required=true}
{fbvElement type="textarea" label="user.signature" multilingual="true" name="signature" id="signature" value=$signature rich=true size=$fbvStyles.size.MEDIUM}
{fbvElement type="tel" label="user.phone" name="phone" id="phone" value=$phone maxlength="24" size=$fbvStyles.size.SMALL}
{fbvElement type="text" label="user.affiliation" multilingual="true" name="affiliation" id="affiliation" value=$affiliation size=$fbvStyles.size.MEDIUM}
{/fbvFormSection}
{fbvFormSection}
{fbvElement type="textarea" label="common.mailingAddress" name="mailingAddress" id="mailingAddress" rich=true value=$mailingAddress size=$fbvStyles.size.MEDIUM}
{fbvElement type="select" label="common.country" name="country" id="country" required=true defaultLabel="" defaultValue="" from=$countries selected=$country translate=false size=$fbvStyles.size.MEDIUM}
{/fbvFormSection}
{if count($availableLocales) > 1}
{fbvFormSection title="user.workingLanguages" list=true}
{foreach from=$availableLocales key=localeKey item=localeName}
{if $locales && in_array($localeKey, $locales)}
{assign var="checked" value=true}
{else}
{assign var="checked" value=false}
{/if}
{fbvElement type="checkbox" name="locales[]" id="locales-$localeKey" value=$localeKey checked=$checked label=$localeName|escape translate=false}
{/foreach}
{/fbvFormSection}
{/if}
<p>
{capture assign="privacyUrl"}{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="about" op="privacy"}{/capture}
{translate key="user.privacyLink" privacyUrl=$privacyUrl}
</p>
<p><span class="formRequired">{translate key="common.requiredField"}</span></p>
{fbvFormButtons hideCancel=true submitText="common.save"}
</form>
+51
View File
@@ -0,0 +1,51 @@
{**
* templates/user/identityForm.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 profile form.
*}
<script>
$(function() {ldelim}
// Attach the form handler.
$('#identityForm').pkpHandler('$.pkp.controllers.form.AjaxFormHandler');
{rdelim});
</script>
<form class="pkp_form" id="identityForm" method="post" action="{url op="saveIdentity"}" enctype="multipart/form-data">
{* Help Link *}
{help file="user-profile" class="pkp_help_tab"}
{csrf}
{include file="controllers/notification/inPlaceNotification.tpl" notificationId="identityFormNotification"}
{fbvFormArea id="userNameInfo"}
{fbvFormSection title="user.username"}
{$username|escape}
{/fbvFormSection}
{/fbvFormArea}
{fbvFormArea id="userFormCompactLeft"}
{fbvFormSection title="user.name"}
{fbvElement type="text" label="user.givenName" multilingual="true" required="true" id="givenName" value=$givenName maxlength="255" inline=true size=$fbvStyles.size.MEDIUM}
{fbvElement type="text" label="user.familyName" multilingual="true" id="familyName" value=$familyName maxlength="255" inline=true size=$fbvStyles.size.MEDIUM}
{/fbvFormSection}
{/fbvFormArea}
{fbvFormSection for="preferredPublicName" description="user.preferredPublicName.description"}
{fbvElement type="text" label="user.preferredPublicName" multilingual="true" name="preferredPublicName" id="preferredPublicName" value=$preferredPublicName size=$fbvStyles.size.LARGE}
{/fbvFormSection}
<p>
{capture assign="privacyUrl"}{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="about" op="privacy"}{/capture}
{translate key="user.privacyLink" privacyUrl=$privacyUrl}
</p>
<p><span class="formRequired">{translate key="common.requiredField"}</span></p>
{fbvFormButtons hideCancel=true submitText="common.save"}
</form>
@@ -0,0 +1,61 @@
{**
* templates/user/loginChangePassword.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.
*
* Form to change a user's password in order to login.
*
*}
{extends file="layouts/backend.tpl"}
{block name="page"}
<h1 class="app__pageHeading">
{translate key="user.changePassword"}
</h1>
<div class="app__contentPanel">
<script>
$(function() {ldelim}
// Attach the form handler.
$('#loginChangePassword').pkpHandler('$.pkp.controllers.form.FormHandler');
{rdelim});
</script>
{if !$passwordLengthRestrictionLocaleKey}
{assign var="passwordLengthRestrictionLocaleKey" value="user.register.form.passwordLengthRestriction"}
{/if}
<form class="pkp_form" id="loginChangePassword" method="post" action="{url page="login" op="savePassword"}">
{csrf}
{include file="common/formErrors.tpl"}
<p><span class="instruct">{translate key="user.login.changePasswordInstructions"}</span></p>
{fbvFormArea id="loginFields"}
{fbvFormSection label="user.login" for="username"}
{fbvElement type="text" required=true id="username" value=$username maxlength="32" size=$fbvStyles.size.MEDIUM}
{/fbvFormSection}
{fbvFormSection label="user.profile.oldPassword" for="oldPassword"}
{fbvElement type="text" required=true password=true id="oldPassword" value=$oldPassword maxlength="32" size=$fbvStyles.size.MEDIUM}
{/fbvFormSection}
{fbvFormSection label="user.profile.newPassword" for="password"}
{fbvElement type="text" required=true password=true id="password" value=$password maxlength="32" size=$fbvStyles.size.MEDIUM}
{fieldLabel translate=true for=password key=$passwordLengthRestrictionLocaleKey length=$minPasswordLength}
{/fbvFormSection}
{fbvFormSection label="user.profile.repeatNewPassword" for="password2"}
{fbvElement type="text" required=true password=true id="password2" value=$password2|default:""|escape maxlength="32" size=$fbvStyles.size.MEDIUM}
{/fbvFormSection}
<p>
{capture assign="privacyUrl"}{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="about" op="privacy"}{/capture}
{translate key="user.privacyLink" privacyUrl=$privacyUrl}
</p>
<p><span class="formRequired">{translate key="common.requiredField"}</span></p>
{fbvFormButtons hideCancel=true}
{/fbvFormArea}
</form>
</div>
{/block}
@@ -0,0 +1,68 @@
{**
* templates/user/notificationSettingsForm.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 profile form.
*}
<script>
$(function() {ldelim}
// Attach the form handler.
$('#notificationSettingsForm').pkpHandler('$.pkp.controllers.form.AjaxFormHandler', {ldelim}
'enableDisablePairs': {ldelim}
{foreach from=$notificationSettingCategories item=notificationSettingCategory}
{foreach name=notifications from=$notificationSettingCategory.settings item=settingId}
{$notificationSettings.$settingId.settingName|json_encode}: {$notificationSettings.$settingId.emailSettingName|json_encode},
{/foreach}
{/foreach}
{rdelim}
{rdelim});
{rdelim});
</script>
<form class="pkp_form" id="notificationSettingsForm" method="post" action="{url op="saveNotificationSettings"}" enctype="multipart/form-data">
<p>{translate key="notification.settingsDescription"}</p>
{* Help Link *}
{help file="user-profile" class="pkp_help_tab"}
{csrf}
{include file="controllers/notification/inPlaceNotification.tpl" notificationId="notificationSettingsFormNotification"}
{fbvFormArea id="notificationSettings"}
{foreach from=$notificationSettingCategories item=notificationSettingCategory}
<h4>{translate key=$notificationSettingCategory.categoryKey}</h4>
{foreach from=$notificationSettingCategory.settings item=settingId}
{assign var="settingName" value=$notificationSettings.$settingId.settingName}
{assign var="emailSettingName" value=$notificationSettings.$settingId.emailSettingName}
{capture assign="settingKey"}{translate key=$notificationSettings.$settingId.settingKey title="common.title"|translate}{/capture}
{fbvFormSection title=$settingKey list=true translate=false}
{if $settingId|in_array:$blockedNotifications}
{assign var="checked" value="0"}
{else}
{assign var="checked" value="1"}
{/if}
{if $settingId|in_array:$emailSettings}
{assign var="emailChecked" value="1"}
{else}
{assign var="emailChecked" value="0"}
{/if}
{fbvElement type="checkbox" id=$settingName checked=$checked label="notification.allow"}
{fbvElement type="checkbox" id=$emailSettingName checked=$emailChecked label="notification.email"}
{/fbvFormSection}
{/foreach}
{/foreach}
<p>
{capture assign="privacyUrl"}{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="about" op="privacy"}{/capture}
{translate key="user.privacyLink" privacyUrl=$privacyUrl}
</p>
<p><span class="formRequired">{translate key="common.requiredField"}</span></p>
{fbvFormButtons hideCancel=true submitText="common.save"}
{/fbvFormArea}
</form>
+34
View File
@@ -0,0 +1,34 @@
{**
* templates/user/profile.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 profile tabset.
*}
{extends file="layouts/backend.tpl"}
{block name="page"}
<h1 class="app__pageHeading">
{translate key="user.profile"}
</h1>
<script type="text/javascript">
// Attach the JS file tab handler.
$(function() {ldelim}
$('#profileTabs').pkpHandler('$.pkp.controllers.TabHandler');
{rdelim});
</script>
<div id="profileTabs" class="pkp_controllers_tab">
<ul>
<li><a name="identity" href="{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="tab.user.ProfileTabHandler" op="identity"}">{translate key="user.profile.identity"}</a></li>
<li><a name="contact" href="{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="tab.user.ProfileTabHandler" op="contact"}">{translate key="user.profile.contact"}</a></li>
<li><a name="roles" href="{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="tab.user.ProfileTabHandler" op="roles"}">{translate key="user.roles"}</a></li>
<li><a name="publicProfile" href="{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="tab.user.ProfileTabHandler" op="publicProfile"}">{translate key="user.profile.public"}</a></li>
<li><a name="changePassword" href="{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="tab.user.ProfileTabHandler" op="changePassword"}">{translate key="user.password"}</a></li>
<li><a name="notificationSettings" href="{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="tab.user.ProfileTabHandler" op="notificationSettings"}">{translate key="notification.notifications"}</a></li>
<li><a name="apiSettings" href="{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="tab.user.ProfileTabHandler" op="apiProfile"}">{translate key="user.apiKey"}</a></li>
</ul>
</div>
{/block}
@@ -0,0 +1,86 @@
{**
* templates/user/publicProfileForm.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.
*
* Public user profile form.
*}
{* Help Link *}
{help file="user-profile" class="pkp_help_tab"}
<script type="text/javascript">
$(function() {ldelim}
// Attach the form handler.
$('#publicProfileForm').pkpHandler(
'$.pkp.controllers.form.FileUploadFormHandler',
{ldelim}
$uploader: $('#plupload'),
uploaderOptions: {ldelim}
uploadUrl: {url|json_encode op="uploadProfileImage" escape=false},
baseUrl: {$baseUrl|json_encode},
filters: {ldelim}
mime_types : [
{ldelim} title : "Image files", extensions : "jpg,jpeg,png,gif" {rdelim}
]
{rdelim},
multipart_params: {ldelim}
csrfToken: {csrf type="json"}
{rdelim},
resize: {ldelim}
width: {$profileImageMaxWidth|intval},
height: {$profileImageMaxHeight|intval},
crop: true,
{rdelim}
{rdelim}
{rdelim}
);
{rdelim});
</script>
{* Form for deleting the profile image (placed here to avoid nesting forms) *}
<form type="post" action="{url op="deleteProfileImage"}" id="deleteProfileImageForm">
{csrf}
</form>
<form class="pkp_form" id="publicProfileForm" method="post" action="{url op="savePublicProfile"}" enctype="multipart/form-data">
{csrf}
{include file="controllers/notification/inPlaceNotification.tpl" notificationId="publicProfileNotification"}
{fbvFormSection title="user.profile.form.profileImage"}
{if $profileImage}
{* Add a unique ID to prevent caching *}
<img src="{$baseUrl}/{$publicSiteFilesPath}/{$profileImage.uploadName}?{""|uniqid}" alt="{translate key="user.profile.form.profileImage"}" />
<div>
<button onclick="document.getElementById('deleteProfileImageForm').submit(); return false;" class="pkp_button pkp_button_offset">{translate key="common.delete"}</button>
</div>
{/if}
{/fbvFormSection}
{fbvFormSection}
{include file="controllers/fileUploadContainer.tpl" id="plupload"}
{/fbvFormSection}
{fbvFormSection}
{fbvElement type="textarea" label="user.biography" multilingual="true" name="biography" id="biography" rich=true value=$biography}
{/fbvFormSection}
{fbvFormSection}
{fbvElement type="text" label="user.url" name="userUrl" id="userUrl" value=$userUrl maxlength="255"}
{/fbvFormSection}
{fbvFormSection}
{fbvElement type="text" label="user.orcid" name="orcid" id="orcid" value=$orcid maxlength="46"}
{/fbvFormSection}
{call_hook name="User::PublicProfile::AdditionalItems"}
<p>
{capture assign="privacyUrl"}{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="about" op="privacy"}{/capture}
{translate key="user.privacyLink" privacyUrl=$privacyUrl}
</p>
<p><span class="formRequired">{translate key="common.requiredField"}</span></p>
{fbvFormButtons hideCancel=true submitText="common.save"}
</form>
+35
View File
@@ -0,0 +1,35 @@
{**
* templates/user/rolesForm.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.
*
* Roles area of user profile form tabset.
*}
<script>
$(function() {ldelim}
// Attach the form handler.
$('#rolesForm').pkpHandler('$.pkp.controllers.form.AjaxFormHandler');
{rdelim});
</script>
<form class="pkp_form" id="rolesForm" method="post" action="{url op="saveRoles"}" enctype="multipart/form-data">
{* Help Link *}
{help file="user-profile" class="pkp_help_tab"}
{csrf}
{include file="controllers/notification/inPlaceNotification.tpl" notificationId="rolesFormNotification"}
{include file="user/userGroups.tpl"}
<p>
{capture assign="privacyUrl"}{url router=\PKP\core\PKPApplication::ROUTE_PAGE page="about" op="privacy"}{/capture}
{translate key="user.privacyLink" privacyUrl=$privacyUrl}
</p>
<p><span class="formRequired">{translate key="common.requiredField"}</span></p>
{fbvFormButtons hideCancel=true submitText="common.save"}
</form>
@@ -0,0 +1,45 @@
{**
* templates/user/userGroupSelfRegistration.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 group self-registration profile/registration form chunk.
* Requires variables:
* $context: The context to show roles available for self-registration
*}
{assign var=contextId value=$context->getId()}
{foreach from=$readerUserGroups[$contextId] item=userGroup}
{assign var="userGroupId" value=$userGroup->getId()}
{if in_array($userGroup->getId(), $userGroupIds)}
{assign var="checked" value=true}
{else}
{assign var="checked" value=false}
{/if}
{if $userGroup->getPermitSelfRegistration()}
{fbvElement type="checkbox" id="readerGroup-$userGroupId" name="readerGroup[$userGroupId]" checked=$checked label=$userGroup->getLocalizedName()|escape translate=false}
{/if}
{/foreach}
{foreach from=$authorUserGroups[$contextId] item=userGroup}
{assign var="userGroupId" value=$userGroup->getId()}
{if in_array($userGroup->getId(), $userGroupIds)}
{assign var="checked" value=true}
{else}
{assign var="checked" value=false}
{/if}
{if $userGroup->getPermitSelfRegistration()}
{fbvElement type="checkbox" id="authorGroup-$userGroupId" name="authorGroup[$userGroupId]" checked=$checked label=$userGroup->getLocalizedName()|escape translate=false}
{/if}
{/foreach}
{foreach from=$reviewerUserGroups[$contextId] item=userGroup}
{assign var="userGroupId" value=$userGroup->getId()}
{if in_array($userGroup->getId(), $userGroupIds)}
{assign var="checked" value=true}
{else}
{assign var="checked" value=false}
{/if}
{if $userGroup->getPermitSelfRegistration()}
{fbvElement type="checkbox" id="reviewerGroup-$userGroupId" name="reviewerGroup[$userGroupId]" checked=$checked label=$userGroup->getLocalizedName()|escape translate=false}
{/if}
{/foreach}
+52
View File
@@ -0,0 +1,52 @@
{**
* templates/user/userGroups.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.
*
* The user group (role) selection part of the registration and profile forms.
* @uses $contexts array List of journals/presses on this site that have enabled registration
* @uses $showOtherContexts bool Whether or not to show the other contexts selection
*}
{fbvFormArea id="userGroups" title="user.roles" class=border}
{if $currentContext}
{capture assign="userGroupSectionLabel"}{translate key="user.register.registerAs" contextName=$currentContext->getLocalizedName()}{/capture}
{fbvFormSection label=$userGroupSectionLabel translate=false list=true}
{include file="user/userGroupSelfRegistration.tpl" context=$currentContext authorUserGroups=$authorUserGroups reviewerUserGroups=$reviewerUserGroups readerUserGroups=$readerUserGroups}
{/fbvFormSection}
{/if}
{if $showOtherContexts}
{capture assign="otherContextContent"}
{foreach from=$contexts item=context}
{if !$currentContext || $context->getId() != $currentContext->getId()}
{fbvFormSection title=$context->getLocalizedName() list=true translate=false}
{include file="user/userGroupSelfRegistration.tpl" context=$context authorUserGroups=$authorUserGroups reviewerUserGroups=$reviewerUserGroups}
{/fbvFormSection}
{/if}
{/foreach}
{/capture}
{if $currentContext}
{fbvFormSection}
<div id="userGroupExtraFormFields" class="pkp_user_group_other_contexts">
{include file="controllers/extrasOnDemand.tpl"
id="userGroupExtras"
widgetWrapper="#userGroupExtraFormFields"
moreDetailsText="user.profile.form.showOtherContexts"
lessDetailsText="user.profile.form.hideOtherContexts"
extraContent=$otherContextContent
}
</div>
{/fbvFormSection}
{else}
{$otherContextContent}
{/if}
{/if}
{fbvFormSection for="interests"}
{fbvElement type="interests" id="interests" interests=$interests label="user.interests"}
{/fbvFormSection}
{/fbvFormArea}
@@ -0,0 +1,58 @@
{**
* templates/user/userPasswordReset.tpl
*
* Copyright (c) 2014-2022 Simon Fraser University
* Copyright (c) 2000-2022 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Form to reset a user's password
*
*}
{extends file="layouts/backend.tpl"}
{block name="page"}
<h1 class="app__pageHeading">
{translate key=$pageTitle}
</h1>
<div class="app__contentPanel">
<script>
$(function() {ldelim}
// Attach the form handler.
$('#updateResetPassword').pkpHandler('$.pkp.controllers.form.FormHandler');
{rdelim});
</script>
{if !$passwordLengthRestrictionLocaleKey}
{assign var="passwordLengthRestrictionLocaleKey" value="user.register.form.passwordLengthRestriction"}
{/if}
<form class="pkp_form" id="updateResetPassword" method="post" action="{url page="login" op="updateResetPassword"}">
{csrf}
{include file="common/formErrors.tpl"}
<p><span class="instruct">{translate key="user.login.passwordResetProcessInstructions"}</span></p>
{fbvFormArea id="loginFields"}
{fbvFormSection label="user.profile.newPassword" for="password"}
{fbvElement type="text" required=true password=true id="password" value=$password maxlength="32" size=$fbvStyles.size.MEDIUM}
{fieldLabel translate=true for=password key=$passwordLengthRestrictionLocaleKey length=$minPasswordLength}
{/fbvFormSection}
{fbvFormSection label="user.profile.repeatNewPassword" for="password2"}
{fbvElement type="text" required=true password=true id="password2" value=$password2|default:""|escape maxlength="32" size=$fbvStyles.size.MEDIUM}
{/fbvFormSection}
{fbvElement type="hidden" id="username" value=$username}
{fbvElement type="hidden" id="hash" value=$hash}
<p>
{capture assign="privacyUrl"}{url router=$smarty.const.ROUTE_PAGE page="about" op="privacy"}{/capture}
{translate key="user.privacyLink" privacyUrl=$privacyUrl}
</p>
<p><span class="formRequired">{translate key="common.requiredField"}</span></p>
{fbvFormButtons hideCancel=true submitText="common.save"}
{/fbvFormArea}
</form>
</div>
{/block}