/** * This function is the constructor of the PMLicensedFeatures class * param * * @return void */ public function __construct() { $criteria = new Criteria(); $criteria->addAscendingOrderByColumn(AddonsManagerPeer::ADDON_ID); $criteria->add(AddonsManagerPeer::ADDON_TYPE, 'feature', Criteria::EQUAL); $addons = AddonsManagerPeer::doSelect($criteria); foreach ($addons as $addon) { $this->features[] = $addon->getAddonId(); $detail = new featuresDetail($addon->getAddonNick(), $addon->getAddonDescription()); $this->featuresDetails[$addon->getAddonId()] = $detail; } }
public static function addonFeatureList() { $result = array(); AddonsStore::checkLicenseStore(); $licenseManager =& pmLicenseManager::getSingleton(); //Getting the licenseManager $result["store_errors"] = array(); list($stores, $errors) = AddonsStore::updateAll(false); foreach ($errors as $store_id => $store_error) { $result["store_errors"][] = array("id" => $store_id, "msg" => $store_error); } $result["addons"] = array(); $result["errors"] = array(); $criteria = new Criteria(); $criteria->addAscendingOrderByColumn(AddonsManagerPeer::ADDON_TYPE); $criteria->addAscendingOrderByColumn(AddonsManagerPeer::ADDON_ID); $addons = AddonsManagerPeer::doSelect($criteria); foreach ($addons as $addon) { $status = $addon->getAddonStatus(); $version = $addon->getAddonVersion(); $enabled = null; if (!$addon->checkState()) { $result["errors"][] = array("addonId" => $addon->getAddonId(), "storeId" => $addon->getStoreId()); } $sw = 1; $addonInLicense = in_array($addon->getAddonId(), $licenseManager->features); if ($sw == 1 && $addon->getAddonId() != "enterprise" && !$addonInLicense) { $sw = 0; } if ($sw == 1 && $addon->isInstalled()) { if ($addon->isEnabled()) { $status = "installed"; } else { $status = "disabled"; } $version = $addon->getInstalledVersion(); if (version_compare($version . "", $addon->getAddonVersion() . "", "<")) { $status = "upgrade"; } $enabled = $addon->isEnabled(); $sw = 0; } if ($sw == 1 && $addonInLicense) { $status = "ready"; $sw = 0; } $state = $addon->getAddonState(); $log = null; if ($state != null) { $status = $state; $log = $addon->getInstallLog(); } if ($addon->getAddonId() == "enterprise" && $status == 'ready') { $status = 'installed'; } if ($status == 'minus-circle') { $status = "available"; } $result["addons"][$addon->getAddonId()] = array("id" => $addon->getAddonId(), "store" => $addon->getStoreId(), "name" => $addon->getAddonName(), "nick" => $addon->getAddonNick(), "version" => $version, "enabled" => $enabled, "latest_version" => $addon->getAddonVersion(), "type" => $addon->getAddonType(), "release_type" => $addon->getAddonReleaseType(), "url" => $addon->getAddonDownloadUrl(), "publisher" => $addon->getAddonPublisher(), "description" => $addon->getAddonDescription(), "status" => $status, "log" => $log, "progress" => round($addon->getAddonDownloadProgress())); } return $result; }
/** * Retrieve object using using composite pkey values. * * @param string $addon_id * @param string $store_id * * @param Connection $con * @return AddonsManager */ public static function retrieveByPK($addon_id, $store_id, $con = null) { if ($con === null) { $con = Propel::getConnection(self::DATABASE_NAME); } $criteria = new Criteria(); $criteria->add(AddonsManagerPeer::ADDON_ID, $addon_id); $criteria->add(AddonsManagerPeer::STORE_ID, $store_id); $v = AddonsManagerPeer::doSelect($criteria, $con); return !empty($v) ? $v[0] : null; }