File size: 902 Bytes
e4f4821 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<?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;
}
}
|