[drupal-devel] Cache sid
Moshe Weitzman
weitzman at tejasa.com
Tue Mar 1 19:24:43 UTC 2005
Julian Bond wrote:
> Julian Bond <julian_bond at voidstar.com> Tue, 1 Mar 2005 18:41:15
>
>> Hmmm. Maybe I shouldn't be calling functions in common.inc during the
>> module_init hook.
>>
>> I was trying to add a style sheet and a javascript file to the <head>
>> of every page using quicktags_init() as an example.
>
>
> I think there may be a sequence problem here
>
> Index.php
> include_once 'includes/bootstrap.inc';
> drupal_page_header();
> include_once 'includes/common.inc';
>
> If the cache is turned on drupal_page_header() calls
> bootstrap_invoke_all('init');
>
> which calls
> module_load($module);
> module_invoke($module, $op);
>
> So module functions can be called before common.inc is loaded, but only
> if cache is turned on and it's a guest user coming in.
In this case, modules are not even loaded so surely they can't be
called. The fact that one could call module_invoke() does not imply that
all modules are available.
The current best practice for injecting content into <HEAD> tag is to
use hook_menu(!$may_cache). using init is a bad idea. The developer docs
state this but unfortuantely the vrsion which shows at drupaldocs.org is
so old that it omits this info. I have mailed Kjartan about this.
More information about the drupal-devel
mailing list