<?php
/*
main.php 是模組後台的主要內容頁面（入口）。
但並不一定要叫做 main.php ，您愛命名為什麼都行，只要 menu.php 設定好就好。
*/

/*------------------ 檔頭（引入檔案） ------------------*/
//使用樣板檔
$xoopsOption['template_main'] = "quest_adm.html";
//引入XOOPS前台檔案檔頭（必要）
include 'header.php';
//引入共同檔案設定檔（必要）
include_once "../function.php"; //引入自訂的共同函數檔


/*------------------ 流程判斷（告訴程式現在要做什麼） -----------------*/

//$op 為XOOPS常用之動作變數，用來告知程式欲執行之動作
$op=isset($_REQUEST['op'])?$_REQUEST['op']:"";

//判斷目前動作該執行哪一個
switch($op){
  //當 $op 的值等於「動作1」時，欲執行的動作
  case "clear_quest":
  quest_clean();
  break;

  case "upload_quest":
  get_quest();
  break;

  //預設動作
  default:
  list_option();
  break;
}

/*------------------ 所有函數（實際執行動作） ------------------*/

//當 $op 的值等於「動作1」時，欲執行的函數
function get_quest(){
  global $xoopsDB,$xoopsTpl;
  if(!empty($_FILES['quest_csv']['name'])){

    $handle = fopen($_FILES['quest_csv']['tmp_name'], "r") or die("無法開啟");
    $i = 0;
    $all_quest = "";
    while (($data = fgetcsv($handle, 1000)) != FALSE) {
      $all_quest[$i] = $data;
      $i++;
    }
    $j = 0;

    while ($j < $i){
      $table=$xoopsDB->prefix(hoao_exam);
      $sql="insert into `{$table}` ( `level`, `quest`, `op1`, `op2`, `op3`, `op4`, `answer`) values('{$all_quest[$j][0]}' , '{$all_quest[$j][1]}' , '{$all_quest[$j][2]}' , '{$all_quest[$j][3]}' , '{$all_quest[$j][4]}', '{$all_quest[$j][5]}' , {$all_quest[$j][6]} )";
      $xoopsDB->query($sql);
      $j++;
    }

    if ($j > 0)
      redirect_header('quest.php', 3, "有收到檔案！！！共有".$i."筆資料！");
    else
      redirect_header('quest.php', 3, "檔案拷貝失敗！！！");

  }

  redirect_header('quest.php', 3, "未收到檔案");

}
function quest_clean(){
  global $xoopsDB;
  $table=$xoopsDB->prefix(hoao_exam);
  $sql="delete from `{$table}`";
  $xoopsDB->queryF($sql) or die(mysql_error());
  $sql="ALTER TABLE `{$table}` AUTO_INCREMENT =1";
  $xoopsDB->queryF($sql) or die(mysql_error());

  $table2=$xoopsDB->prefix(hoao_exam_select);
  $sql="delete from `{$table2}`";
  $xoopsDB->queryF($sql) or die(mysql_error());
  $sql="ALTER TABLE `{$table2}` AUTO_INCREMENT =1";
  $xoopsDB->queryF($sql) or die(mysql_error());

  redirect_header('quest.php', 3, "所有題目清空完成！！！選題記錄清空完成！！！");

}
function list_option(){
  global $xoopsTpl,$xoopsDB;
  include_once(XOOPS_ROOT_PATH."/class/xoopsformloader.php");

  $sql="select count(*) from ".$xoopsDB->prefix(hoao_exam);
  $result=$xoopsDB->query($sql) or die(mysql_error());
  $qty=$xoopsDB->fetchArray($result);

  $form = new XoopsThemeForm('清空題庫（模組安裝完成時已內建2014環境教育測驗題庫）', 'name', 'quest.php', 'post', 1 , '清空');
  $form->addElement(new XoopsFormHidden ("op", "clear_quest"));
  $form->addElement(new XoopsFormButton ("現有題目：".$qty['count(*)']."題", "", "確定清空！！", "submit"));
  $f=$form->render();

  $form2 = new XoopsThemeForm('上傳題庫（請先<a href="example.csv">下載範例檔（只可用UTF8編碼）</a>，再由範例檔修改，第一列不保留，雙引號不要去掉！）', 'name', 'quest.php', 'post', 1 , '上傳');
  $introduce = "範例檔內容如下(exampe.csv)：<br>\"級別\",\"題目\",\"選項1\",\"選項2\",\"選項3\",\"選項4\",答案(數字1~4)<br><br>固定7個欄位，由英數逗號分隔，1~6欄請用雙引號包裝<br><br>級別：初級、中級、中高級、高級，四選一，若無級別可都設為初級<br>題目：題目中請不要使用雙引號與英數逗號<br>選項1~4：選項中請不要使用雙引號與英數逗號<br>答案：數字1~4<br><br>若有匯入問題請洽資訊組長<br>若要觀看詳細說明請看頁尾";
  $form2->addElement(new XoopsFormLabel('範例內容說明',  $introduce ));
  $form2->addElement(new XoopsFormHidden ("op", "upload_quest"));
  $form2->setExtra("enctype='multipart/form-data'");
  $form2->addElement(new XoopsFormFile('上傳', 'quest_csv', '20480000'));
  $form2->addElement(new XoopsFormButton ("現有題目：".$qty['count(*)']."題", "", "確定清空才可以上傳喔", "submit"));
  $introduce2 = "<h5>使用OpenOffice開啟下載的範例檔</h5><img src='../images/example/01.jpg'><br><br><h5>可以用MS Office開啟題庫檔</h5><img src='../images/example/02.jpg'><br><br><h5>在OpenOffice操作貼上與刪除第一列</h5><img src='../images/example/03.jpg'><br><br><h5>另存新檔</h5><img src='../images/example/04.jpg'><br><img src='../images/example/05.jpg'><br><img src='../images/example/06.jpg'><br><br><h5>檢查另存的新檔</h5><img src='../images/example/07.jpg'><br><br><h5>若沒問題即可使用本系統的上傳題庫功能</h5>";
  $form2->addElement(new XoopsFormLabel('詳細匯入說明',  $introduce2 ));
  $f2=$form2->render();

  $xoopsTpl->assign("list_option",$f);
  $xoopsTpl->assign("list_upload_option",$f2);

}
/*------------------ 檔尾（輸出內容到樣板） ------------------*/
include "footer.php"; //XOOPS檔尾



?>