本文整理汇总了PHP中AuthService::filterPluginParameters方法的典型用法代码示例。如果您正苦于以下问题:PHP AuthService::filterPluginParameters方法的具体用法?PHP AuthService::filterPluginParameters怎么用?PHP AuthService::filterPluginParameters使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AuthService
的用法示例。
在下文中一共展示了AuthService::filterPluginParameters方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: loadRepositoryDriverREST
/**
* See static method
* @param Repository $repository
* @throws AJXP_Exception|Exception
* @return AbstractAccessDriver
*/
public function loadRepositoryDriverREST(&$repository)
{
if (isset($repository->driverInstance)) {
return $repository->driverInstance;
}
$accessType = $repository->getAccessType();
$pServ = AJXP_PluginsService::getInstance();
$plugInstance = $pServ->getPluginByTypeName("access", $accessType);
// TRIGGER BEFORE INIT META
$metaSources = $repository->getOption("META_SOURCES");
if (isset($metaSources) && is_array($metaSources) && count($metaSources)) {
$keys = array_keys($metaSources);
foreach ($keys as $plugId) {
if ($plugId == "") {
continue;
}
$instance = $pServ->getPluginById($plugId);
if (!is_object($instance)) {
continue;
}
if (!method_exists($instance, "beforeInitMeta")) {
continue;
}
try {
$instance->init(AuthService::filterPluginParameters($plugId, $metaSources[$plugId], $repository->getId()));
$instance->beforeInitMeta($plugInstance, $repository);
} catch (Exception $e) {
AJXP_Logger::error(__CLASS__, 'Meta plugin', 'Cannot instanciate Meta plugin, reason : ' . $e->getMessage());
$this->errors[] = $e->getMessage();
}
}
}
// INIT MAIN DRIVER
$plugInstance->init($repository);
try {
$plugInstance->initRepository();
} catch (Exception $e) {
throw $e;
}
AJXP_PluginsService::deferBuildingRegistry();
$pServ->setPluginUniqueActiveForType("access", $accessType);
// TRIGGER INIT META
$metaSources = $repository->getOption("META_SOURCES");
if (isset($metaSources) && is_array($metaSources) && count($metaSources)) {
$keys = array_keys($metaSources);
foreach ($keys as $plugId) {
if ($plugId == "") {
continue;
}
$split = explode(".", $plugId);
$instance = $pServ->getPluginById($plugId);
if (!is_object($instance)) {
continue;
}
try {
$instance->init(AuthService::filterPluginParameters($plugId, $metaSources[$plugId], $repository->getId()));
if (!method_exists($instance, "initMeta")) {
throw new Exception("Meta Source {$plugId} does not implement the initMeta method.");
}
$instance->initMeta($plugInstance);
} catch (Exception $e) {
AJXP_Logger::error(__CLASS__, 'Meta plugin', 'Cannot instanciate Meta plugin, reason : ' . $e->getMessage());
$this->errors[] = $e->getMessage();
}
$pServ->setPluginActive($split[0], $split[1]);
}
}
AJXP_PluginsService::flushDeferredRegistryBuilding();
if (count($this->errors) > 0) {
$e = new AJXP_Exception("Error while loading repository feature : " . implode(",", $this->errors));
throw $e;
}
$repository->driverInstance = $plugInstance;
if (isset($_SESSION["REPO_ID"]) && $_SESSION["REPO_ID"] == $repository->getId()) {
$this->configs["REPOSITORY"] = $repository;
if (is_array($this->configs["REPOSITORIES"])) {
$this->configs["REPOSITORIES"][$_SESSION['REPO_ID']] = $repository;
}
}
return $plugInstance;
}
示例2: loadRepositoryDriverInst
/**
* See static method
* @param Repository|null $repository
* @throws AJXP_Exception|Exception
* @return AbstractAccessDriver
*/
private function loadRepositoryDriverInst(&$repository = null)
{
$rest = false;
if ($repository == null) {
if (isset($this->configs["ACCESS_DRIVER"]) && is_a($this->configs["ACCESS_DRIVER"], "AbstractAccessDriver")) {
return $this->configs["ACCESS_DRIVER"];
}
$this->switchRootDirInst();
$repository = $this->getRepositoryInst();
if ($repository == null) {
throw new Exception("No active repository found for user!");
}
} else {
$rest = true;
if (isset($repository->driverInstance)) {
return $repository->driverInstance;
}
}
/**
* @var AbstractAccessDriver $plugInstance
*/
$accessType = $repository->getAccessType();
$pServ = AJXP_PluginsService::getInstance();
$plugInstance = $pServ->getPluginByTypeName("access", $accessType);
// TRIGGER BEFORE INIT META
$metaSources = $repository->getOption("META_SOURCES");
if (isset($metaSources) && is_array($metaSources) && count($metaSources)) {
$keys = array_keys($metaSources);
foreach ($keys as $plugId) {
if ($plugId == "") {
continue;
}
$instance = $pServ->getPluginById($plugId);
if (!is_object($instance)) {
continue;
}
if (!method_exists($instance, "beforeInitMeta")) {
continue;
}
try {
$instance->init(AuthService::filterPluginParameters($plugId, $metaSources[$plugId], $repository->getId()));
$instance->beforeInitMeta($plugInstance, $repository);
} catch (Exception $e) {
AJXP_Logger::error(__CLASS__, 'Meta plugin', 'Cannot instanciate Meta plugin, reason : ' . $e->getMessage());
$this->errors[] = $e->getMessage();
}
}
}
// INIT MAIN DRIVER
$plugInstance->init($repository);
try {
$plugInstance->initRepository();
$repository->driverInstance = $plugInstance;
} catch (Exception $e) {
if (!$rest) {
// Remove repositories from the lists
if (!is_a($e, "AJXP_UserAlertException")) {
$this->removeRepositoryFromCache($repository->getId());
}
if (isset($_SESSION["PREVIOUS_REPO_ID"]) && $_SESSION["PREVIOUS_REPO_ID"] != $repository->getId()) {
$this->switchRootDir($_SESSION["PREVIOUS_REPO_ID"]);
} else {
$this->switchRootDir();
}
}
throw $e;
}
AJXP_PluginsService::deferBuildingRegistry();
$pServ->setPluginUniqueActiveForType("access", $accessType);
// TRIGGER INIT META
$metaSources = $repository->getOption("META_SOURCES");
if (isset($metaSources) && is_array($metaSources) && count($metaSources)) {
$keys = array_keys($metaSources);
foreach ($keys as $plugId) {
if ($plugId == "") {
continue;
}
$split = explode(".", $plugId);
$instance = $pServ->getPluginById($plugId);
if (!is_object($instance)) {
continue;
}
try {
$instance->init(AuthService::filterPluginParameters($plugId, $metaSources[$plugId], $repository->getId()));
if (!method_exists($instance, "initMeta")) {
throw new Exception("Meta Source {$plugId} does not implement the initMeta method.");
}
$instance->initMeta($plugInstance);
} catch (Exception $e) {
AJXP_Logger::error(__CLASS__, 'Meta plugin', 'Cannot instanciate Meta plugin, reason : ' . $e->getMessage());
$this->errors[] = $e->getMessage();
}
$pServ->setPluginActive($split[0], $split[1]);
}
//.........这里部分代码省略.........