<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><DIV><DIV>On Sep 8, 2006, at 10:07 AM, Patrick R. Michaud wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">On Fri, Sep 08, 2006 at 09:52:06AM -0400, Crisses wrote:</DIV> <BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">On Sep 8, 2006, at 8:48 AM, Patrick R. Michaud wrote:</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV> <BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Still, I can't think of anything currently in PmWiki that will</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">specifically disallow the colon in pagenames, if one is willing to</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">accept that there may be conflicts with url protocol prefixes and</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">InterMap prefixes.</DIV> </BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Can the intermap delimiter be changed? LOL</DIV> </BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Actually, it can, with a couple of small modifications.<SPAN class="Apple-converted-space">  </SPAN>:-)</DIV></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; ">Since the customer is "always right" that may be preferable to not using the colons.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR class="khtml-block-placeholder"></DIV><BLOCKQUOTE type="cite"> <BLOCKQUOTE type="cite"><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">allow colons, and get MakePageName() to not strip colons in the</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">pagename.<SPAN class="Apple-converted-space">  </SPAN>So, in config.php:</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-converted-space">   </SPAN>$NamePattern = '[[:upper:]\\d][\\w:]*(?:-[\\w:]+)*';</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-converted-space">   </SPAN>$PageNameChars = '-:[:alnum:]';</DIV> </BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">It's not working. <SPAN class="Apple-converted-space">  </SPAN>I personally prefer perl (PCRE) over posix (PREG) <SPAN class="Apple-converted-space"> </SPAN></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">regexes....</DIV> </BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">These *are* PCRE regexes -- that's basically all I use. <SPAN class="Apple-converted-space"> </SPAN></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The preg_* functions in PHP use PCRE.</DIV></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; ">ok -- my bad.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR class="khtml-block-placeholder"></DIV><BLOCKQUOTE type="cite"> <BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">In posix regex, : does not seem to need to be escaped, but your <SPAN class="Apple-converted-space"> </SPAN></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">regexes didn't work.</DIV> </BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Odd, they're working for me. <SPAN class="Apple-converted-space"> </SPAN></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-converted-space">    </SPAN><A href="http://www.pmichaud.com/sandbox/colons/pmwiki.php?n=Main.HomePage">http://www.pmichaud.com/sandbox/colons/pmwiki.php?n=Main.HomePage</A></DIV></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV>I commented out all my plugins from config.php and it worked.  There's a plug-in conflict with </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>if ($action == 'edit' || $action == 'comment') {</DIV><DIV>    $EnableWhyBlocked = 1;</DIV><DIV>    include_once('cookbook/blocklist3.php');</DIV><DIV>}</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Now, don't ask WHY that would have anything to do with it.  :P  It happens if I include the blocklist code.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>I should have tried commenting out cookbook and other custom markup.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>In any case it works now.  Thank you.  now I need to examine my own plug-in ;)</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Blocklist calls $page_name = ResolvePageName($pagename); -- if that matters??</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Another odd thing:  when the blocklist (3) is disabled, the "broken" link leads directly to an edit page.  When enabled, the link (<A href="http://similepedia.com/index.php?n=Simile.OfMiceAndMen:SteinbeckJohn:HerHairHung?action=edit">http://similepedia.com/index.php?n=Simile.OfMiceAndMen:SteinbeckJohn:HerHairHung?action=edit</A>) leads to a screen that says '<FONT class="Apple-style-span" face="Verdana" size="3"><SPAN class="Apple-style-span" style="font-size: 11.3px;">The page "Simile.OfMiceAndMenSteinbeckJohnHerHairHung" doesn't exist. (</SPAN></FONT><A href="http://similepedia.com/index.php?n=Simile.OfMiceAndMenSteinbeckJohnHerHairHung?action=edit"><FONT class="Apple-style-span" face="Verdana" size="3"><SPAN class="Apple-style-span" style="font-size: 11.3px;"><FONT class="Apple-style-span" color="#000999">Create Simile.OfMiceAndMenSteinbeckJohnHerHairHung</FONT></SPAN></FONT></A><FONT class="Apple-style-span" face="Verdana" size="3"><SPAN class="Apple-style-span" style="font-size: 11.3px;">)'</SPAN></FONT></DIV><DIV><FONT class="Apple-style-span" face="Verdana" size="3"><SPAN class="Apple-style-span" style="font-size: 11.3px;"><BR class="khtml-block-placeholder"></SPAN></FONT></DIV><DIV><FONT class="Apple-style-span" face="Verdana" size="3"><SPAN class="Apple-style-span" style="font-size: 11.3px;">I didn't make it do that on purpose ;)  Why is the doesn't exist message coming up suddenly instead of the page edit form?</SPAN></FONT></DIV><DIV><FONT class="Apple-style-span" face="Verdana" size="3"><SPAN class="Apple-style-span" style="font-size: 11.3px;"><BR class="khtml-block-placeholder"></SPAN></FONT></DIV><DIV><FONT class="Apple-style-span" face="Verdana" size="3"><SPAN class="Apple-style-span" style="font-size: 11.3px;">I ran over the Blocklist3 -- it's mainly a class-based recipe, so I made sure to rename all cookbook-only non-class variables to "$bl_..." to absolutely make sure it's not a variable conflict.  Other than that I can't see what's wrong with it.   Except that it really shouldn't execute the bulk of it's code unless the form has been submitted ;) -- I don't even think the recipe checks the pagetitle for whether it contains blocked words.</SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR class="khtml-block-placeholder"></DIV><BLOCKQUOTE type="cite"> <BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I know the regexes you hinted at are (not) working because I managed <SPAN class="Apple-converted-space"> </SPAN></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">to break them while tweaking to see if I could fix them.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Original pmwiki.php line</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">//pmwiki.php:43:$NamePattern = '[[:upper:]\\d][\\w]*(?:-\\w+)*';</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">$NamePattern = '[[:upper:]\\d][\\w]*(?:-[\\w:]+)*';</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">$PageNameChars = '-:[:alnum:]';</DIV> </BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">This version of $NamePattern is saying that colons can only appear</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">after hyphens.</DIV></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; ">I copied your code then started messing around with it, trying to convince it to work.  In any case, I found the conflict (weird!).</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR class="khtml-block-placeholder"></DIV><BLOCKQUOTE type="cite"> <BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I tried</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">$NamePattern = '[[:upper:]\\d][\\w]*(?:-[\\w]+[:]+)*';</DIV> </BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">This is saying that colons can only occur after hyphens, and then</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">only if at the end of the pagename or immediately followed by a hyphen.<SPAN class="Apple-converted-space">  </SPAN>:-)</DIV></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; ">LOL -- like I said, I started messing around with it.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR class="khtml-block-placeholder"></DIV><BLOCKQUOTE type="cite"> <BLOCKQUOTE type="cite"></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-converted-space">    </SPAN>[^-:[:alnum:]]<SPAN class="Apple-converted-space">          </SPAN>and <SPAN class="Apple-converted-space">  </SPAN>[^:-[:alnum:]]</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">In the first, the hyphen means "don't match a hyphen", in the</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">second it means "don't match any character between colon and ["</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">(which would really blow up with fireworks, indeed).</DIV></BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; ">Actually [^...] means "don't match anything in this set" but yes, the hyphen would be a range and that's messy. </DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR class="khtml-block-placeholder"></DIV><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">At any rate, I'm curious as to why the versions I supplied aren't</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">working for you -- is there a url I can look at?<SPAN class="Apple-converted-space">  </SPAN>Or perhaps</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">try it on a clean install w/no recipes?</DIV></BLOCKQUOTE></DIV><BR><DIV>It wasn't the recipes -- I did process of elimination once the commenting out all custom garbage worked.</DIV></BODY></HTML>