"", "result" => "", "table" => "", ); //---------------------------- // request parameter //---------------------------- $qProjectID = isset($_SESSION["project_id"]) ? $_SESSION["project_id"] : REQ_NON; $qKind = isset($_REQUEST["q_kind"]) ? $_REQUEST["q_kind"] : REQ_NON; $qSub = isset($_REQUEST["q_sub"]) ? $_REQUEST["q_sub"] : REQ_NON; $qTaskType = isset($_REQUEST["q_task_type"]) ? $_REQUEST["q_task_type"] : REQ_NON; $qTaskRole = isset($_REQUEST["q_task_role"]) ? $_REQUEST["q_task_role"] : REQ_NON; $qUserID = isset($_REQUEST["q_user_id"]) ? $_REQUEST["q_user_id"] : REQ_NON; $qDocumentID = isset($_REQUEST["q_document_id"]) ? $_REQUEST["q_document_id"] : REQ_NON; // limit と offset はセットできない ( sqlの関係上 ) //---------------------------- // judge post //---------------------------- //---------------------------- // set types //---------------------------- Util::setType($qProjectID, "int"); Util::setType($qKind, "int"); Util::setType($qSub, "int"); Util::setType($qTaskType, "int"); Util::setType($qTaskRole, "int"); Util::setType($qUserID, "int"); Util::setType($qDocument, "int"); //---------------------------- // Auth-Before validate //---------------------------- if ( $result === RES_OK ){ if ( ! Validate::inKeyArray($qKind, Statistics::KIND_TABLE(NULL)) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 1)}"); } if ( ! Validate::isNumeric($qProjectID) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 2)}"); } } //---------------------------- // Auth //---------------------------- if ( $result === RES_OK ){ $auth = Auth::instance("statistics"); if( ! $auth->process($qKind, $qProjectID)){ $result = RES_NG; $gResult->push("{$WORD($wk, 3)}"); } } //---------------------------- // Auth-After validate //---------------------------- if ( $result === RES_OK ){ if ( ! Validate::isNumeric($qSub) ){ $qSub = NULL; } if ( ! Validate::isNumeric($qTaskType) ){ $qTaskType = NULL; } if ( ! Validate::isNumeric($qTaskRole) ){ $qTaskRole = NULL; } if ( ! Validate::isNumeric($qUserID) ){ $qUserID = NULL; } if ( ! Validate::isNumeric($qDocumentID) ){ $qDocumentID = NULL; } switch ( $qKind ){ case Statistics::KIND_TASK_USER: case Statistics::KIND_TASK_DOCUMENT: case Statistics::KIND_TASK_ROLE: $selectTab = 0; break; default: header("Location: ./detail.html?".http_build_query($_GET)); } } //---------------------------- // function //---------------------------- //---------------------------- // process //---------------------------- if ( $result === RES_OK ){ $objDAOStatistics = DAO::instance("statistics"); $objViewStatistics = Statistics::viewInstance($qKind, FALSE); if ( $result === RES_OK ){ switch ( $qKind ){ case Statistics::KIND_TASK_USER: case Statistics::KIND_TASK_DOCUMENT: case Statistics::KIND_TASK_ROLE: $resDAOStatistics = $objDAOStatistics->getTaskStatisticByProject($qTaskType, $qTaskRole, $qUserID, $qProjectID, $qDocumentID, NULL, NULL); $result = $resDAOStatistics["result"]; break; default: $reult = RES_NG; } if ( $result === RES_OK ){ switch ( $qKind ){ case Statistics::KIND_TASK_USER: if ( $qSub === View_statistics_task::COLUMN_TASK ){ $arrHtml["table"] = $objViewStatistics->tableTaskByProject_ColumnUserAndTask($result, $resDAOStatistics["data"]); } else if ( $qSub === View_statistics_task::COLUMN_ROLE ){ $arrHtml["table"] = $objViewStatistics->tableTaskByProject_ColumnUserAndRole($result, $resDAOStatistics["data"]); } else { $arrHtml["table"] = $objViewStatistics->tableTaskByProject_ColumnUser($result, $resDAOStatistics["data"]); } break; case Statistics::KIND_TASK_DOCUMENT: if ( $qSub === View_statistics_task::COLUMN_TASK ){ $arrHtml["table"] = $objViewStatistics->tableTaskByProject_ColumnDocumentAndTask($result, $resDAOStatistics["data"]); } else if ( $qSub === View_statistics_task::COLUMN_ROLE ){ $arrHtml["table"] = $objViewStatistics->tableTaskByProject_ColumnDocumentAndRole($result, $resDAOStatistics["data"]); } else { $arrHtml["table"] = $objViewStatistics->tableTaskByProject_ColumnDocument($result, $resDAOStatistics["data"]); } break; case Statistics::KIND_TASK_ROLE: $arrHtml["table"] = $objViewStatistics->tableTaskByProject_ColumnTaskAndRole($result, $resDAOStatistics["data"]); break; default: $result = RES_NG; } } } if ( $result === RES_NO_DATA ){ $gResult->push("{$WORD($wk, 4)}"); } else if ( $result === RES_NG ){ $gResult->push("{$WORD($wk, 5)}"); } } //---------------------------- // html //---------------------------- { // menu ---------------------------------------------------------------- if ( $result !== RES_NG ){ $arrMenu = array(); //----- $arrMenu[0] = $objViewStatistics->tab(View_statistics::TAB_TASK, $auth, $qProjectID); $arrMenu[1] = $objViewStatistics->tab(View_statistics::TAB_BBS, $auth, $qProjectID); $arrMenu[$selectTab]["title"] .= " - ".Statistics::KIND_TABLE($qKind); //----- $arrHtml["menu"] = Printer::menuTab($arrMenu, $selectTab); } // title --------------------------------------------------------------- $title = "{$WORD($wk, 6)}"; // form ---------------------------------------------------------------- if ( $result === RES_NG ){ // アクション(OK) $arrHtml["detail"] = Printer::link("OK", "btn btn-default", NULL, NULL, "/content/project/"); } // result -------------------------------------------------------------- $arrHtml["result"] = $gResult->string(TRUE, $result); } ?>