/** * Run the command * @param InputInterface $input Input * @param OutputInterface $output Output * @return bool */ public function execute(InputInterface $input, OutputInterface $output) { $trello = HelperCommand::getTrelloClient($output); if (!$trello) { return false; } $member = HelperCommand::getTrelloMember($output); if (!$member || empty($member['idBoards'])) { return false; } $boards = []; foreach ($member['idBoards'] as $board) { if (in_array($board, HelperCommand::$ignoredBoards)) { continue; } $trelloBoard = $trello->getBoard($board); if (!$trelloBoard) { $error = "Board {$board} failed to load"; $output->writeln("<error>{$error}</error>"); continue; } if ($trelloBoard->closed) { continue; } $boards[$trelloBoard->id] = ['id' => $trelloBoard->id, 'name' => $trelloBoard->name, 'desc' => $trelloBoard->desc, 'url' => $trelloBoard->url, 'prefs' => $trelloBoard->prefs, 'labelNames' => $trelloBoard->labelNames]; } file_put_contents(dirname(__DIR__) . self::FILE_CACHE, Yaml::dump($boards)); return true; }