コード例 #1
0
 public function jsonTranslationsSystemAction()
 {
     $this->getResponse()->setHeader("Content-Type", "text/javascript", true);
     $language = $this->getParam("language");
     $languageFile = Tool\Admin::getLanguageFile($language);
     if (!is_file($languageFile)) {
         $languageFile = Tool\Admin::getLanguageFile("en");
     }
     $row = 1;
     $handle = fopen($languageFile, "r");
     while (($data = fgetcsv($handle, 0, ",")) !== FALSE) {
         $translations[$data[0]] = $data[1];
     }
     fclose($handle);
     $broker = \Pimcore\API\Plugin\Broker::getInstance();
     $pluginTranslations = $broker->getTranslations($language);
     //$pluginTranslations = $this->getApiPluginBroker()->getTranslations($language);
     $translations = array_merge($pluginTranslations, $translations);
     $this->view->translations = $translations;
 }
コード例 #2
0
ファイル: MiscController.php プロジェクト: pimcore/pimcore
 public function jsonTranslationsSystemAction()
 {
     $this->getResponse()->setHeader("Content-Type", "text/javascript", true);
     $language = $this->getParam("language");
     $languageFiles = [$language => Tool\Admin::getLanguageFile($language), "en" => Tool\Admin::getLanguageFile("en")];
     $translations = [];
     foreach ($languageFiles as $langKey => $languageFile) {
         if (file_exists($languageFile)) {
             $rawTranslations = json_decode(file_get_contents($languageFile), true);
             foreach ($rawTranslations as $entry) {
                 if (!isset($translations[$entry["term"]])) {
                     $translations[$entry["term"]] = $entry["definition"];
                 }
             }
         }
     }
     $broker = \Pimcore\API\Plugin\Broker::getInstance();
     $pluginTranslations = $broker->getTranslations($language);
     $translations = array_merge($pluginTranslations, $translations);
     $this->view->translations = $translations;
 }
コード例 #3
0
 /**
  * Returns a list of all class definitions.
  */
 public function serverInfoAction()
 {
     $this->checkUserPermission("system_settings");
     $systemSettings = \Pimcore\Config::getSystemConfig()->toArray();
     $system = array("currentTime" => time(), "phpCli" => Tool\Console::getPhpCli());
     $pimcoreConstants = array();
     //only Pimcore_ constants -> others might break the \Zend_Encode functionality
     foreach ((array) get_defined_constants() as $constant => $value) {
         if (strpos($constant, 'PIMCORE_') === 0) {
             $pimcoreConstants[$constant] = $value;
         }
     }
     $pimcore = array("version" => \Pimcore\Version::getVersion(), "revision" => \Pimcore\Version::getRevision(), "instanceIdentifier" => $systemSettings["general"]["instanceIdentifier"], "modules" => array(), "constants" => $pimcoreConstants);
     foreach ((array) \Pimcore\API\Plugin\Broker::getInstance()->getModules() as $module) {
         $pimcore["modules"][] = get_class($module);
     }
     $plugins = \Pimcore\ExtensionManager::getPluginConfigs();
     $this->encoder->encode(array("success" => true, "system" => $system, "pimcore" => $pimcore, "plugins" => $plugins));
 }
コード例 #4
0
ファイル: Pimcore.php プロジェクト: pdaniel-frk/pimcore
 /**
  *
  */
 public static function initPlugins()
 {
     // add plugin include paths
     $autoloader = \Zend_Loader_Autoloader::getInstance();
     try {
         $pluginConfigs = ExtensionManager::getPluginConfigs();
         if (!empty($pluginConfigs)) {
             $includePaths = array(get_include_path());
             //adding plugin include paths and namespaces
             if (count($pluginConfigs) > 0) {
                 foreach ($pluginConfigs as $p) {
                     if (!ExtensionManager::isEnabled("plugin", $p["plugin"]["pluginName"])) {
                         continue;
                     }
                     if (is_array($p['plugin']['pluginIncludePaths']['path'])) {
                         foreach ($p['plugin']['pluginIncludePaths']['path'] as $path) {
                             $includePaths[] = PIMCORE_PLUGINS_PATH . $path;
                         }
                     } else {
                         if ($p['plugin']['pluginIncludePaths']['path'] != null) {
                             $includePaths[] = PIMCORE_PLUGINS_PATH . $p['plugin']['pluginIncludePaths']['path'];
                         }
                     }
                     if (is_array($p['plugin']['pluginNamespaces']['namespace'])) {
                         foreach ($p['plugin']['pluginNamespaces']['namespace'] as $namespace) {
                             $autoloader->registerNamespace($namespace);
                         }
                     } else {
                         if ($p['plugin']['pluginNamespaces']['namespace'] != null) {
                             $autoloader->registerNamespace($p['plugin']['pluginNamespaces']['namespace']);
                         }
                     }
                 }
             }
             set_include_path(implode(PATH_SEPARATOR, $includePaths));
             $broker = \Pimcore\API\Plugin\Broker::getInstance();
             //registering plugins
             foreach ($pluginConfigs as $p) {
                 if (!ExtensionManager::isEnabled("plugin", $p["plugin"]["pluginName"])) {
                     continue;
                 }
                 $jsPaths = array();
                 $isExtJs5 = \Pimcore\Tool\Admin::isExtJS5();
                 if ($isExtJs5 && is_array($p['plugin']['pluginJsPaths-extjs5']) && isset($p['plugin']['pluginJsPaths-extjs5']['path']) && is_array($p['plugin']['pluginJsPaths-extjs5']['path'])) {
                     $jsPaths = $p['plugin']['pluginJsPaths-extjs5']['path'];
                 } else {
                     if ($isExtJs5 && is_array($p['plugin']['pluginJsPaths-extjs5']) && $p['plugin']['pluginJsPaths-extjs5']['path'] != null) {
                         $jsPaths[0] = $p['plugin']['pluginJsPaths-extjs5']['path'];
                     } else {
                         if (is_array($p['plugin']['pluginJsPaths']) && isset($p['plugin']['pluginJsPaths']['path']) && is_array($p['plugin']['pluginJsPaths']['path'])) {
                             $jsPaths = $p['plugin']['pluginJsPaths']['path'];
                         } else {
                             if (is_array($p['plugin']['pluginJsPaths']) && $p['plugin']['pluginJsPaths']['path'] != null) {
                                 $jsPaths[0] = $p['plugin']['pluginJsPaths']['path'];
                             }
                         }
                     }
                 }
                 //manipulate path for frontend
                 if (is_array($jsPaths) and count($jsPaths) > 0) {
                     for ($i = 0; $i < count($jsPaths); $i++) {
                         if (is_file(PIMCORE_PLUGINS_PATH . $jsPaths[$i])) {
                             $jsPaths[$i] = "/plugins" . $jsPaths[$i];
                         }
                     }
                 }
                 $cssPaths = array();
                 if ($isExtJs5 && is_array($p['plugin']['pluginCssPaths-extjs5']) && isset($p['plugin']['pluginCssPaths-extjs5']['path']) && is_array($p['plugin']['pluginCssPaths-extjs5']['path'])) {
                     $cssPaths = $p['plugin']['pluginCssPaths-extjs5']['path'];
                 } else {
                     if ($isExtJs5 && is_array($p['plugin']['pluginCssPaths-extjs5']) && $p['plugin']['pluginCssPaths-extjs5']['path'] != null) {
                         $cssPaths[0] = $p['plugin']['pluginCssPaths-extjs5']['path'];
                     } else {
                         if (is_array($p['plugin']['pluginCssPaths']) && isset($p['plugin']['pluginCssPaths']['path']) && is_array($p['plugin']['pluginCssPaths']['path'])) {
                             $cssPaths = $p['plugin']['pluginCssPaths']['path'];
                         } else {
                             if (is_array($p['plugin']['pluginCssPaths']) && $p['plugin']['pluginCssPaths']['path'] != null) {
                                 $cssPaths[0] = $p['plugin']['pluginCssPaths']['path'];
                             }
                         }
                     }
                 }
                 //manipulate path for frontend
                 if (is_array($cssPaths) and count($cssPaths) > 0) {
                     for ($i = 0; $i < count($cssPaths); $i++) {
                         if (is_file(PIMCORE_PLUGINS_PATH . $cssPaths[$i])) {
                             $cssPaths[$i] = "/plugins" . $cssPaths[$i];
                         }
                     }
                 }
                 try {
                     $className = $p['plugin']['pluginClassName'];
                     if (!empty($className) && Tool::classExists($className)) {
                         $plugin = new $className($jsPaths, $cssPaths);
                         if ($plugin instanceof \Pimcore\API\Plugin\AbstractPlugin) {
                             $broker->registerPlugin($plugin);
                         }
                     }
                 } catch (\Exception $e) {
                     \Logger::err("Could not instantiate and register plugin [" . $p['plugin']['pluginClassName'] . "]");
                 }
             }
             \Zend_Registry::set("Pimcore_API_Plugin_Broker", $broker);
         }
     } catch (\Exception $e) {
         \Logger::alert("there is a problem with the plugin configuration");
         \Logger::alert($e);
     }
 }