<feed xmlns='http://www.w3.org/2005/Atom'>
<title>protector/includes, branch master</title>
<subtitle>Bitweaver protector package repository
</subtitle>
<id>https://git.rdm1.uk/protector/.git/atom?h=master</id>
<link rel='self' href='https://git.rdm1.uk/protector/.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/'/>
<updated>2026-06-19T10:01:24Z</updated>
<entry>
<title>Fix protector_content_verify_access ignoring user roles when called via service</title>
<updated>2026-06-19T10:01:24Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-19T10:01:24Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=1a02613125a86ab54899a7ff46388a6c77c46869'/>
<id>urn:sha1:1a02613125a86ab54899a7ff46388a6c77c46869</id>
<content type='text'>
When invoked through invokeServices('content_verify_access'), $pHash is null,
so in_array always fails and protected content blocks everyone. Derive roles
from $gBitUser when $pHash is not supplied, matching protector_content_load.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>protector: guard empty roles with ?: [-1] to prevent Firebird IN() error</title>
<updated>2026-06-06T19:10:23Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-06-06T19:10:23Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=487b42fa1c2d871f06dfb95f41387774852dbb7f'/>
<id>urn:sha1:487b42fa1c2d871f06dfb95f41387774852dbb7f</id>
<content type='text'>
For anonymous users getRoles() returns an empty array, producing IN()
with no values — invalid Firebird SQL (-104 Token unknown).

Apply the standard guard so anonymous requests get IN(-1) instead,
matching the anonymous role_id. Affects both protector_content_list()
and protector_content_load().

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fix storeProtection can't reset to System Default; tidy getProtectionList</title>
<updated>2026-05-21T14:01:53Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-05-21T14:01:53Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=4077c49356aadbd2fe0498c1655966407c4165dd'/>
<id>urn:sha1:4077c49356aadbd2fe0498c1655966407c4165dd</id>
<content type='text'>
- storeProtection: check isset(role_id) and valid content_id rather than
  verifyId(role_id) — role_id=-1 (System Default) now correctly DELETEs
  any existing role restriction instead of being skipped entirely
- getProtectionList: remove garbled dead initialiser, use verifyId() guard

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>php-cs-fixer tidies to php8.5 standards</title>
<updated>2026-05-14T08:56:27Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-05-14T08:56:27Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=f8a1163dd190ecd2db88513a2dbb6138d67573f9'/>
<id>urn:sha1:f8a1163dd190ecd2db88513a2dbb6138d67573f9</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>php8.5 tidies</title>
<updated>2026-05-10T15:20:42Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-05-10T15:20:42Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=ff94347235de0c063f19521bbb35a6725a687a8e'/>
<id>urn:sha1:ff94347235de0c063f19521bbb35a6725a687a8e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>default to no user set</title>
<updated>2026-05-09T14:24:54Z</updated>
<author>
<name>Lester Caine</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-05-09T14:24:54Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=b9f5c5ad7f6fc68b236af01f6cb886776714b800'/>
<id>urn:sha1:b9f5c5ad7f6fc68b236af01f6cb886776714b800</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Style tidies for PHP8.4</title>
<updated>2026-04-16T10:52:09Z</updated>
<author>
<name>lsces</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-04-16T10:52:09Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=356549a1b3c8fc9c96647c2a599d18a3a2960ae0'/>
<id>urn:sha1:356549a1b3c8fc9c96647c2a599d18a3a2960ae0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Missing service entry to actually check access permissions</title>
<updated>2026-04-16T10:46:15Z</updated>
<author>
<name>lsces</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2026-04-16T10:46:15Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=7fc3a46187cf500a98753dc74aca8a17ce669f06'/>
<id>urn:sha1:7fc3a46187cf500a98753dc74aca8a17ce669f06</id>
<content type='text'>
</content>
</entry>
<entry>
<title>PHP8.4 style fixes to make role selection work</title>
<updated>2025-09-12T15:40:32Z</updated>
<author>
<name>lsces</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2025-09-12T15:40:32Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=cb01c597657dfc7a32fd575930a9ff9a6c007555'/>
<id>urn:sha1:cb01c597657dfc7a32fd575930a9ff9a6c007555</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Start protector in bit_setup_inc, ensure blank user is seen as 0 and short arry format tidy</title>
<updated>2025-09-10T18:50:17Z</updated>
<author>
<name>lsces</name>
<email>lester@lsces.co.uk</email>
</author>
<published>2025-09-10T18:50:17Z</published>
<link rel='alternate' type='text/html' href='https://git.rdm1.uk/protector/.git/commit/?id=6354daa965bae825ac3007be6dcdc518ed212428'/>
<id>urn:sha1:6354daa965bae825ac3007be6dcdc518ed212428</id>
<content type='text'>
</content>
</entry>
</feed>
