Update of /cvsroot/phpwiki/phpwiki/lib/plugin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9642/plugin Modified Files: AllPages.php AllUsers.php BackLinks.php FullTextSearch.php FuzzyPages.php LikePages.php ListPages.php ListSubpages.php MostPopular.php PopularNearby.php TitleSearch.php UnfoldSubpages.php WantedPages.php WikiAdminChmod.php WikiAdminChown.php WikiAdminRemove.php WikiAdminRename.php WikiAdminSearchReplace.php WikiAdminSelect.php WikiAdminSetAcl.php WikiFormRich.php Log Message: better support for case_exact search (not caseexact for consistency), plugin args simplification: handle and explode exclude and pages argument in WikiPlugin::getArgs and exclude in advance (at the sql level if possible) handle sortby and limit from request override in WikiPlugin::getArgs ListSubpages: renamed pages to maxpages Index: AllPages.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/AllPages.php,v retrieving revision 1.33 retrieving revision 1.34 diff -u -2 -b -p -d -r1.33 -r1.34 --- AllPages.php 1 Nov 2004 10:43:59 -0000 1.33 +++ AllPages.php 23 Nov 2004 15:17:19 -0000 1.34 @@ -65,18 +65,5 @@ extends WikiPlugin function run($dbi, $argstr, $request, $basepage) { $args = $this->getArgs($argstr, $request); - // very strange php reference bug: dbi gets destroyed at array_merge with defaults - //if (!is_object($dbi)) $dbi = $request->getDbh(); - //if (!is_object($request->_dbi)) { - // trigger_error("strange php reference bug destroyed request->_dbi", E_USER_WARNING); - // return HTML(); - //} - //extract($args); - //$pages = isset($args['pages']) ? $args['pages'] : false; // Todo: extend given _GET args - // TODO: shouldn't the REQUEST sortby,limit override be handled in getArgs for all? - if ($sorted = $request->getArg('sortby')) - $args['sortby'] = $sorted; - elseif (!empty($args['sortby'])) - $request->setArg('sortby', $args['sortby']); if ($args['debug']) $timer = new DebugTimer; @@ -136,4 +123,12 @@ extends WikiPlugin // $Log$ +// Revision 1.34 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.33 2004/11/01 10:43:59 rurban // seperate PassUser methods into seperate dir (memory usage) Index: AllUsers.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/AllUsers.php,v retrieving revision 1.17 retrieving revision 1.18 diff -u -2 -b -p -d -r1.17 -r1.18 --- AllUsers.php 19 Nov 2004 13:25:31 -0000 1.17 +++ AllUsers.php 23 Nov 2004 15:17:19 -0000 1.18 @@ -68,10 +68,4 @@ extends WikiPlugin $args = $this->getArgs($argstr, $request); extract($args); - if ($sorted = $request->getArg('sortby')) - $sortby = $sorted; - elseif ($sortby) - $request->setArg('sortby',$sortby); - - //if (defined('DEBUG') and DEBUG) $debug = true; if ($debug) $timer = new DebugTimer; @@ -90,5 +84,5 @@ extends WikiPlugin if ($include_empty and empty($info)) $pagelist->_addColumn('version'); - list($offset,$pagesize) = $pagelist->limit($args['limit']); + list($offset, $pagesize) = $pagelist->limit($args['limit']); if (!$pagesize) { $pagelist->addPageList($allusers); @@ -117,4 +111,12 @@ extends WikiPlugin // $Log$ +// Revision 1.18 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.17 2004/11/19 13:25:31 rurban // clarify docs Index: BackLinks.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/BackLinks.php,v retrieving revision 1.28 retrieving revision 1.29 diff -u -2 -b -p -d -r1.28 -r1.29 --- BackLinks.php 14 Oct 2004 17:16:22 -0000 1.28 +++ BackLinks.php 23 Nov 2004 15:17:19 -0000 1.29 @@ -60,6 +60,7 @@ extends WikiPlugin if (empty($page) and $page != '0') return ''; - - $exclude = is_string($exclude) ? explodePageList($exclude) : (is_array($exclude) ? $exclude : array()); + // exclude is already expanded in WikiPlugin::getArgs() + //$exclude = is_string($exclude) ? explodePageList($exclude) : (is_array($exclude) ? $exclude : array()); + if (empty($exclude)) $exclude = array(); if (!$include_self) $exclude[] = $page; @@ -147,4 +148,12 @@ class _PageList_Column_BackLinks_count e // $Log$ +// Revision 1.29 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.28 2004/10/14 17:16:22 rurban // override DB sort: not applicable Index: FullTextSearch.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/FullTextSearch.php,v retrieving revision 1.22 retrieving revision 1.23 diff -u -2 -b -p -d -r1.22 -r1.23 --- FullTextSearch.php 28 May 2004 11:01:58 -0000 1.22 +++ FullTextSearch.php 23 Nov 2004 15:17:19 -0000 1.23 @@ -50,5 +50,8 @@ extends WikiPlugin function getDefaultArguments() { - return array('s' => false, + return array_merge + ( + PageList::supportedArgs(), // paging and more. + array('s' => false, 'hilight' => true, 'case_exact' => false, //not yet supported @@ -57,5 +60,5 @@ extends WikiPlugin 'exclude' => false, //comma-seperated list of glob 'limit' => false, - 'quiet' => false); // be less verbose + 'quiet' => false)); // be less verbose } @@ -65,5 +68,4 @@ extends WikiPlugin if (empty($args['s'])) return ''; - extract($args); @@ -135,4 +137,12 @@ extends WikiPlugin // $Log$ +// Revision 1.23 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.22 2004/05/28 11:01:58 rurban // support to disable highlighting Index: FuzzyPages.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/FuzzyPages.php,v retrieving revision 1.11 retrieving revision 1.12 diff -u -2 -b -p -d -r1.11 -r1.12 --- FuzzyPages.php 17 Feb 2004 12:11:36 -0000 1.11 +++ FuzzyPages.php 23 Nov 2004 15:17:19 -0000 1.12 @@ -158,7 +158,5 @@ extends WikiPlugin $this->collectSimilarPages($this->_list, $dbi); - $this->sortCollectedPages($this->_list); - return $this->formatTable($this->_list, $dbi); } @@ -187,4 +185,12 @@ extends WikiPlugin // $Log$ +// Revision 1.12 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.11 2004/02/17 12:11:36 rurban // added missing 4th basepage arg at plugin->run() to almost all plugins. This caused no harm so far, because it was silently dropped on normal usage. However on plugin internal ->run invocations it failed. (InterWikiSearch, IncludeSiteMap, ...) Index: LikePages.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/LikePages.php,v retrieving revision 1.21 retrieving revision 1.22 diff -u -2 -b -p -d -r1.21 -r1.22 --- LikePages.php 25 Sep 2004 16:33:52 -0000 1.21 +++ LikePages.php 23 Nov 2004 15:17:19 -0000 1.22 @@ -50,5 +50,4 @@ extends WikiPlugin 'prefix' => false, 'suffix' => false, - 'exclude' => '', 'noheader' => false, )); @@ -121,4 +120,12 @@ extends WikiPlugin // $Log$ +// Revision 1.22 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.21 2004/09/25 16:33:52 rurban // add support for all PageList options Index: ListPages.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/ListPages.php,v retrieving revision 1.8 retrieving revision 1.9 diff -u -2 -b -p -d -r1.8 -r1.9 --- ListPages.php 14 Oct 2004 19:19:34 -0000 1.8 +++ ListPages.php 23 Nov 2004 15:17:19 -0000 1.9 @@ -53,5 +53,5 @@ extends WikiPlugin PageList::supportedArgs(), array('pages' => false, - 'exclude' => false, + //'exclude' => false, 'info' => 'pagename,top3recs', 'dimension' => 0, @@ -141,4 +141,12 @@ class _PageList_Column_ListPages_count e // $Log$ +// Revision 1.9 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.8 2004/10/14 19:19:34 rurban // loadsave: check if the dumped file will be accessible from outside. Index: ListSubpages.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/ListSubpages.php,v retrieving revision 1.5 retrieving revision 1.6 diff -u -2 -b -p -d -r1.5 -r1.6 --- ListSubpages.php 13 Sep 2004 14:59:56 -0000 1.5 +++ ListSubpages.php 23 Nov 2004 15:17:19 -0000 1.6 @@ -45,12 +45,14 @@ extends WikiPlugin function getDefaultArguments() { - return array('noheader' => false, // no header + return array_merge + ( + PageList::supportedArgs(), + array('noheader' => false, // no header 'basepage' => false, // subpages of which page, default: current - 'pages' => '', // maximum number of pages - // to include - 'exclude' => '', + 'maxpages' => '', // maximum number of pages to include, change that to limit + //'exclude' => '', /*'relative' => false, */ 'info' => '' - ); + )); } // info arg allows multiple columns @@ -76,6 +78,6 @@ extends WikiPlugin $content = HTML(); $subpages = array_reverse($subpages); - if ($pages) { - $subpages = array_slice ($subpages, 0, $pages); + if ($maxpages) { + $subpages = array_slice ($subpages, 0, $maxpages); } @@ -122,4 +124,12 @@ class _PageList_Column_ListSubpages_coun // $Log$ +// Revision 1.6 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.5 2004/09/13 14:59:56 rurban // info=count: number of backlinks for this subpage Index: MostPopular.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/MostPopular.php,v retrieving revision 1.30 retrieving revision 1.31 diff -u -2 -b -p -d -r1.30 -r1.31 --- MostPopular.php 14 Oct 2004 19:19:34 -0000 1.30 +++ MostPopular.php 23 Nov 2004 15:17:19 -0000 1.31 @@ -47,10 +47,10 @@ extends WikiPlugin PageList::supportedArgs(), array('pagename' => '[pagename]', // hackish - 'exclude' => '', + //'exclude' => '', 'limit' => 20, // limit <0 returns least popular pages 'noheader' => 0, 'sortby' => 'hits', 'info' => false, - 'paging' => 'auto' + //'paging' => 'auto' )); } @@ -108,4 +108,12 @@ extends WikiPlugin // $Log$ +// Revision 1.31 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.30 2004/10/14 19:19:34 rurban // loadsave: check if the dumped file will be accessible from outside. Index: PopularNearby.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/PopularNearby.php,v retrieving revision 1.4 retrieving revision 1.5 diff -u -2 -b -p -d -r1.4 -r1.5 --- PopularNearby.php 1 May 2004 18:02:41 -0000 1.4 +++ PopularNearby.php 23 Nov 2004 15:17:19 -0000 1.5 @@ -57,5 +57,5 @@ extends WikiPlugin return array('pagename' => '[pagename]', 'mode' => 'nearby', // or 'incoming' or 'outgoing' - 'exclude' => '', + //'exclude' => false, // not yet 'limit' => 5, 'noheader' => 0, @@ -158,4 +158,12 @@ function cmp_by_hits($a, $b) { // $Log$ +// Revision 1.5 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.4 2004/05/01 18:02:41 rurban // 4.0.6 obviously cannot use methods as cmp function. so it must be a global func Index: TitleSearch.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/TitleSearch.php,v retrieving revision 1.22 retrieving revision 1.23 diff -u -2 -b -p -d -r1.22 -r1.23 --- TitleSearch.php 23 Nov 2004 13:35:49 -0000 1.22 +++ TitleSearch.php 23 Nov 2004 15:17:19 -0000 1.23 @@ -48,7 +48,7 @@ extends WikiPlugin 'auto_redirect' => false, 'noheader' => false, - 'exclude' => '', + 'exclude' => false, 'info' => false, - 'caseexact' => false + 'case_exact' => false )); } @@ -61,9 +61,8 @@ extends WikiPlugin if (empty($args['s'])) return ''; - extract($args); - $query = new TextSearchQuery($s, $caseexact); - $pages = $dbi->titleSearch($query, $caseexact); + $query = new TextSearchQuery($s, $case_exact); + $pages = $dbi->titleSearch($query, $case_exact); $pagelist = new PageList($info, $exclude, $args); @@ -89,4 +88,12 @@ extends WikiPlugin // $Log$ +// Revision 1.23 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.22 2004/11/23 13:35:49 rurban // add case_exact search Index: UnfoldSubpages.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/UnfoldSubpages.php,v retrieving revision 1.16 retrieving revision 1.17 diff -u -2 -b -p -d -r1.16 -r1.17 --- UnfoldSubpages.php 25 Sep 2004 16:35:09 -0000 1.16 +++ UnfoldSubpages.php 23 Nov 2004 15:17:19 -0000 1.17 @@ -46,16 +46,14 @@ extends WikiPlugin function getDefaultArguments() { - return array( + return array_merge + ( + PageList::supportedArgs(), + array( 'pagename' => '[pagename]', // default: current page //'header' => '', // expandable string 'quiet' => false, // print no header - //'sort' => 'asc', // deprecated: use sortby=+pagename or - // sortby=-mtime instead, 'sortby' => 'pagename', // [+|-]pagename, [+|-]mtime, [+|-]hits - 'limit' => 0, - 'pages' => false, // deprecated. use maxpages instead 'maxpages' => false, // maximum number of pages to include - 'sections' => false,// maximum number of sections per page to - // include + 'sections' => false, // maximum number of sections per page to include 'smalltitle' => false, // if set, hide transclusion-title, // just have a small link at the start of @@ -70,5 +68,5 @@ extends WikiPlugin 'sectionhead' => false // when including a named // section show the heading - ); + )); } @@ -79,5 +77,5 @@ extends WikiPlugin $args = $this->getArgs($argstr, $request); extract($args); - $subpages = explodePageList($pagename . SUBPAGE_SEPARATOR . '*',false,$sortby,$limit); + $subpages = explodePageList($pagename . SUBPAGE_SEPARATOR . '*', false, $sortby, $limit, $exclude); if (! $subpages ) { return $this->error(_("The current page has no subpages defined.")); @@ -153,4 +151,12 @@ extends WikiPlugin // $Log$ +// Revision 1.17 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.16 2004/09/25 16:35:09 rurban // use stdlib firstNWordsOfContent, extractSection Index: WantedPages.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/WantedPages.php,v retrieving revision 1.15 retrieving revision 1.16 diff -u -2 -b -p -d -r1.15 -r1.16 --- WantedPages.php 23 Nov 2004 13:35:49 -0000 1.15 +++ WantedPages.php 23 Nov 2004 15:17:19 -0000 1.16 @@ -62,4 +62,8 @@ extends WikiPlugin function run($dbi, $argstr, &$request, $basepage) { $args = $this->getArgs($argstr, $request); + if (!empty($args['exclude_from'])) + $args['exclude_from'] = is_string($args['exclude_from']) + ? explodePageList($args['exclude_from']) + : $args['exclude_from']; // <! plugin-list !> extract($args); if ($page == _("WantedPages")) $page = ""; @@ -74,6 +78,4 @@ extends WikiPlugin array('wanted' => array('_PageList_Column_WantedPages_wanted', 'custom:wanted', _("Wanted From"), 'left'))); $pagelist = new PageList($page ? '' : 'pagename,wanted', $exclude, $args); // search button? - if ($exclude_from) $exclude_from = $pagelist->explodePageList($exclude_from); - else $exclude_from = array(); $pagelist->_wpagelist = array(); @@ -141,4 +143,12 @@ class _PageList_Column_WantedPages_wante // $Log$ +// Revision 1.16 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.15 2004/11/23 13:35:49 rurban // add case_exact search Index: WikiAdminChmod.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/WikiAdminChmod.php,v retrieving revision 1.11 retrieving revision 1.12 diff -u -2 -b -p -d -r1.11 -r1.12 --- WikiAdminChmod.php 16 Jun 2004 10:38:59 -0000 1.11 +++ WikiAdminChmod.php 23 Nov 2004 15:17:19 -0000 1.12 @@ -103,8 +103,4 @@ extends WikiPlugin_WikiAdminSelect $args = $this->getArgs($argstr, $request); $this->_args = $args; - if (!empty($args['exclude'])) - $exclude = explodePageList($args['exclude']); - else - $exclude = false; $this->preSelectS($args, $request); @@ -139,10 +135,10 @@ extends WikiPlugin_WikiAdminSelect if ($next_action == 'select' and empty($pages)) { // List all pages to select from. - $pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit']); + $pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit'], $args['exclude']); } if ($next_action == 'verify') { $args['info'] = "checkbox,pagename,perm,author,mtime"; } - $pagelist = new PageList_Selectable($args['info'], $exclude, $args); + $pagelist = new PageList_Selectable($args['info'], $args['exclude'], $args); $pagelist->addPageList($pages); @@ -202,4 +198,12 @@ extends WikiPlugin_WikiAdminSelect // $Log$ +// Revision 1.12 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.11 2004/06/16 10:38:59 rurban // Disallow refernces in calls if the declaration is a reference Index: WikiAdminChown.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/WikiAdminChown.php,v retrieving revision 1.6 retrieving revision 1.7 diff -u -2 -b -p -d -r1.6 -r1.7 --- WikiAdminChown.php 16 Jun 2004 10:38:59 -0000 1.6 +++ WikiAdminChown.php 23 Nov 2004 15:17:19 -0000 1.7 @@ -100,8 +100,8 @@ extends WikiPlugin_WikiAdminSelect if (empty($args['user'])) $args['user'] = $request->_user->UserName(); - if (!empty($args['exclude'])) + /*if (!empty($args['exclude'])) $exclude = explodePageList($args['exclude']); else - $exclude = false; + $exclude = false;*/ $this->preSelectS($args, $request); @@ -138,5 +138,5 @@ extends WikiPlugin_WikiAdminSelect if ($next_action == 'select' and empty($pages)) { // List all pages to select from. - $pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit']); + $pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit'], $args['exclude']); } /* // let the user decide which info @@ -145,5 +145,5 @@ extends WikiPlugin_WikiAdminSelect } */ - $pagelist = new PageList_Selectable($args['info'], $exclude, $args); + $pagelist = new PageList_Selectable($args['info'], $args['exclude'], $args); $pagelist->addPageList($pages); @@ -190,4 +190,12 @@ extends WikiPlugin_WikiAdminSelect // $Log$ +// Revision 1.7 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.6 2004/06/16 10:38:59 rurban // Disallow refernces in calls if the declaration is a reference Index: WikiAdminRemove.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/WikiAdminRemove.php,v retrieving revision 1.29 retrieving revision 1.30 diff -u -2 -b -p -d -r1.29 -r1.30 --- WikiAdminRemove.php 9 Nov 2004 17:11:17 -0000 1.29 +++ WikiAdminRemove.php 23 Nov 2004 15:17:19 -0000 1.30 @@ -134,9 +134,8 @@ extends WikiPlugin_WikiAdminSelect $args['min_age'] = -1; $this->_args =& $args; - - if (!empty($args['exclude'])) + /*if (!empty($args['exclude'])) $exclude = explodePageList($args['exclude']); else - $exclude = false; + $exclude = false;*/ $this->preSelectS($args, $request); @@ -177,7 +176,7 @@ extends WikiPlugin_WikiAdminSelect if ($next_action == 'select') { // List all pages to select from. - $pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit']); + $pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit'], $args['exclude']); } - $pagelist = new PageList_Selectable($args['info'], $exclude, + $pagelist = new PageList_Selectable($args['info'], $args['exclude'], array('types' => array('remove' @@ -238,4 +237,12 @@ class _PageList_Column_remove extends _P // $Log$ +// Revision 1.30 2004/11/23 15:17:19 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.29 2004/11/09 17:11:17 rurban // * revert to the wikidb ref passing. there's no memory abuse there. Index: WikiAdminRename.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/WikiAdminRename.php,v retrieving revision 1.21 retrieving revision 1.22 diff -u -2 -b -p -d -r1.21 -r1.22 --- WikiAdminRename.php 1 Nov 2004 10:43:59 -0000 1.21 +++ WikiAdminRename.php 23 Nov 2004 15:17:20 -0000 1.22 @@ -129,8 +129,4 @@ extends WikiPlugin_WikiAdminSelect $args = $this->getArgs($argstr, $request); $this->_args = $args; - if (!empty($args['exclude'])) - $exclude = explodePageList($args['exclude']); - else - $exclude = false; $this->preSelectS($args, $request); @@ -166,5 +162,5 @@ extends WikiPlugin_WikiAdminSelect if ($next_action == 'select' and empty($pages)) { // List all pages to select from. - $pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit']); + $pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit'], $args['exclude']); } if ($next_action == 'verify') { @@ -173,5 +169,5 @@ extends WikiPlugin_WikiAdminSelect $pagelist = new PageList_Selectable ( - $args['info'], $exclude, + $args['info'], $args['exclude'], array('types' => array('renamed_pagename' @@ -279,4 +275,12 @@ class _PageList_Column_renamed_pagename // $Log$ +// Revision 1.22 2004/11/23 15:17:20 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.21 2004/11/01 10:43:59 rurban // seperate PassUser methods into seperate dir (memory usage) Index: WikiAdminSearchReplace.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/WikiAdminSearchReplace.php,v retrieving revision 1.17 retrieving revision 1.18 diff -u -2 -b -p -d -r1.17 -r1.18 --- WikiAdminSearchReplace.php 17 Sep 2004 14:24:06 -0000 1.17 +++ WikiAdminSearchReplace.php 23 Nov 2004 15:17:20 -0000 1.18 @@ -58,5 +58,5 @@ extends WikiPlugin_WikiAdminSelect } - function replaceHelper(&$dbi, $pagename, $from, $to, $caseexact = true, $regex = false) { + function replaceHelper(&$dbi, $pagename, $from, $to, $case_exact = true, $regex = false) { $page = $dbi->getPage($pagename); if ($page->exists()) {// don't replace default contents @@ -65,7 +65,7 @@ extends WikiPlugin_WikiAdminSelect $text = $current->getPackedContent(); if ($regex) { - $newtext = preg_replace("/".$from."/".($caseexact?'':'i'), $to, $text); + $newtext = preg_replace("/".$from."/".($case_exact?'':'i'), $to, $text); } else { - if ($caseexact) { + if ($case_exact) { $newtext = str_replace($from, $to, $text); } else { @@ -92,10 +92,10 @@ extends WikiPlugin_WikiAdminSelect $count = 0; $post_args = $request->getArg('admin_replace'); - $caseexact = !empty($post_args['caseexact']); + $case_exact = !empty($post_args['case_exact']); $regex = !empty($post_args['regex']); foreach ($pages as $pagename) { if (!mayAccessPage('edit',$pagename)) { $ul->pushContent(HTML::li(fmt("Access denied to change page '%s'.",$pagename))); - } elseif (($result = $this->replaceHelper($dbi, $pagename, $from, $to, $caseexact, $regex))) { + } elseif (($result = $this->replaceHelper($dbi, $pagename, $from, $to, $case_exact, $regex))) { $ul->pushContent(HTML::li(fmt("Replaced '%s' with '%s' in page '%s'.", $from, $to, WikiLink($pagename)))); $count++; @@ -122,9 +122,4 @@ extends WikiPlugin_WikiAdminSelect $args = $this->getArgs($argstr, $request); $this->_args = $args; - if (!empty($args['exclude'])) - $exclude = is_string($args['exclude']) ? explodePageList($args['exclude']) - : $args['exclude']; // <! plugin-list !> - else - $exclude = false; //TODO: support p from <!plugin-list !> @@ -161,5 +156,5 @@ extends WikiPlugin_WikiAdminSelect // List all pages to select from. //TODO: check for permissions and list only the allowed - $pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit']); + $pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit'], $args['exclude']); } @@ -167,5 +162,5 @@ extends WikiPlugin_WikiAdminSelect $args['info'] = "checkbox,pagename,hi_content"; } - $pagelist = new PageList_Selectable($args['info'], $exclude, + $pagelist = new PageList_Selectable($args['info'], $args['exclude'], array_merge ( @@ -224,7 +219,7 @@ extends WikiPlugin_WikiAdminSelect 'value' => $post_args['to']))); $checkbox = HTML::input(array('type' => 'checkbox', - 'name' => 'admin_replace[caseexact]', + 'name' => 'admin_replace[case_exact]', 'value' => 1)); - if (!empty($post_args['caseexact'])) + if (!empty($post_args['case_exact'])) $checkbox->setAttr('checked','checked'); $header->pushContent(HTML::br(),$checkbox," ",_("case-exact")); @@ -270,4 +265,12 @@ function stri_replace($find,$replace,$st // $Log$ +// Revision 1.18 2004/11/23 15:17:20 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.17 2004/09/17 14:24:06 rurban // support exclude=<!plugin-list !>, p not yet Index: WikiAdminSelect.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/WikiAdminSelect.php,v retrieving revision 1.20 retrieving revision 1.21 diff -u -2 -b -p -d -r1.20 -r1.21 --- WikiAdminSelect.php 4 Oct 2004 23:39:34 -0000 1.20 +++ WikiAdminSelect.php 23 Nov 2004 15:17:20 -0000 1.21 @@ -69,6 +69,6 @@ extends WikiPlugin * preSelectS() is similar, but fills $this->_list */ - function collectPages(&$list, &$dbi, $sortby, $limit=0) { - $allPages = $dbi->getAllPages(0,$sortby,$limit); + function collectPages(&$list, &$dbi, $sortby, $limit=0, $exclude=false) { + $allPages = $dbi->getAllPages(0, $sortby, $limit, $exclude); while ($pagehandle = $allPages->next()) { $pagename = $pagehandle->getName(); @@ -92,9 +92,9 @@ extends WikiPlugin $args['s'] = $request->getArg['s']; if ( !empty($args['owner']) ) - $sl = PageList::allPagesByOwner($args['owner'],false,$args['sortby'],$args['limit']); + $sl = PageList::allPagesByOwner($args['owner'],false,$args['sortby'],$args['limit'],$args['exclude']); elseif ( !empty($args['author']) ) - $sl = PageList::allPagesByAuthor($args['author'],false,$args['sortby'],$args['limit']); + $sl = PageList::allPagesByAuthor($args['author'],false,$args['sortby'],$args['limit'],$args['exclude']); elseif ( !empty($args['creator']) ) - $sl = PageList::allPagesByCreator($args['creator'],false,$args['sortby'],$args['limit']); + $sl = PageList::allPagesByCreator($args['creator'],false,$args['sortby'],$args['limit'],$args['exclude']); elseif ( !empty($args['s']) or !empty($args['only']) ) { // all pages by name @@ -104,9 +104,7 @@ extends WikiPlugin if (!empty($sl)) { $request->setArg('verify', 1); - if (!empty($args['exclude'])) - $exclude = explodePageList($args['exclude']); foreach ($sl as $name) { if (!empty($args['exclude'])) { - if (!in_array($name, $exclude)) + if (!in_array($name, $args['exclude'])) $this->_list[$name] = 1; } else { @@ -199,5 +197,5 @@ extends WikiPlugin $this->_list = $this->collectPages($this->_list, $dbi, $args['sortby'], $args['limit']); } - $pagelist = new PageList_Selectable($info, $exclude, $args); + $pagelist = new PageList_Selectable($info, $args['exclude'], $args); $pagelist->addPageList($this->_list); $form->pushContent($pagelist->getContent()); @@ -250,4 +248,12 @@ extends WikiPlugin // $Log$ +// Revision 1.21 2004/11/23 15:17:20 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.20 2004/10/04 23:39:34 rurban // just aesthetics Index: WikiAdminSetAcl.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/WikiAdminSetAcl.php,v retrieving revision 1.20 retrieving revision 1.21 diff -u -2 -b -p -d -r1.20 -r1.21 --- WikiAdminSetAcl.php 1 Nov 2004 10:43:59 -0000 1.20 +++ WikiAdminSetAcl.php 23 Nov 2004 15:17:20 -0000 1.21 @@ -123,8 +123,4 @@ extends WikiPlugin_WikiAdminSelect $args = $this->getArgs($argstr, $request); $this->_args = $args; - if (!empty($args['exclude'])) - $exclude = explodePageList($args['exclude']); - else - $exclude = false; $this->preSelectS($args, $request); @@ -161,5 +157,5 @@ extends WikiPlugin_WikiAdminSelect if ($next_action == 'select' and empty($pages)) { // List all pages to select from. - $pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit']); + $pages = $this->collectPages($pages, $dbi, $args['sortby'], $args['limit'], $args['exclude']); } if ($next_action == 'verify') { @@ -167,5 +163,5 @@ extends WikiPlugin_WikiAdminSelect } $pagelist = new PageList_Selectable($args['info'], - $exclude, + $args['exclude'], array('types' => array( 'perm' @@ -281,4 +277,12 @@ class _PageList_Column_perm extends _Pag // $Log$ +// Revision 1.21 2004/11/23 15:17:20 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.20 2004/11/01 10:43:59 rurban // seperate PassUser methods into seperate dir (memory usage) Index: WikiFormRich.php =================================================================== RCS file: /cvsroot/phpwiki/phpwiki/lib/plugin/WikiFormRich.php,v retrieving revision 1.3 retrieving revision 1.4 diff -u -2 -b -p -d -r1.3 -r1.4 --- WikiFormRich.php 9 Jul 2004 13:05:34 -0000 1.3 +++ WikiFormRich.php 23 Nov 2004 15:17:20 -0000 1.4 @@ -2,5 +2,5 @@ rcs_id('$Id$'); /** - Copyright 1999, 2000, 2001, 2002, 2004 $ThePhpWikiProgrammingTeam + Copyright 2004 $ThePhpWikiProgrammingTeam This file is part of PhpWiki. @@ -47,27 +47,38 @@ rcs_id('$Id$'); editbox[] name=pages value="*" editbox[] name=exclude value="" ?> - <?plugin WikiFormRich action=loadfile method=GET editbox[] name=source value=DEFAULT_WIKI_PGSRC checkbox[] name=overwrite value=1 editbox[] name=exclude value="" ?> - */ + <?plugin WikiFormRich action=TitleSearch + editbox[] name=s text="" + checkbox[] name=case_exact + checkbox[] name=regex ?> + <?plugin WikiFormRich action=FullTextSearch + editbox[] name=s text="" + checkbox[] name=case_exact + checkbox[] name=regex ?> + <?plugin WikiFormRich action=FuzzyPages + editbox[] name=s text="" + checkbox[] name=case_exact ?> +*/ class WikiPlugin_WikiFormRich extends WikiPlugin { function getName () { + return "WikiFormRich"; + } + function getDescription () { return _("Provide generic WikiForm input buttons"); } - function getVersion() { return preg_replace("/[Revision: $]/", '', "\$Revision$"); } - function getDefaultArguments() { return array('action' => false, // required argument 'method' => 'POST', // or GET 'class' => false, - 'buttontext' => false, // for the submit button + 'buttontext' => false, // for the submit button. default: action 'cancel' => false, // boolean if the action supports cancel also ); @@ -176,4 +187,12 @@ extends WikiPlugin // $Log$ +// Revision 1.4 2004/11/23 15:17:20 rurban +// better support for case_exact search (not caseexact for consistency), +// plugin args simplification: +// handle and explode exclude and pages argument in WikiPlugin::getArgs +// and exclude in advance (at the sql level if possible) +// handle sortby and limit from request override in WikiPlugin::getArgs +// ListSubpages: renamed pages to maxpages +// // Revision 1.3 2004/07/09 13:05:34 rurban // just aesthetics @@ -194,5 +213,4 @@ extends WikiPlugin // more generic forms // -// // For emacs users |