public function getAvailableMarketplaceItems($filterInstalled = true) { Loader::model('marketplace_remote_item'); $fh = Loader::helper('file'); if (!$fh) { return array(); } // Retrieve the URL contents $csToken = Config::get('MARKETPLACE_SITE_TOKEN'); $csiURL = urlencode(BASE_URL . DIR_REL); $url = MARKETPLACE_PURCHASES_LIST_WS . "?csToken={$csToken}&csiURL=" . $csiURL . "&csiVersion=" . APP_VERSION; $json = $fh->getContents($url); $addons = array(); $objects = @Loader::helper('json')->decode($json); if (is_array($objects)) { try { foreach ($objects as $addon) { $mi = new MarketplaceRemoteItem(); $mi->setPropertiesFromJSONObject($addon); $remoteCID = $mi->getRemoteCollectionID(); if (!empty($remoteCID)) { $addons[$mi->getHandle()] = $mi; } } } catch (Exception $e) { } if ($filterInstalled && is_array($addons)) { Loader::model('package'); $handles = Package::getInstalledHandles(); if (is_array($handles)) { $adlist = array(); foreach ($addons as $key => $ad) { if (!in_array($ad->getHandle(), $handles)) { $adlist[$key] = $ad; } } $addons = $adlist; } } } return $addons; }
public function get($itemsToGet = 0, $offset = 0) { $this->start = $offset; $items = $this->items; $marketplaceItems = array(); foreach ($items as $stdObj) { $mi = new MarketplaceRemoteItem(); $mi->setPropertiesFromJSONObject($stdObj); $marketplaceItems[] = $mi; } return $marketplaceItems; }