[pmwiki-devel] markupexpr.php error notices
Dominique Faure
dominique.faure at gmail.com
Sun Dec 9 17:29:19 CST 2007
On Dec 9, 2007 11:40 PM, Hans <design5 at softflow.co.uk> wrote:
> Sunday, December 9, 2007, 9:11:40 PM, Dominique wrote:
>
> > Could you please give the definition of the MarkupExpr function which
> > is triggering this error?
>
> Oh i see it is mostly my own definition. But I am not quite sure.
> Here is the definition:
>
> # {(catlist PAGENAME SEPARATOR)} (arguments optional)
> $MarkupExpr['catlist'] = 'CategoryList($pagename, @$args[0], @$args[1])';
>
> function CategoryList($pn, $arg='', $sep=',') {
> global $CategoryGroup;
> if(!$arg=='') $pn = MakePageName($pn, $arg);
> if($sep==NULL) $sep = ",";
> $page = RetrieveAuthPage($pn, 'read', true);
> $pat = '/\\[\\[\\!(.*?)\\]\\]/';
> $text = preg_replace('/\\(:(.*?):\\)/' ,"", $page['text']);
> if(preg_match_all($pat, $text, $matches)) {
> foreach($matches[1] as $i=>$m)
> $catlist[] = MakePageName($pn, $CategoryGroup.".".$m);
> return implode($sep, $catlist);
> }
> }
>
> I just added the @ to @args[0] , @args[1], thanks for the hint.
> This cuts down the errors, but I still get some:
>
> using {(catlist)} without arguments I get these errors:
>
> Notice: Undefined offset: 3 in ...cookbook\markupexprplus.php on line 106
>
> Notice: Undefined index: # in ...\cookbook\markupexprplus.php on line 119
>
> and when I use {(catlist )} (extra space added) I get
>
> Notice: Undefined index: # in ...cookbook\markupexprplus.php on line 119
>
> and when I use {(catlist '')} I get no errors.
>
> Please tell me if I can improve the definition, or if the error comes
> form the script. It seems that
> $x = $argp['#'];
> in the script can be undefined.
>
>
> Hans
>
>
That's funny, my initial remark was applying to the MarkupExprPlus
script itself ;)
markupexprplus.php(106) should read:
@list($repl, $dummy, $func, $params) = $match;
and markupexprplus.php(119):
$x = @$argp['#']; $args = array();
(the same consideration applies to markupexpr.php)
The script has just been updated on pmwiki.org
--
Dominique
More information about the pmwiki-devel
mailing list