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 .