{% extends 'admin.twig' %}

{% set title %}{{ 'UsersManager_PersonalSettings'|translate }}{% endset %}

{% block content %}

<div class="ui-confirm" id="confirmTokenRegenerate">
    <h2>{{ 'UsersManager_TokenRegenerateConfirmSelf'|translate }}</h2>
    <input role="yes" type="button" value="{{ 'General_Yes'|translate }}"/>
    <input role="no" type="button" value="{{ 'General_No'|translate }}"/>
</div>

<div piwik-content-block content-title="{{ title|e('html_attr') }}" feature="true">
    <form id="userSettingsTable" piwik-form ng-controller="PersonalSettingsController as personalSettings">

        <div piwik-field uicontrol="text" name="username"
             data-title="{{ 'General_Username'|translate|e('html_attr') }}"
             value="{{ userLogin }}" data-disabled="true"
             ng-model="personalSettings.username"
             inline-help="{{ 'UsersManager_YourUsernameCannotBeChanged'|translate|e('html_attr') }}">
        </div>

        {% if isUsersAdminEnabled %}
        <div piwik-field uicontrol="text" name="email"
             ng-model="personalSettings.email"
             ng-change="personalSettings.requirePasswordConfirmation()"
             maxlength="100"
             data-title="{{ 'UsersManager_Email'|translate|e('html_attr') }}"
             value="{{ userEmail }}">
        </div>
        {% endif %}

        <div id="languageHelp" class="inline-help-node">
            <a target="_blank" rel="noreferrer noopener" href="https://matomo.org/translations/">
                {{ 'LanguagesManager_AboutPiwikTranslations'|translate }}</a>
        </div>

        <div piwik-field uicontrol="select" name="language"
             ng-model="personalSettings.language"
             data-title="{{ 'General_Language'|translate|e('html_attr') }}"
             options="{{ languageOptions|json_encode }}"
             inline-help="#languageHelp"
             value="{{ currentLanguageCode }}">
        </div>

        <div piwik-field uicontrol="select" name="timeformat"
             ng-model="personalSettings.timeformat"
             data-title="{{ 'General_TimeFormat'|translate|e('html_attr') }}"
             value="{{ currentTimeformat }}" options="{{ timeFormats|json_encode }}">
        </div>

        <div piwik-field uicontrol="radio" name="defaultReport"
             ng-model="personalSettings.defaultReport"
             introduction="{{ 'UsersManager_ReportToLoadByDefault'|translate|e('html_attr') }}"
             data-title="{{ 'General_AllWebsitesDashboard'|translate|e('html_attr') }}"
             value="{{ defaultReport }}" options="{{ defaultReportOptions|json_encode }}">
        </div>

        <div piwik-siteselector
             ng-model="personalSettings.site"
             show-selected-site="true"
             class="sites_autocomplete"
             siteid="{{ defaultReportIdSite }}"
             sitename="{{ defaultReportSiteName|rawSafeDecoded }}"
             switch-site-on-select="false"
             show-all-sites-item="false"
             showselectedsite="true"
             id="defaultReportSiteSelector"
        ></div>

        <div piwik-field uicontrol="radio" name="defaultDate"
             ng-model="personalSettings.defaultDate"
             introduction="{{ 'UsersManager_ReportDateToLoadByDefault'|translate|e('html_attr') }}"
             value="{{ defaultDate }}" options="{{ availableDefaultDates|json_encode }}">
        </div>

        {% if isValidHost is defined and isValidHost and isUsersAdminEnabled %}

            <div piwik-field uicontrol="password" name="password" autocomplete="off"
                 ng-model="personalSettings.password"
                 ng-change="personalSettings.requirePasswordConfirmation()"
                 introduction="{{ 'General_ChangePassword'|translate|e('html_attr') }}"
                 data-title="{{ 'Login_NewPassword'|translate|e('html_attr') }}"
                 value="" inline-help="{{ 'UsersManager_IfYouWouldLikeToChangeThePasswordTypeANewOne'|translate|e('html_attr') }}">
            </div>

            <div piwik-field uicontrol="password" name="passwordBis" autocomplete="off"
                 ng-model="personalSettings.passwordBis"
                 ng-change="personalSettings.requirePasswordConfirmation()"
                 data-title="{{ 'Login_NewPasswordRepeat'|translate|e('html_attr') }}"
                 value="" inline-help="{{ 'UsersManager_TypeYourPasswordAgain'|translate|e('html_attr') }}">
            </div>
        {% endif %}

        {% if isValidHost is not defined or not isValidHost %}
            <div class="alert alert-danger">
                {{ 'UsersManager_InjectedHostCannotChangePwd'|translate(invalidHost) }}
                {% if not isSuperUser %}{{ 'UsersManager_EmailYourAdministrator'|translate(invalidHostMailLinkStart,'</a>')|raw }}{% endif %}
            </div>
        {% endif %}

        <div piwik-save-button onconfirm="personalSettings.save()"
             saving="personalSettings.loading"></div>

        <div class="modal" id="confirmChangesWithPassword">
            <div class="modal-content">
                <h2>{{ 'UsersManager_ConfirmWithPassword'|translate }}</h2>

                <div piwik-field uicontrol="password" name="currentPassword" autocomplete="off"
                     ng-model="personalSettings.passwordCurrent"
                     full-width="true"
                     data-title="{{ 'UsersManager_YourCurrentPassword'|translate|e('html_attr') }}"
                     value="">
                </div>
            </div>
            <div class="modal-footer">
                <a href="javascript:void(0)" class="modal-action btn" ng-click="personalSettings.save()">{{ 'General_Ok'|translate }}</a>
                <a href="javascript:void(0)" class="modal-action modal-close modal-no"  ng-click="personalSettings.cancelSave()">{{ 'General_Cancel'|translate }}</a>
            </div>
        </div>

    </form>
</div>

{% if showNewsletterSignup %}
<div ng-controller="PersonalSettingsController as personalSettings">
    <div piwik-content-block id="newsletterSignup"
         ng-show="personalSettings.showNewsletterSignup"
         content-title="{{ 'UsersManager_NewsletterSignupTitle'|translate|e('html_attr') }}">

        <div piwik-field uicontrol="checkbox" name="newsletterSignupCheckbox"
             ng-model="personalSettings.newsletterSignupCheckbox"
             full-width="true"
             data-title="{{ 'UsersManager_NewsletterSignupMessage'|translate('<a href="https://matomo.org/privacy-policy/" target="_blank">', '</a>')|e('html_attr') }}"
             >
        </div>

        <div piwik-save-button id="newsletterSignupBtn"
             onconfirm="personalSettings.signupForNewsletter()"
             data-disabled="!personalSettings.newsletterSignupCheckbox"
             value="{{ '{{ personalSettings.newsletterSignupButtonTitle }}'|raw }}"
             saving="personalSettings.isProcessingNewsletterSignup">
        </div>
    </div>
</div>
{% endif %}

<div piwik-content-block
     content-title="{{ 'UsersManager_TokenAuth'|translate|e('html_attr') }}">
    <pre piwik-select-on-focus id="token_auth_user" piwik-show-sensitive-data="{{ userTokenAuth }}"></pre>

    <button class="btn btn-link"
            ng-controller="PersonalSettingsController as personalSettings"
            ng-click="personalSettings.regenerateTokenAuth()">{{ 'UsersManager_TokenRegenerateTitle'|translate }}</button>
</div>

{{ postEvent('Template.userSettings.afterTokenAuth') }}

<div piwik-plugin-settings mode="user"></div>

<div piwik-content-block
     content-title="{{ 'UsersManager_ExcludeVisitsViaCookie'|translate|e('html_attr') }}">
    <p>
        {% if ignoreCookieSet %}
            {{ 'UsersManager_YourVisitsAreIgnoredOnDomain'|translate("<strong>", piwikHost, "</strong>")|raw }}
        {% else %}
            {{ 'UsersManager_YourVisitsAreNotIgnored'|translate("<strong>","</strong>")|raw }}
        {% endif %}
    </p>
    <span style="margin-left:20px;">
    <a href='{{ linkTo({'ignoreSalt':ignoreSalt, 'module': 'UsersManager', 'action':'setIgnoreCookie'}) }}#excludeCookie'>&rsaquo; {% if ignoreCookieSet %}{{ 'UsersManager_ClickHereToDeleteTheCookie'|translate }}
        {% else %}{{'UsersManager_ClickHereToSetTheCookieOnDomain'|translate(piwikHost) }}{% endif %}
        <br/>
    </a></span>
</div>

{% endblock %}
