| | <?php |
| |
|
| | namespace Kanboard\Console; |
| |
|
| | use Kanboard\Model\ProjectModel; |
| | use Symfony\Component\Console\Input\InputInterface; |
| | use Symfony\Component\Console\Output\OutputInterface; |
| |
|
| | class ProjectArchiveCommand extends BaseCommand |
| | { |
| | protected function configure() |
| | { |
| | $this |
| | ->setName('projects:archive') |
| | ->setDescription('Disable projects not touched during one year'); |
| | } |
| |
|
| | protected function execute(InputInterface $input, OutputInterface $output): int |
| | { |
| | $projects = $this->db->table(ProjectModel::TABLE) |
| | ->eq('is_active', 1) |
| | ->lt('last_modified', strtotime('-1 year')) |
| | ->findAll(); |
| |
|
| | foreach ($projects as $project) { |
| | $output->writeln('Deactivating project: #'.$project['id'].' - '.$project['name']); |
| | $this->projectModel->disable($project['id']); |
| | } |
| | return 0; |
| | } |
| | } |
| |
|