public function getExtensionsAction() { $configurations = array(); // plugins $pluginConfigs = Pimcore_ExtensionManager::getPluginConfigs(); foreach ($pluginConfigs as $config) { $className = $config["plugin"]["pluginClassName"]; $updateable = false; $revisionFile = PIMCORE_PLUGINS_PATH . "/" . $config["plugin"]["pluginName"] . "/.pimcore_extension_revision"; if (is_file($revisionFile)) { $updateable = true; } if (!empty($className)) { $isEnabled = Pimcore_ExtensionManager::isEnabled("plugin", $config["plugin"]["pluginName"]); $plugin = array("id" => $config["plugin"]["pluginName"], "type" => "plugin", "name" => $config["plugin"]["pluginNiceName"], "description" => $config["plugin"]["pluginDescription"], "installed" => $isEnabled ? $className::isInstalled() : null, "active" => $isEnabled, "configuration" => $config["plugin"]["pluginIframeSrc"], "updateable" => $updateable); $configurations[] = $plugin; } } // bricks $brickConfigs = Pimcore_ExtensionManager::getBrickConfigs(); // get repo state of bricks foreach ($brickConfigs as $id => $config) { $updateable = false; $revisionFile = PIMCORE_WEBSITE_PATH . "/var/areas/" . $id . "/.pimcore_extension_revision"; if (is_file($revisionFile)) { $updateable = true; } $isEnabled = Pimcore_ExtensionManager::isEnabled("brick", $id); $brick = array("id" => $id, "type" => "brick", "name" => $config->name, "description" => $config->description, "installed" => true, "active" => $isEnabled, "updateable" => $updateable); $configurations[] = $brick; } $this->_helper->json(array("extensions" => $configurations)); }
public function getExtensionsAction() { $configurations = array(); // plugins $pluginConfigs = Pimcore_ExtensionManager::getPluginConfigs(); // get remote repo state of plugins $remoteConfig = array(); foreach ($pluginConfigs as $config) { if (!is_file(Pimcore_ExtensionManager::getPathForExtension($config["plugin"]["pluginName"], "plugin") . "/.pimcore_extension_revision")) { $remoteConfig["extensions"][] = array("id" => $config["plugin"]["pluginName"], "type" => "plugin"); } } $brickConfigs = Pimcore_ExtensionManager::getBrickConfigs(); // get repo state of bricks foreach ($brickConfigs as $id => $config) { if (!is_file(Pimcore_ExtensionManager::getPathForExtension($id, "brick") . "/.pimcore_extension_revision")) { $remoteConfig["extensions"][] = array("id" => $id, "type" => "brick"); } } $remoteConfig["token"] = Pimcore_Liveconnect::getToken(); $rawData = Pimcore_Tool::getHttpData("http://extensions.pimcore.org/share/getExtensions.php", null, array("data" => base64_encode(Pimcore_Tool_Serialize::serialize($remoteConfig)))); if (!$rawData) { header('HTTP/1.1 403 Forbidden'); exit; } $hubInfos = Zend_Json::decode($rawData); // create configuration for plugins foreach ($pluginConfigs as $config) { $plugin = array("id" => $config["plugin"]["pluginName"], "type" => "plugin", "name" => $config["plugin"]["pluginNiceName"], "description" => $config["plugin"]["pluginDescription"], "icon" => $config["plugin"]["pluginIcon"], "exists" => (bool) $hubInfos["extensions"][$config["plugin"]["pluginName"]]["existing"]); if ($hubInfos["extensions"][$plugin["id"]]["allowed"]) { $configurations[] = $plugin; } } // create configuration for bricks foreach ($brickConfigs as $id => $config) { $brick = array("id" => $id, "type" => "brick", "name" => $config->name, "description" => $config->description, "exists" => (bool) $hubInfos["extensions"][$id]["existing"]); if ($hubInfos["extensions"][$id]["allowed"]) { $configurations[] = $brick; } } $this->_helper->json(array("extensions" => $configurations)); }
public function getExtensionsAction() { // plugins $pluginConfigs = Pimcore_ExtensionManager::getPluginConfigs(); // get remote repo state of plugins $remoteConfig = array(); foreach ($pluginConfigs as $config) { $remoteConfig["extensions"][] = array("id" => $config["plugin"]["pluginName"], "type" => "plugin"); } $brickConfigs = Pimcore_ExtensionManager::getBrickConfigs(); // get repo state of bricks foreach ($brickConfigs as $id => $config) { $remoteConfig["extensions"][] = array("id" => $id, "type" => "brick"); } $remoteConfig["token"] = Pimcore_Liveconnect::getToken(); $rawData = Pimcore_Tool::getHttpData("http://extensions.pimcore.org/download/getExtensions.php", null, array("data" => base64_encode(serialize($remoteConfig)))); if (!$rawData) { header('HTTP/1.1 403 Forbidden'); exit; } echo $rawData; exit; }
public function getBrickConfigs() { return Pimcore_ExtensionManager::getBrickConfigs(); }