Difference between revisions of "Issue:Select discussion by category of talk page"
From FollowTheScore
(New page: {{Issue |Type = Feature |Extension = DPL |Version = ? |Description = |Status = open }} == Feature == Objective: show latest changes to discussions about articles h...) |
(No difference)
|
Revision as of 15:01, 8 November 2007
| Description: | |
| Extension / Version: | DPL / ? |
| Type / Status: | Feature / open |
Feature
Objective: show latest changes to discussions about articles having a category. The discussion page should not need to have a category assigned. I made a quick hack to do that: (sametitlenamespace is unused)
diff -ru DynamicPageList-1.5.2/DynamicPageList2.php DynamicPageList-1.5.2-mjs/DynamicPageList2.php
--- DynamicPageList-1.5.2/DynamicPageList2.php 2007-11-02 19:58:06.000000000 +0100
+++ DynamicPageList-1.5.2-mjs/DynamicPageList2.php 2007-11-08 13:10:41.000000000 +0100
@@ -226,7 +226,7 @@
* offset and count are now implemented directly in SQL
*/
-define('DPL2_VERSION', '1.5.2'); // current version
+define('DPL2_VERSION', '1.5.2+mjs'); // current version
@@ -680,7 +680,15 @@
* Empty value (default) means no limit.
* Not applicable to mode=category.
*/
- 'titlemaxlength' => array('default' => '', 'pattern' => '/^\d*$/')
+ 'titlemaxlength' => array('default' => '', 'pattern' => '/^\d*$/'),
+
+ /**
+ * search for a page with the same title in another namespace (this is normally the article to a talk page)
+ */
+ 'sametitlecategory' => NULL,
+ 'sametitlenamespace' => NULL
+
+
);
/**
@@ -1124,6 +1132,8 @@
$aNamespaces = array();
$aExcludeNamespaces = array();
+
+ $sSameTitleCategory = null;
// Output
$output = '';
@@ -1867,6 +1877,9 @@
case 'oneresultfooter':
$sOneResultFooter = $sArg;
break;
+ case 'sametitlecategory':
+ $sSameTitleCategory = $sArg;
+ break;
/**
* DEBUG, RESET and CACHE PARAMETER
@@ -2549,6 +2562,15 @@
// page_id=pl.pl_from (if pagelinks table required)
$sSqlWhere .= $sSqlCond_page_pl;
+
+ if ( isset($sSameTitleCategory) && $sSameTitleCategory !== null ) {
+ $sSqlWhere .= " AND $sPageTable.page_title IN (
+ select p2.page_title
+ from $sPageTable p2
+ inner join $sCategorylinksTable clstc ON (clstc.cl_from = p2.page_id AND clstc.cl_to = ".$dbr->addQuotes($sSameTitleCategory)." )
+ where p2.page_namespace = 0
+ ) ";
+ }
// GROUP BY ...
if ($sSqlGroupBy!='') {
--mjs 15:01, 8 November 2007 (CET)