Waar wordt het gegenereerd?
Als je kijkt in app/code/core/Mage/Sales/Model/Order.php
op rond regel 2052
, vindt u het volgende:
$this->setData('protect_code', substr(md5(uniqid(mt_rand(), true) . ':' . microtime(true)), 5, 6));
Dit is waar protect_code
wordt gegenereerd voor de bestelling (met een combinatie van md5, uniqid en willekeurig geheel getal.
Waarvoor wordt het gebruikt?
Als je kijkt in app/code/core/Mage/Sales/Helper/Guest.php
en zoek de loadValidOrder
functie. Je ziet protect_code
gebruikt in sommige gebieden om ervoor te zorgen dat de bestelling die wordt geladen de juiste is voor de cookiewaarde van de gast.
Het wordt ook op andere gebieden gebruikt, zoals vergelijkingen van trackinginformatie. U kunt verschillende instanties van de getProtectCode()
. zien methode die wordt aangeroepen in de Zendingsmodellen om de bestelling te vergelijken met de trackinginformatie. Een voorbeeld van een functie die het gebruikt is:
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;
}
Zoals je kunt zien met $this->getProtectCode() == $track->getProtectCode()
, de tracking protect_code
moet overeenkomen met de zending protect_code
.