Nice work. Although I really like BoltWire, I have been thinking of drawing/ writing a software design based on the current code, so quirky behavior and weird stuff is easily spotted. Then I could come up with a new design and easily implement it with the current design and code.
but seems you already did a huge step in this. thanks. also, the boltwire site seems to be down!?!! mark On Jun 17, 12:50 pm, DrunkenMonk <[email protected]> wrote: > There was a slight bug in the BOLTfilter function in the above linked > code. > I can upload a fixed version when I've thoroughly tested it. > > On Jun 17, 3:42 am, DrunkenMonk <[email protected]> wrote: > > > > >http://groups.google.com/group/boltwire/web/utf-safe-barn.zip > > ok, this post is skirting dangerously close to both too harsh and too > > pompous, but I'm just trying to be helpful. > > > Dan, the utf encoding in boltwire really is a mess. > > > I've updated to the latest, and due to the whole thing not bloody > > working I'm going through the engine code, trying to find some way to > > clean this up, and ... well. It's depressing. Most of your code is > > great, but this is horrible. > > > I'm looking at one specific instance now, in BOLTsavepage, where the > > $page variable is sent through an encoding change and then used as a > > variable in BOLTloadpage, without being converted back. > > In other words, there is no guarantee anywhere as to which encoding a > > function should expect it's input. These examples are everywhere, and > > it's no surprise that the utf8 pagenames keep breaking every other > > update. > > > I've gone through engine.php and rewriten it to use **and expect** > > utf8 encoding in all BoltWire functions. I had to rewrite loadpage, > > savepage and listpage some, but not too bad. The rest of the changes > > basically amounted to removing all BOLTutf2url and url2utf. ... and > > completly rewriting BOLTlistpages to use glob. Glob is faster than php > > loops. Your code wasn't terribly readable, and re-invented the wheel > > some, so I felt I may as well redo it. Sorry. > > > The re-write isnt perfect. For example, I could find no simple way to > > allow utf8 characters in testing for legal links (markup.php line > > 512), so I simply call BOLTutf2url for the match itself. > > > The result is a version of BoltWire where all the god damn utf8 > > problems are GONE FOR FRICKING GOOD and I'm perfectly happy with it. > > > I strongly suggest incorporating my changes. I suspect you may not > > want to, since I re-wrote BOLTlistpages completely to be faster and > > more robust, thus changing the expected pattern into something more > > boltwire-y than raw regular expressions. It allowed me move some of > > the security checking into BOLTlistpages, most of which i subsequently > > removed (since I generate the list of possible pages via glob, which > > is safe. It's really only the "dir" variable one would want to filter. > > Possibly all the directory variables, in order to be robust against a > > hacked site.config. Doable.) > > > My listpages pattern accept "page.\d+" (see BOLTthread) but would be > > confused by "page.\d*", since * is special. It lets you put in some > > slightly more interesting values to the group argument in searches, > > but doesn't change too much. > > > Since I like to use callbacks, both for readability and spead, I > > defined a BOLTgroup2grep function. > > > So... I would completely understand if you don't want to go in this > > direction (but you *should*). However, I am not going to update to a > > new version of BoltWire where the internal character encoding is not > > well defined. > > By well defined, I mean utf-8. > > > Anyone testing this build should note that I no longer use boltwires > > built in login functions, which includes membership functions, and > > there's a few things in functions.php that call BOLTlistpages directly > > instead of going through a search. This means there is a small chance > > I may have missed something there, but if so it is simply a matter of > > simplifying the pattern sent to BOLTlistpages. -- You received this message because you are subscribed to the Google Groups "BoltWire" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/boltwire?hl=en.
