示例#1
0
 private function getResponseBody(Ess_M2ePro_Model_Accounts $account)
 {
     if ($account->isFeedbacksAutoResponseCycled()) {
         $lastUsedId = 0;
         if ($account->getFeedbacksLastUsedId() != null) {
             $lastUsedId = (int) $account->getFeedbacksLastUsedId();
         }
         $feedbackTemplatesIds = Mage::getModel('M2ePro/FeedbacksTemplates')->getCollection()->addFieldToFilter('account_id', $account->getId())->setOrder('id', 'ASC')->getAllIds();
         if (!count($feedbackTemplatesIds)) {
             return '';
         }
         $feedbackTemplate = Mage::getModel('M2ePro/FeedbacksTemplates');
         if (max($feedbackTemplatesIds) > $lastUsedId) {
             foreach ($feedbackTemplatesIds as $templateId) {
                 if ($templateId <= $lastUsedId) {
                     continue;
                 }
                 $feedbackTemplate->load($templateId);
                 break;
             }
         } else {
             $feedbackTemplate->load(min($feedbackTemplatesIds));
         }
         if (!$feedbackTemplate->getId()) {
             return '';
         }
         $account->setData('feedbacks_last_used_id', $feedbackTemplate->getId())->save();
         return $feedbackTemplate->getBody();
     }
     if ($account->isFeedbacksAutoResponseRandom()) {
         $feedbackTemplatesIds = Mage::getModel('M2ePro/FeedbacksTemplates')->getCollection()->addFieldToFilter('account_id', $account->getId())->getAllIds();
         if (!count($feedbackTemplatesIds)) {
             return '';
         }
         $index = rand(0, count($feedbackTemplatesIds) - 1);
         $feedbackTemplate = Mage::getModel('M2ePro/FeedbacksTemplates')->load($feedbackTemplatesIds[$index]);
         if (!$feedbackTemplate->getId()) {
             return '';
         }
         return $feedbackTemplate->getBody();
     }
     return '';
 }