<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: Arial; font-size: 10pt; color: #000000'><p>David Metzler wrote:<br></p>
<blockquote><p>"I downloaded and looked at the code for user_access and I have one &nbsp;<br>idea. &nbsp;I've had some problem intializing static structures to arrays &nbsp;<br>or objects in certain versions of php. &nbsp;Try changing the definition &nbsp;<br>of $perm as follows:</p>
<p><strong>static $perm = '';<br>if (!$perm) $perm = array();<br></strong><br>See if that changes the caching behavior in your php rev."</p></blockquote>

<blockquote><p>"Another minor point regarding this debug, &nbsp;Since you're not dumping &nbsp;<br>all of the $perm variable, we don't really know that the user_id is &nbsp;<br>the same. What if the user_id was being checked? &nbsp;(we know which was &nbsp;<br>being modified) Would recommend debugging print_r($account,1) and &nbsp;<br>print_r($perm,1) after the reset line."<br></p></blockquote>
<p>I've added a <strong>var_export</strong> command to dump the values from both <strong>$account</strong> and <strong>$var</strong>.&nbsp; I'm also using the <span style="font-weight: bold;">$perm </span>definition suggested above.</p><p><br></p>
<p>This is the initial call to <strong>user_access</strong> to flush the $perm variable: </p>
<ul><li>ogur | module to call = node_content | type = <strong>story</strong></li><li>ogur | Preparing to call <strong>module_invoke</strong></li><li>ogur | Calling <strong>user_access('ClearCache', NULL, TRUE)</strong></li><li>user_access | string = <strong>ClearCache</strong></li><li>user_access | <strong>static $perm is NOT already set</strong></li><li>user_access | $perm set for uid 3 (test01)</li><li>user_access | string = <strong>ClearCache</strong> | $perm values = 0,1,2,0,1,2,4,5,7,8,9,10,4,5,6,7,8,9,10,0,0,1,2,3,4</li><li>user_access | roles returned: (authenticated user,Devel,Group Member,Group Contributor,Group Admin)</li><li>user_access | permissions returned (end of function): (access
comments,access content,view uploaded files,view advanced help
index,view advanced help popup,view advanced help topic,post
comments,post comments without approval,search content,use advanced
search,subscribe to newsletters,view links in block,create page
content,create story content,delete own page content,delete own story
content,edit own page content,edit own story content,upload
files,configure member roles,access devel information,display source
code,execute php code,switch users,view devel_node_access information)</li><li>user_access | <strong>$account</strong>: class stdClass { var $uid
= '3'; var $name = 'test01'; var $pass = ''; var $mail = ''; var $mode
= '0'; var $sort = '0'; var $threshold = '0'; var $theme = ''; var
$signature = ''; var $created = '1214004001'; var $access =
'1225742808'; var $login = '1225218681'; var $status = '1'; var
$timezone = NULL; var $language = ''; var $picture = ''; var $init =
'test01@scbbs.com'; var $data =
'a:3:{s:13:"form_build_id";s:37:"form-828fb54ceb43bf0d467b9dcc20cebfd7";s:21:"og_user_roles_regcode";s:0:"";s:8:"og_email";s:1:"1";}';
var $timezone_id = '0'; var $form_build_id =
'form-828fb54ceb43bf0d467b9dcc20cebfd7'; var $og_user_roles_regcode =
''; var $og_email = '1'; var $roles = array ( 2 =&gt; 'authenticated
user', 8 =&gt; 'Devel', 3 =&gt; 'Group Member', 4 =&gt; 'Group
Contributor', 7 =&gt; 'Group Admin', ); var $og_groups = array ( 24
=&gt; array ( 'title' =&gt; 'USADance LA', 'type' =&gt; 'group',
'status' =&gt; '1', 'nid' =&gt; '24', 'og_role' =&gt; '0', 'is_active'
=&gt; '1', 'is_admin' =&gt; '0', 'uid' =&gt; '3', 'mail_type' =&gt;
NULL, 'created' =&gt; '1225139825', 'changed' =&gt; '1225139825', ), );
}</li><li>user_access | <strong>$perm</strong>: array ( 3 =&gt; array (
'access comments' =&gt; 0, 'access content' =&gt; 1, 'view uploaded
files' =&gt; 2, 'view advanced help index' =&gt; 0, 'view advanced help
popup' =&gt; 1, 'view advanced help topic' =&gt; 2, 'post comments'
=&gt; 4, 'post comments without approval' =&gt; 5, 'search content'
=&gt; 7, 'use advanced search' =&gt; 8, 'subscribe to newsletters'
=&gt; 9, 'view links in block' =&gt; 10, 'create page content' =&gt; 4,
'create story content' =&gt; 5, 'delete own page content' =&gt; 6,
'delete own story content' =&gt; 7, 'edit own page content' =&gt; 8,
'edit own story content' =&gt; 9, 'upload files' =&gt; 10, 'configure
member roles' =&gt; 0, 'access devel information' =&gt; 0, 'display
source code' =&gt; 1, 'execute php code' =&gt; 2, 'switch users' =&gt;
3, 'view devel_node_access information' =&gt; 4, ), )</li></ul>
<p>This is the next call to user_access should contain the values of $perm from above, but don't.
</p><ul><li>ogur | Calling <strong>module_invoke('node_content', 'access', 'create', 'story', $user)</strong></li><li>node_content_access | type = story | op = create</li><li>node_content_access | roles returned: (authenticated user,Devel,Group Member,Group Contributor,Group Admin)</li><li>user_access | string = <strong>create story content</strong></li><li>user_access | <strong>static $perm is already set</strong></li><li>user_access | string = <strong>create story content</strong> | $perm values = 0,1,2,3,4,5,6,7,8,9,10,0,1,2,3,4</li><li>user_access | roles returned: (authenticated user,Devel,Group Member,Group Contributor,Group Admin)</li><li>user_access | permissions returned (end of function): (view
advanced help index,view advanced help popup,view advanced help
topic,access comments,post comments,post comments without
approval,access content,search content,use advanced search,subscribe to
newsletters,view links in block,access devel information,display source
code,execute php code,switch users,view devel_node_access information)</li><li>user_access | <strong>$account</strong>: class stdClass { var $uid
= '3'; var $name = 'test01'; var $pass = ''; var $mail = ''; var $mode
= '0'; var $sort = '0'; var $threshold = '0'; var $theme = ''; var
$signature = ''; var $created = '1214004001'; var $access =
'1225742808'; var $login = '1225218681'; var $status = '1'; var
$timezone = NULL; var $language = ''; var $picture = ''; var $init =
'test01@scbbs.com'; var $data =
'a:3:{s:13:"form_build_id";s:37:"form-828fb54ceb43bf0d467b9dcc20cebfd7";s:21:"og_user_roles_regcode";s:0:"";s:8:"og_email";s:1:"1";}';
var $timezone_id = '0'; var $form_build_id =
'form-828fb54ceb43bf0d467b9dcc20cebfd7'; var $og_user_roles_regcode =
''; var $og_email = '1'; var $roles = array ( 2 =&gt; 'authenticated
user', 8 =&gt; 'Devel', 3 =&gt; 'Group Member', 4 =&gt; 'Group
Contributor', 7 =&gt; 'Group Admin', ); var $og_groups = array ( 24
=&gt; array ( 'title' =&gt; 'USADance LA', 'type' =&gt; 'group',
'status' =&gt; '1', 'nid' =&gt; '24', 'og_role' =&gt; '0', 'is_active'
=&gt; '1', 'is_admin' =&gt; '0', 'uid' =&gt; '3', 'mail_type' =&gt;
NULL, 'created' =&gt; '1225139825', 'changed' =&gt; '1225139825', ), );
}</li><li>user_access | <strong>$perm</strong>: array ( 3 =&gt; array ( 'view
advanced help index' =&gt; 0, 'view advanced help popup' =&gt; 1, 'view
advanced help topic' =&gt; 2, 'access comments' =&gt; 3, 'post
comments' =&gt; 4, 'post comments without approval' =&gt; 5, 'access
content' =&gt; 6, 'search content' =&gt; 7, 'use advanced search' =&gt;
8, 'subscribe to newsletters' =&gt; 9, 'view links in block' =&gt; 10,
'access devel information' =&gt; 0, 'display source code' =&gt; 1,
'execute php code' =&gt; 2, 'switch users' =&gt; 3, 'view
devel_node_access information' =&gt; 4, ), )</li><li>ogur | <strong>module_invoke</strong> called</li><li>ogur | ognodeadd roles returned: (authenticated user,Devel,Group Member,Group Contributor,Group Admin)</li><li>ogur | module_invoke access returns false</li></ul>
<p>Again, this problem only occurs, so far, when I have one of these modules installed along with OGUR: <strong>tac_lite, taxonomy_access, menu_breadcrumb and admin_menu</strong>.&nbsp; Other modules with which I'm told this problem occurs:</p>
<ul><li>Content Permissions</li><li>Localization client</li></ul> I've searched the code of these modules for some indication of their modifying the <strong>$perm</strong> variable, but can find none.
<br><br>I do really appreciate the help.&nbsp; This is driving me nuts!&nbsp; I can find no logical explanation for this modification, thus I'm unable to figure out a way around it.<br><br>-ron<br></div></body></html>