first commit
This commit is contained in:
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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}
|
||||
@@ -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}
|
||||
Reference in New Issue
Block a user