Bonjour,
Je suis en train d'essayer de créer un plugin système à faire exécuter à une heure précise. (je me suis inspiré du code du plugin updatenotification)
Pour ça, j'ai un paramètre "lastrun" défini dans le manifest, par défaut à "0".
Le code suivant doit récupérer sa valeur, puis la modifier à "now"
Lorsque j'enregistre le plugin, le premier "echo" me renvoie "0", le dernier une valeur type "1562575782".
Mais dans la base, j'ai toujours lastrun à 0, et si je réenregistre mêmes valeurs, "0" et "1562576252"
Quelle erreur ai-je pu faire pour que ce paramètre reste à 0 dans le champ "params" du plugin ?
Merci de votre aide,
Robert
PS : en complément, lé définition du paramètre lastrun dans le manifeste
Je suis en train d'essayer de créer un plugin système à faire exécuter à une heure précise. (je me suis inspiré du code du plugin updatenotification)
Pour ça, j'ai un paramètre "lastrun" défini dans le manifest, par défaut à "0".
Le code suivant doit récupérer sa valeur, puis la modifier à "now"
Code PHP:
$now = time();
$last = (int) $this->params->get('lastrun', 0);
echo ($last); echo('<br/>');
if ((abs($now - $last) < $timeout))
{
echo('Not time to work');
return;
}
// Update last run status
$this->params->set('lastrun', $now);
$db = $this->db;
$query = $db->getQuery(true)
->update($db->qn('#__extensions'))
->set($db->qn('params') . ' = ' . $db->q($this->params->toString('JSON')))
->where($db->qn('type') . ' = ' . $db->q('plugin'))
->where($db->qn('folder') . ' = ' . $db->q('system'))
->where($db->qn('element') . ' = ' . $db->q('monplugin'));
$now1 = (int) $this->params->get('lastrun', 0);
echo($now1);
Mais dans la base, j'ai toujours lastrun à 0, et si je réenregistre mêmes valeurs, "0" et "1562576252"
Quelle erreur ai-je pu faire pour que ce paramètre reste à 0 dans le champ "params" du plugin ?
Merci de votre aide,
Robert
PS : en complément, lé définition du paramètre lastrun dans le manifeste
<field
name="lastrun"
type="hidden"
default="0"
size="15"
/>
name="lastrun"
type="hidden"
default="0"
size="15"
/>
Commentaire