Hvor er det genereret?
Hvis du kigger i app/code/core/Mage/Sales/Model/Order.php
på omkring linje 2052
, finder du følgende:
$this->setData('protect_code', substr(md5(uniqid(mt_rand(), true) . ':' . microtime(true)), 5, 6));
Det er her protect_code
genereres for ordren (ved hjælp af en kombination af md5, uniqid og tilfældigt heltal.
Hvad bruges det til?
Hvis du kigger i app/code/core/Mage/Sales/Helper/Guest.php
og find loadValidOrder
fungere. Du vil se protect_code
bruges i nogle områder for at sikre, at den ordre, der indlæses, er den rigtige for gæstens cookieværdi.
Det bruges også på andre områder, såsom sammenligning af sporingsoplysninger. Du kan se flere forekomster af getProtectCode()
metode, der kaldes i forsendelsesmodellerne for at sammenligne ordren med sporingsinformationen. Et eksempel på en funktion, der bruger den, er:
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;
}
Som du kan se med $this->getProtectCode() == $track->getProtectCode()
, sporings protect_code
skal matche forsendelsens protect_code
.