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));
 }
Example #3
0
 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;
 }
Example #4
0
 public function getBrickConfigs()
 {
     return Pimcore_ExtensionManager::getBrickConfigs();
 }