93 lines
3.0 KiB
PHP
93 lines
3.0 KiB
PHP
<?php
|
|
/**
|
|
* Log.php
|
|
*/
|
|
|
|
namespace UElearning\Log;
|
|
|
|
require_once UELEARNING_LIB_ROOT.'/Database/DBLog.php';
|
|
require_once UELEARNING_LIB_ROOT.'/Exception.php';
|
|
use UElearning\Database;
|
|
use UElearning\Exception;
|
|
|
|
/**
|
|
* 學習記錄
|
|
*
|
|
* @version 2.0.1
|
|
* @package UElearning
|
|
* @subpackage Log
|
|
*/
|
|
class Log {
|
|
|
|
/**
|
|
* 紀錄這筆資料
|
|
*
|
|
* @param array $logArray 這筆紀錄陣列,格式為:
|
|
* array( 'LID' => '<唯一的加密代碼>',
|
|
* 'UID' => '<使用者ID>',
|
|
* 'Date' => '<日期時間>',
|
|
* 'SaID' => '<學習活動>',
|
|
* 'TID' => '<標的編號>',
|
|
* 'ActionGroup' => '<動作分組>',
|
|
* 'Encode' => '<動作>',
|
|
* 'QID' => '<問題編號>',
|
|
* 'Answer' => '<回答編號>',
|
|
* 'Other' => '<其他資訊>' )
|
|
)
|
|
*/
|
|
public function insert($logArray) {
|
|
// 檢查必填項目有無填寫
|
|
if(isset($logArray)) {
|
|
|
|
// 若無填寫
|
|
if( !isset($logArray['LID']) ||
|
|
!isset($logArray['UID']) ||
|
|
!isset($logArray['Date']) ||
|
|
!isset($logArray['Encode']) ) {
|
|
throw new Exception\NoDataException();
|
|
}
|
|
// 沒有問題
|
|
else {
|
|
|
|
// 處理未帶入的資料
|
|
if( !isset($logArray['SaID']) ){
|
|
$logArray['SaID'] = null;
|
|
}
|
|
if( !isset($logArray['TID']) ){
|
|
$logArray['TID'] = null;
|
|
}
|
|
if( !isset($logArray['ActionGroup']) ){
|
|
$logArray['ActionGroup'] = null;
|
|
}
|
|
if( !isset($logArray['QID']) ){
|
|
$logArray['QID'] = null;
|
|
}
|
|
if( !isset($logArray['Answer']) ){
|
|
$logArray['Answer'] = null;
|
|
}
|
|
if( !isset($logArray['Other']) ){
|
|
$logArray['Other'] = null;
|
|
}
|
|
|
|
// 新增一筆使用者資料進資料庫
|
|
$db = new Database\DBLog();
|
|
$db->insertLog(
|
|
array(
|
|
'lid' => $logArray['LID'],
|
|
'uid' => $logArray['UID'],
|
|
'date' => $logArray['Date'],
|
|
'said' => $logArray['SaID'],
|
|
'tid' => $logArray['TID'],
|
|
'actionGruop' => $logArray['ActionGroup'],
|
|
'encode' => $logArray['Encode'],
|
|
'qid' => $logArray['QID'],
|
|
'answer' => $logArray['Answer'],
|
|
'other' => $logArray['Other']
|
|
)
|
|
);
|
|
}
|
|
}
|
|
else throw Exception\NoDataException();
|
|
}
|
|
}
|