Purge aléatoire des sondages
Actuellement, la suppression des sondages est déclenchée par :
- soit la création d'un nouveau sondage ;
- soit une demande de l'administrateur.
Dans les deux cas dans la limite de 20.
Étape 4 dans create_classic_poll.php, ligne 113 :
// Delete old polls
$purgeService->purgeOldPolls();
Dans le fichier app/classes/Framadate/Repositories/PollRepository.php, ligne 75 :
/**
* Find old polls. Limit: 20.
*
* @return array Array of old polls
*/
public function findOldPolls() {
$prepared = $this->prepare('SELECT * FROM `' . Utils::table('poll') . '` WHERE DATE_ADD(`end_date`, INTERVAL ' . PURGE_DELAY . ' DAY) < NOW() AND `end_date` != 0 LIMIT 20');
$prepared->execute([]);
return $prepared->fetchAll();
}
Problèmes:
a) la suppression est donc aléatoire ;
b) pourquoi supprimer par lot de 20 ?
Suggestions:
- Déclencher la purge à intervalle régulier et déterminé ;
- Éliminer la limite de 20.