'[pagename]', 'order' => 'normal', 'mode' => 'add,show', 'jshide' => '0', 'noheader' => false, //'sortby' => '-pagename' // oldest first. reverse by order=reverse ); } function run($dbi, $argstr, &$request, $basepage) { $args = $this->getArgs($argstr, $request); if (!$args['pagename']) { return $this->error(sprintf(_("A required argument ā€œ%sā€ is missing."), 'pagename')); } // Get our form args. $comment = $request->getArg("comment"); $request->setArg('comment', false); if ($request->isPost() and !empty($comment['addcomment'])) { $this->add($request, $comment, 'comment'); // noreturn } // Now we display previous comments and/or provide entry box // for new comments $html = HTML(); if ($args['jshide']) { $div = HTML::div(array('id' => 'comments', 'style' => 'display:none;')); //$list->setAttr('style','display:none;'); $div->pushContent(Javascript(" function togglecomments(a) { comments=document.getElementById('comments'); if (comments.style.display=='none') { comments.style.display='block'; a.title='" . _("Click to hide the comments") . "'; } else { comments.style.display='none'; a.title='" . _("Click to display all comments") . "'; } }")); $html->pushContent(HTML::h4(HTML::a(array('name' => 'comment-header', 'class' => 'wikiaction', 'title' => _("Click to display"), 'onclick' => "togglecomments(this)"), _("Comments")))); } else { $div = HTML::div(array('id' => 'comments')); } foreach (explode(',', $args['mode']) as $show) { if (!empty($seen[$show])) continue; $seen[$show] = 1; switch ($show) { case 'show': $show = $this->showAll($request, $args, 'comment'); //if ($args['jshide']) $show->setAttr('style','display:none;'); $div->pushContent($show); break; case 'add': global $WikiTheme; if (!$WikiTheme->DUMP_MODE) { $add = $this->showForm($request, $args, 'addcomment'); //if ($args['jshide']) $add->setAttr('style','display:none;'); $div->pushContent($add); } break; default: return $this->error(sprintf("Bad mode (ā€œ%sā€)", $show)); } } $html->pushContent($div); return $html; } } // Local Variables: // mode: php // tab-width: 8 // c-basic-offset: 4 // c-hanging-comment-ender-p: nil // indent-tabs-mode: nil // End: