Beispiel #1
0
 /**
  * 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;
 }
Beispiel #2
0
 /**
  * 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;
 }
 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');
 }
 /**
  * Delete an entry
  *
  * @param Zend_Gdata_Gbase_ItemEntry $entry The Base entry to remove
  * @param boolean $dryRun Flag for the 'dry-run' parameter
  * @return Zend_Gdata_Gbase_ItemFeed
  */
 public function deleteGbaseItem($entry, $dryRun = false)
 {
     $entry->delete($dryRun);
     return $this;
 }