Onde é gerado?
Se você olhar em
app/code/core/Mage/Sales/Model/Order.php
na linha 2052
, você encontrará o seguinte:$this->setData('protect_code', substr(md5(uniqid(mt_rand(), true) . ':' . microtime(true)), 5, 6));
É aqui que
protect_code
é gerado para o pedido (usando uma combinação de md5, uniqid e inteiro aleatório. Para que é usado?
Se você olhar em
app/code/core/Mage/Sales/Helper/Guest.php
e encontre o loadValidOrder
função. Você verá protect_code
usado em algumas áreas para garantir que o pedido que está sendo carregado seja o correto para o valor do cookie do hóspede. Também é usado em outras áreas, como o rastreamento de comparações de informações. Você pode ver várias instâncias do
getProtectCode()
método sendo chamado nos modelos de Remessa para comparar o pedido com as informações de rastreamento. Um exemplo de uma função que o utiliza é: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;
}
Como você pode ver com
$this->getProtectCode() == $track->getProtectCode()
, o protect_code
de rastreamento deve corresponder ao protect_code
da Remessa .