<header>
  <div>
    @include("/admin/topicpath.html")
  </div>
  <div>
    <h1 class="acms-admin-admin-title js-dialog-title"><!--T-->ユーザーインポート<!--/T--></h1>
  </div>
</header>

<!-- BEGIN_MODULE Admin_Errors -->
<p class="acms-admin-alert acms-admin-alert-icon acms-admin-alert-danger">
  <span class="acms-admin-icon acms-admin-icon-news acms-admin-alert-icon-before" aria-hidden="true"></span>
  <button class="js-acms-alert-close acms-admin-alert-icon-after">×</button>
  <!-- BEGIN_IF [{error}/eq/] -->
  <!--T-->インポートに成功しました<!--/T-->
  <!-- ELSE_IF [{error}/eq/1/_or_/{error}/eq/2] -->
  <!--T-->ファイルサイズが大きすぎます<!--/T-->
  <!-- ELSE_IF [{error}/eq/4] -->
  <!--T-->ファイルが選択されていません<!--/T-->
  <!-- ELSE -->
  <!--T-->{error}<!--/T-->
  <!-- END_IF -->
</p>
<!-- END_MODULE Admin_Errors -->

<!-- BEGIN_MODULE Touch_SessionWithAdministration -->
<div class="acms-admin-panel">
  <div class="acms-admin-panel-header">
    <p class="acms-admin-panel-title"><!--T-->CSVデータのユーザーを現在のブログにインポートまたは上書きします。<!--/T--></p>
  </div>
  <ul>
    <li><!--T-->CSV形式のファイル(カンマ区切りデータ)をユーザーと、ユーザーのカスタムフィールドに変換してインポートします。<!--/T--></li>
    <li><!--T-->user_code, user_mail, user_passは必須項目です。<!--/T--></li>
    <li><!--T-->user_passに空文字を設定すると以前のパスワードが引き継がれます<!--/T--></li>
    <li><!--T-->CSVに <strong>user_id</strong> を指定することで既存のユーザーを上書きすることができます。<!--/T--></li>
  </ul>
</div>

<!-- BEGIN_MODULE Admin_Import_UserCsv -->
<!-- BEGIN_IF [{processing}/eq/1]-->
<h2 class="acms-admin-admin-title2"><!--T-->CSVインポート状況<!--/T--></h2>
<div id="js-background-csv-import" data-json="user-csv-import-logger.json">
  <div class="js-progress acms-admin-progress acms-admin-progress-striped acms-admin-active"
       style="display: none;">
    <div class="acms-admin-progress-bar">
      <span></span>
    </div>
  </div>
  <script type="text/template" class="js-processing-template">
    <% if (!processing && success) { %>
    <p class="acms-admin-alert acms-admin-alert-info">
      <!--T-->インポートが完了しました。<!--/T-->
    </p>
    <% } else if (!processing && error) { %>
    <p class="acms-admin-alert acms-admin-alert-warning">
      <!--T-->インポートに失敗しました。<!--/T-->
    </p>
    <% } %>

    <ul>
      <% _.each(processList, function(item) { %>
      <% if (item.status === 'ng') { %>
      <li class="acms-admin-text-danger">[Error] <%= item.message %></li>
      <% } else { %>
      <li><%= item.message %></li>
      <% } %>
      <% }) %>
    </ul>
  </script>
  <div class="js-processing-box"></div>
</div>
<!-- ELSE -->
<form action="" method="post" enctype="multipart/form-data" class="acms-admin-form">
  <h2 class="acms-admin-admin-title2"><!--T-->CSVインポート<!--/T--></h2>
  <table class="adminTable acms-admin-table-admin-edit">
    <tr>
      <th><!--T-->インポート先ブログ<!--/T--></th>
      <td>%{BLOG_NAME}（<!--T-->現在のブログ<!--/T-->）</td>
    </tr>
    <tr>
      <th><!--T-->インポートデータ（CSV）<!--/T--></th>
      <td><input type="file" name="csv_import_file"></td>
    </tr>
    <tr>
      <th></th>
      <td>
        <button
          class="acms-admin-btn-admin acms-admin-btn-admin-primary acms-admin-margin-sp"
          type="submit"
          name="ACMS_POST_Import_User"
          onclick="return confirm('<!--T-->インポートを実行します。よろしいですか？<!--/T-->');"
        >
          <!--T-->インポートを実行する<!--/T-->
        </button>
      </td>
    </tr>
  </table>
</form>

<h3 class="acms-admin-admin-title2"><!--T-->指定可能フィールド<!--/T--></h3>
<div class="acms-admin-table-scroll-xs acms-admin-table-scroll-sm acms-admin-table-scroll-md">
  <table class="acms-admin-table-admin acms-admin-table-heading">
    <thead>
      <tr>
        <th><!--T-->フィールド名<!--/T--></th>
        <th><!--T-->フォーマット<!--/T--></th>
        <th><!--T-->説明<!--/T--></th>
        <th><!--T-->例<!--/T--></th>
        <th><!--T-->指定なしの場合<!--/T--></th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <th>user_id</th>
        <td>数値</td>
        <td>ユーザーIDを指定</td>
        <td>123</td>
        <td>新規uid</td>
      </tr>
      <tr>
        <th>user_code</th>
        <td>文字列</td>
        <td>必須項目。コードを指定</td>
        <td>user123</td>
        <td>user-[uid]</td>
      </tr>
      <tr>
        <th>user_status</th>
        <td>open | close</td>
        <td>ステータスを指定（open: 有効、close: 無効）のいずれかを指定</td>
        <td>open</td>
        <td>open</td>
      </tr>
      <tr>
        <th>user_name</th>
        <td>文字列</td>
        <td>ユーザー名を指定</td>
        <td>太郎</td>
        <td>user-[uid]</td>
      </tr>
      <tr>
        <th>user_mail</th>
        <td>文字列</td>
        <td>必須項目。メールアドレスを指定。</td>
        <td>info@example.com</td>
        <td>user-[uid]@example.com</td>
      </tr>
      <tr>
        <th>user_pass</th>
        <td>文字列</td>
        <td>必須項目。ユーザー更新時に空文字を指定した場合、既存のパスワードを継承します。</td>
        <td>xxxxxx</td>
        <td>
          既存のパスワードを継承（更新時のみ）
        </td>
      </tr>
      <tr>
        <th>user_auth</th>
        <td>subscriber | contributor | editor | administrator</td>
        <td>権限を指定（subscriber: 読者、contributor: 投稿者、editor: 編集者、administrator: 管理者）のいずれかを指定</td>
        <td>subscriber</td>
        <td>subscriber</td>
      </tr>
      <tr>
        <th>user_indexing</th>
        <td>on | off</td>
        <td>インデキシング（一覧に出力するかどうか）を設定（on: 出力する、off: 出力しない）</td>
        <td>on</td>
        <td>on</td>
      </tr>
      <tr>
        <th>user_url</th>
        <td>文字列</td>
        <td>URLを指定</td>
        <td>https://www.a-blogcms.jp/</td>
        <td></td>
      </tr>
      <tr>
        <th>user_mail_magazine</th>
        <td>on | off</td>
        <td>メールマガジンを設定（on: 送信する、off: 送信しない）</td>
        <td>on</td>
        <td>off</td>
      </tr>
      <tr>
        <th>user_mail_mobile_magazine</th>
        <td>on | off</td>
        <td>モバイルのメールマガジンを設定（on: 送信する、off: 送信しない）</td>
        <td>on</td>
        <td>off</td>
      </tr>
      <tr>
        <th>user_login_anywhere</th>
        <td>on | off</td>
        <td>どこでもログインを設定（on: 他のブログからログインを許可、off: 許可しない）</td>
        <td>on</td>
        <td>off</td>
      </tr>
      <tr>
        <th>user_global_auth</th>
        <td>on | off</td>
        <td>子ブログにも権限を与える（on: 許可する、off: 許可しない）</td>
        <td>off</td>
        <td>on</td>
      </tr>
      <tr>
        <th>user_locale</th>
        <td>文字列</td>
        <td>ロケールを指定</td>
        <td>ja_JP.UTF-8</td>
        <td></td>
      </tr>
      <tr>
        <th>user_login_expire</th>
        <td>yyyy-MM-dd</td>
        <td>有効期限を設定</td>
        <td>2022-03-31</td>
        <td>9999-12-31</td>
      </tr>
      <tr>
        <th>user_login_datetime</th>
        <td>yyyy-MM-dd H:mm:ss</td>
        <td>ログイン日時を指定</td>
        <td>2022-03-31 00:00:00</td>
        <td></td>
      </tr>
      <tr>
        <th>user_updated_datetime</th>
        <td>yyyy-MM-dd H:mm:ss</td>
        <td>更新日時を指定</td>
        <td>2022-03-31 00:00:00</td>
        <td>インポート時の日時</td>
      </tr>
      <tr>
        <th>user_generated_datetime</th>
        <td>yyyy-MM-dd H:mm:ss</td>
        <td>作成日時を指定</td>
        <td>2022-03-31 00:00:00</td>
        <td>インポート時の日時</td>
      </tr>
      <tr>
        <th>カスタムフィールド変数</th>
        <td></td>
        <td>
          カスタムフィールド としてインポートされます。インポート先のフィールド仕様にあった値を設定ください。<br>
          また、保存されるカスタムフィールドの値は、自動的に検索対象となります。
        </td>
        <td></td>
        <td></td>
      </tr>
    </tbody>
  </table>
</div>
<!-- END_IF -->
<!-- END_MODULE Admin_Import_UserCsv -->
<!-- END_MODULE Touch_SessionWithAdministration -->
