+ Script info

+ List of available parameters and their script set defaults (null'ed items unless specified get UNSET()):

+ Importing 'cats.ini' key => value pairs from all directories starting in [DOCUMENT_ROOT] thru /sean/updates...

+ UNSET()'ing any parameters = 'null'....6 parameters removed

+ Current [PARAM]eters for this page (CATS.INI::[defaults] + URL-based parameters)

+ Current [KEYWORDS] for this page (CATS.INI / [keywords])

+ Retrieving templates...

+ [PLUGIN] defined => update

+ [PLUGINS] defined => /sean/code/cats/plugins

+ [PLUGINS] => [DOCUMENT_ROOT]/sean/code/cats/plugins

+ [PLUGINS]/[PLUGIN] => '/home/shrumnet/public_html/sean/code/cats/plugins/update.php' FOUND

+ Calling [PLUGINS]/[PLUGIN] for [DATA] array...

+ [DATA] => [33] x [27]

baseextcontentsageweekdaywkdaymdaymdaythmday_0monthmonmnummnum_0yearyrhour_12hour_12_0am_pmAM_PMhour_24hour_24_0minsecdayswhentimeofdayampm
2025.11.02 @ 01.55.00.updateAnother rewrite. Bear with me as I get the site back up. Creating subdomain redirects and updating pages and code in my older projects to make sure everything is still working. I'll post links to updated areas here as I go along.8192555SundaySun22<sup>nd</sup>02NovemberNov1111202525101amAM101550094~3 monthsmorningAM
2025.11.02 @ 02.45.09.updateUpdate to <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/ezpcdets">EZPCDETS</a>. Use the 'binary' link to download the newer 2.10 version. Addresses Windows 11 max line count of 4 in tray tip windows by consolidating lines. Documentation has been updated.8185946SundaySun22<sup>nd</sup>02NovemberNov1111202525202amAM202450994~3 monthsmorningAM
2025.11.02 @ 03.45.09.updateUpdate to <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/bubbletip">Bubbletip</a>. Use the 'binary' link to download the newer 1.10 version. Updated in-app web links and documentation has been updated.8182346SundaySun22<sup>nd</sup>02NovemberNov1111202525303amAM303450994~3 monthsmorningAM
2025.11.09 @ 23.20.26.updateNumerous code updates to <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> in terms of data validation, additional debug output support, and more proper DIE'ing. Starting to write more function specific plugins as I need them and I'll post those later into the <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats/plugins">CATS plugins</a> area. Documentation has been updated as I went along which can be found in the <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats/docs"> CATS documentation</a> section.7507029SundaySun99<sup>th</sup>09NovemberNov11112025251111pmPM2323202686~2 monthseveningPM
2025.11.10 @ 00.52.55.update<A href="http://$HTTP_HOST$/cats.php?dir=/sean/code/autorun">Autorun</A> page and nav links updated.7501480MondayMon1010<sup>th</sup>10NovemberNov11112025251212amAM000525586~2 monthsmorningAM
2025.11.11 @ 23.27.02.updateChanges to <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/hotrkeyz">Hotrkeyz</a> (v1.05) to exclude files in the combo root folder (running only files in the "ShellExecute" and "ShellExecuteWait" subfolders). Tray icon will now display the app title and number of combos being monitored for. Removed the "_sample" combos folder as the app was trapping "_" as a user defined hotkey. 'Support' SysTray menu will now redirect to website support page. Now hosting both x86 and x64 builds for those without AutoIT installed. Links to these are in the Hotrkeyz nav bar. Appended more information on the app in the FAQ's section regarding unassociated filetypes and "combos" folder location moves7333833TuesdayTue1111<sup>th</sup>11NovemberNov11112025251111pmPM2323270284~2 monthseveningPM
2025.11.12 @ 01.43.34.update<a href="http://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/updates&body=/sean/support.shtml">Support</a> page has been changed. Added a "DIYer's" section outlining and providing links to off-site programming sites, forums, and editors. Multiple additions. Moved support email link to bottom of page. 7325641WednesdayWed1212<sup>th</sup>12NovemberNov1111202525101amAM101433484~2 monthsmorningAM
2025.11.12 @ 02.05.18.updateChanged subdomain and index.html redirect on <a href="http://sean.shrum.net">sean.shrum.net</a> and <a href="http://shrum.net/sean">shrum.net/sean</a> to go to <a href="http://$HTTP_HOST$/cats.php?dir=/sean/updates">Updates</a>.7324337WednesdayWed1212<sup>th</sup>12NovemberNov1111202525202amAM202051884~2 monthsmorningAM
2025.11.12 @ 03.31.34.updateMinor changes to <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/prompter">Prompter</a> (2.02). Now hosting both x86 and x64 builds. Navbar links updated7319161WednesdayWed1212<sup>th</sup>12NovemberNov1111202525303amAM303313484~2 monthsmorningAM
2025.11.12 @ 16.06.30.updateChanges to <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/dir2subs">Dir2Subs</a> (v2.02) to default to the [s]ource directory if the [d]estination parameter is omitted in command line calls. Now offering both x86 and x64 builds for those without AutoIT installed. Links to these are in the nav bar. Added screenshots of dialogs and example output.7273865WednesdayWed1212<sup>th</sup>12NovemberNov1111202525404pmPM1616063084~2 monthsafternoonPM
2025.11.12 @ 18.24.31.updateMinor cleanup to <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/execute">Execute</a> (v1.03). Now offering both x86 and x64 builds for those without AutoIT installed. Links to these are in the nav bar.7265584WednesdayWed1212<sup>th</sup>12NovemberNov1111202525606pmPM1818243184~2 monthseveningPM
2025.11.12 @ 18.39.01.updateMinor cleanup to <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/query">Query</a> (v2.04). Now offering both x86 and x64 builds for those without AutoIT installed. Links to these are in the nav bar.7264714WednesdayWed1212<sup>th</sup>12NovemberNov1111202525606pmPM1818390184~2 monthseveningPM
2025.11.12 @ 19.16.08.updateMinor changes to <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/relocate">Relocate</a> (v2.04). Dropped SysTray menu item to Homepage and placed it in the About dialog. Minor other tweaks.7262487WednesdayWed1212<sup>th</sup>12NovemberNov1111202525707pmPM1919160884~2 monthseveningPM
2025.11.12 @ 23.53.23.updateChanges to <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/wan2web">Wan2Web</a> (v2.04). [W]an setting prompt defaults to my <a href="http://www.shrum.net/remote_addr.php">remote_addr.php</a> for wan ip reporting but can be set to elsewhere, set [M]inutes default to 30, and now allow the user to store their FTP password in the registry (you have to manually add it). Updated documention on where to put the key.7245852WednesdayWed1212<sup>th</sup>12NovemberNov11112025251111pmPM2323532383~2 monthseveningPM
2025.11.13 @ 19.47.20.updateGot around to creating a <a href="http://$HTTP_HOST$/cats.php?dir=/sean/photos">Photos</a> area to showcase my <a href="$PHP_SELF$?dir=/sean/code/cats">CATS</a> web server script ability to generate navigable photo albums. Plus it showcases <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script Parameters - A to Z.shtml#sort">CATS "Random" [SORT]</a> ability. Still need to figure out Imagemagick's mogrify command as the resulting output gif files are not respecting the input jpg orientations.7174215ThursdayThu1313<sup>th</sup>13NovemberNov1111202525707pmPM1919472083~2 monthseveningPM
2025.11.14 @ 01.10.00.updateSite ID page change. Note the "wrench" icon preceding the pathname title at the top of the page. Clicking on the wrench on any page generated by my content system will output additional <a href="http://$HTTP_HOST$/*name*?dir=sean/code/cats">CATS</a> debug info by appending "&debug=y" to the end of every URL here. This lets you see what the script is doing behind the scenes. Plus it gives me an easy 1 click option to toggle into debug mode without having to type it into the URL every time I need it. Moved coding around to optimize speed and allow for function skipping when required parameters are not present.7154855FridayFri1414<sup>th</sup>14NovemberNov1111202525101amAM101100082~2 monthsmorningAM
2025.11.14 @ 22.43.59.updateAdded screenshots of window positioning movements when using the <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/relocate">Relocate</a> utility.7077216FridayFri1414<sup>th</sup>14NovemberNov11112025251010pmPM2222435981~2 monthseveningPM
2025.11.15 @ 00.12.30.updateWrote in some [DATA] array testing in <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> after performing [WHERE] and [SEARCH] functions to make sure we don't start trying to do array stuff on an empty array which would break a lot of things that would normally happen after a valid set of [DATA] was returned. Empty arrays results return an image of a goose egg.7071905SaturdaySat1515<sup>th</sup>15NovemberNov11112025251212amAM000123081~2 monthsmorningAM
2025.11.15 @ 17.57.56.updateUpdated site posted to www.shrum.net. Minor changes to site theme page but tweaked the content just about everywhere. My CATS script is now compliant on both my local and remote servers (no more error_log entries). 7007979SaturdaySat1515<sup>th</sup>15NovemberNov1111202525505pmPM1717575681~2 monthseveningPM
2025.11.16 @ 00.05.11.updateReverted back to a <a href="http://sean.shrum.net">site splash entry</a> (a 4y word cloud of my blog from many years ago) when using <b>sean.</b>shrum.net or shrum.net<b>/sean</b> URLs versus throwing everyone directly into the updates page. It was laying around so figured I'd use it. Calls to <b>shrum.net</b> and <b>www.</b>shrum.net still get Diana's project site.6985944SundaySun1616<sup>th</sup>16NovemberNov11112025251212amAM000051180~2 monthsmorningAM
2025.11.17 @ 11.08.15.updateShrum.net entry page now forks based on family member. I tested Diana's site in a subfolder and nothing broke. I moved it under her subdomain at <a href="http://diana.shrum.net">diana.shrum.net</a>.6859760MondayMon1717<sup>th</sup>17NovemberNov11112025251111amAM1111081579~2 monthsmorningAM
2025.11.18 @ 22.41.49.updateTweak to sorting in <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> (v4.1<b>1</b>). Sorting was executing in "case sensitive" mode. Capitalized words would appear ahead of lower cased. Inserted "SORT_NATURAL|SORT_FLAG_CASE" into array_multisort() calls to address this issue.6731746TuesdayTue1818<sup>th</sup>18NovemberNov11112025251010pmPM2222414977~2 monthseveningPM
2025.11.19 @ 20.55.55.updateAdded CATS code variable names in <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats&body=/sean/code/cats/docs/Template Tokens.shtml">Template Tokens</a> documentation so users know where the values are coming from.6651700WednesdayWed1919<sup>th</sup>19NovemberNov1111202525808pmPM2020555576~2 monthseveningPM
2025.11.20 @ 19.44.45.updateAdded code to <a href="http://$HTTP_HOST$/sean/code/cats">CATS</a> $aScript['subdomain'] to create cyclical link between 'local.[domainname]' and 'www.[domainname]' to allow for 1 click switching between development server and live server 6569570ThursdayThu2020<sup>th</sup>20NovemberNov1111202525707pmPM1919444576~2 monthseveningPM
2025.11.21 @ 01.57.00.updateOptimized the way <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> <a href="http://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#search">[search]</a> bails out when conditions do not match user requested terms. This will greatly decrease search times on large data sets. Added '^' for defining a case sensitive search term as all other searches case insensitive (fuzzy). Version rev 4.12.6547235FridayFri2121<sup>st</sup>21NovemberNov1111202525101amAM101570075~2 monthsmorningAM
2025.11.21 @ 21.25.45.update<a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> modification (v4.13) <a href="https://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#in">[in]</a> parameter now handles user defined field(s) selection for <a href="https://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#search">[search]</a> and provides more robust filtering options using conditional operators (+/-/"/^). Going forward, the following SQL parameters are deprecated and no longer used with CATS directly (can still be used by plugins): [select], [from], [group], [sql]. 6477110FridayFri2121<sup>st</sup>21NovemberNov1111202525909pmPM2121254574~2 monthseveningPM
2025.11.21 @ 23.21.04.update<a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> modification. Recordnum counter was not respecting actual record number when displayed as part of a <a href="https://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#limit">[limit]</a> set, was resetting to '1' on page 2, 3, etc. Adding $aRecordset['start'] to $iRecord fixed this.6470191FridayFri2121<sup>st</sup>21NovemberNov11112025251111pmPM2323210474~2 monthseveningPM
2025.11.22 @ 17.26.39.updateAdded sort on CATS search array operators, gives the following order of operation: - (not include), + (must include), none (or), ^ (case sensitive or), " (phrase or) which allows me to halt additional processing on multi term search strings if NOT or AND conditions are not met first (OR conditions skipped).6405056SaturdaySat2222<sup>nd</sup>22NovemberNov1111202525505pmPM1717263974~2 monthseveningPM
2025.11.23 @ 19.55.16.update<A href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a>: RECORD2,3,4 parameters are now depreciated and no longer supported. Never used these and really can't see a situation where multiple record templates would be needed. Site documentation updated.6309739SundaySun2323<sup>rd</sup>23NovemberNov1111202525707pmPM1919551673~2 monthseveningPM
2025.11.25 @ 13.55.40.update<a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a>: <a href="http://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#where">[where]</a> is now a "server side" protected parameter (if user tries to overwrite or NULL the parameter via the query string, it is ignored). This allows webmasters to filter recordsets prior to passing [DATA] to the user to view and start doing searches on. Ultimately, the best place to do filtering is in a plugin but this gives a more flexible option for when it's needed instead of creating multiple plugins that require redundant coding.6158515TuesdayTue2525<sup>th</sup>25NovemberNov1111202525101pmPM1313554071~2 monthsafternoonPM
2025.12.14 @ 17.13.43.update<a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a>: added value operations to <a href="https://$HTTP_HOST$/cats.php?dir=/sean/code/cats&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#search">[search]</a> to include >, <, >=, <=. Script documentation updated to reflect these additions.4505032SundaySun1414<sup>th</sup>14DecemberDec1212202525505pmPM1717134352~a montheveningPM
2026.01.27 @ 23.41.16.updateCreating a new app for locating/segregating orphaned files in a backup. These are files that no longer match up to the source locations in active use either because the source file was renamed, moved, or deleted. When such file is found it is copied (maybe moved later) to a subfolder. This allows users with years of backed up files to create a folder of only orphaned files. It's in development and I'll give it the production treatment, complete with command line enabling and dialog prompting later. Right now I'm testing on my backup.680179TuesdayTue2727<sup>th</sup>27JanuaryJan1012026261111pmPM232341167~a weekeveningPM
2026.01.29 @ 20.11.10.update<a href="http://$HTTP_HOST$/sean/code/orphaned">Orphaned</a> code and documentation uploaded. Click the link to get more info on this utility for locating orphaned files in a backup.519985ThursdayThu2929<sup>th</sup>29JanuaryJan101202626808pmPM2020111066 dayseveningPM

+ [PLUGIN]:time = 0.0012/s

+ [WHERE] undefined; operation skipped

+ ass_search()

+ [SEARCH] defined; => '^CATS'

+ [SEARCH] 1 term(s) detected

operatorterm
^CATS

+ [SEARCH] applying search terms to [DATA]...

+ [SEARCH] 18 entries cut

+ [DATA] => [15] x [27]

baseextcontentsageweekdaywkdaymdaymdaythmday_0monthmonmnummnum_0yearyrhour_12hour_12_0am_pmAM_PMhour_24hour_24_0minsecdayswhentimeofdayampm
2025.11.09 @ 23.20.26.updateNumerous code updates to <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> in terms of data validation, additional debug output support, and more proper DIE'ing. Starting to write more function specific plugins as I need them and I'll post those later into the <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats/plugins">CATS plugins</a> area. Documentation has been updated as I went along which can be found in the <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats/docs"> CATS documentation</a> section.7507029SundaySun99<sup>th</sup>09NovemberNov11112025251111pmPM2323202686~2 monthseveningPM
2025.11.13 @ 19.47.20.updateGot around to creating a <a href="http://$HTTP_HOST$/cats.php?dir=/sean/photos">Photos</a> area to showcase my <a href="$PHP_SELF$?dir=/sean/code/cats">CATS</a> web server script ability to generate navigable photo albums. Plus it showcases <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script Parameters - A to Z.shtml#sort">CATS "Random" [SORT]</a> ability. Still need to figure out Imagemagick's mogrify command as the resulting output gif files are not respecting the input jpg orientations.7174215ThursdayThu1313<sup>th</sup>13NovemberNov1111202525707pmPM1919472083~2 monthseveningPM
2025.11.14 @ 01.10.00.updateSite ID page change. Note the "wrench" icon preceding the pathname title at the top of the page. Clicking on the wrench on any page generated by my content system will output additional <a href="http://$HTTP_HOST$/*name*?dir=sean/code/cats">CATS</a> debug info by appending "&debug=y" to the end of every URL here. This lets you see what the script is doing behind the scenes. Plus it gives me an easy 1 click option to toggle into debug mode without having to type it into the URL every time I need it. Moved coding around to optimize speed and allow for function skipping when required parameters are not present.7154855FridayFri1414<sup>th</sup>14NovemberNov1111202525101amAM101100082~2 monthsmorningAM
2025.11.15 @ 00.12.30.updateWrote in some [DATA] array testing in <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> after performing [WHERE] and [SEARCH] functions to make sure we don't start trying to do array stuff on an empty array which would break a lot of things that would normally happen after a valid set of [DATA] was returned. Empty arrays results return an image of a goose egg.7071905SaturdaySat1515<sup>th</sup>15NovemberNov11112025251212amAM000123081~2 monthsmorningAM
2025.11.15 @ 17.57.56.updateUpdated site posted to www.shrum.net. Minor changes to site theme page but tweaked the content just about everywhere. My CATS script is now compliant on both my local and remote servers (no more error_log entries). 7007979SaturdaySat1515<sup>th</sup>15NovemberNov1111202525505pmPM1717575681~2 monthseveningPM
2025.11.18 @ 22.41.49.updateTweak to sorting in <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> (v4.1<b>1</b>). Sorting was executing in "case sensitive" mode. Capitalized words would appear ahead of lower cased. Inserted "SORT_NATURAL|SORT_FLAG_CASE" into array_multisort() calls to address this issue.6731746TuesdayTue1818<sup>th</sup>18NovemberNov11112025251010pmPM2222414977~2 monthseveningPM
2025.11.19 @ 20.55.55.updateAdded CATS code variable names in <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats&body=/sean/code/cats/docs/Template Tokens.shtml">Template Tokens</a> documentation so users know where the values are coming from.6651700WednesdayWed1919<sup>th</sup>19NovemberNov1111202525808pmPM2020555576~2 monthseveningPM
2025.11.20 @ 19.44.45.updateAdded code to <a href="http://$HTTP_HOST$/sean/code/cats">CATS</a> $aScript['subdomain'] to create cyclical link between 'local.[domainname]' and 'www.[domainname]' to allow for 1 click switching between development server and live server 6569570ThursdayThu2020<sup>th</sup>20NovemberNov1111202525707pmPM1919444576~2 monthseveningPM
2025.11.21 @ 01.57.00.updateOptimized the way <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> <a href="http://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#search">[search]</a> bails out when conditions do not match user requested terms. This will greatly decrease search times on large data sets. Added '^' for defining a case sensitive search term as all other searches case insensitive (fuzzy). Version rev 4.12.6547235FridayFri2121<sup>st</sup>21NovemberNov1111202525101amAM101570075~2 monthsmorningAM
2025.11.21 @ 21.25.45.update<a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> modification (v4.13) <a href="https://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#in">[in]</a> parameter now handles user defined field(s) selection for <a href="https://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#search">[search]</a> and provides more robust filtering options using conditional operators (+/-/"/^). Going forward, the following SQL parameters are deprecated and no longer used with CATS directly (can still be used by plugins): [select], [from], [group], [sql]. 6477110FridayFri2121<sup>st</sup>21NovemberNov1111202525909pmPM2121254574~2 monthseveningPM
2025.11.21 @ 23.21.04.update<a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> modification. Recordnum counter was not respecting actual record number when displayed as part of a <a href="https://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#limit">[limit]</a> set, was resetting to '1' on page 2, 3, etc. Adding $aRecordset['start'] to $iRecord fixed this.6470191FridayFri2121<sup>st</sup>21NovemberNov11112025251111pmPM2323210474~2 monthseveningPM
2025.11.22 @ 17.26.39.updateAdded sort on CATS search array operators, gives the following order of operation: - (not include), + (must include), none (or), ^ (case sensitive or), " (phrase or) which allows me to halt additional processing on multi term search strings if NOT or AND conditions are not met first (OR conditions skipped).6405056SaturdaySat2222<sup>nd</sup>22NovemberNov1111202525505pmPM1717263974~2 monthseveningPM
2025.11.23 @ 19.55.16.update<A href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a>: RECORD2,3,4 parameters are now depreciated and no longer supported. Never used these and really can't see a situation where multiple record templates would be needed. Site documentation updated.6309739SundaySun2323<sup>rd</sup>23NovemberNov1111202525707pmPM1919551673~2 monthseveningPM
2025.11.25 @ 13.55.40.update<a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a>: <a href="http://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#where">[where]</a> is now a "server side" protected parameter (if user tries to overwrite or NULL the parameter via the query string, it is ignored). This allows webmasters to filter recordsets prior to passing [DATA] to the user to view and start doing searches on. Ultimately, the best place to do filtering is in a plugin but this gives a more flexible option for when it's needed instead of creating multiple plugins that require redundant coding.6158515TuesdayTue2525<sup>th</sup>25NovemberNov1111202525101pmPM1313554071~2 monthsafternoonPM
2025.12.14 @ 17.13.43.update<a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a>: added value operations to <a href="https://$HTTP_HOST$/cats.php?dir=/sean/code/cats&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#search">[search]</a> to include >, <, >=, <=. Script documentation updated to reflect these additions.4505032SundaySun1414<sup>th</sup>14DecemberDec1212202525505pmPM1717134352~a montheveningPM

+ [ORDER] defined => 'base', header exists

+ [SORT] defined => descending base

+ [ORDER]+[SORT] => [descending base]

+ ass_search():time => 0.0002/s

+ [LIMIT] => [0,15]

baseextcontentsageweekdaywkdaymdaymdaythmday_0monthmonmnummnum_0yearyrhour_12hour_12_0am_pmAM_PMhour_24hour_24_0minsecdayswhentimeofdayampm
2025.12.14 @ 17.13.43.update<a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a>: added value operations to <a href="https://$HTTP_HOST$/cats.php?dir=/sean/code/cats&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#search">[search]</a> to include >, <, >=, <=. Script documentation updated to reflect these additions.4505032SundaySun1414<sup>th</sup>14DecemberDec1212202525505pmPM1717134352~a montheveningPM
2025.11.25 @ 13.55.40.update<a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a>: <a href="http://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#where">[where]</a> is now a "server side" protected parameter (if user tries to overwrite or NULL the parameter via the query string, it is ignored). This allows webmasters to filter recordsets prior to passing [DATA] to the user to view and start doing searches on. Ultimately, the best place to do filtering is in a plugin but this gives a more flexible option for when it's needed instead of creating multiple plugins that require redundant coding.6158515TuesdayTue2525<sup>th</sup>25NovemberNov1111202525101pmPM1313554071~2 monthsafternoonPM
2025.11.23 @ 19.55.16.update<A href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a>: RECORD2,3,4 parameters are now depreciated and no longer supported. Never used these and really can't see a situation where multiple record templates would be needed. Site documentation updated.6309739SundaySun2323<sup>rd</sup>23NovemberNov1111202525707pmPM1919551673~2 monthseveningPM
2025.11.22 @ 17.26.39.updateAdded sort on CATS search array operators, gives the following order of operation: - (not include), + (must include), none (or), ^ (case sensitive or), " (phrase or) which allows me to halt additional processing on multi term search strings if NOT or AND conditions are not met first (OR conditions skipped).6405056SaturdaySat2222<sup>nd</sup>22NovemberNov1111202525505pmPM1717263974~2 monthseveningPM
2025.11.21 @ 23.21.04.update<a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> modification. Recordnum counter was not respecting actual record number when displayed as part of a <a href="https://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#limit">[limit]</a> set, was resetting to '1' on page 2, 3, etc. Adding $aRecordset['start'] to $iRecord fixed this.6470191FridayFri2121<sup>st</sup>21NovemberNov11112025251111pmPM2323210474~2 monthseveningPM
2025.11.21 @ 21.25.45.update<a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> modification (v4.13) <a href="https://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#in">[in]</a> parameter now handles user defined field(s) selection for <a href="https://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#search">[search]</a> and provides more robust filtering options using conditional operators (+/-/"/^). Going forward, the following SQL parameters are deprecated and no longer used with CATS directly (can still be used by plugins): [select], [from], [group], [sql]. 6477110FridayFri2121<sup>st</sup>21NovemberNov1111202525909pmPM2121254574~2 monthseveningPM
2025.11.21 @ 01.57.00.updateOptimized the way <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> <a href="http://$HTTP_HOST$/cats.php?plugin=null&dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script%20Parameters%20-%20A%20to%20Z.shtml#search">[search]</a> bails out when conditions do not match user requested terms. This will greatly decrease search times on large data sets. Added '^' for defining a case sensitive search term as all other searches case insensitive (fuzzy). Version rev 4.12.6547235FridayFri2121<sup>st</sup>21NovemberNov1111202525101amAM101570075~2 monthsmorningAM
2025.11.20 @ 19.44.45.updateAdded code to <a href="http://$HTTP_HOST$/sean/code/cats">CATS</a> $aScript['subdomain'] to create cyclical link between 'local.[domainname]' and 'www.[domainname]' to allow for 1 click switching between development server and live server 6569570ThursdayThu2020<sup>th</sup>20NovemberNov1111202525707pmPM1919444576~2 monthseveningPM
2025.11.19 @ 20.55.55.updateAdded CATS code variable names in <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats&body=/sean/code/cats/docs/Template Tokens.shtml">Template Tokens</a> documentation so users know where the values are coming from.6651700WednesdayWed1919<sup>th</sup>19NovemberNov1111202525808pmPM2020555576~2 monthseveningPM
2025.11.18 @ 22.41.49.updateTweak to sorting in <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> (v4.1<b>1</b>). Sorting was executing in "case sensitive" mode. Capitalized words would appear ahead of lower cased. Inserted "SORT_NATURAL|SORT_FLAG_CASE" into array_multisort() calls to address this issue.6731746TuesdayTue1818<sup>th</sup>18NovemberNov11112025251010pmPM2222414977~2 monthseveningPM
2025.11.15 @ 17.57.56.updateUpdated site posted to www.shrum.net. Minor changes to site theme page but tweaked the content just about everywhere. My CATS script is now compliant on both my local and remote servers (no more error_log entries). 7007979SaturdaySat1515<sup>th</sup>15NovemberNov1111202525505pmPM1717575681~2 monthseveningPM
2025.11.15 @ 00.12.30.updateWrote in some [DATA] array testing in <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> after performing [WHERE] and [SEARCH] functions to make sure we don't start trying to do array stuff on an empty array which would break a lot of things that would normally happen after a valid set of [DATA] was returned. Empty arrays results return an image of a goose egg.7071905SaturdaySat1515<sup>th</sup>15NovemberNov11112025251212amAM000123081~2 monthsmorningAM
2025.11.14 @ 01.10.00.updateSite ID page change. Note the "wrench" icon preceding the pathname title at the top of the page. Clicking on the wrench on any page generated by my content system will output additional <a href="http://$HTTP_HOST$/*name*?dir=sean/code/cats">CATS</a> debug info by appending "&debug=y" to the end of every URL here. This lets you see what the script is doing behind the scenes. Plus it gives me an easy 1 click option to toggle into debug mode without having to type it into the URL every time I need it. Moved coding around to optimize speed and allow for function skipping when required parameters are not present.7154855FridayFri1414<sup>th</sup>14NovemberNov1111202525101amAM101100082~2 monthsmorningAM
2025.11.13 @ 19.47.20.updateGot around to creating a <a href="http://$HTTP_HOST$/cats.php?dir=/sean/photos">Photos</a> area to showcase my <a href="$PHP_SELF$?dir=/sean/code/cats">CATS</a> web server script ability to generate navigable photo albums. Plus it showcases <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats/docs&body=/sean/code/cats/docs/Script Parameters - A to Z.shtml#sort">CATS "Random" [SORT]</a> ability. Still need to figure out Imagemagick's mogrify command as the resulting output gif files are not respecting the input jpg orientations.7174215ThursdayThu1313<sup>th</sup>13NovemberNov1111202525707pmPM1919472083~2 monthseveningPM
2025.11.09 @ 23.20.26.updateNumerous code updates to <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats">CATS</a> in terms of data validation, additional debug output support, and more proper DIE'ing. Starting to write more function specific plugins as I need them and I'll post those later into the <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats/plugins">CATS plugins</a> area. Documentation has been updated as I went along which can be found in the <a href="http://$HTTP_HOST$/cats.php?dir=/sean/code/cats/docs"> CATS documentation</a> section.7507029SundaySun99<sup>th</sup>09NovemberNov11112025251111pmPM2323202686~2 monthseveningPM

+ Creating / formatting HTML recordset table and populating [RECORD] template with [DATA]...DONE

+ Combining templates; [RECORD]set=>[TABLE]=>[BODY]=>[PAGE]<=NAV

+ Applying S&R on recordset entries (start, last, slicenext, sliceprevious, slicefirst, slicecount, etc)

+ Applying S&R on tokenized entries (parameter, _SERVER, keyword, and script)...www.shrum.net/sean/updates
 
Wednesday, Feb 4th  2026 @ 20:37:35  
 
 
  
www . shrum.net /sean/updates
All scripting, coding, html, layout, design, .... basically everything here done by yours truly. - S

  

  
 
 
 
filter
 clear search
 
 
$domain$ :: $subdomain$

Site Modifications + Code Changelogs

If you frequent my site, you'll notice that I update it and the projects I create quite a bit.  Due to size and scope, updates are scattered all around.  This listing serves as a quick reference for those who only want to look at the newest changes.  By default, the latest 15 updates are listed below (with links to the changed or added content). If you are looking for a specific area of the site, use the search field above or use the site nav links in the top right and bottom right of the page. Area specific links are typically on the left side
 
$domain$ :: $subdomain$ :: $title$
# of Columns
PAGINATION NAVIGATION
RECORDS PER PAGE
 

1 2 3 4 5 6 7

     Page 1 of 1     

30 45 60 - All

 

Displaying 15 [  1 - 15  ] of 15 matching entries (out of 33) in descending base order

 
 

 
  2025.12.14 @ 17.13.43

 

  CATS: added value operations to [search] to include >, <, >=, <=. Script documentation updated to reflect these additions.  [ edit ]
 
 

 
  2025.11.25 @ 13.55.40

 

  CATS: [where] is now a "server side" protected parameter (if user tries to overwrite or NULL the parameter via the query string, it is ignored). This allows webmasters to filter recordsets prior to passing [DATA] to the user to view and start doing searches on. Ultimately, the best place to do filtering is in a plugin but this gives a more flexible option for when it's needed instead of creating multiple plugins that require redundant coding.  [ edit ]
 
 

 
  2025.11.23 @ 19.55.16

 

  CATS: RECORD2,3,4 parameters are now depreciated and no longer supported. Never used these and really can't see a situation where multiple record templates would be needed. Site documentation updated.  [ edit ]
 
 

 
  2025.11.22 @ 17.26.39

 

  Added sort on CATS search array operators, gives the following order of operation: - (not include), + (must include), none (or), ^ (case sensitive or), " (phrase or) which allows me to halt additional processing on multi term search strings if NOT or AND conditions are not met first (OR conditions skipped).  [ edit ]
 
 

 
  2025.11.21 @ 23.21.04

 

  CATS modification. Recordnum counter was not respecting actual record number when displayed as part of a [limit] set, was resetting to '1' on page 2, 3, etc. Adding $aRecordset['start'] to $iRecord fixed this.  [ edit ]
 
 

 
  2025.11.21 @ 21.25.45

 

  CATS modification (v4.13) [in] parameter now handles user defined field(s) selection for [search] and provides more robust filtering options using conditional operators (+/-/"/^). Going forward, the following SQL parameters are deprecated and no longer used with CATS directly (can still be used by plugins): [select], [from], [group], [sql].  [ edit ]
 
 

 
  2025.11.21 @ 01.57.00

 

  Optimized the way CATS [search] bails out when conditions do not match user requested terms. This will greatly decrease search times on large data sets. Added '^' for defining a case sensitive search term as all other searches case insensitive (fuzzy). Version rev 4.12.  [ edit ]
 
 

 
  2025.11.20 @ 19.44.45

 

  Added code to CATS $aScript['subdomain'] to create cyclical link between 'local.[domainname]' and 'www.[domainname]' to allow for 1 click switching between development server and live server  [ edit ]
 
 

 
  2025.11.19 @ 20.55.55

 

  Added CATS code variable names in Template Tokens documentation so users know where the values are coming from.  [ edit ]
 
 

 
  2025.11.18 @ 22.41.49

 

  Tweak to sorting in CATS (v4.11). Sorting was executing in "case sensitive" mode. Capitalized words would appear ahead of lower cased. Inserted "SORT_NATURAL|SORT_FLAG_CASE" into array_multisort() calls to address this issue.  [ edit ]
 
 

 
  2025.11.15 @ 17.57.56

 

  Updated site posted to www.shrum.net. Minor changes to site theme page but tweaked the content just about everywhere. My CATS script is now compliant on both my local and remote servers (no more error_log entries).  [ edit ]
 
 

 
  2025.11.15 @ 00.12.30

 

  Wrote in some [DATA] array testing in CATS after performing [WHERE] and [SEARCH] functions to make sure we don't start trying to do array stuff on an empty array which would break a lot of things that would normally happen after a valid set of [DATA] was returned. Empty arrays results return an image of a goose egg.  [ edit ]
 
 

 
  2025.11.14 @ 01.10.00

 

  Site ID page change. Note the "wrench" icon preceding the pathname title at the top of the page. Clicking on the wrench on any page generated by my content system will output additional CATS debug info by appending "&debug=y" to the end of every URL here. This lets you see what the script is doing behind the scenes. Plus it gives me an easy 1 click option to toggle into debug mode without having to type it into the URL every time I need it. Moved coding around to optimize speed and allow for function skipping when required parameters are not present.  [ edit ]
 
 

 
  2025.11.13 @ 19.47.20

 

  Got around to creating a Photos area to showcase my CATS web server script ability to generate navigable photo albums. Plus it showcases CATS "Random" [SORT] ability. Still need to figure out Imagemagick's mogrify command as the resulting output gif files are not respecting the input jpg orientations.  [ edit ]
 
 

 
  2025.11.09 @ 23.20.26

 

  Numerous code updates to CATS in terms of data validation, additional debug output support, and more proper DIE'ing. Starting to write more function specific plugins as I need them and I'll post those later into the CATS plugins area. Documentation has been updated as I went along which can be found in the CATS documentation section.  [ edit ]
 
 

Displaying 15 [  1 - 15  ] of 15 matching entries (out of 33) in descending base order

 

1 2 3 4 5 6 7

     Page 1 of 1     

30 45 60 - All

 
# of Columns
PAGINATION NAVIGATION
RECORDS PER PAGE
 
 
top

Page generation time = 0.0061/s
Page size (minus graphic elements) = 90kb

bookmark

feedback print

back

Since 1992 - shrum.net

Copyright 2026 Sean Shrum

 
 
CATS.PHP [C]ontent [A]cquisition and [T]emplating [S]cript v.4.14 [ 2025.12.14 ] by Sean Shrum