/** * Return item stats array based on Zend Gdata Entry object * * @param Zend_Gdata_Gbase_ItemEntry $entry * @return array */ protected function _getEntryStats($entry) { $result = array(); $draft = 'no'; if (is_object($entry->getControl()) && is_object($entry->getControl()->getDraft())) { $draft = $entry->getControl()->getDraft()->getText(); } $result['draft'] = $draft == 'yes' ? 1 : 0; $expirationDate = $entry->getGbaseAttribute('expiration_date'); if (isset($expirationDate[0]) && is_object($expirationDate[0])) { $result['expires'] = Mage::getSingleton('googlebase/service_item')->gBaseDate2DateTime($expirationDate[0]->getText()); } return $result; }
public function testToAndFromString() { $this->itemEntry->setItemType('products'); $this->assertEquals($this->itemEntry->getItemType()->getText(), 'products'); $this->itemEntry->addGbaseAttribute('price', '10.99 USD', 'floatUnit'); $baseAttribute = $this->itemEntry->getGbaseAttribute('price'); $this->assertEquals(count($baseAttribute), 1); $this->assertEquals($baseAttribute[0]->getName(), 'price'); $this->assertEquals($baseAttribute[0]->getText(), '10.99 USD'); $this->assertEquals($baseAttribute[0]->getType(), 'floatUnit'); $newItemEntry = new Zend_Gdata_Gbase_ItemEntry(); $doc = new DOMDocument(); $doc->loadXML($this->itemEntry->saveXML()); $newItemEntry->transferFromDom($doc->documentElement); $rowDataFromXML = $newItemEntry->getGbaseAttribute('price'); $this->assertEquals($this->itemEntry->getItemType()->getText(), $newItemEntry->getItemType()->getText()); $this->assertEquals(count($rowDataFromXML), 1); $this->assertEquals($rowDataFromXML[0]->getName(), 'price'); $this->assertEquals($rowDataFromXML[0]->getText(), '10.99 USD'); $this->assertEquals($rowDataFromXML[0]->getType(), 'floatUnit'); }
/** * Return item stats array based on Zend Gdata Entry object * * @param Zend_Gdata_Gbase_ItemEntry $entry * @return array */ protected function _getEntryStats($entry) { $result = $_stats = array(); $draft = 'no'; if (is_object($entry->getControl()) && is_object($entry->getControl()->getDraft())) { $draft = $entry->getControl()->getDraft()->getText(); } $result['draft'] = $draft == 'yes' ? 1 : 0; $expirationDate = $entry->getGbaseAttribute('expiration_date'); if (isset($expirationDate[0]) && is_object($expirationDate[0])) { $result['expires'] = Mage::getSingleton('googlebase/service_item')->gBaseDate2DateTime($expirationDate[0]->getText()); } $allAttributes = $entry->getExtensionElements(); $elementsCount = count($allAttributes); if ($elementsCount) { $statsElement = null; for ($i = 0; $i < $elementsCount; $i++) { /** * @var $extAttribute Zend_Gdata_App_Extension_Element */ $extAttribute = $allAttributes[$i]; if ((string) $extAttribute->rootElement == 'stats') { $statsElement = $extAttribute; break; } } if ($statsElement) { $_stats = $statsElement->getExtensionElements(); } $statsCount = count($_stats); for ($i = 0; $i < $statsCount; $i++) { /** * @var $_currentElement Zend_Gdata_App_Extension_Element */ $_currentElement = $_stats[$i]; $_currentAttributes = $_currentElement->getExtensionAttributes(); if (isset($_currentAttributes['total']) && isset($_currentAttributes['total']['value'])) { $result[(string) $_currentElement->rootElement] = $_currentAttributes['total']['value']; } } } return $result; }