La plupart de nos utilisateurs ne comprennent pas qu'ils doivent enregistrer ou annuler lorsqu'ils modifient leur contenu, nous avons donc constamment des dizaines d'articles et de catégories verrouillés. Je me rends compte que cela peut être fait manuellement par l'administrateur, mais l'édition se fait 24h / 24 et 7j / 7, et il est plutôt fastidieux de parcourir constamment tous les éléments pour déterminer si l'édition a été abandonnée ou non.
Existe-t-il un moyen de faire expirer les verrous d'une manière ou d'une autre?
En essayant d'éviter les crons autant que possible, mais sur la base de la réponse de @Farahmand, j'ai mis une variation de ce code dans un
onUserLogout()
événement User Plugin :Lorsque tout utilisateur se connecte sur , les contrôles dans le plugin-tout de leur contenu, ainsi que toute autre check-out qui peuvent avoir été abandonnés. Je voulais que seuls certains groupes d'utilisateurs soient affectés, et pour m'assurer que le contenu des utilisateurs administrateurs n'a jamais été affecté (pour nos propres raisons internes - peut-être exagéré pour les installations typiques, mais dans notre cas, nous avons des groupes d'utilisateurs personnalisés qui peuvent être dans plusieurs des groupes d'utilisateurs standard, ont donc pris en compte ce chevauchement).
Je suis sûr que le SQL peut être ajusté pour les fuseaux horaires, etc., mais voici l'instruction SQL résultante:
la source
checked_out_time < NOW() - INTERVAL 12 HOUR
parchecked_out_time < JFactory::getDate('now +12 hours')
- Non testé.