A maioria dos nossos usuários não entende que eles devem Salvar ou Cancelar ao editar seu conteúdo, portanto, temos constantemente vários artigos e categorias bloqueados. Percebo que isso pode ser feito manualmente pelo administrador, mas a edição continua 24 horas por dia, 7 dias por semana, e é entediante examinar constantemente todos os itens para determinar se a edição foi abandonada ou não.
Existe uma maneira de que os bloqueios expirem de alguma forma?
Tentando evitar crons sempre que possível, mas com base na resposta de @Farahmand, coloquei uma variação desse código em um
onUserLogout()
evento do plug-in do usuário :Quando qualquer usuário efetua logout , o plug-in faz check-in de seu conteúdo, bem como quaisquer outros check-outs que possam ter sido abandonados. Queria que apenas determinados grupos de usuários fossem afetados e garantisse que qualquer conteúdo de usuário administrativo nunca fosse afetado (por nossos próprios motivos internos - talvez exagero em instalações típicas, mas, no nosso caso, temos grupos de usuários personalizados que podem estar em vários dos grupos de usuários padrão, portanto, foram responsáveis por essa sobreposição).
Tenho certeza de que o SQL pode ser ajustado para fusos horários etc., mas aqui está a instrução SQL resultante:
fonte
checked_out_time < NOW() - INTERVAL 12 HOUR
porchecked_out_time < JFactory::getDate('now +12 hours')
- Não testado.