00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 class Mage_GiftMessage_Block_Message_Inline extends Mage_Core_Block_Template
00036 {
00037
00038 protected $_entity = null;
00039 protected $_type = null;
00040 protected $_giftMessage = null;
00041
00042 protected function _construct()
00043 {
00044 parent::_construct();
00045 $this->setTemplate('giftmessage/inline.phtml');
00046 }
00047
00048 public function setEntity($entity)
00049 {
00050 $this->_entity = $entity;
00051 return $this;
00052 }
00053
00054 public function getEntity()
00055 {
00056 return $this->_entity;
00057 }
00058
00059 public function setType($type)
00060 {
00061 $this->_type = $type;
00062 return $this;
00063 }
00064
00065 public function getType()
00066 {
00067 return $this->_type;
00068 }
00069
00070 public function hasGiftMessage()
00071 {
00072 return $this->getEntity()->getGiftMessageId() > 0;
00073 }
00074
00075 protected function _initMessage()
00076 {
00077 $this->_giftMessage = $this->helper('giftmessage/message')->getGiftMessage(
00078 $this->getEntity()->getGiftMessageId()
00079 );
00080 return $this;
00081 }
00082
00083 public function getDefaultFrom()
00084 {
00085 return Mage::getSingleton('customer/session')->isLoggedIn() ? Mage::getSingleton('customer/session')->getCustomer()->getName() : $this->getEntity()->getBillingAddress()->getName();
00086 }
00087
00088 public function getDefaultTo()
00089 {
00090 return $this->getEntity()->getShippingAddress() ? $this->getEntity()->getShippingAddress()->getName() : $this->getEntity()->getName();
00091 }
00092
00093 public function getMessage($entity=null)
00094 {
00095 if(is_null($this->_giftMessage)) {
00096 $this->_initMessage();
00097 }
00098
00099 if($entity) {
00100 if(!$entity->getGiftMessage()) {
00101 $entity->setGiftMessage($this->helper('giftmessage/message')->getGiftMessage($entity->getGiftMessageId()));
00102 }
00103 return $entity->getGiftMessage();
00104 }
00105
00106 return $this->_giftMessage;
00107 }
00108
00109 public function getItems()
00110 {
00111 if(!$this->getData('items')) {
00112 $items = array();
00113 foreach ($this->getEntity()->getAllItems() as $item) {
00114 if($this->helper('giftmessage/message')->isMessagesAvailable( substr($this->getType(), 0, 5)=='multi' ? 'address_item' : 'item', $item)) {
00115 $items[] = $item;
00116 }
00117 }
00118 $this->setData('items', $items);
00119 }
00120
00121 return $this->getData('items');
00122 }
00123
00124 public function getAdditionalUrl()
00125 {
00126 return $this->getUrl('*/*/getAdditional');
00127 }
00128
00129 public function isItemsAvailable()
00130 {
00131 return count($this->getItems()) > 0;
00132 }
00133
00134 public function countItems()
00135 {
00136 return count($this->getItems());
00137 }
00138
00139 public function getItemsHasMesssages()
00140 {
00141 foreach($this->getItems() as $item) {
00142 if($item->getGiftMessageId()) {
00143 return true;
00144 }
00145 }
00146
00147 return false;
00148 }
00149
00150 public function getEntityHasMessage()
00151 {
00152 return $this->getEntity()->getGiftMessageId() > 0;
00153 }
00154
00155 public function getEscaped($value, $defaultValue='')
00156 {
00157 return $this->htmlEscape(trim($value)!='' ? $value : $defaultValue);
00158 }
00159
00160 }