Add command to disable projects not touched during one year

This commit is contained in:
Frédéric Guillot
2017-11-30 12:34:45 -08:00
parent cb9e6377f6
commit 12202f0451
7 changed files with 37 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
<?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)
{
$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']);
}
}
}