<?xml version="1.0" encoding="UTF-8"?>    <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
      <channel>
        <title></title>
        <link>https://interactivetools.com/forum/forum-search.php?%3Bk=user%3Afelixr</link>
        <description></description>
        <pubDate>Wed, 15 Apr 2026 11:57:29 -0700</pubDate>
        <language>en-us</language>
        <atom:link href="https://interactivetools.com/forum/forum-search.php?%3Bk=user%3Afelixr&amp;rss=1" rel="self" type="application/rss+xml" />

                <item>
          <title>issue with linked (lookup) columns.</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248406#post2248406</link>
          <description><![CDATA[<p>When I search within a table, I’m having an issue with <strong>linked (lookup) columns</strong>.</p>
<p>If I search using the <strong>displayed text</strong> from the linked column, no results are returned. However, it appears the search is instead using the <strong>underlying ID value</strong> from the related table.</p>
<p><strong>Example:</strong></p>
<ul>
<li>I have a <code>document_lines</code> table with a column called <strong>Doc Header</strong></li>
<li>This column is linked to a <code>headings</code> table</li>
<li>In the UI, it displays:<br /><strong>"section1: Brakes &amp; Lines"</strong></li>
<li>But in the database, this entry has an ID of <strong>7</strong></li>
</ul>
<p><strong>Issue:</strong></p>
<ul>
<li>Searching for <strong>"section1:"</strong> → returns <em>no results</em></li>
<li>Searching for <strong>"7"</strong> → correctly returns all related entries</li>
</ul>
<p><strong>Question:</strong><br />Is there a way to make the search work against the <strong>displayed text</strong> (e.g. "section1: Brakes &amp; Lines") instead of the underlying ID?</p>]]></description>
          <pubDate>Wed, 15 Apr 2026 04:36:56 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248406#post2248406</guid>
        </item>
                <item>
          <title>CMSB v3.83 Beta (Show/Hide Fields &amp; MCP Server)</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248405#post2248405</link>
          <description><![CDATA[<p class="whitespace-pre-wrap break-words">Hi everyone,</p>
<p class="whitespace-pre-wrap break-words">We've just released v3.83 beta (our biggest single release to date!), and we're already running it on our site.</p>
<p class="whitespace-pre-wrap break-words">Here are some highlights from this release:&nbsp;</p>
<ul>
<li class="whitespace-pre-wrap break-words">Field Editor
<ul>
<li class="whitespace-pre-wrap break-words">Show If: New option allows you to dynamically show/hide fields based on the values of other fields</li>
<li class="whitespace-pre-wrap break-words">Show for: Replaces old "Admin only" setting with options for everyone, editor, admin only, or new: Nobody (completely hidden)</li>
<li class="whitespace-pre-wrap break-words">Placeholder: New option for text and textbox fields to set hint text inside the field when empty</li>
<li class="whitespace-pre-wrap break-words">Field List UI: Lock and eye icons now mark restricted and conditional fields in your field list</li>
<li class="whitespace-pre-wrap break-words">Reorganized and simplified the field editor UI</li>
</ul>
</li>
<li class="whitespace-pre-wrap break-words">Admin → Advanced → MCP Server
<ul>
<li>AI coding assistants like Claude Code can now read and update your CMS directly</li>
<li>Read and write records, upload files, run queries, and view your database schema</li>
<li>Built-in /fix-cms command: AI reviews your recent PHP errors and offers fixes</li>
</ul>
</li>
<li class="whitespace-pre-wrap break-words">Admin → Backup &amp; Restore → Website → Restore from Zip
<ul>
<li>Added restore button to restore from previous website backup zips (for uploading a local or dev site)</li>
</ul>
</li>
<li class="whitespace-pre-wrap break-words">Fields → List → <span>pillbox (multi value)</span>
<ul>
<li>Selected values can now be drag sorted to change the order</li>
<li>Dropdown options show checkboxes to select multiple values (easier for end-users)</li>
</ul>
</li>
<li class="whitespace-pre-wrap break-words">Admin → Advanced
<ul>
<li>Admin Favicon: Pick a colored favicon (green/yellow/red) to tell CMS installs apart in your browser tabs (e.g. dev, staging, live)</li>
<li>Server Links: Add dev, staging, and live server URLs for quick-switching between environments</li>
</ul>
</li>
<li class="whitespace-pre-wrap break-words">Developer Console
<ul>
<li>Automatically decrypts and displays contents from encrypted fields</li>
</ul>
</li>
<li class="whitespace-pre-wrap break-words">General code modernization and cleanup</li>
</ul>
<p>Note: We still have a queue of pending user feature requests.&nbsp; We're releasing what we have now so you can start using it.&nbsp; Feel free to remind us what you'd like to see next.&nbsp;</p>
<p>The full changelog for this release is as follows:</p>
<blockquote>
<pre>*** April 14, 2026 - Version 3.83 (Show/Hide Fields &amp; MCP Server)<br /><br />SERVER REQUIREMENTS (Since Jun 2025): PHP 8.1+ and MySQL 5.7+ (or MariaDB 10.2+)<br /><br />FIELD EDITOR<br />    - Show/Hide Fields: Fields now show/hide automatically based on what users select<br />        - Example: Show "Speaker Name" only when Event Type is "Webinar"<br />        - Example: Show "Shipping Address" only when Delivery Method is "Mail"<br />        - Works with all field types: text, checkboxes, tabs, upload fields, related records<br />        - Custom expressions allow for multi-field AND rules (e.g. type=article AND status!=draft|hidden)<br />        - Configure in: Database &gt; Edit Field &gt; Visibility &gt; Show If<br />    - Field Access: "Admin Only" replaced with clearer "Show for" dropdown<br />        - Options: Everyone, Editor and above, Admin only, or new: Nobody (completely hidden)<br />    - Placeholder: New option for text and textbox fields to set hint text inside the field when empty<br />    - Lock and eye icons now mark restricted and conditional fields in your field list<br />    - Simplified field editor interface with cleaner organization<br />    - Textbox Fields: "Auto Format" renamed to "Line Breaks" (nl2br) and deprecated. Off for new fields, can be turned off but not back on<br /><br />MCP SERVER<br />    - AI coding assistants like Claude Code can now read and update your CMS directly<br />    - Read and write records, upload files, run queries, and view your database schema<br />    - Configure in: Admin &gt; Advanced &gt; MCP Server (IP allowlist, API keys, permissions)<br />    - Built-in /fix-cms command: AI reviews your recent PHP errors and offers fixes<br />    - Security: IP allowlist required, Bearer token auth, read-only enforced at MySQL session level<br />    - Write operations logged to the audit log<br /><br />ADMIN &gt; BACKUP &amp; RESTORE<br />    - Website: Added restore button to restore from previous website backup zips<br />    - Website: Previous Backups dropdown now shows relative dates (e.g., "5 min ago", "yesterday")<br />    - Website: Removed "Only include code files" option (use .cms-no-backup marker files to exclude folders instead)<br />    - Database: Backup dropdown now offers option to include log tables in backup ("include skipped")<br /><br />PILLBOX &amp; FOREIGN KEY FIELDS<br />    - Replaced form dropdown component Select2 with Tom Select<br />    - Pillbox: drag pills to reorder selected values<br />    - Pillbox: dropdown options show checkboxes so you can see all options and their selection state at a glance<br />    - Type-ahead search to filter options instantly<br /><br />ADMIN &gt; ADVANCED (New Page)<br />    - Reorganized admin settings into "Admin Interface" and "Advanced Settings" sections<br />    - Admin Favicon: Pick a colored favicon (green/yellow/red) to tell CMS installs apart in your browser tabs<br />    - Server Links: Add dev, staging, and live server URLs for quick-switching between environments<br />    - Admin Shortcuts, Debug Footer, and WYSIWYG/Menu/Cookie settings moved here from General Settings<br /><br />MINOR CHANGES<br />    - Email Settings: Developer Email now accepts multiple comma-separated addresses<br />    - File Uploads: Files are saved with dashes instead of underscores for better SEO, and .jpeg is normalized to .jpg<br />    - Audit Log: Expanded logging coverage for fields, tables, uploads, backups, and database operations<br />    - Security: Added additional .htaccess hardening for data directories (Apache 2.4+ compatibility)<br />    - Improved text contrast for input fields, selects, and placeholders<br />    - Admin menus updated and reorganized for better usability<br />    - Upgraded Dependencies: PHPMailer v6 to v7, Firebase/JWT v6 to v7, and other library updates<br /><br />BUG FIXES<br />    - SmartArray: Fixed TypeError when calling load() on SmartArrayHtml (changed type hint to SmartArrayBase)<br />    - Language: Fixed "No such file or directory" error when developer mode was enabled without a language selected<br />    - Upload Fields: Fixed "Create Thumbnail" checkbox re-enabling itself after saving when unchecked<br />    - Edit Page: Fixed false "unsaved changes" warning appearing after clicking in fields without editing them<br />    - Misc code and other minor improvements<br /><br />**FOR PROGRAMMERS**<br />    - Modern PHP features enabled:<br />        - Native types: Database queries now return native PHP types (int/float) instead of strings<br />        - mysqli::execute_query() for one-line parameterized queries (available natively in PHP 8.2+, backported for PHP 8.1):<br />            $rows = DB::$mysqli-&gt;execute_query("SELECT * FROM users WHERE id = ?", [$id])-&gt;fetch_all(MYSQLI_ASSOC);<br />            DB::$mysqli-&gt;execute_query("UPDATE users SET name = ? WHERE id = ?", [$name, $id]);<br />    - Database Encryption: Key now cached as MySQL session variable @ek<br />        - Faster: Computed once per-connection, not per-query<br />        - Simpler: AES_ENCRYPT(val, @ek) instead of AES_ENCRYPT(val, UNHEX(SHA2('key',512)))<br />        - Cleaner: Key hidden from SHOW PROCESSLIST and error messages<br />        - On-demand: Only initialized when encrypted fields are used<br />    - MySQL Console: Record edit page database icon now opens console with that record in column mode<br />    - MySQL Console: New {{column}} shortcut auto-expands to AES_DECRYPT(`column`, @ek) for encrypted columns<br />    - Moved /api.php to /api/ to better organize future API endpoints<br /><br />**FOR PROGRAMMERS (BREAKING CHANGES)**<br />    - Note: These changes only impact developers who have written custom PHP code<br />    - Database queries now return native PHP types (int/float) instead of strings<br />        - If your code expects strings, cast them: (string)$row['id']<br />    - MySQL queries now throw exceptions instead of returning false (following PHP 8.1+ standard behavior).<br />        - Before: $result = mysqli()-&gt;query($sql) or die("MySQL Error: " . mysqli()-&gt;error);<br />        - After:  try { $result = mysqli()-&gt;query($sql); } catch (mysqli_sql_exception $e) { die("MySQL Error: " . $e-&gt;getMessage()); }<br />    - Library Updates: ZenDB has been moved to composer with several renamed and deprecated methods<br />        - DB::get() renamed to DB::selectOne() (DB::get() still works but is deprecated)<br />        - See ZenDB docs for full list of changes: <a href="https://github.com/interactivetools-com/ZenDB/" rel="nofollow">https://github.com/interactivetools-com/ZenDB/</a></pre>
</blockquote>
<p>You can download the latest beta here: <a href="https://www.interactivetools.com/download/" rel="nofollow">https://www.interactivetools.com/download/</a></p>
<p>Please post (or email) any feedback, questions, concerns, or bugs you find.&nbsp; &nbsp;Your help with beta testing allows us to release new features even faster.</p>
<p><span>Thanks. We look forward to your feedback! :)</span></p>]]></description>
          <pubDate>Tue, 14 Apr 2026 12:53:50 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248405#post2248405</guid>
        </item>
                <item>
          <title>Update to CMSB v. 8 from 3.56</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248404#post2248404</link>
          <description><![CDATA[<p>Hi pgplast,</p>
<p>Okay, perfect. Since you've done the CMS upgrade before, the CMSB side should be straightforward.</p>
<p>For any custom PHP code or plugins, the most common issue is type handling. PHP 7 was more forgiving - it would silently accept `null` where a string was expected. PHP 8 throws deprecation warnings (and PHP 9 will make them errors).</p>
<p>An example might be @$_REQUEST['city']; if that form field wasn't submitted, it would return null.</p>
<p>So if you see warnings like `trim(): Passing null to parameter #1` or `strlen(): Passing null to parameter #1 ($string) of type string is deprecated`, the fix is usually one of:</p>
<pre class="language-php"><code>// Option A: null coalesce to set a default for null values
$value = trim($record['middle_name'] ?? '');

// Option B: cast to string
$value = strlen((string) $record['notes']);</code></pre>
<p>What I recommend is upgrading, then clicking through all the pages and checking the CMS Developer for any errors.</p>
<p>Let me know if you run into anything specific, and we can help you sort it out.</p>]]></description>
          <pubDate>Sat, 11 Apr 2026 00:03:53 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248404#post2248404</guid>
        </item>
                <item>
          <title>Theme Engine</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248403#post2248403</link>
          <description><![CDATA[<p>Dear all, as i'm grateful for this wonderful software by the wonderful people of interactive tool, i'm introducing a theme engine that brings Wordpress style theme system to CMSB</p>
<p>this software should become next level and this is a starting pointing for people to manage their site in most straight way as possible</p>
<p>- The theme engine can support any number of themes, create and activate</p>
<p>- A customizer section that you can configure main settings for the theme, upload your logo, fav icon, update color theme, select Main nav and footer nav</p>
<p>- Supports Templates and partials</p>
<p>- Supports enqueue_styles &amp; enqueue_scripts</p>
<p>- Supports list, detail, single records</p>
<p>i'm attaching a working script and documentation, and would love this community to support it and contribute it even further, in the works is visual builder as well that you can build pages visually with components under testing and works with the theme engine.</p>
<p>Appreciate any feedback</p>]]></description>
          <pubDate>Fri, 10 Apr 2026 20:09:14 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248403#post2248403</guid>
        </item>
                <item>
          <title>Update to CMSB v. 8 from 3.56</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248402#post2248402</link>
          <description><![CDATA[<p>Thanks very much, Dave. I've done a good number of updates for this site and others in the past. Was just wondering if there were bigtime issues going to PHP 8 or with plugins on which we depend.</p>]]></description>
          <pubDate>Fri, 10 Apr 2026 14:34:52 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248402#post2248402</guid>
        </item>
                <item>
          <title>Update to CMSB v. 8 from 3.56</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248401#post2248401</link>
          <description><![CDATA[<p>Hi pgplast,</p>
<p>First, make sure your database is supported by the latest version - you'll want MySQL 5.7+ or MariaDB 10.2+.</p>
<p>But in general, it's pretty straightforward. Backup everything (files and MySQL), upload the new CMSB files over top of the old ones, then upgrade any plugins that need upgrading.</p>
<p>If you run into any PHP 7 to 8 coding errors in your custom code, any of the AI coding agents (Claude, ChatGPT, etc.) can help you come up with a fix pretty quickly.</p>
<p>That said, feel free to fill out a 2nd-level support request if you'd like me to take a look either before or after: <a href="https://interactivetools.com/support/request/" rel="nofollow">https://interactivetools.com/support/request/</a></p>
<p>Also, feel free to email me at dave@interactivetools.com if you run into any issues. I'll be around this weekend and can help make sure you're back up and running by Monday if needed.</p>
<p>Hope that helps, let me know any questions!</p>]]></description>
          <pubDate>Fri, 10 Apr 2026 13:50:55 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248401#post2248401</guid>
        </item>
                <item>
          <title>membership plugins login form not working with 3.82</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248400#post2248400</link>
          <description><![CDATA[<p>Found the issue. It was not CMSB-related.</p>]]></description>
          <pubDate>Fri, 10 Apr 2026 08:48:41 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248400#post2248400</guid>
        </item>
                <item>
          <title>Re: Help - Simplest approach to displaying video within CMS Builder</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248399#post2248399</link>
          <description><![CDATA[<p>For companies that wish to produce proprietary content for non-public audiences, I have found Vimeo to be superior to YouTube.</p>
<p>The folks at vimeo do not place the same restrictions upon content that YouTube does, and you can simply place the vimeo url for the video in your code and enjoy excellent streaming video that is scaled to the user's available bandwidth.</p>]]></description>
          <pubDate>Thu, 09 Apr 2026 03:33:53 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248399#post2248399</guid>
        </item>
                <item>
          <title>Double Login with websiteMembership</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248398#post2248398</link>
          <description><![CDATA[<p>Thanks, Tim.</p>]]></description>
          <pubDate>Wed, 08 Apr 2026 14:38:52 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248398#post2248398</guid>
        </item>
                <item>
          <title>Double Login with websiteMembership</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248397#post2248397</link>
          <description><![CDATA[<p>Oh good, glad that has helped.&nbsp;</p>
<p>There might be various uses for it to be separate login. When enabled, the two login sessions are completely separate. You can be logged into CMSB and separately be logged into the front end as a different user. Maybe you are a CMSB admin doing some work in the back-end as an admin, but you want to login to the front-end as a normal user to see what they see. When set to false the CMSB user and the front-end use the same login space.</p>
<p>The practical effect of setting it to false is that if you log into CMSB admin, you'd also appear logged in on the website front-end. Of course it doesn't mean that a websiteMembership user could access the CMSB back-end because there are still permission checks etc. in place.</p>
<p>Hopefully that makes sense. :)</p>
]]></description>
          <pubDate>Wed, 08 Apr 2026 14:36:38 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248397#post2248397</guid>
        </item>
                <item>
          <title>Double Login with websiteMembership</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248396#post2248396</link>
          <description><![CDATA[<p>I set it to false and that has eliminated the second login.&nbsp;</p>
<p>I guess I have been misunderstanding the setting itself. For what purpose do folks use the "true" setting of&nbsp; $GLOBALS['WSM_SEPARATE_LOGIN'] ?</p>]]></description>
          <pubDate>Wed, 08 Apr 2026 14:15:41 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248396#post2248396</guid>
        </item>
                <item>
          <title>Double Login with websiteMembership</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248395#post2248395</link>
          <description><![CDATA[<p>Yes, Tim. You have it correct. Are you saying that setting $GLOBALS['WSM_SEPARATE_LOGIN'] = false;&nbsp; will allow a logged in backend user to avoid a second login on a websiteMembership protected page?</p>]]></description>
          <pubDate>Wed, 08 Apr 2026 14:10:50 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248395#post2248395</guid>
        </item>
                <item>
          <title>membership plugins login form not working with 3.82</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248394#post2248394</link>
          <description><![CDATA[<p>Hi Jeff,</p>
<p>Are you still seeing this error or did you get it resolved? Did you recently upgrade to 3.82 and it stopped working or is this suddenly happening? What version of websiteMemberhip are you using?</p>
<p>If it is still happening, and your version of websiteMembership is not the most recent, try upgrading it if you can. That usually resolves the issues. If that does not solve the issue, you can certainly look in the error logs for errors and give it to us as part of opening a support ticket.&nbsp;</p>
<p>Usually when upgrading CMSB, a few plugins need to be upgraded as well.&nbsp;</p>
<p>Thanks!</p>]]></description>
          <pubDate>Wed, 08 Apr 2026 13:50:09 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248394#post2248394</guid>
        </item>
                <item>
          <title>Double Login with websiteMembership</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248393#post2248393</link>
          <description><![CDATA[<p>Hi pgplast,</p>
<p>When you say that you have separate logins, I am assuming you have set the WSM_SEPARATE_LOGIN global variable in websiteMembership.php to "true". This means that logging into CMSB is going to be a separate login than trying to login to pages that are protected by websiteMembership.</p>
<p>Your code there is testing for the websiteMembership login "CURRENT_USER" and if not, redirects them to the login page.&nbsp;</p>
<p>From what I am understand as to what you are saying, the user logs into CMSB as an admin, clicks a link which takes them to that page protected by websiteMembership. There it sees that CURRENT_USER is not set, so immediately redirects the user to the login page. Because the user has logged into CMSB doesn't mean they skip login for the page protected by websiteMembership (when using separate logins).</p>
<p>Am I understanding the process you are going through here? If not, any further clarification would help.</p>
<p>Thanks!</p>
]]></description>
          <pubDate>Wed, 08 Apr 2026 13:40:46 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248393#post2248393</guid>
        </item>
                <item>
          <title>Double Login with websiteMembership</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248392#post2248392</link>
          <description><![CDATA[<p>I have a CMSB-based application that uses websiteMembership. It is set to allow both admin login and separate user log in.</p>
<p>Users of the backend login to perform their admin duties, one of which involves selecting a menu item that is a link to another page outside of the background interface that also requires login.</p>
<p>That page is protect like this:</p>
<p>i$libraryPath = 'xxxxxxx/lib/viewer_functions.php';<br />$dirsToCheck = ['','../','../../','../../../','../../../../'];<br />foreach ($dirsToCheck as $dir) {<br />if (@include_once("$dir$libraryPath")) { break; }<br />}<br />if (!function_exists('getRecords')) {<br />die("Couldn't load viewer library.");<br />}<br />if (!$CURRENT_USER) { websiteLogin_redirectToLogin(); }<br />if(!$CURRENT_USER['isCME_director'] &amp;&amp; !$CURRENT_USER['isCME_staff'] &amp;&amp; !$CURRENT_USER['isAdmin']) {<br />redirectBrowserToUrl("access_denied.php?msg=This feature is for administrators only."); <br />exit; <br />}</p>
<p>The problem I am having is that the logged in user who clicks the link taking him to this page is then presented with the login form once again and must log in a second time.</p>
<p>Has anyone encountered this behavior?</p>
<p>CMSB v. 3.56</p>
<p>websiteManagement v. 1.13</p>]]></description>
          <pubDate>Wed, 08 Apr 2026 12:00:38 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248392#post2248392</guid>
        </item>
                <item>
          <title>membership plugins login form not working with 3.82</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248391#post2248391</link>
          <description><![CDATA[<p>I am seeing an error in the login functions for the membership forum. now sure what has happened here?<br /><br /><br /></p>]]></description>
          <pubDate>Tue, 07 Apr 2026 13:37:04 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248391#post2248391</guid>
        </item>
                <item>
          <title>Update to CMSB v. 8 from 3.56</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248390#post2248390</link>
          <description><![CDATA[<p>You need to go to PHP 8.3 at a minimum, as 8.1 and 8.2 are obsolete. You'd better bite the bullet now.&nbsp;</p>]]></description>
          <pubDate>Tue, 07 Apr 2026 13:29:32 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248390#post2248390</guid>
        </item>
                <item>
          <title>Update to CMSB v. 8 from 3.56</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248389#post2248389</link>
          <description><![CDATA[<p>I am going to have to update an old, complex application for a medical institution from v. 3.56 to the most current 3.8 version. Part of the change needed on the server is to move from PHP 7.4 to 8.1.</p>
<p>Also, the site depends upon a number of plugins to include createPDF, csvImport, formGenerator, newsletterBuilder, QRCode Generator, reportBuilder, showHideDependedentFieldsPlus, showHideFieldsForUsers, and websiteMembership. Can anyone share any problems they may have encountered with similar upgrades?</p>
<p>The hospital using this application depends upon it daily, and I will need to accomplish the change over a weekend and have a working version on the following Monday. I confess to being a bit nervous.</p>]]></description>
          <pubDate>Tue, 07 Apr 2026 13:19:57 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248389#post2248389</guid>
        </item>
                <item>
          <title>llms.txt file (for AI)</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248388#post2248388</link>
          <description><![CDATA[<p>Hi Codee,</p>
<p>The above is just a snippet that helps set up a PHP file that will load when "llms.txt" is accessed. On its own it does not generate any of the content, but it's a good first step in being able to do so.</p>]]></description>
          <pubDate>Wed, 25 Mar 2026 11:11:13 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248388#post2248388</guid>
        </item>
                <item>
          <title>llms.txt file (for AI)</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248387#post2248387</link>
          <description><![CDATA[<p>Are you saying this little bit of code will generate all the llms.txt content for a site run by cmsb?&nbsp; I am hoping there is a method for doing so. I figured a plugin might be needed.</p>]]></description>
          <pubDate>Sat, 21 Mar 2026 19:30:20 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248387#post2248387</guid>
        </item>
                <item>
          <title>Small BUG for 3.82</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248386#post2248386</link>
          <description><![CDATA[<p>Hi Kenny,</p>
<p>Thanks for reporting this bug!</p>
<p>I've created a fix that will be included in the next version of CMSB.</p>
<p>For you or anyone else who is currently having this issue, here's a patch that should fix it.</p>
<p>In the file: <strong>cmsb/lib/schema_functions.php</strong> around line 288</p>
<p>Find this code:</p>
<pre class="language-php"><code>if (empty($schema[$name]["createThumbnails$suffix"])) {
      unset($schema[$name]["createThumbnails$suffix"]);
      unset($schema[$name]["maxThumbnailHeight$suffix"]);
      unset($schema[$name]["maxThumbnailWidth$suffix"]);
      unset($schema[$name]["cropThumbnails$suffix"]);
  }</code></pre>
<p>And replace it with this:</p>
<pre class="language-php"><code> $thumbnailDisabled =
  empty($schema[$name]["createThumbnails$suffix"]);
  if ($thumbnailDisabled) {
      unset($schema[$name]["maxThumbnailHeight$suffix"]);
      unset($schema[$name]["maxThumbnailWidth$suffix"]);
      unset($schema[$name]["cropThumbnails$suffix"]);
      if ($suffix !== '') {
          unset($schema[$name]["createThumbnails$suffix"]);
      }
  }</code></pre>
<p>Let me know if you have any futher issues.</p>
<p>Thanks!</p>]]></description>
          <pubDate>Wed, 18 Mar 2026 14:27:23 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248386#post2248386</guid>
        </item>
                <item>
          <title>Is there a way to the same detail page template for different sections?</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248385#post2248385</link>
          <description><![CDATA[<p>Ok, i think i have a working solution so I am sharing in case it's helpful to someone else:</p>
<pre class="language-php"><code>&lt;?php
  header('Content-type: text/html; charset=utf-8');
  include_once("../cmsb/lib/viewer_functions.php");

  // get the URI and trim leading and trailing slashes
  $uri = trim($_SERVER['REQUEST_URI'], '/');

  // lookup the URI in the permalinks table to find the corresponding section
  $section = mysql_get('cmsb__permalinks', null, [
    'permalink' =&gt; $uri,
    'old'       =&gt; '0'
  ]);

  // get the tablename for the section
  if ($section) {
    $tableName = $section['tableName'];
	
    // and then load the page
    list($page, $pageMetaData) = getRecords(array(
      'tableName'   =&gt; $tableName,
      'where'       =&gt; whereRecordNumberInUrl(0),
      'loadUploads' =&gt; true,
      'allowSearch' =&gt; false,
      'limit'       =&gt; '1',
    ));
    $page = @$page[0]; // get first record
    if (!$page) { 
      header("HTTP/1.1 301 Moved Permanently");
      header("Location: /"); 
      exit;
    }
  }

?&gt;</code></pre>]]></description>
          <pubDate>Tue, 17 Mar 2026 11:30:16 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248385#post2248385</guid>
        </item>
                <item>
          <title>Is there a way to the same detail page template for different sections?</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248384#post2248384</link>
          <description><![CDATA[<p>Currently, I have a set up like this:</p>
<ul>
<li>About pages &gt; /pgs/<strong>about-pages.php</strong></li>
<li>Contact pages &gt; /pgs/<strong>contact-pages.php</strong></li>
<li>Service pages &gt; /pgs/<strong>service-pages.php</strong></li>
</ul>
<p>Note, I am using the Permalinks plugin.</p>
<p>But I was wondering if there is a way for me to use the same page template for all of the sections?</p>
<ul>
<li>About pages &gt; /pgs/<strong>pages.php</strong></li>
<li>Contact pages &gt; /pgs/<strong>pages.php</strong></li>
<li>Service pages &gt; /pgs/<strong>pages.php</strong></li>
</ul>]]></description>
          <pubDate>Tue, 17 Mar 2026 10:38:52 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248384#post2248384</guid>
        </item>
                <item>
          <title>Small BUG for 3.82</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248383#post2248383</link>
          <description><![CDATA[<p>In Database Editor &gt;&gt; *schema* &gt;&gt; <span>Input Validation &gt;&gt; Upload Settings</span>, when unchecking a "<span>Create thumbnail" and it's related "Crop" checkbox, they revert back to being checked on save.&nbsp;</span></p>]]></description>
          <pubDate>Sat, 14 Mar 2026 11:33:53 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248383#post2248383</guid>
        </item>
                <item>
          <title>Upload Field - Custom List Option</title>
          <link>https://interactivetools.com/forum/forum-posts.php?postNum=2248382#post2248382</link>
          <description><![CDATA[<p>Hi Ryan,&nbsp;</p>
<p>Unfortunately, there's no built-in functionality for that, or quick fixes.</p>
<p>Can you let me know what you want to use it for and how you'd want it to work?&nbsp;</p>
<p>For example, what problem are you trying to solve?</p>
<p>Thanks!</p>]]></description>
          <pubDate>Wed, 11 Mar 2026 21:05:46 -0700</pubDate>
          <guid isPermaLink="true">forum-posts.php?postNum=2248382#post2248382</guid>
        </item>
              </channel>
    </rss>
  