From 5d5c2d786ce2aa8b20580c238d0c185c5282800d Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Mon, 29 Dec 2014 04:31:54 +0800 Subject: [PATCH] =?UTF-8?q?API:=20=E6=96=B0=E5=A2=9E=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E6=B4=BB=E5=8B=95=E4=B8=AD=E6=89=80=E6=9C=89=E6=A8=99=E7=9A=84?= =?UTF-8?q?=E8=B3=87=E8=A8=8A=E7=9A=84=E6=95=99=E6=9D=90=E8=B7=AF=E5=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/api/v2/index.php | 39 ++++++++++++++++++++++++++++- htdocs/lib/Database/DBTarget.php | 8 +++++- htdocs/lib/Target/TargetManager.php | 10 +++++--- 3 files changed, 52 insertions(+), 5 deletions(-) diff --git a/htdocs/api/v2/index.php b/htdocs/api/v2/index.php index 5b8eae6..96da6c9 100644 --- a/htdocs/api/v2/index.php +++ b/htdocs/api/v2/index.php @@ -7,6 +7,7 @@ require_once UELEARNING_LIB_ROOT.'/User/UserSession.php'; require_once UELEARNING_LIB_ROOT.'/User/UserAdmin.php'; require_once UELEARNING_LIB_ROOT.'/Study/StudyActivity.php'; require_once UELEARNING_LIB_ROOT.'/Study/StudyActivityManager.php'; +require_once UELEARNING_LIB_ROOT.'/Target/Target.php'; require_once UELEARNING_LIB_ROOT.'/Target/TargetManager.php'; use UElearning\User; use UElearning\Study; @@ -729,12 +730,48 @@ $app->group('/tokens', 'APIrequest', function () use ($app, $app_template) { $target_manager = new Target\TargetManager(); $all_targets = $target_manager->getAllTargetInfoByTheme($tid); + // 取得本次採用的教材風格 + $materialMode = $sact->getMaterialStyle(); + + // 處理噴出結果 + $output_targets = array(); + foreach($all_targets as $thisTargetArray) { + + // 取得教材路徑 + $targetObject = new Target\Target($thisTargetArray['target_id']); + $materialUrl = $targetObject->getMaterialUrl(true, $materialMode); + $virtualMaterialUrl = $targetObject->getMaterialUrl(false, $materialMode); + + $thisOutput = array( + 'theme_id' => $thisTargetArray['theme_id'], + 'target_id' => $thisTargetArray['target_id'], + 'weights' => $thisTargetArray['weights'], + 'hall_id' => $thisTargetArray['hall_id'], + 'hall_name' => $thisTargetArray['hall_name'], + 'area_id' => $thisTargetArray['area_id'], + 'area_name' => $thisTargetArray['area_name'], + 'floor' => $thisTargetArray['floor'], + 'area_number' => $thisTargetArray['area_number'], + 'target_number' => $thisTargetArray['target_number'], + 'name' => $thisTargetArray['name'], + 'map_url' => $thisTargetArray['map_url'], + 'material_url' => $materialUrl, + 'virtual_material_url' => $virtualMaterialUrl, + 'learn_time' => $thisTargetArray['learn_time'], + 'PLj' => $thisTargetArray['PLj'], + 'Mj' => $thisTargetArray['Mj'], + 'S' => $thisTargetArray['S'], + 'Fj' => $thisTargetArray['Fj'] + ); + array_push($output_targets, $thisOutput); + } + // 噴出結果 $app->render(200,array( 'token' => $token, 'user_id' => $user_id, 'activity_id' => $sact->getId(), - 'targets' => $all_targets, + 'targets' => $output_targets, 'error' => false )); diff --git a/htdocs/lib/Database/DBTarget.php b/htdocs/lib/Database/DBTarget.php index 039432f..0dba41a 100644 --- a/htdocs/lib/Database/DBTarget.php +++ b/htdocs/lib/Database/DBTarget.php @@ -128,9 +128,15 @@ class DBTarget extends Database { * * array( * array( + * 'theme_id' => <主題ID>, * 'target_id' => <標的ID>, - * 'area_id' => <標的所在的區域ID>, + * 'weights' => <權重> * 'hall_id' => <標的所在的廳ID>, + * 'hall_name' => <標的所在的廳名稱>, + * 'area_id' => <標的所在的區域ID>, + * 'area_name' => <標的所在的區域名稱>, + * 'floor' => <標的所在的區域樓層>, + * 'area_number' => <標的所在的區域地圖上編號>, * 'target_number' => <地圖上的標的編號>, * 'name' => <標的名稱>, * 'map_url' => <地圖路徑>, diff --git a/htdocs/lib/Target/TargetManager.php b/htdocs/lib/Target/TargetManager.php index 5e5a8fe..9123e42 100644 --- a/htdocs/lib/Target/TargetManager.php +++ b/htdocs/lib/Target/TargetManager.php @@ -27,11 +27,15 @@ class TargetManager { * * array( * array( - * 'theme_id' => <主題ID> + * 'theme_id' => <主題ID>, * 'target_id' => <標的ID>, - * 'weights' => <比重>. - * 'area_id' => <標的所在的區域ID>, + * 'weights' => <權重> * 'hall_id' => <標的所在的廳ID>, + * 'hall_name' => <標的所在的廳名稱>, + * 'area_id' => <標的所在的區域ID>, + * 'area_name' => <標的所在的區域名稱>, + * 'floor' => <標的所在的區域樓層>, + * 'area_number' => <標的所在的區域地圖上編號>, * 'target_number' => <地圖上的標的編號>, * 'name' => <標的名稱>, * 'map_url' => <地圖路徑>,