[Tickets #10017] Re: applications are incorrectly "polled" even if they are not installed
bugs at horde.org
bugs at horde.org
Mon May 2 21:36:51 UTC 2011
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/10017
------------------------------------------------------------------------------
Ticket | 10017
Updated By | Michael Slusarz <slusarz at horde.org>
Summary | applications are incorrectly "polled" even if they are
| not installed
Queue | Horde Framework Packages
Version | Git master
Type | Bug
State | Not A Bug
Priority | 1. Low
Milestone |
Patch |
Owners |
------------------------------------------------------------------------------
Michael Slusarz <slusarz at horde.org> (2011-05-02 21:36) wrote:
> I've disabled 5 applications in questions however I still get the
> same errors. Some fiddling revealed that no matter what I do with
> applications their sidebar blocks are always active unless I comment
> blocks out. That's because this commit
> http://git.horde.org/diff.php/framework/Core/lib/Horde/Core/Sidebar.php?rt=horde-git&ws=1&r1=b75941743afb913804b317f8f01134b3a8ef16e4 makes always check block permissions without first checking if related applications are active. Which if course results in
> errors.
This is incorrect. Generation of the applications list is done in the
Horde_Registry constructor (Horde_Registry::_loadApplications()).
Thus, by the time you call any registry method, the list of activated
applications has been generated.
> Also I've found this
> http://git.horde.org/diff.php/framework/Core/lib/Horde/Core/Sidebar.php?rt=horde-git&ws=1&r1=4afec82f03a8a773fc6ab0748d3142ba2e870559
Not sure what the relevance of this is? This code is only run if an
application is marked active. As mentioned previously, any
application that doesn't exist on disk will be marked inactive by
_loadApplications().
You need to debug Horde_Registry (line 599) as to why this isn't
running correctly for you:
if (!file_exists($app['fileroot']) ||
(empty($this->_args['test']) &&
file_exists($app['fileroot'] . '/config/conf.xml') &&
!file_exists($app['fileroot'] . '/config/conf.php'))) {
$app['status'] = 'inactive';
Horde::logMessage('Setting ' . $appName . ' inactive
because the fileroot does not exist or the application is not
configured yet.', 'DEBUG');
}
As can be seen by this code, an application is marked inactive if its
directory does not exist. You will need to determine why the
file_exists() call is returning true for you (since the second part of
that conditional should not be pertinent for your setup).
More information about the bugs
mailing list