public function isExistProductAction(Ess_M2ePro_Model_Listing_Other $listingOtherInstance, $action, array $params = array()) { $newListingsOtherId = $listingOtherInstance->getId(); $params['status_changer'] = Ess_M2ePro_Model_Listing_Product::STATUS_CHANGER_SYNCH; if (!isset($this->_actionsProducts[$newListingsOtherId])) { return false; } if ($this->_actionsProducts[$newListingsOtherId]['action'] != $action) { return false; } $tempExistItem = $this->_actionsProducts[$newListingsOtherId]; foreach ($params as $tempParamKey => $tempParamValue) { if (!isset($tempExistItem['params'][$tempParamKey])) { return false; } if (is_array($tempExistItem['params'][$tempParamKey]) && is_array($tempParamValue)) { foreach ($tempParamValue as $tempParamKeyTwo => $tempParamValueTwo) { if (!isset($tempExistItem['params'][$tempParamKey][$tempParamKeyTwo])) { return false; } if ($tempExistItem['params'][$tempParamKey][$tempParamKeyTwo] != $tempParamValueTwo) { return false; } } continue; } if ($tempExistItem['params'][$tempParamKey] != $tempParamValue) { return false; } } return true; }
public function logListingOtherMessage(Ess_M2ePro_Model_Listing_Other $listingOther, array $messageData, $priority = Ess_M2ePro_Model_Log_Abstract::PRIORITY_MEDIUM) { if ($this->storeMode) { $this->storedMessages[] = array('type' => $this->initLogType($messageData[Ess_M2ePro_Model_Connector_Protocol::MESSAGE_TYPE_KEY]), 'text' => $messageData[Ess_M2ePro_Model_Connector_Protocol::MESSAGE_TEXT_KEY]); return; } $this->getListingOtherLog()->addProductMessage($listingOther->getId(), $this->initiator, $this->actionId, $this->action, $messageData[Ess_M2ePro_Model_Connector_Protocol::MESSAGE_TEXT_KEY], $this->initLogType($messageData[Ess_M2ePro_Model_Connector_Protocol::MESSAGE_TYPE_KEY]), $priority); }
/** * @return Ess_M2ePro_Model_Ebay_Listing_Other_Action_Locker */ protected function getLocker() { if (is_null($this->locker)) { $this->locker = Mage::getModel('M2ePro/Ebay_Listing_Other_Action_Locker'); $this->locker->setListingOtherId($this->otherListing->getId()); } return $this->locker; }
protected function eventAfterProcess() { $lockItem = Mage::getModel('M2ePro/LockItem'); $lockItem->setNick(Ess_M2ePro_Helper_Component_Ebay::NICK . '_listing_other_' . $this->otherListing->getId()); $lockItem->remove(); }
private function modifyAndLogListingOther(Ess_M2ePro_Model_Listing_Other $listingOther, $status, $duplicateItemId = null) { /** @var Ess_M2ePro_Model_Listing_Other_Log $logModel */ $logModel = Mage::getModel('M2ePro/Listing_Other_Log'); $logModel->setComponentMode(Ess_M2ePro_Helper_Component_Ebay::NICK); $logActionId = $logModel->getNextActionId(); $statusLogMessage = $this->getStatusLogMessage($listingOther->getStatus(), $status); $logModel->addProductMessage($listingOther->getId(), Ess_M2ePro_Helper_Data::INITIATOR_EXTENSION, $logActionId, Ess_M2ePro_Model_Listing_Other_Log::ACTION_CHANNEL_CHANGE, $statusLogMessage, Ess_M2ePro_Model_Log_Abstract::TYPE_SUCCESS, Ess_M2ePro_Model_Log_Abstract::PRIORITY_LOW); $additionalData = $listingOther->getAdditionalData(); unset($additionalData['last_failed_action_data']); $listingOther->addData(array('status' => $status, 'additional_data' => json_encode($additionalData)))->save(); if (is_null($duplicateItemId)) { return; } // M2ePro_TRANSLATIONS // Duplicated Item %item_id% was found and Stopped on eBay. $textToTranslate = 'Duplicated Item %item_id% was found and stopped on eBay.'; $duplicateDeletedMessage = Mage::helper('M2ePro')->__($textToTranslate, $duplicateItemId); $logModel->addProductMessage($listingOther->getId(), Ess_M2ePro_Helper_Data::INITIATOR_EXTENSION, $logActionId, Ess_M2ePro_Model_Listing_Other_Log::ACTION_CHANNEL_CHANGE, $duplicateDeletedMessage, Ess_M2ePro_Model_Log_Abstract::TYPE_WARNING, Ess_M2ePro_Model_Log_Abstract::PRIORITY_LOW); }
private function logOtherListingMessage(Ess_M2ePro_Model_Listing_Other $otherListing, $action, $oldValue, $newValue) { // M2ePro_TRANSLATIONS // From [%from%] to [%to%]. $log = Mage::getModel('M2ePro/Listing_Other_Log'); $log->setComponentMode($otherListing->getComponentMode()); $log->addProductMessage($otherListing->getId(), Ess_M2ePro_Helper_Data::INITIATOR_EXTENSION, NULL, $action, Mage::getModel('M2ePro/Log_Abstract')->encodeDescription('From [%from%] to [%to%]', array('from' => $oldValue, 'to' => $newValue)), Ess_M2ePro_Model_Log_Abstract::TYPE_NOTICE, Ess_M2ePro_Model_Log_Abstract::PRIORITY_LOW); }
private function logOtherListingMessage(Ess_M2ePro_Model_Listing_Other $otherListing, $action, $oldValue, $newValue, $messagePostfix = '') { // M2ePro_TRANSLATIONS // From [%from%] to [%to%]. $log = Mage::getModel('M2ePro/Listing_Other_Log'); $log->setComponentMode($otherListing->getComponentMode()); $oldValue = strlen($oldValue) > 150 ? substr($oldValue, 0, 150) . ' ...' : $oldValue; $newValue = strlen($newValue) > 150 ? substr($newValue, 0, 150) . ' ...' : $newValue; $messagePostfix = trim(trim($messagePostfix), '.'); if (!empty($messagePostfix)) { $messagePostfix = ' ' . $messagePostfix; } $log->addProductMessage($otherListing->getId(), Ess_M2ePro_Helper_Data::INITIATOR_EXTENSION, NULL, $action, Mage::getModel('M2ePro/Log_Abstract')->encodeDescription('From [%from%] to [%to%]' . $messagePostfix . '.', array('!from' => $oldValue, '!to' => $newValue)), Ess_M2ePro_Model_Log_Abstract::TYPE_NOTICE, Ess_M2ePro_Model_Log_Abstract::PRIORITY_LOW); }