[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