/** * 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); }
/** * 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'); } }