32 lines
902 B
PHP
32 lines
902 B
PHP
<?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;
|
|
}
|
|
}
|