MediaWiki  REL1_19
Categoryfinder Class Reference

The "Categoryfinder" class takes a list of articles, creates an internal representation of all their parent categories (as well as parents of parents etc.). More...

List of all members.

Public Member Functions

 __construct ()
 Constructor (currently empty).
 check ($id, &$conds, $path=array())
 This functions recurses through the parent representation, trying to match the conditions.
 run ()
 Iterates through the parent tree starting with the seed values, then checks the articles if they match the conditions.
 scan_next_layer ()
 Scans a "parent layer" of the articles/categories in $this->next.
 seed ($article_ids, $categories, $mode= 'AND')
 Initializes the instance.

Public Attributes

 $articles = array()
 $dbr
 $deadend = array()
 $mode
 $name2id = array()
 $next = array()
 $parents = array()
 $targets = array()

Detailed Description

The "Categoryfinder" class takes a list of articles, creates an internal representation of all their parent categories (as well as parents of parents etc.).

From this representation, it determines which of these articles are in one or all of a given subset of categories.

Example use : # Determines whether the article with the page_id 12345 is in both # "Category 1" and "Category 2" or their subcategories, respectively

$cf = new Categoryfinder; $cf->seed( array( 12345 ), array( 'Category 1', 'Category 2' ), 'AND' ); $a = $cf->run(); print implode( ',' , $a );

Definition at line 24 of file Categoryfinder.php.


Constructor & Destructor Documentation

Constructor (currently empty).

Definition at line 41 of file Categoryfinder.php.


Member Function Documentation

Categoryfinder::check ( id,
&$  conds,
path = array() 
)

This functions recurses through the parent representation, trying to match the conditions.

Parameters:
$idint The article/category to check
$condsarray The array of categories to match
$patharray used to check for recursion loops
Returns:
bool Does this match the conditions?

Definition at line 98 of file Categoryfinder.php.

Iterates through the parent tree starting with the seed values, then checks the articles if they match the conditions.

Returns:
array of page_ids (those given to seed() that match the conditions)

Definition at line 72 of file Categoryfinder.php.

Scans a "parent layer" of the articles/categories in $this->next.

Definition at line 153 of file Categoryfinder.php.

References $res.

Categoryfinder::seed ( article_ids,
categories,
mode = 'AND' 
)

Initializes the instance.

Do this prior to calling run().

Parameters:
$article_idsArray of article IDs
$categoriesFIXME
$modeString: FIXME, default 'AND'.
Todo:
FIXME: $categories/$mode

Definition at line 51 of file Categoryfinder.php.

Referenced by SpecialRecentChanges\filterByCategories().

Here is the caller graph for this function:


Member Data Documentation

Categoryfinder::$articles = array()

Definition at line 25 of file Categoryfinder.php.

Categoryfinder::$dbr

Definition at line 36 of file Categoryfinder.php.

Categoryfinder::$deadend = array()

Definition at line 26 of file Categoryfinder.php.

Categoryfinder::$mode

Definition at line 31 of file Categoryfinder.php.

Categoryfinder::$name2id = array()

Definition at line 30 of file Categoryfinder.php.

Categoryfinder::$next = array()

Definition at line 28 of file Categoryfinder.php.

Categoryfinder::$parents = array()

Definition at line 27 of file Categoryfinder.php.

Categoryfinder::$targets = array()

Definition at line 29 of file Categoryfinder.php.


The documentation for this class was generated from the following file: