"", "result" => "", "table" => "", "header" => "", "footer" => "", ); //---------------------------- // request parameter //---------------------------- $qProjectID = isset($_SESSION["project_id"]) ? $_SESSION["project_id"] : REQ_NON; $qWorkflowID = isset($_REQUEST["q_workflow_id"]) ? $_REQUEST["q_workflow_id"] : REQ_NON; $qTaskID = isset($_REQUEST["q_id"]) ? $_REQUEST["q_id"] : INIT_ID; $qOrder = isset($_REQUEST["q_order"]) ? $_REQUEST["q_order"] : REQ_NON; $qLimit = isset($_REQUEST["q_limit"]) ? $_REQUEST["q_limit"] : REQ_NON; $qOffset = isset($_REQUEST["q_offset"]) ? $_REQUEST["q_offset"] : REQ_NON; //---------------------------- // judge post //---------------------------- //---------------------------- // set types //---------------------------- Util::setType($qProjectID, "int"); Util::setType($qWorkflowID, "int"); Util::setType($qTaskID, "int"); Util::setType($qOrder, "string"); //---------------------------- // Auth-Before validate //---------------------------- if ( $result === RES_OK ){ if ( ! Validate::isNumeric($qProjectID) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 1)}"); } if ( ! Validate::isNumeric($qWorkflowID) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 2)}"); } } //---------------------------- // Auth //---------------------------- if ( $result === RES_OK ){ $auth = Auth::instance("task"); if( ! $auth->readList($qProjectID) ){ $result = RES_NG; $gResult->push("{$WORD($wk, 3)}"); } } //---------------------------- // Auth-After validate //---------------------------- if ( $result === RES_OK ){ if ( ! Validate::isNumeric($qTaskID) ){ $qTaskID = INIT_ID; } if ( ! Validate::isNumeric($qLimit) ){ $qLimit = HTML_LIMIT; } if ( ! Validate::isNumeric($qOffset) ){ $qOffset = HTML_OFFSET; } } //---------------------------- // function //---------------------------- //---------------------------- // process //---------------------------- if ( $result === RES_OK ){ $objDAOTask = DAO::instance("task"); $objViewTask = View::instance("task"); $objProject = new Project($qProjectID); // ユーザー役割一覧 -------------------- if ( $result === RES_OK ){ if ( ($arrActor = $objProject->getUser()) === FALSE ){ $result = RES_NG; $gResult->push("{$WORD($wk, 4)}"); } } // プロジェクトデータ一覧 -------------------- if ( $result === RES_OK ){ if ( ($arrAppended = $objProject->getAppended()) === FALSE ){ $result = RES_NG; $gResult->push("{$WORD($wk, 5)}"); } } // ワークフロー情報取得 -------------------- if ( $result === RES_OK ){ // sort $arrOrder = array(); if ( Validate::isString($qOrder) ){ $arrQueryOrder = explode("-", $qOrder); if ( count($arrQueryOrder) === 2 ){ $orderKey = ""; if ( $arrQueryOrder[0] === "task" ){ $orderKey = DAO::SQL_ORDER_BY("t_task_type", array_keys(Task::TYPE_TABLE())); } else if ( $arrQueryOrder[0] === "document" ){ $orderKey = "get_document_title((SELECT t_document_id FROM t_task_document WHERE t_task_document.t_task_id=t_task.t_task_id LIMIT 1))"; } else if ( $arrQueryOrder[0] === "date" ){ $orderKey = "t_task_end"; } else if ( $arrQueryOrder[0] === "state" ){ $orderKey = DAO::SQL_ORDER_BY("t_task_state", array_keys(DAO::T_TASK_STATE_TABLE())); } $orderValue = ""; if ( $arrQueryOrder[1] === "asc" ){ $orderValue = DAO::ASC; } else if ( $arrQueryOrder[1] === "desc" ){ $orderValue = DAO::DESC; } if ( strlen($orderKey) > 0 && strlen($orderValue) > 0 ){ $arrOrder[$orderKey] = $orderValue; } } } $arrDefaultOrder = array( "t_task_end" => DAO::DESC, DAO::SQL_ORDER_BY("t_task_type", array_keys(Task::TYPE_TABLE())) => DAO::ASC, ); $resDAOTask = $objDAOTask->get(NULL, array(DAO::T_TASK_STATE_NORMAL, DAO::T_TASK_STATE_CARIED), NULL, NULL, NULL, $qWorkflowID, User::get("id"), $arrOrder + $arrDefaultOrder, $qLimit, $qOffset); $result = $resDAOTask["result"]; if ( $result === RES_NG ){ $gResult->push("{$WORD($wk, 6)}"); } else { $arrHtml["table"] = $objViewTask->table($resDAOTask["data"], $qTaskID, $qOrder, User::get("id"), $arrActor, $arrAppended); if ( $result === RES_OK ){ $arrHtml["header"] = Printer::paginationTableHeader(TRUE, ".", $_REQUEST, $resDAOTask["count"], $qLimit, $qOffset, 10); $arrHtml["footer"] = Printer::paginationTableFooter(TRUE, ".", $_REQUEST, $resDAOTask["count"], $qLimit, $qOffset, 10); } else { $gResult->push("{$WORD($wk, 7)}"); } } } } //---------------------------- // html //---------------------------- { // menu ---------------------------------------------------------------- if ( $result !== RES_NG ){ $arrMenu = array(); //----- $arrMenu[0] = $objViewTask->tab(View_task::TAB_LIST, $auth, $qProjectID, $qWorkflowID); $arrMenu[1] = $objViewTask->tab(View_task::TAB_CHART, $auth, $qProjectID, $qWorkflowID); $arrMenu[2] = $objViewTask->tab(View_task::TAB_NEW, $auth, $qProjectID, $qWorkflowID); $arrMenu[3] = $objViewTask->tab(View_task::TAB_EDIT, $auth, $qProjectID, $qWorkflowID); //----- $arrHtml["menu"] = Printer::menuTab($arrMenu, 0); } // title --------------------------------------------------------------- $title = "{$WORD($wk, 8)}"; // form ---------------------------------------------------------------- if ( $result === RES_NG ){ // アクション(OK) $arrHtml["footer"] = Printer::link("OK", "btn btn-default", NULL, NULL, "/content/project/"); } // result -------------------------------------------------------------- $arrHtml["result"] = $gResult->string(TRUE, $result); } ?>