<header>
  <div>
    @include("/admin/topicpath.html")
  </div>
  <div>
    <h1 class="acms-admin-admin-title js-dialog-title"><!--T-->CSVインポート<!--/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-->CSVファイルに、カスタムフィールドの情報のみが含まれる場合は、エントリー情報は自動で作成されます。<!--/T--></li>
    <li><!--T-->CSVに <strong>entry_id</strong> を指定することで既存のエントリーに上書きすることができます。<!--/T--></li>
    <li><!--T--><strong><プロフェッショナルライセンス以上限定></strong> CSVの項目に <strong>entry_id</strong> がなく <strong>*</strong> から始まる項目名（1つ）がある場合、その項目をキーにして<strong>一意(unique)</strong>になるエントリーをアップデートします。<!--/T--></li>
    <li><!--T-->CSVに<strong>entry_category_id</strong>を指定することで、優先してそのカテゴリーにインポートされます。<!--/T--></li>
    <li><!--T-->値の先頭を <strong>str-data_</strong> にしたデータは、表計算ソフトで文字列として扱い、値の自動変換を防止します。取り込み時はこの先頭の文字は無視してインポートされます。数値や日付のデータにお使いください。<!--/T--></li>
  </ul>
</div>


<!-- BEGIN_MODULE Admin_Import_Csv -->
<!-- BEGIN_IF [{processing}/eq/1]-->
<h2 class="acms-admin-admin-title2"><!--T-->CSVインポート状況<!--/T--></h2>
<div id="js-background-csv-import" data-json="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>
        <label for="input-select-category_id">
          <!--T-->インポート先カテゴリー<!--/T-->
        </label>
      </th>
      <td>
        <div class="acms-admin-form-width-medium">
          @include("/admin/include/category/select.html", {
            "target": "#csv-import-category-value",
            "defaultValue": "0",
            "noOption": "true",
            "isClearable": "false"
          })
        </div>
        <input id="csv-import-category-value" type="hidden" name="category_id" value="0">
      </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_Csv"
          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>entry_id</th>
        <td>数値</td>
        <td>エントリーIDを指定</td>
        <td>123</td>
        <td>新規eid</td>
      </tr>
      <tr>
        <th>entry_code</th>
        <td>文字列</td>
        <td>コード（ファイル名）を指定</td>
        <td>entry-123.html</td>
        <td>通常エントリ作成時と同様</td>
      </tr>
      <tr>
        <th>entry_sort</th>
        <td>数値</td>
        <td>表示順を指定（新規追加のみ）</td>
        <td>1</td>
        <td>通常エントリ作成時と同様</td>
      </tr>
      <tr>
        <th>entry_user_sort</th>
        <td>数値</td>
        <td>ユーザーを指定して一覧表示する時の表示順を指定（新規追加のみ）</td>
        <td>1</td>
        <td>通常エントリ作成時と同様</td>
      </tr>
      <tr>
        <th>entry_category_sort</th>
        <td>数値</td>
        <td>カテゴリーを指定して一覧表示する時の表示順を指定（新規追加のみ）</td>
        <td>1</td>
        <td>通常エントリ作成時と同様</td>
      </tr>
      <tr>
        <th>entry_status</th>
        <td>open | close | draft | trash</td>
        <td>ステータスを指定（open: 公開、close: 非公開、draft: 下書き、trash: ゴミ箱）のいずれかを指定</td>
        <td>open</td>
        <td>open</td>
      </tr>
      <tr>
        <th>entry_title</th>
        <td>文字列</td>
        <td>タイトルを指定</td>
        <td>テストエントリー</td>
        <td>CSV_IMPORT-[eid]</td>
      </tr>
      <tr>
        <th>entry_link</th>
        <td>文字列</td>
        <td>リンク先URLを指定</td>
        <td>https://www.a-blogcms.jp/</td>
        <td></td>
      </tr>
      <tr>
        <th>entry_datetime</th>
        <td>yyyy-MM-dd H:mm:ss</td>
        <td>日付を指定</td>
        <td>2018-12-06 15:08:01</td>
        <td>インポート時の日時</td>
      </tr>
      <tr>
        <th>entry_start_datetime</th>
        <td>yyyy-MM-dd H:mm:ss</td>
        <td>公開日時を指定</td>
        <td>2018-12-06 15:08:01</td>
        <td>1000-01-01 00:00:00</td>
      </tr>
      <tr>
        <th>entry_end_datetime</th>
        <td>yyyy-MM-dd H:mm:ss</td>
        <td>掲載期限を指定</td>
        <td>2018-12-06 15:08:01</td>
        <td>9999-12-31 23:59:59</td>
      </tr>
      <tr>
        <th>entry_posted_datetime</th>
        <td>yyyy-MM-dd H:mm:ss</td>
        <td>作成日を指定</td>
        <td>2018-12-06 15:08:01</td>
        <td>インポート時の日時</td>
      </tr>
      <tr>
        <th>entry_updated_datetime</th>
        <td>yyyy-MM-dd H:mm:ss</td>
        <td>更新日を指定</td>
        <td>2018-12-06 15:08:01</td>
        <td>インポート時の日時</td>
      </tr>
      <tr>
        <th>entry_summary_range</th>
        <td>数値</td>
        <td>ユニットの「続きを読む」の位置を指定（例: 3 -&gt; 上から３番目のユニットを一覧で出力）</td>
        <td>3</td>
        <td></td>
      </tr>
      <tr>
        <th>entry_indexing</th>
        <td>on | off</td>
        <td>インデキシング（一覧に出力するかどうか）を設定（on: 出力する、off: 出力しない）</td>
        <td>on</td>
        <td>on</td>
      </tr>
      <tr>
        <th>entry_members_only</th>
        <td>on | off</td>
        <td>会員限定エントリーを設定（on または、off）</td>
        <td>on</td>
        <td>off</td>
      </tr>
      <tr>
        <th>entry_primary_image</th>
        <td>数値</td>
        <td>メイン画像のユニットIDを指定</td>
        <td>123</td>
        <td></td>
      </tr>
      <tr>
        <th>entry_category_id</th>
        <td>数値</td>
        <td>カテゴリーIDを指定</td>
        <td>1</td>
        <td></td>
      </tr>
      <tr>
        <th>entry_user_id</th>
        <td>数値</td>
        <td>エントリー所有者のユーザーIDを指定</td>
        <td>1</td>
        <td>インポート実行者のUID</td>
      </tr>
      <tr>
        <th>entry_tag</th>
        <td>カンマ区切り文字列</td>
        <td>タグをカンマ区切りで指定（必ずダブルクウォートで囲むこと）</td>
        <td>"タグ1,タグ2,タグ3"</td>
        <td></td>
      </tr>
      <tr>
        <th>entry_sub_category</th>
        <td>カンマ区切り数値</td>
        <td>サブカテゴリーの数値をカンマ区切りで指定（必ずダブルクウォートで囲むこと）</td>
        <td>"1,2,3"</td>
        <td></td>
      </tr>
      <tr>
        <th>geo_lat</th>
        <td>数値</td>
        <td>エントリーの経度を指定</td>
        <td>136.761737</td>
        <td></td>
      </tr>
      <tr>
        <th>geo_lng</th>
        <td>数値</td>
        <td>エントリーの緯度を指定</td>
        <td>35.424289</td>
        <td></td>
      </tr>
      <tr>
        <th>geo_zoom</th>
        <td>数値</td>
        <td>エントリーのズームを指定</td>
        <td>10</td>
        <td></td>
      </tr>
      <tr>
        <th>unit@タグセレクト[数値]</th>
        <td>文字列</td>
        <td>テキストユニットの追加<div>タグセレクト: テキストタグセレクトで設定できるもの [p, h2, h3, ul, markdown, none....]&nbsp;</div><div>[]の中の数値: ユニットの順番を指定</div></td>
        <td>"テストユニット"</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_Csv -->
<!-- END_MODULE Touch_SessionWithAdministration -->
