BoltWire 6

Below you will find the entire release history for the 6.xx series. Click here for info on how to transition from BoltWire 5 to 6. May 22, 2020
I just uploaded a quick fix to 6.03 that deprecates two features that will not be available in 7.xx. First, use of the code.settings page and second template pages that will need to be moved to code.template pages. There is no change in functionality, but you will want to run this version for a week or more to try and catch possible issues before upgrading to our 7.xx beta series (version 6.90, coming soon). See our deprecated page for more information. April 29, 2020

It's been a long while since I've done a release but I've been adding features and fixing bugs all this time. Unfortunately, they are probably not all well documented. I decided to do this release to polish off our 6.xx series so I can clear the way for our 7.xx series. I had to back track some new code I'm already using so there may be a few issues with this release, but it appears to be working right. If you note any problems, I'll be happy to add any needed fixes. But otherwise, we'll be heading into 7.xx very soon. That will be a bigger and more problematic transition!
  • Added a new "scheduler" info processor to take the value of the first current date field on a page to allow you to easily update content on a schedule.
  • Changed the passdata command so that values passed via post mode, now show up as actual post variables available for use in scripts. Before was only available internally within BoltWire.
  • Added an internal utility function is_stamp() to engine.php. Very useful for working with time.
  • Added an optional "parts" parameter to the infopeek function to quickly grab one part of an info variable.
  • Added a new "shortlinks" rule to the markup table. Now img:label.jpg and file:label.pdf both work as before. But I've added and as well, outputting a url or a hypertext link as appropriate. Note before the link: prefix defaulted to an img or file if it was an image or file upload type. This change could affect your links if you are using the link: on your site. If you are not sure, let me know and I could create a flag to revert to the old behavior and start flagging the old links as deprecated for a while to help you find them. I've always used the more intuitive img or file links. Note, also fixed a small bug with the file: prefix. I created these, by the way, for easy use in emails.
  • Added an optional info.redirects page as a shortcuts page. So link:somepage looks for an infovar "somepage" on info.redirects and if it finds it, will return a link to that page. This allows you to put "somepage:" on info.redirects and give you easy shortcut links.
  • Oh, and there's a option assuming you have the correct css for easy link buttons. You can use now, but I won't be adding to the core css sheets until 7.xx.
  • The lines=true parameter in the source function is being flagged as deprecated in favor of vspace=true. This is to make it match the include function which used vspace=false to turn off line spacing. You can continue to use lines=1-3 in source function, which also matches the include function.
  • Fixed a bug in the query function involving the text= parameter. January 15, 2019

  • Changed the default home page from main to welcome. If you are using the default main page, you will need to set homePage: main and/or homeMobile: main in site.config. Very Important!
  • Set up a special routine to dynamically load custom functions, commands, and conditions. Add an entry like BOLTFoptimize: optimize.php to site.dynafunc and the plugin will load automatically when needed--assuming optimize.php is in your config folder or shared plugins folder. This has the advantage of only loading rarely used scripts when needed. Works great!
  • Purged the $BOLTzone parameter from all the functions still using it, and updated all the system scripts. Will not affect markup, but if you are calling BOLTFinfo, BOLTFsearch, BOLTFquery, or BOLTFgeturl in a plugin with two or more parameters, you will need to delete the second parameter. I also deleted the final $data parameter (#4) in the BOLTFinfo function as it seems to serve no purpose in any script I could find. Note: These changes could affect existing plugins if you use them. I created a scriptmanager plugin that allows me to instantly scan all my scripts for where functions like this are used in plugins. Very useful for tracking down stuff like above. Let me know if you need to use it.
  • Similarly, I decided to remove the $field parameter in all commands. You'll want to review all your plugins to rewrite the input parameters to skip $field and make sure any calls to a command do not take a second parameter. I wanted to get rid of the $value parameter and just use $args like we do in our conditions and functions, but that would be a bit involved. Maybe for another time.
  • New query function defaults to current page if no page specified. Small detail. :) Fixed templates so {+value} works as intended in queries.
  • Completely reworked the start.php utility to make it even easier to use. Now there is a default init.txt file with settings and the index.script. Can create a custom myinit.txt file however you want and start.php will use your settings and code instead. Great if all your fields are similar. By default, encryption is now off, superadmin is "admin", and cleanurls are on. I also disabled the root forwarder as that is not needed for addon domains. A big plus for me, is I can store my own system password and init file outside the main BoltWire directory which makes zipping up BoltWire for new releases much easier.
  • Replace the existing default skin with one very similar to the BoltWire site. Also, tweaked and updated the mobile and print skins. This is only the first of several steps involving the skins. In a future release I plan to rework how skins are edited and constructed to make several things easier. Just wanted some better skins to start with.
  • Note: I'm considering this a pre-release of BoltWire 7.0. That is, I'm starting to make a few bigger jumps to get ready for the next transition--rather than focusing on adding to current functionality which is quite good. Some of these features are essentially partial steps to future plans for BoltWire. :) October 12, 2018

This is a pretty big release with lot's of small tweaks, a few bug fixes, and the long anticipated query function. It's been nearly 8 months of daily work with this script, and I'm quite sure I have NOT documented every tweak, but I don't think there is anything disruptive in this release. :)
  • Slight fix to the before and after conditionals to make it possible to submit timestamps directly to the conditionals.
  • Added an easy show parameter to the counter function to make it easy to simply report count, without incrementing it.
  • Added a way to convert time = 3 or 03 to either March or Tuesday by setting fmt to "month" or "week". A handy shortcut.
  • Added an escape parameter to all functions to override whether or not output is escaped (true) or not (false). Useful when you want output from a function that is normally escaped for use as a parameter in another function. I think this may have been in 5.xx, but stripped out in 6.xx. It's now back!
  • I've been leaving error messages on in my home server, and fixing various php warning messages.
  • Figured out a clever way to allow you to use the legend in an info page right in your info variable. Just use the legend key instead of the part index. Super cool!
  • Updated math function to use PHP 7's improved error catching method. Still works on PHP 5. The old method didn't work on PHP 7.
  • Fixed slight bug so returns whole value of an info field, if no parts are specified, and you call for part #1.
  • Fixed authorizations bug to allow proper hierarchical rules on data checks. Before, had to match or *. Now it properly matches test* as well.
  • Reworked @owner group to apply to info and data checks, and it matches any page that ends in the member id. It no longer works in other site auth pages. This could effect existing sites if you use the owner group elsewhere.
  • Fixed what appears to be a bug, that the normal action.missing page is not being displayed when action is set to print. I think this is working now. It could possibly change behavior, though I have noticed no complications.
  • I added commented out hooks for 'myBOLTwatch' functions which can be used to track where specific pages are called, or functions, commands, conditionals, etc. I'm using these myself as my library of custom scripts has grown significantly over the last 10 years on my production site, and I'm in the process of pruning some of this. If you want to know how to use these, let me know...
  • Fixed a bug in the math function when your output is 0. Actually, it is a php error leading to weird results.
  • Renaming the memberships function/command to groups. Will deprecate the former for some time.
  • Updated the zone function and deprecated the getlink function which is essentially the same thing. No need for duplicates!
  • Created a query function which generates a report based on info vars on a page parameter (or #1). Works exactly like the query parameter in the search function which is being flagged as deprecated.
  • Updated the page to include a few omitted markups.
  • Deleted the caching command due to some potential issues with it. The caching function remains as it is not subject to the same limitations, and in most cases is actually easier to use.
  • Fixed up BoltWire's is_number utility to better identify numbers. This fixed other issues, like being able to sum columns in an info table.
  • Fixed a couple bugs when using the info function in custom scripts. Feb 14, 2018

This release includes internal modifications designed to remove deprecated PHP code, plus other changes designed to speed up performance, simplify the code, and enhance functionality. I would consider this version quasi-experimental until I get more usage feedback from the community. It may also disrupt existing installations. Still, this is a much needed, and significant improvement.
  • Added a before and after conditional which makes timed changes in your site drop dead simple.
  • Added a switch=id parameter which allows you to link a series of conditionals so only the first true condition in the set will be returned. Very powerful way to simplify complex conditionals.
  • Rewrote the markup table to no longer use PHP's deprecated preg_replace with the /e flag. This will require you to update any custom markup rules on your sites.
  • Rewrote how forms are processed to allow multiple tabs and to give you better control over form expirates. The default is 30 minutes but can be reset with the formExpy config variable, or overridden in a specific form by setting an "expires" parameter to some number of seconds in the form markup. Note, this requires the autologin feature if your user times out of the php session.
  • Calls to functions in custom code no longer take a zone parameter. Use the global $BOLTzone var instead.
  • Changed the $pageArray var derived from the page name to $pa, to avoid confusion with the $pageArray variable used in search processes. This could affect plugins.
  • Changed when the autologin function works to avoid having to reload the page. Set autologin to true in site.config to enable.
  • Added both html and zone caching to the core. Do caching via function or command by setting html or zone and an expiration date. To enable, set cacheAllowed to true in site.config. Note caching can be tricky. Will need to write up a tutorial before you can really start using.
  • Skin variables are now processed after caching to allow some customization of cached files. To work, the format must be changed from {var} to {+var+}. Check your skin html and css pages for skin vars.   
  • Mobile skin is improved. There's now a menu link that jumps down to the bottom of the page.
  • Added several new pages to transform the site page into more of a control panel.
  • Minor fixes to the getlink function to improve the functionality of the zones action. The map action was removed. It's an easy plugin.
  • Restored blacklisting and whitelisting of ip addresses. Just set the $BOLTblackList and/or $BOLTwhiteList to a page in index.php.
  • Output buffering is disabled by default. To enable, set bufferOutput to true in site.config. This is usually only required for background processes. It may be moved to a plugin at some point.
  • The search query parameter is flagged as deprecated, to give you time to identify pages using it. The plan is to strip this out as a completely separate "query" function in the near future. You do not need to fix any of these pages now. We'll just be logging them.
  • Several previously flagged items are now fully deprecated, including inlist page recognition, tagcloud format, config legends, and old custom sorthook function names. See this page for more info. Then be sure to fix existing sites before upgrading.
  • This release includes countless other small undocumented tweaks form more than a year of constant use. :(