%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/admin/libs/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/admin/libs/HumHubAPI.php |
<?php /** * @link https://www.humhub.org/ * @copyright Copyright (c) 2017 HumHub GmbH & Co. KG * @license https://www.humhub.com/licences */ namespace humhub\modules\admin\libs; use humhub\modules\marketplace\Module; use Yii; use yii\helpers\Json; use humhub\libs\CURLHelper; /** * HumHubAPI provides access to humhub.com for fetching available modules or latest version. * * @author luke */ class HumHubAPI { /** * HumHub API * * @param string $action * @param array $params * @return array */ public static function request($action, $params = []) { if (!Yii::$app->params['humhub']['apiEnabled'] || !Yii::$app->hasModule('marketplace')) { return []; } try { /** @var Module $marketplace */ $marketplace = Yii::$app->getModule('marketplace'); $response = $marketplace->getHumHubApi()->get($action)->addData($params)->send(); return $response->getData(); } catch (\Exception $ex) { Yii::error('Could not parse HumHub API response! ' . $ex->getMessage()); return []; } } /** * Fetch latest HumHub version online * * @return string latest HumHub Version */ public static function getLatestHumHubVersion($useCache = true) { $latestVersion = Yii::$app->cache->get('latestVersion'); if (!$useCache || $latestVersion === false) { $info = self::request('v1/modules/getLatestVersion'); if (isset($info['latestVersion'])) { $latestVersion = $info['latestVersion']; } Yii::$app->cache->set('latestVersion', $latestVersion); } return $latestVersion; } }