Où est-il généré ?
Si vous regardez dans app/code/core/Mage/Sales/Model/Order.php
autour de la ligne 2052
, vous trouverez les éléments suivants :
$this->setData('protect_code', substr(md5(uniqid(mt_rand(), true) . ':' . microtime(true)), 5, 6));
C'est là que protect_code
est généré pour la commande (en utilisant une combinaison de md5, uniqid et nombre entier aléatoire.
À quoi sert-il ?
Si vous regardez dans app/code/core/Mage/Sales/Helper/Guest.php
et trouvez le loadValidOrder
une fonction. Vous verrez protect_code
utilisé dans certaines régions pour s'assurer que la commande en cours de chargement correspond à la valeur de cookie du client.
Il est également utilisé dans d'autres domaines, tels que le suivi des comparaisons d'informations. Vous pouvez voir plusieurs instances de getProtectCode()
méthode appelée dans les modèles d'expédition pour comparer la commande aux informations de suivi. Un exemple de fonction qui l'utilise est :
public function getTrackingInfoByTrackId()
{
$track = Mage::getModel('sales/order_shipment_track')->load($this->getTrackId());
if ($track->getId() && $this->getProtectCode() == $track->getProtectCode()) {
$this->_trackingInfo = array(array($track->getNumberDetail()));
}
return $this->_trackingInfo;
}
Comme vous pouvez le voir avec $this->getProtectCode() == $track->getProtectCode()
, le suivi protect_code
doit correspondre à l'envoi protect_code
.