dépôts
/
lhc
/
web
/
wiklou.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e594150
)
coding style tweaks
author
Jack Phoenix
<ashley@users.mediawiki.org>
Tue, 23 Mar 2010 15:43:57 +0000
(15:43 +0000)
committer
Jack Phoenix
<ashley@users.mediawiki.org>
Tue, 23 Mar 2010 15:43:57 +0000
(15:43 +0000)
includes/Categoryfinder.php
patch
|
blob
|
history
diff --git
a/includes/Categoryfinder.php
b/includes/Categoryfinder.php
index
5ac8a9b
..
50fe1f0
100644
(file)
--- a/
includes/Categoryfinder.php
+++ b/
includes/Categoryfinder.php
@@
-10,14
+10,14
@@
* # Determines whether the article with the page_id 12345 is in both
* # "Category 1" and "Category 2" or their subcategories, respectively
*
* # 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 )
;
+ * $cf = new Categoryfinder;
+ * $cf->seed(
+ * array
( 12345 )
,
+ * array
( 'Category 1', 'Category 2' )
,
+ *
'AND'
+ * );
+ * $a = $cf->run();
+ * print implode
( ',' , $a )
;
* </code>
*
*/
* </code>
*
*/
@@
-43,7
+43,7
@@
class Categoryfinder {
* @param $categories FIXME
* @param $mode String: FIXME, default 'AND'.
*/
* @param $categories FIXME
* @param $mode String: FIXME, default 'AND'.
*/
- function seed( $article_ids, $categories, $mode =
"AND"
) {
+ function seed( $article_ids, $categories, $mode =
'AND'
) {
$this->articles = $article_ids;
$this->next = $article_ids;
$this->mode = $mode;
$this->articles = $article_ids;
$this->next = $article_ids;
$this->mode = $mode;
@@
-64,9
+64,9
@@
class Categoryfinder {
* then checks the articles if they match the conditions
* @return array of page_ids (those given to seed() that match the conditions)
*/
* then checks the articles if they match the conditions
* @return array of page_ids (those given to seed() that match the conditions)
*/
- function run
() {
+ function run() {
$this->dbr = wfGetDB( DB_SLAVE );
$this->dbr = wfGetDB( DB_SLAVE );
- while ( count
( $this->next ) > 0 ) {
+ while ( count( $this->next ) > 0 ) {
$this->scan_next_layer();
}
$this->scan_next_layer();
}
@@
-90,7
+90,7
@@
class Categoryfinder {
* @param $path used to check for recursion loops
* @return bool Does this match the conditions?
*/
* @param $path used to check for recursion loops
* @return bool Does this match the conditions?
*/
- function check( $id
, &$conds, $path = array() ) {
+ function check( $id, &$conds, $path = array() ) {
// Check for loops and stop!
if ( in_array( $id, $path ) ) {
return false;
// Check for loops and stop!
if ( in_array( $id, $path ) ) {
return false;
@@
-114,13
+114,13
@@
class Categoryfinder {
# Is this a condition?
if ( isset( $conds[$pname] ) ) {
# This key is in the category list!
# Is this a condition?
if ( isset( $conds[$pname] ) ) {
# This key is in the category list!
- if ( $this->mode ==
"OR"
) {
+ if ( $this->mode ==
'OR'
) {
# One found, that's enough!
$conds = array();
return true;
} else {
# Assuming "AND" as default
# One found, that's enough!
$conds = array();
return true;
} else {
# Assuming "AND" as default
- unset( $conds[$pname] )
;
+ unset( $conds[$pname] );
if ( count( $conds ) == 0 ) {
# All conditions met, done
return true;
if ( count( $conds ) == 0 ) {
# All conditions met, done
return true;
@@
-131,7
+131,7
@@
class Categoryfinder {
# Not done yet, try sub-parents
if ( !isset( $this->name2id[$pname] ) ) {
# No sub-parent
# Not done yet, try sub-parents
if ( !isset( $this->name2id[$pname] ) ) {
# No sub-parent
- continue
;
+ continue;
}
$done = $this->check( $this->name2id[$pname], $conds, $path );
if ( $done || count( $conds ) == 0 ) {
}
$done = $this->check( $this->name2id[$pname], $conds, $path );
if ( $done || count( $conds ) == 0 ) {
@@
-152,10
+152,10
@@
class Categoryfinder {
/* FROM */ 'categorylinks',
/* SELECT */ '*',
/* WHERE */ array( 'cl_from' => $this->next ),
/* FROM */ 'categorylinks',
/* SELECT */ '*',
/* WHERE */ array( 'cl_from' => $this->next ),
- __METHOD__ .
"-1"
+ __METHOD__ .
'-1'
);
while ( $o = $this->dbr->fetchObject( $res ) ) {
);
while ( $o = $this->dbr->fetchObject( $res ) ) {
- $k = $o->cl_to
;
+ $k = $o->cl_to;
# Update parent tree
if ( !isset( $this->parents[$o->cl_from] ) ) {
# Update parent tree
if ( !isset( $this->parents[$o->cl_from] ) ) {
@@
-164,9
+164,13
@@
class Categoryfinder {
$this->parents[$o->cl_from][$k] = $o;
# Ignore those we already have
$this->parents[$o->cl_from][$k] = $o;
# Ignore those we already have
- if ( in_array ( $k , $this->deadend ) ) continue;
+ if ( in_array( $k, $this->deadend ) ) {
+ continue;
+ }
- if ( isset ( $this->name2id[$k] ) ) continue;
+ if ( isset( $this->name2id[$k] ) ) {
+ continue;
+ }
# Hey, new category!
$layer[$k] = $k;
# Hey, new category!
$layer[$k] = $k;
@@
-175,12
+179,12
@@
class Categoryfinder {
$this->next = array();
# Find the IDs of all category pages in $layer, if they exist
$this->next = array();
# Find the IDs of all category pages in $layer, if they exist
- if ( count
( $layer ) > 0 ) {
+ if ( count( $layer ) > 0 ) {
$res = $this->dbr->select(
/* FROM */ 'page',
/* SELECT */ array( 'page_id', 'page_title' ),
/* WHERE */ array( 'page_namespace' => NS_CATEGORY , 'page_title' => $layer ),
$res = $this->dbr->select(
/* FROM */ 'page',
/* SELECT */ array( 'page_id', 'page_title' ),
/* WHERE */ array( 'page_namespace' => NS_CATEGORY , 'page_title' => $layer ),
- __METHOD__ .
"-2"
+ __METHOD__ .
'-2'
);
while ( $o = $this->dbr->fetchObject( $res ) ) {
$id = $o->page_id;
);
while ( $o = $this->dbr->fetchObject( $res ) ) {
$id = $o->page_id;