本文整理汇总了PHP中AJXP_Plugin::manifestLoaded方法的典型用法代码示例。如果您正苦于以下问题:PHP AJXP_Plugin::manifestLoaded方法的具体用法?PHP AJXP_Plugin::manifestLoaded怎么用?PHP AJXP_Plugin::manifestLoaded使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AJXP_Plugin
的用法示例。
在下文中一共展示了AJXP_Plugin::manifestLoaded方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: loadPluginsRegistry
public function loadPluginsRegistry($pluginFolder, $confFolder)
{
$this->pluginFolder = $pluginFolder;
$this->confFolder = $confFolder;
$handler = opendir($pluginFolder);
$pluginsPool = array();
if ($handler) {
while (($item = readdir($handler)) !== false) {
if ($item == "." || $item == ".." || !is_dir($pluginFolder . "/" . $item) || strstr($item, ".") === false) {
continue;
}
$plugin = new AJXP_Plugin($item, $pluginFolder . "/" . $item);
$plugin->loadManifest();
if ($plugin->manifestLoaded()) {
$pluginsPool[$plugin->getId()] = $plugin;
if (method_exists($plugin, "detectStreamWrapper")) {
if ($plugin->detectStreamWrapper(false) !== false) {
$this->streamWrapperPlugins[] = $plugin->getId();
}
}
}
}
closedir($handler);
}
if (count($pluginsPool)) {
$this->checkDependencies($pluginsPool);
foreach ($pluginsPool as $plugin) {
$this->recursiveLoadPlugin($plugin, $pluginsPool);
}
}
}
示例2: loadPluginsRegistry
public function loadPluginsRegistry($pluginFolder, $confFolder)
{
$this->pluginFolder = $pluginFolder;
$this->confFolder = $confFolder;
$handler = opendir($pluginFolder);
$beforeSort = array();
if ($handler) {
while (($item = readdir($handler)) !== false) {
if ($item == "." || $item == ".." || !is_dir($pluginFolder . "/" . $item) || strstr($item, ".") === false) {
continue;
}
$plugin = new AJXP_Plugin($item, $pluginFolder . "/" . $item);
$plugin->loadManifest();
if ($plugin->manifestLoaded()) {
$beforeSort[$plugin->getId()] = $plugin;
}
}
closedir($handler);
}
if (count($beforeSort)) {
$this->checkDependencies($beforeSort);
$this->usort($beforeSort);
foreach ($beforeSort as $plugin) {
$plugType = $plugin->getType();
if (!isset($this->registry[$plugType])) {
$this->registry[$plugType] = array();
}
$plugin = $this->instanciatePluginClass($plugin);
if (is_file($this->confFolder . "/conf." . $plugin->getId() . ".inc")) {
$plugin->loadConfig($this->confFolder . "/conf." . $plugin->getId() . ".inc", "inc");
}
$this->registry[$plugType][$plugin->getName()] = $plugin;
}
}
}
示例3: loadPluginsRegistry
/**
* Loads the full registry, from the cache or not
* @param String $pluginFolder
* @param AbstractConfDriver $confStorage
* @param bool $rewriteCache Force a cache rewriting
*/
public function loadPluginsRegistry($pluginFolder, $confStorage, $rewriteCache = false)
{
if (!$rewriteCache) {
if ($this->loadPluginsRegistryFromCache()) {
return;
}
}
if (is_string($pluginFolder)) {
$pluginFolder = array($pluginFolder);
}
$this->confStorage = $confStorage;
$pluginsPool = array();
foreach ($pluginFolder as $sourceFolder) {
$handler = @opendir($sourceFolder);
if ($handler) {
while (($item = readdir($handler)) !== false) {
if ($item == "." || $item == ".." || !@is_dir($sourceFolder . "/" . $item) || strstr($item, ".") === false) {
continue;
}
$plugin = new AJXP_Plugin($item, $sourceFolder . "/" . $item);
$plugin->loadManifest();
if ($plugin->manifestLoaded()) {
$pluginsPool[$plugin->getId()] = $plugin;
if (method_exists($plugin, "detectStreamWrapper") && $plugin->detectStreamWrapper(false) !== false) {
$this->streamWrapperPlugins[] = $plugin->getId();
}
}
}
closedir($handler);
}
}
if (count($pluginsPool)) {
$this->checkDependencies($pluginsPool);
foreach ($pluginsPool as $plugin) {
$this->recursiveLoadPlugin($plugin, $pluginsPool);
}
}
if (!defined("AJXP_SKIP_CACHE") || AJXP_SKIP_CACHE === false) {
AJXP_Utils::saveSerialFile(AJXP_PLUGINS_REQUIRES_FILE, $this->required_files, false, false);
AJXP_Utils::saveSerialFile(AJXP_PLUGINS_CACHE_FILE, $this->registry, false, false);
if (is_file(AJXP_PLUGINS_QUERIES_CACHE)) {
@unlink(AJXP_PLUGINS_QUERIES_CACHE);
}
$this->savePluginsRegistryToCache();
}
}
示例4: loadPluginsRegistry
/**
* Loads the full registry, from the cache or not
* @param String $pluginFolder
* @param AbstractConfDriver $confStorage
* @param bool $rewriteCache Force a cache rewriting
*/
public function loadPluginsRegistry($pluginFolder, $confStorage, $rewriteCache = false)
{
if (!$rewriteCache && (!defined("AJXP_SKIP_CACHE") || AJXP_SKIP_CACHE === false)) {
$reqs = AJXP_Utils::loadSerialFile(AJXP_PLUGINS_REQUIRES_FILE);
if (count($reqs)) {
foreach ($reqs as $filename) {
if (!is_file($filename)) {
// CACHE IS OUT OF SYNC WITH REQUIRES
$this->loadPluginsRegistry($pluginFolder, $confStorage, true);
return;
}
require_once $filename;
}
$res = AJXP_Utils::loadSerialFile(AJXP_PLUGINS_CACHE_FILE);
$this->registry = $res;
// Refresh streamWrapperPlugins
foreach ($this->registry as $pType => $plugs) {
foreach ($plugs as $plugin) {
if (method_exists($plugin, "detectStreamWrapper") && $plugin->detectStreamWrapper(false) !== false) {
$this->streamWrapperPlugins[] = $plugin->getId();
}
}
}
return;
}
}
if (is_string($pluginFolder)) {
$pluginFolder = array($pluginFolder);
}
$this->confStorage = $confStorage;
$pluginsPool = array();
foreach ($pluginFolder as $sourceFolder) {
$handler = @opendir($sourceFolder);
if ($handler) {
while (($item = readdir($handler)) !== false) {
if ($item == "." || $item == ".." || !@is_dir($sourceFolder . "/" . $item) || strstr($item, ".") === false) {
continue;
}
$plugin = new AJXP_Plugin($item, $sourceFolder . "/" . $item);
$plugin->loadManifest();
if ($plugin->manifestLoaded()) {
$pluginsPool[$plugin->getId()] = $plugin;
if (method_exists($plugin, "detectStreamWrapper") && $plugin->detectStreamWrapper(false) !== false) {
$this->streamWrapperPlugins[] = $plugin->getId();
}
}
}
closedir($handler);
}
}
if (count($pluginsPool)) {
$this->checkDependencies($pluginsPool);
foreach ($pluginsPool as $plugin) {
$this->recursiveLoadPlugin($plugin, $pluginsPool);
}
}
if (!defined("AJXP_SKIP_CACHE") || AJXP_SKIP_CACHE === false) {
AJXP_Utils::saveSerialFile(AJXP_PLUGINS_REQUIRES_FILE, $this->required_files, false, false);
AJXP_Utils::saveSerialFile(AJXP_PLUGINS_CACHE_FILE, $this->registry, false, false);
}
}