public function validate(Varien_Object $object) { /* @var Mirasvit_Helpdesk_Model_Ticket $object */ $attrCode = $this->getAttribute(); if (strpos($attrCode, 'old_') === 0) { $attrCode = str_replace('old_', '', $attrCode); $value = $object->getOrigData($attrCode); } elseif ($attrCode == 'last_message') { $value = $object->getLastMessagePlainText(); } elseif ($attrCode == 'last_reply_by') { $lastMessage = $object->getLastMessage(); if ($lastMessage->getUserId()) { $value = 'user'; } else { $value = 'customer'; } } elseif (strpos($attrCode, 'hours_since_') === 0) { $attrCode = str_replace('hours_since_', '', $attrCode); $timestamp = $object->getData($attrCode); $diff = abs(strtotime(Mage::getModel('core/date')->gmtDate()) - strtotime($timestamp)); $value = round($diff / 60 / 60); } elseif ($attrCode == 'tags') { $value = Mage::helper('helpdesk/tag')->getTagsAsString($object); } else { $value = $object->getData($attrCode); } if (strpos($attrCode, '_id')) { $value = (int) $value; //нам это нужно чтоб приводить пустое значение к нулю и далее сравнивать } return $this->validateAttribute($value); }