Ejemplo n.º 1
0
function _collection_all_file_update_form($nid, $type = 0)
{
    $id = uniqid();
    $uploader = _uploader('uploader');
    // defined at editcol.control_panel.php
    $uploader_on_complete = <<<SCODE
    var obj = JSON.parse(data);
    window.location.href = "/" + obj.nid; // redirection
SCODE;
    $options = array();
    switch ($type) {
        case 0:
            $options = array('video_only' => true);
            break;
        case 1:
            $options = array('image_only' => true, 'interactive' => true);
            break;
        case 2:
            $options = array('interactive' => true);
            break;
        default:
    }
    $uploader_script = _single_uploader_script('uploader', $id, '/collection/all_file_update', $uploader_on_complete, $nid, $options);
    // defined at editcol.control_panel.php
    $html = <<<FORM

  <div id="dialog" title="選擇一個馬賽克檔案" style="display:none">
  \t<p>
  \t\t<input id="uploadInput" type="file" name="myFiles">
  \t</p>
  </div>

  <div id="uploader">
    <p>Your browser doesnt have Flash, Silverlight  HTML5 support</p>
  </div>
  <p><p>
   說明:
   <ul>
     <li>上傳前請先確認檔案系統有足夠空間,否則會有異常的行為發生。</li>
   </ul>
  </p></p>

  <script type="text/javascript">
    {$uploader_script}
  </script>
FORM;
    return $html;
}
Ejemplo n.º 2
0
function _control_panel_for_admin($tab_id, $form_model)
{
    $id1 = uniqid();
    $id2 = uniqid();
    $id3 = uniqid();
    $form_new = _form_new($form_model);
    $model = json_func_expr(json_encode($form_model));
    $form__new_script = _form_new_script($model);
    $suploader = _uploader('suploader');
    $suploader_on_complete = <<<SCODE
    var obj = JSON.parse(data);
    window.location.href = "/collection/edit/" + obj.new_id; // redirection
SCODE;
    $options = array('interactive' => true);
    $suploader_script = _single_uploader_script('suploader', $id1, '/collection/single_upload/finish', $suploader_on_complete, 0, $options);
    $muploader = _uploader('muploader');
    $muploader_script = _multiple_uploader_script('muploader', $id2, '/collection/multiple_upload/finish');
    $mupdater = _uploader('mupdater');
    $mupdater_script = _multiple_updater_script('mupdater', $id3, '/collection/multiple_update/finish');
    if (empty($tab_id)) {
        $tab_id = 1;
    }
    $p = drupal_get_path('module', 'editcol');
    $p = url($p);
    $form = <<<FORM

<div id="dialog" title="選擇一個馬賽克檔案" style="display:none">
\t<p>
\t\t<input id="uploadInput" type="file" name="myFiles">
\t</p>
</div>

<div id="tab-control_panel">
    <div id="top_tabs" style="width: 100%; height: 50px;"></div>

    <div id="top_tab1" class="tab">
      {$form_new}
    </div>

    <div id="top_tab2" class="tab">
      {$suploader}
      <p><p>
  \t  說明:
  \t  <ul>
  \t    <li>單筆藏品上傳只需將同一筆的所有檔案拖曳進入上傳介面即可開始上傳,上傳完畢後,系統會導至此筆新增藏品之「後設資料」輸入介面。</li>
        <li>所有「後綴 <span style="color:red">_mosaic</span>」的檔名,皆被視為馬賽克檔,如假設典藏檔名為「foo.tif」,則相對的馬賽克檔為「foo_mosaic.tif」。</li>
        <li>預設「互動式馬賽克上傳模式」開啟,每新增一個典藏檔,系統會讓使用者選擇其相對應的馬賽克檔,此時所選的檔案會<span style="color:red">自動改名</span>為相對的馬賽克檔。</li>
        <li>若關閉「互動式馬賽克上傳模式」時,上傳馬賽克檔<span style="color:red">需手動</span>將馬賽克檔名改成「後綴 _mosaic」的檔名,如假設典藏檔名為「foo.tif」,則相對的馬賽克檔為「foo_mosaic.tif」。</li>
        <li>影片類藏品不會有馬賽克檔,請檢查上傳的影片檔名,其不應該有「foo_mosaic.ogv」這樣的檔名。</li>
        <li>上傳影片時,請<span style="color:red">關閉</span>「互動式馬賽克上傳模式」。</li>
  \t  \t<li>上傳前請先確認檔案系統有足夠空間,否則會有異常的行為發生。</li>
  \t  </ul>
      </p></p>
    </div>

    <div id="top_tab3" class="tab">
      {$muploader}
      <p><p>
  \t  說明:
  \t  <ul>
  \t    <li>多筆藏品上傳可一次新增多比藏品,藏品分成「單檔藏品」與「多檔藏品」兩種。</li>
  \t\t  <li>「單檔藏品」指的是一件藏品只有一個檔案,此時需將檔案名稱改成「原件典藏編號」後拖曳進入上傳介面。</li>
  \t\t  <li>「多檔藏品」指的是一件藏品有多個檔案,此時需將這些檔案置入一以「原件典藏編號」為名之目錄,然後壓縮此目錄為一 zip 檔後拖曳進入上傳介面。</li>
        <li>所有「後綴 <span style="color:red">_mosaic</span>」的檔名,皆被視為馬賽克檔,如假設典藏檔名為「foo.tif」,則相對的馬賽克檔為「foo_mosaic.tif」。</li>
        <li><span style="color:red">影片類藏品不會有馬賽克檔</span>,請檢查上傳的影片檔名,其不應該有「foo_mosaic.ogv」這樣的檔名。</li>
  \t\t  <li>所有藏品皆拖入上傳介面後,便可開始上傳,上傳完畢,系統會導到 CRUD 介面,此時最上方有一 CSV 檔下載連結,此為這些新增的藏品的後設資料表格,請用試算表開啟填寫後設資料後,再進到 CRUD 介面進行後設資料更新。</li>
  \t\t  <li><span style="color:blue">當一次有多筆藏品要上傳且多為影音資料時,請務必使用此「多筆藏品上傳介面」,因為此介面會進行循序轉檔,不會使系統負荷過重。</span></li>
  \t\t  <li>上傳前請先確認檔案系統有足夠空間,否則會有異常的行為發生。</li>
  \t  </ul>
      </p></p>
    </div>

    <div id="top_tab4" class="tab">
      {$mupdater}
      <p><p>
  \t  說明:
  \t  <ul>
  \t    <li>多筆藏品數位檔案更新乃是<span style="color:red">重建</span>藏品的數位檔,即是把所有的舊檔刪除,再重新上傳。</li>
        <li>此介面只能接受「<span style="color:red">zip</span>」附檔名的檔案。</li>
        <li>這些更新檔必需使用「<span style="color:red">原件典藏編號</span>」當檔名,系統會根據這個編號找出相對應的藏品進行更新。</li>
        <li>範例:
           <p>假設 IA00001 這件藏品,共有四件如下,而其中 AAAA、CCCC 有馬賽克的圖: </p>

           <p>AAAA、BBBB、CCCC、DDDD</p>

           <p>它的壓縮檔名及內容物會是如下:</p>

           <pre>
IA00001.zip

IA00001/AAAA.tif
IA00001/AAAA_mosaic.tif
IA00001/BBBB.tif
IA00001/CCCC.tif
IA00001/CCCC_mosaic.tif
IA00001/DDDD.tif
           </pre>
        </li>
        <li>從上例可見只有目錄名稱才需要使用原件典藏編號,內含檔案只要遵從馬賽克命名規則即可。</li>
        <li>若有一個檔案只有馬賽克檔而無原始檔,則會被忽略處理。</li>
        <li>經由此介面更新的藏品會預設為「<span style="color:red">公開</span>」,若需「不公開」請經由藏品介面關閉之。</li>
  \t  </ul>
      </p></p>
    </div>


    <div id="top_tab5" class="tab">
      <ul>
         <li><a href='/admin/config/coll/archive_crud'>後設資料大量輸出入與公眾系統同步。</a></li>
      </ul>
    </div>

    <div id="top_tab6" class="tab">
      <ul>
         <li><a href='/admin/config/coll/unverified_claim'>未確認的認領</a></li>
         <li><a href='/admin/config/coll/verified_claim'>已確認的認領</a></li>
         <li><a href='/admin/config/coll/conflict_claim'>「未確認的認領」和「已確認的認領」衝突表</a></li>
      </ul>
    </div>
</div>

<script type="text/javascript">
  {$form__new_script}
  {$suploader_script}
  {$muploader_script}
  {$mupdater_script}
</script>

<script type="text/javascript">
var config = {
    tabs: {
        name: 'top_tabs',
        active: 'top_tab1',
        tabs: [
            { id: 'top_tab1', caption: '建立無檔藏品' },
            { id: 'top_tab2', caption: '單筆藏品上傳' },
            { id: 'top_tab3', caption: '多筆藏品上傳' },
            { id: 'top_tab4', caption: '多筆藏品更新' },
            { id: 'top_tab5', caption: 'CRUD' },
            { id: 'top_tab6', caption: '認領管理' },
        ],
        onClick: function (event) {
            \$('#tab-control_panel .tab').hide();
            \$('#tab-control_panel #' + event.target).show();
            if(event.target == 'top_tab1') w2ui['form_new'].refresh();
        }
    }
}

\$(function () {
    \$('#top_tabs').w2tabs(config.tabs);
    \$('#tab-control_panel .tab').hide();
    w2ui['top_tabs'].click('top_tab{$tab_id}');
});
</script>

FORM;
    return $form;
}