| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- <?php
- namespace console\controllers;
- use bizGhs\lakala\classes\LakalaAccountClass;
- use yii\console\Controller;
- use yii\console\ExitCode;
- class LakalaAccountController extends Controller
- {
- /**
- * Refresh Lakala authorization states from CLI.
- *
- * Usage: ./yii lakala-account/refresh-authorize-states 1,2,3
- *
- * @param string $accountIds Comma-separated account IDs.
- * @return int
- */
- public function actionRefreshAuthorizeStates($accountIds)
- {
- $values = explode(',', (string)$accountIds);
- $ids = [];
- foreach ($values as $value) {
- $value = trim($value);
- if ($value === '' || !ctype_digit($value) || (int)$value <= 0) {
- $this->stderr('Invalid Lakala account ID: ' . $value . PHP_EOL);
- return ExitCode::USAGE;
- }
- $ids[] = (int)$value;
- }
- $ids = array_values(array_unique($ids));
- if (empty($ids)) {
- $this->stderr('At least one Lakala account ID is required.' . PHP_EOL);
- return ExitCode::USAGE;
- }
- $failed = 0;
- foreach ($ids as $accountId) {
- if (!LakalaAccountClass::refreshAuthorizeStates($accountId)) {
- $failed++;
- }
- }
- $this->stdout('Lakala authorize refresh completed: total=' . count($ids) . ', failed=' . $failed . ', accountIds=' . $accountIds . PHP_EOL);
- return $failed === 0 ? ExitCode::OK : ExitCode::UNSPECIFIED_ERROR;
- }
- }
|