本文整理汇总了PHP中AJXP_Plugin::getManifestRawContent方法的典型用法代码示例。如果您正苦于以下问题:PHP AJXP_Plugin::getManifestRawContent方法的具体用法?PHP AJXP_Plugin::getManifestRawContent怎么用?PHP AJXP_Plugin::getManifestRawContent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AJXP_Plugin
的用法示例。
在下文中一共展示了AJXP_Plugin::getManifestRawContent方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: extractConfStringsFromManifests
/**
* i18n utilitary for extracting the CONF_MESSAGE[] strings out of the XML files
* @static
* @return void
*/
public static function extractConfStringsFromManifests()
{
$plugins = AJXP_PluginsService::getInstance()->getDetectedPlugins();
$plug = new AJXP_Plugin("", "");
foreach ($plugins as $pType => $plugs) {
foreach ($plugs as $plug) {
$lib = $plug->getManifestRawContent("//i18n", "nodes");
if (!$lib->length) {
continue;
}
$library = $lib->item(0);
$namespace = $library->getAttribute("namespace");
$path = $library->getAttribute("path");
$xml = $plug->getManifestRawContent();
// for core, also load mixins
$refFile = AJXP_INSTALL_PATH . "/" . $path . "/conf/en.php";
$reference = array();
if (preg_match_all("/CONF_MESSAGE(\\[.*?\\])/", $xml, $matches, PREG_SET_ORDER)) {
foreach ($matches as $match) {
$match[1] = str_replace(array("[", "]"), "", $match[1]);
$reference[$match[1]] = $match[1];
}
}
if ($namespace == "") {
$mixXml = file_get_contents(AJXP_INSTALL_PATH . "/" . AJXP_PLUGINS_FOLDER . "/core.ajaxplorer/ajxp_mixins.xml");
if (preg_match_all("/MIXIN_MESSAGE(\\[.*?\\])/", $mixXml, $matches, PREG_SET_ORDER)) {
foreach ($matches as $match) {
$match[1] = str_replace(array("[", "]"), "", $match[1]);
$reference[$match[1]] = $match[1];
}
}
}
if (count($reference)) {
self::updateI18nFromRef($refFile, $reference);
}
}
}
}
示例2: listActions
public function listActions($dir, $root = NULL, $hash = null, $returnNodes = false)
{
$allNodes = array();
$parts = explode("/", $dir);
$pServ = AJXP_PluginsService::getInstance();
$activePlugins = $pServ->getActivePlugins();
$types = $pServ->getDetectedPlugins();
if (count($parts) == 1) {
// list all types
if (!$returnNodes) {
AJXP_XMLWriter::sendFilesListComponentConfig('<columns switchGridMode="filelist" template_name="ajxp_conf.plugins_folder">
<column messageId="ajxp_conf.101" attributeName="ajxp_label" sortType="String"/>
</columns>');
}
ksort($types);
foreach ($types as $t => $tPlugs) {
$meta = array("icon" => "folder_development.png", "plugin_id" => $t);
$nodeKey = "/{$root}/actions/" . $t;
if (in_array($nodeKey, $this->currentBookmarks)) {
$meta = array_merge($meta, array("ajxp_bookmarked" => "true", "overlay_icon" => "bookmark.png"));
}
$xml = AJXP_XMLWriter::renderNode($nodeKey, ucfirst($t), false, $meta, true, false);
if ($returnNodes) {
$allNodes[$nodeKey] = $xml;
} else {
print $xml;
}
}
} else {
if (count($parts) == 2) {
// list plugs
$type = $parts[1];
if (!$returnNodes) {
AJXP_XMLWriter::sendFilesListComponentConfig('<columns switchDisplayMode="detail" template_name="ajxp_conf.plugins_folder">
<column messageId="ajxp_conf.101" attributeName="ajxp_label" sortType="String"/>
<column messageId="ajxp_conf.103" attributeName="actions" sortType="String"/>
</columns>');
}
$pObject = new AJXP_Plugin("", "");
foreach ($types[$type] as $pId => $pObject) {
$actions = $pObject->getManifestRawContent("//action/@name", "xml", true);
$actLabel = array();
if ($actions->length) {
foreach ($actions as $node) {
$actLabel[] = $node->nodeValue;
}
}
$meta = array("icon" => "preferences_plugin.png", "plugin_id" => $pObject->getId(), "actions" => implode(", ", $actLabel));
$nodeKey = "/{$root}/actions/{$type}/" . $pObject->getName();
if (in_array($nodeKey, $this->currentBookmarks)) {
$meta = array_merge($meta, array("ajxp_bookmarked" => "true", "overlay_icon" => "bookmark.png"));
}
$xml = AJXP_XMLWriter::renderNode($nodeKey, $pObject->getManifestLabel(), false, $meta, true, false);
if ($returnNodes) {
$allNodes[$nodeKey] = $xml;
} else {
print $xml;
}
}
} else {
if (count($parts) == 3) {
// list actions
$type = $parts[1];
$name = $parts[2];
$mess = ConfService::getMessages();
if (!$returnNodes) {
AJXP_XMLWriter::sendFilesListComponentConfig('<columns switchDisplayMode="full" template_name="ajxp_conf.plugins_folder">
<column messageId="ajxp_conf.101" attributeName="ajxp_label" sortType="String" defaultWidth="10%"/>
<column messageId="ajxp_conf.103" attributeName="parameters" sortType="String" fixedWidth="30%"/>
</columns>');
}
$pObject = new AJXP_Plugin("", "");
$pObject = $types[$type][$name];
$actions = $pObject->getManifestRawContent("//action", "xml", true);
$allNodesAcc = array();
if ($actions->length) {
foreach ($actions as $node) {
$xPath = new DOMXPath($node->ownerDocument);
$callbacks = $xPath->query("processing/serverCallback", $node);
if (!$callbacks->length) {
continue;
}
$callback = $callbacks->item(0);
$actName = $actLabel = $node->attributes->getNamedItem("name")->nodeValue;
$text = $xPath->query("gui/@text", $node);
if ($text->length) {
$actLabel = $actName . " (" . $mess[$text->item(0)->nodeValue] . ")";
}
$params = $xPath->query("processing/serverCallback/input_param", $node);
$paramLabel = array();
if ($callback->getAttribute("developerComment") != "") {
$paramLabel[] = "<span class='developerComment'>" . $callback->getAttribute("developerComment") . "</span>";
}
$restPath = "";
if ($callback->getAttribute("restParams")) {
$restPath = "/api/{$actName}/" . ltrim($callback->getAttribute("restParams"), "/");
}
if ($restPath != null) {
$paramLabel[] = "<span class='developerApiAccess'>" . "API Access : " . $restPath . "</span>";
}
//.........这里部分代码省略.........