API: 新增查看活動中所有標的資訊的教材路徑

This commit is contained in:
Yuan Chiu 2014-12-29 04:31:54 +08:00
parent 20bbd0c2bc
commit 5d5c2d786c
3 changed files with 52 additions and 5 deletions

View File

@ -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.'/User/UserAdmin.php';
require_once UELEARNING_LIB_ROOT.'/Study/StudyActivity.php'; require_once UELEARNING_LIB_ROOT.'/Study/StudyActivity.php';
require_once UELEARNING_LIB_ROOT.'/Study/StudyActivityManager.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'; require_once UELEARNING_LIB_ROOT.'/Target/TargetManager.php';
use UElearning\User; use UElearning\User;
use UElearning\Study; use UElearning\Study;
@ -729,12 +730,48 @@ $app->group('/tokens', 'APIrequest', function () use ($app, $app_template) {
$target_manager = new Target\TargetManager(); $target_manager = new Target\TargetManager();
$all_targets = $target_manager->getAllTargetInfoByTheme($tid); $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( $app->render(200,array(
'token' => $token, 'token' => $token,
'user_id' => $user_id, 'user_id' => $user_id,
'activity_id' => $sact->getId(), 'activity_id' => $sact->getId(),
'targets' => $all_targets, 'targets' => $output_targets,
'error' => false 'error' => false
)); ));

View File

@ -128,9 +128,15 @@ class DBTarget extends Database {
* *
* array( * array(
* array( * array(
* 'theme_id' => <主題ID>,
* 'target_id' => <標的ID>, * 'target_id' => <標的ID>,
* 'area_id' => <標的所在的區域ID>, * 'weights' => <權重>
* 'hall_id' => <標的所在的廳ID>, * 'hall_id' => <標的所在的廳ID>,
* 'hall_name' => <標的所在的廳名稱>,
* 'area_id' => <標的所在的區域ID>,
* 'area_name' => <標的所在的區域名稱>,
* 'floor' => <標的所在的區域樓層>,
* 'area_number' => <標的所在的區域地圖上編號>,
* 'target_number' => <地圖上的標的編號>, * 'target_number' => <地圖上的標的編號>,
* 'name' => <標的名稱>, * 'name' => <標的名稱>,
* 'map_url' => <地圖路徑>, * 'map_url' => <地圖路徑>,

View File

@ -27,11 +27,15 @@ class TargetManager {
* *
* array( * array(
* array( * array(
* 'theme_id' => <主題ID> * 'theme_id' => <主題ID>,
* 'target_id' => <標的ID>, * 'target_id' => <標的ID>,
* 'weights' => <比重>. * 'weights' => <權重>
* 'area_id' => <標的所在的區域ID>,
* 'hall_id' => <標的所在的廳ID>, * 'hall_id' => <標的所在的廳ID>,
* 'hall_name' => <標的所在的廳名稱>,
* 'area_id' => <標的所在的區域ID>,
* 'area_name' => <標的所在的區域名稱>,
* 'floor' => <標的所在的區域樓層>,
* 'area_number' => <標的所在的區域地圖上編號>,
* 'target_number' => <地圖上的標的編號>, * 'target_number' => <地圖上的標的編號>,
* 'name' => <標的名稱>, * 'name' => <標的名稱>,
* 'map_url' => <地圖路徑>, * 'map_url' => <地圖路徑>,