"uninstalled", self::UNINSTALLED => "uninstalled", self::INSTALLING => "installed_and_configured", self::INSTALLED => "installed_and_configured", self::STARTING => "running", self::STARTED => "running", self::STOPPING => "stopped", self::STOPPED => "stopped" ); public static function getStateFromString($stateStr) { $found = array_keys(self::$STATE, $stateStr); if (is_array($found) && count($found) == 1) { return $found[0]; } return FALSE; } /** * Converts INSTALLED to INSTALLING and likewise. * No-op for failed or unknown states * @param int $state */ public static function convertStateToProgressingState($state) { $retState = self::UNKNOWN; switch ($state) { case State::UNKNOWN: case State::UNINSTALLING: case State::INSTALLING: case State::STARTING: case State::STOPPING: case State::FAILED: $retState = $state; break; case State::UNINSTALLED: $retState = self::UNINSTALLING; break; case State::INSTALLED: $retState = self::INSTALLING; break; case State::STARTED: $retState = self::STARTING; break; case State::STOPPED: $retState = self::STOPPING; break; default: $retState = self::UNKNOWN; break; } return $retState; } } class TransactionProgress { const PENDING = 0; const IN_PROGRESS = 1; const COMPLETED = 2; const FAILED = 3; public static $PROGRESS = array ( "PENDING", "IN_PROGRESS", "COMPLETED", "FAILED" ); public static function getProgressFromString($progressStr) { $found = array_keys(self::$PROGRESS, $progressStr); if (is_array($found) && count($found) == 1) { return $found[0]; } return FALSE; } } function getTransactionProgressFromState($state) { $txnState = TransactionProgress::PENDING; switch ($state) { case State::UNKNOWN: $txnState = TransactionProgress::PENDING; break; case State::UNINSTALLING: case State::INSTALLING: case State::STARTING: case State::STOPPING: $txnState = TransactionProgress::IN_PROGRESS; break; case State::UNINSTALLED: case State::INSTALLED: case State::STARTED: case State::STOPPED: $txnState = TransactionProgress::COMPLETED; break; case State::FAILED: $txnState = TransactionProgress::FAILED; break; default: $txnState = TransactionProgress::PENDING; } return $txnState; } function getActionDescription($name, $action, $state) { /* $stateInfo = ""; if ($state == "PENDING") { $stateInfo = "is $state"; } else if ($state == "IN_PROGRESS") { $stateInfo = "is IN PROGRESS"; } else if ($state == "COMPLETED" || $state =="FAILED") { $stateInfo = "has $state"; } $description = $name . " " . strtolower($action) . " " . strtolower($stateInfo); */ $description = $name.' '.$action; return $description; } ?>