/**
  * Render grid row
  *
  * @param Varien_Object $row
  * @return string
  */
 public function render(Varien_Object $row)
 {
     $msgTitle = $row->getMessageTitle();
     if (strlen($msgTitle) > 50) {
         $msgTitle = substr($msgTitle, 0, 50) . '...';
     }
     return $this->escapeHtml($msgTitle);
 }
Example #2
0
 /**
  * Render grid row
  *
  * @param Varien_Object $row
  * @return string
  */
 public function render(Varien_Object $row)
 {
     $msgTitle = $row->getMessageTitle();
     if (strlen($msgTitle) > 50) {
         $msgTitle = substr($msgTitle, 0, 50) . '...';
     }
     return htmlspecialchars($msgTitle);
 }
 /**
  * Save AirMail message action
  *
  * @return null
  */
 public function saveMessageAction()
 {
     $data = $this->_filterPostData($this->getRequest()->getPost());
     $isError = false;
     $message = false;
     if ($data) {
         try {
             $data = Mage::getModel('core/input_filter_maliciousCode')->filter($data);
             $template = $this->_initTemplate('template_id');
             $message = $this->_initMessage();
             if (!$template->getId() && !$message->getTemplateId()) {
                 $this->_getSession()->addError($this->__('Template for new AirMail Message does not exist.'));
                 $this->_redirect('*/*/queue');
                 return;
             }
             /** @var $app Mage_XmlConnect_Model_Application */
             $app = Mage::getModel('xmlconnect/application')->loadByCode($template->getAppCode());
             $deviceType = Mage::helper('xmlconnect')->getDeviceType($app);
             if ($deviceType == Mage_XmlConnect_Helper_Data::DEVICE_TYPE_ANDROID && $data['type'] == Mage_XmlConnect_Model_Queue::MESSAGE_TYPE_AIRMAIL) {
                 $this->_getSession()->addError($this->__('Android doesn\'t support AirMail message type.'));
                 $redirectParams = $this->_getQueueMessageParams($message);
                 $action = $message->getId() ? 'editQueue' : 'queueMessage';
                 $this->_redirect('*/*/' . $action, $redirectParams);
                 return;
             }
             $temporaryObject = new Varien_Object();
             $temporaryObject->setData($data);
             if ($temporaryObject->getTemplateId()) {
                 $message->setTemplateId($temporaryObject->getTemplateId());
             } else {
                 $message->setTemplateId($template->getId());
             }
             if (!$message->getId()) {
                 // set status for new messages only
                 $message->setStatus(Mage_XmlConnect_Model_Queue::STATUS_IN_QUEUE);
             } elseif ($message->getStatus() != Mage_XmlConnect_Model_Queue::STATUS_IN_QUEUE) {
                 $this->_getSession()->addError($this->__('Message can be edited when status of the message is "In Queue" only.'));
                 $this->_redirect('*/*/queue');
                 return;
             }
             switch ($temporaryObject->getType()) {
                 case Mage_XmlConnect_Model_Queue::MESSAGE_TYPE_AIRMAIL:
                     $message->setData('type', Mage_XmlConnect_Model_Queue::MESSAGE_TYPE_AIRMAIL);
                     break;
                 case Mage_XmlConnect_Model_Queue::MESSAGE_TYPE_PUSH:
                 default:
                     $message->setData('type', Mage_XmlConnect_Model_Queue::MESSAGE_TYPE_PUSH);
                     break;
             }
             if ($temporaryObject->getExecTime()) {
                 $execTime = Mage::getSingleton('core/date')->gmtDate(null, $temporaryObject->getExecTime());
                 $message->setExecTime($execTime ? $execTime : Mage::getSingleton('core/date')->gmtDate());
             } else {
                 $message->setExecTime(new Zend_Db_Expr('NULL'));
             }
             if ($template->getId()) {
                 $message->setAppCode($template->getAppCode());
             }
             $message->setPushTitle($temporaryObject->getPushTitle());
             $message->setMessageTitle($temporaryObject->getMessageTitle());
             $message->setContent($temporaryObject->getContent());
             $message->save();
         } catch (Mage_Core_Exception $e) {
             $this->_getSession()->addException($e, $e->getMessage());
             $isError = true;
         } catch (Exception $e) {
             $this->_getSession()->addException($e, $this->__('Unable to save message.'));
             $isError = true;
             Mage::logException($e);
         }
     }
     if ($isError) {
         if ($isError) {
             Mage::getSingleton('adminhtml/session')->setLoadSessionFlag(true);
         }
         $redirectParams = $this->_getQueueMessageParams($message);
         $this->_redirect('*/*/queueMessage', $redirectParams);
     } else {
         $this->_redirect('*/*/queue');
     }
 }
 /**
  * Save AirMail message action
  *
  * @return void
  */
 public function saveMessageAction()
 {
     $data = $this->_filterPostData($this->getRequest()->getPost());
     $isError = false;
     $message = false;
     if ($data) {
         try {
             $data = Mage::getModel('core/input_filter_maliciousCode')->filter($data);
             $template = $this->_initTemplate('template_id');
             $message = $this->_initMessage();
             if (!$template->getId() && !$message->getTemplateId()) {
                 $this->_getSession()->addError($this->__('Template for new AirMail Message does not exist.'));
                 $this->_redirect('*/*/queue');
                 return;
             }
             $temporaryObject = new Varien_Object();
             $temporaryObject->setData($data);
             if ($temporaryObject->getTemplateId()) {
                 $message->setTemplateId($temporaryObject->getTemplateId());
             } else {
                 $message->setTemplateId($template->getId());
             }
             if (!$message->getId()) {
                 // set status for new messages only
                 $message->setStatus(Mage_XmlConnect_Model_Queue::STATUS_IN_QUEUE);
             } elseif ($message->getStatus() != Mage_XmlConnect_Model_Queue::STATUS_IN_QUEUE) {
                 $this->_getSession()->addError($this->__('Message can be edited when status of the message is "IN QUEUE" only.'));
                 $this->_redirect('*/*/queue');
                 return;
             }
             switch ($temporaryObject->getType()) {
                 case Mage_XmlConnect_Model_Queue::MESSAGE_TYPE_AIRMAIL:
                     $message->setData('type', Mage_XmlConnect_Model_Queue::MESSAGE_TYPE_AIRMAIL);
                     break;
                 case Mage_XmlConnect_Model_Queue::MESSAGE_TYPE_PUSH:
                 default:
                     $message->setData('type', Mage_XmlConnect_Model_Queue::MESSAGE_TYPE_PUSH);
                     break;
             }
             if ($temporaryObject->getExecTime()) {
                 $message->setExecTime(Mage::getSingleton('core/date')->gmtDate(null, $temporaryObject->getExecTime()));
             } else {
                 $message->setExecTime(new Zend_Db_Expr('NULL'));
             }
             if ($template->getId()) {
                 $message->setAppCode($template->getAppCode());
             }
             $message->setPushTitle($temporaryObject->getPushTitle());
             $message->setMessageTitle($temporaryObject->getMessageTitle());
             $message->setContent($temporaryObject->getContent());
             $message->save();
         } catch (Mage_Core_Exception $e) {
             $this->_getSession()->addException($e, $e->getMessage());
             $isError = true;
         } catch (Exception $e) {
             $this->_getSession()->addException($e, $this->__('Unable to save message.'));
             $isError = true;
             Mage::logException($e);
         }
     }
     if ($isError) {
         if ($isError) {
             Mage::getSingleton('adminhtml/session')->setLoadSessionFlag(true);
         }
         $redirectParams = array();
         if ($message && $message->getId()) {
             $redirectParams['id'] = $message->getId();
         } else {
             $redirectParams['template_id'] = (int) $this->getRequest()->getParam('template_id');
         }
         $this->_redirect('*/*/queueMessage', $redirectParams);
     } else {
         $this->_redirect('*/*/queue');
     }
 }