104 static $instance =
false;
125 $file =
$xoops->path($this->providerPrefsFilename);
126 if (file_exists(
$file)) {
132 }
catch (\Exception $e) {
133 $xoops->events()->triggerEvent(
'core.exception', $e);
148 $this->providerPrefsCacheKey,
149 array($this,
'readYamlProviderPrefs')
169 }
catch (\Exception $e) {
170 $xoops->events()->triggerEvent(
'core.exception', $e);
191 $prefs[$service] = $choices;
211 $provider = $this->
locate($service);
212 $providers = $provider->getRegistered();
213 foreach ($providers as $p) {
214 $name = strtolower($p->getName());
215 if (isset($choices[
$name])) {
216 $p->setPriority($choices[$name]);
219 $provider->sortProviders();
235 $providers = $this->
locate($service)->getRegistered();
248 $service = strtolower($service);
249 if (isset($this->services[$service])) {
251 $provider = $this->services[$service];
254 $provider =
new Provider($this, $service);
255 $event =
'core.service.locate.' . $service;
258 $xoops->events()->triggerEvent($event, $provider);
260 $registered=$provider->getRegistered();
261 if (count($registered)) {
262 $choices = isset($this->providerPrefs[$service]) ? $this->providerPrefs[$service] : array();
263 foreach ($registered as $p) {
264 $name = strtolower($p->getName());
265 if (isset($choices[
$name])) {
266 $p->setPriority($choices[$name]);
269 $provider->sortProviders();
274 $this->services[$service] = $provider;
registerChoice($service, $choices)
if(!isset($xoops->paths[$path_type])) if($path_type== 'var') $file
saveProviderPrefs($providerPrefs)
static save($var, $yamlFile, $inline=4, $indent=4)
saveChoice($service, $choices)