function ChangeStatus() { $pdo = PdoDataAccess::getPdoObject(); $pdo->beginTransaction(); $mode = $_REQUEST["mode"]; $SourceObj = new WFM_FlowRows($_POST["RowID"]); $newObj = new WFM_FlowRows(); $newObj->FlowID = $SourceObj->FlowID; $newObj->ObjectID = $SourceObj->ObjectID; $newObj->PersonID = $_SESSION["USER"]["PersonID"]; $newObj->ActionType = $mode; $newObj->ActionDate = PDONOW; $newObj->ActionComment = $_POST["ActionComment"]; //............................................. if (isset($_POST["StepID"])) { $StepID = $_POST["StepID"]; } else { $StepID = $SourceObj->ActionType == "CONFIRM" ? $SourceObj->_StepID + 1 : $SourceObj->_StepID - 1; } $dt = PdoDataAccess::runquery("select StepRowID, StepDesc from WFM_FlowSteps \r\n\t\twhere IsActive='YES' AND FlowID=? AND StepID=?", array($newObj->FlowID, $StepID)); if (count($dt) == 0) { echo Response::createObjectiveResponse(false, "1"); die; } $newObj->StepRowID = $dt[0]["StepRowID"]; $newObj->StepDesc = $dt[0]["StepDesc"]; //............................................. if ($SourceObj->ActionType == "CONFIRM") { $dt = PdoDataAccess::runquery("select Max(StepID) maxStepID from WFM_FlowSteps \r\n\t\t\twhere IsActive='YES' AND FlowID=? AND IsOuter='NO'", array($newObj->FlowID)); if ($dt[0][0] == $StepID) { $newObj->IsEnded = "YES"; } } //............................................. $result = $newObj->AddFlowRow($StepID, $pdo); if (!$result) { $pdo->rollBack(); echo Response::createObjectiveResponse($result, "2"); die; } if ($newObj->IsEnded == "YES") { $result = WFM_FlowRows::EndObjectFlow($newObj->FlowID, $newObj->ObjectID, $pdo); } if (!$result) { $pdo->rollBack(); echo Response::createObjectiveResponse($result, "3"); die; } $pdo->commit(); echo Response::createObjectiveResponse($result, ""); die; }