From: <var...@us...> - 2022-02-05 17:08:08
|
Revision: 10981 http://sourceforge.net/p/phpwiki/code/10981 Author: vargenau Date: 2022-02-05 17:08:06 +0000 (Sat, 05 Feb 2022) Log Message: ----------- WantedPages plugin: handle exclude_from argument in lib/plugin/WantedPages.php Modified Paths: -------------- trunk/lib/WikiDB/backend/PDO.php trunk/lib/WikiDB/backend/PearDB.php trunk/lib/WikiDB/backend/PearDB_ffpgsql.php trunk/lib/WikiDB/backend/PearDB_mysqli.php trunk/lib/plugin/WantedPages.php Modified: trunk/lib/WikiDB/backend/PDO.php =================================================================== --- trunk/lib/WikiDB/backend/PDO.php 2022-02-03 20:03:12 UTC (rev 10980) +++ trunk/lib/WikiDB/backend/PDO.php 2022-02-05 17:08:06 UTC (rev 10981) @@ -1078,9 +1078,6 @@ if ($orderby = $this->sortby($sortby, 'db', array('pagename', 'wantedfrom'))) $orderby = 'ORDER BY ' . $orderby; - if ($exclude_from) { // array of pagenames - $exclude_from = " AND linked.pagename NOT IN " . $this->_sql_set($exclude_from); - } if ($exclude) { // array of pagenames $exclude = " AND $page_tbl.pagename NOT IN " . $this->_sql_set($exclude); } @@ -1099,7 +1096,6 @@ . " LEFT JOIN $nonempty_tbl ne ON linked.linkto = ne.id" . " WHERE ne.id IS NULL" . " AND p.id = linked.linkfrom" - . $exclude_from . $exclude . $orderby; if ($limit) { Modified: trunk/lib/WikiDB/backend/PearDB.php =================================================================== --- trunk/lib/WikiDB/backend/PearDB.php 2022-02-03 20:03:12 UTC (rev 10980) +++ trunk/lib/WikiDB/backend/PearDB.php 2022-02-05 17:08:06 UTC (rev 10981) @@ -881,9 +881,6 @@ if ($orderby = $this->sortby($sortby, 'db', array('pagename', 'wantedfrom'))) $orderby = 'ORDER BY ' . $orderby; - if ($exclude_from) { // array of pagenames - $exclude_from = " AND pp.pagename NOT IN " . $this->_sql_set($exclude_from); - } if ($exclude) { // array of pagenames $exclude = " AND p.pagename NOT IN " . $this->_sql_set($exclude); } @@ -894,7 +891,6 @@ . " LEFT JOIN $nonempty_tbl ne ON linked.linkto = ne.id" . " WHERE ne.id IS NULL" . " AND p.id = linked.linkfrom" - . $exclude_from . $exclude . $orderby; if ($limit) { Modified: trunk/lib/WikiDB/backend/PearDB_ffpgsql.php =================================================================== --- trunk/lib/WikiDB/backend/PearDB_ffpgsql.php 2022-02-03 20:03:12 UTC (rev 10980) +++ trunk/lib/WikiDB/backend/PearDB_ffpgsql.php 2022-02-05 17:08:06 UTC (rev 10981) @@ -560,8 +560,6 @@ if ($orderby = $this->sortby($sortby, 'db', array('pagename', 'wantedfrom'))) $orderby = 'ORDER BY ' . $orderby; - if ($exclude_from) // array of pagenames - $exclude_from = " AND substring(p.pagename from $p) NOT IN " . $this->_sql_set($exclude_from); if ($exclude) // array of pagenames $exclude = " AND substring(p.pagename from $p) NOT IN " . $this->_sql_set($exclude); $sql = "SELECT substring(pp.pagename from $p) AS wantedfrom, substring(p.pagename from $p) AS pagename" @@ -572,7 +570,6 @@ . " AND p.id = linked.linkfrom" . " AND substring(p.pagename from 0 for $p) = '$page_prefix'" . " AND substring(pp.pagename from 0 for $p) = '$page_prefix'" - . $exclude_from . $exclude . $orderby; if ($limit) { Modified: trunk/lib/WikiDB/backend/PearDB_mysqli.php =================================================================== --- trunk/lib/WikiDB/backend/PearDB_mysqli.php 2022-02-03 20:03:12 UTC (rev 10980) +++ trunk/lib/WikiDB/backend/PearDB_mysqli.php 2022-02-05 17:08:06 UTC (rev 10981) @@ -112,8 +112,6 @@ if ($orderby = $this->sortby($sortby, 'db', array('pagename', 'wantedfrom'))) $orderby = 'ORDER BY ' . $orderby; - if ($exclude_from) // array of pagenames - $exclude_from = " AND pp.pagename NOT IN " . $this->_sql_set($exclude_from); if ($exclude) // array of pagenames $exclude = " AND p.pagename NOT IN " . $this->_sql_set($exclude); @@ -124,7 +122,6 @@ . " LEFT JOIN $nonempty_tbl ne ON (linked.linkto = ne.id)" . " WHERE ISNULL(ne.id)" . " AND p.id = linked.linkfrom" - . $exclude_from . $exclude . $orderby; if ($limit) { Modified: trunk/lib/plugin/WantedPages.php =================================================================== --- trunk/lib/plugin/WantedPages.php 2022-02-03 20:03:12 UTC (rev 10980) +++ trunk/lib/plugin/WantedPages.php 2022-02-05 17:08:06 UTC (rev 10981) @@ -124,13 +124,15 @@ while ($row = $wanted_iter->next()) { $wantedfrom = $row['pagename']; $wanted = $row['wantedfrom']; - // ignore duplicates: - if (empty($pagelist->_wpagelist[$wanted])) - $pagelist->addPage($wanted); - if (!isset($pagelist->_wpagelist[$wanted])) - $pagelist->_wpagelist[$wanted][] = $wantedfrom; - elseif (!in_array($wantedfrom, $pagelist->_wpagelist[$wanted])) - $pagelist->_wpagelist[$wanted][] = $wantedfrom; + if (!in_array($wantedfrom, $exclude_from)) { + // ignore duplicates: + if (empty($pagelist->_wpagelist[$wanted])) + $pagelist->addPage($wanted); + if (!isset($pagelist->_wpagelist[$wanted])) + $pagelist->_wpagelist[$wanted][] = $wantedfrom; + elseif (!in_array($wantedfrom, $pagelist->_wpagelist[$wanted])) + $pagelist->_wpagelist[$wanted][] = $wantedfrom; + } } $wanted_iter->free(); unset($wanted_iter); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |