Hey there.

I have a multisite running with two subsites and most of the plugins in the 
base site. Wanted to clean that up so I tried moving a plugin to a 
subsite's plugin dir. It deactivated as expected but could then not be 
reactivated.

I tracked it down so far: The re-activation fails because 
Plugins::activate_plugin() passes <code>false</code> to Plugins::load(). It 
does so because Plugins::class_from_filename() fails (and therefore returns 
<code>false</code>). Plugins::class_from_filename() fails because 
\ReflectionClass for some reason returns a wrong file path which is then 
compared to the correct file path, which fails, so the plugin class is not 
returned.

So, what happens is:
* Plugins::activate_plugin() includes the plugin file.
* The plugin class gets listed in the loaded classes list.
* This list is used to get the pathes of the loaded plugins with 
\ReflectionClass.
* \ReflectionClass returns <code>/user/plugins/foo/foo.plugin.php</code> 
for the <code>foo</code> plugin instead of the actually loaded 
<code>/user/sites/mysite.de/plugins/foo/foo.plugin.php</code>.

I have no idea why that happens or who's fault it is. Any help is 
appreciated.

Christian

-- 
-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/habari-dev
--- 
You received this message because you are subscribed to the Google Groups 
"habari-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to