[pmwiki-users] RecentChanges for AutoGroupPages

Hans hans.bracker at googlemail.com
Wed Aug 16 18:37:20 CDT 2006


I am trying to have new AutoGroupPages in newgroupbox.php
added tio (All)RecentChanges, but I have not manage to get it to work
when autopages are set in the markup.

The PostRecentChanges function works when AutoGroupPages are called:

function AutoGroupPages($pagename, &$page, &$new) {
     global $IsPagePosted, $AutoGroupPagesFmt;
     if (!$IsPagePosted) return;
     SDV($AutoGroupPagesFmt, array(
         '{$Group}.HomePage'    => 'Templates.HomePage',
         '{$Group}.GroupHeader' => 'Templates.GroupHeader',
         '{$Group}.GroupFooter' => 'Templates.GroupFooter'));

     foreach($AutoGroupPagesFmt as $n => $t) {
             $n = FmtPageName($n, $pagename);
             if (!PageExists($n)) {
                 $t = FmtPageName($t, $pagename);
                 WritePage($n, ReadPage($t));
                 PostRecentChanges($n, $new, $new);
             }
     }
}

But it does not work within function HandleNewGroup when autopages are specified
in the markup like (:newgroupbox autopages=Group.Name1,Group.Name2 :) markup:

  if (@$_REQUEST['autopages']) {
        $apages = explode(",", $_REQUEST['autopages']);
        foreach($apages as $p) {
            $tp = explode(".", $p);
            $autopages[$p] = MakePageName($pagename, "$group.$tp[1]");
        }
        foreach($autopages as $t => $n) {
               $n = FmtPageName($n, $pagename);
               if (!PageExists($n)) {
                   $t = FmtPageName($t, $pagename);
                   WritePage($n, ReadPage($t));
                   PostRecentChanges($n, $new, $new);
               }
        }
        Redirect($newpage);
  }

Why would it not work here?
Note that I had to swap $t and$n around for the autopages condition,
in order to build the array of new pagenames, but the pages are
created fine.

Any hints to solve this are much appreciated.

~Hans




More information about the pmwiki-users mailing list