|
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.
|