MediaWiki  1.23.12
CategoryViewer Class Reference
Inheritance diagram for CategoryViewer:
Collaboration diagram for CategoryViewer:

Public Member Functions

 __construct ( $title, IContextSource $context, $from=array(), $until=array(), $query=array())
 Constructor. More...
 
 addImage (Title $title, $sortkey, $pageLength, $isRedirect=false)
 Add a page in the image namespace. More...
 
 addPage ( $title, $sortkey, $pageLength, $isRedirect=false)
 Add a miscellaneous page. More...
 
 addSubcategoryObject (Category $cat, $sortkey, $pageLength)
 Add a subcategory to the internal lists, using a Category object. More...
 
 clearCategoryState ()
 
 doCategoryQuery ()
 
 finaliseCategoryState ()
 
 formatList ( $articles, $articles_start_char, $cutoff=6)
 Format a list of articles chunked by letter, either as a bullet list or a columnar format, depending on the length. More...
 
 getCategoryBottom ()
 
 getCategoryTop ()
 
 getHTML ()
 Format the category data list. More...
 
 getImageSection ()
 
 getPagesSection ()
 
 getSubcategorySection ()
 
 getSubcategorySortChar ( $title, $sortkey)
 Get the character to be used for sorting subcategories. More...
 
- Public Member Functions inherited from ContextSource
 canUseWikiPage ()
 Check whether a WikiPage object can be get with getWikiPage(). More...
 
 exportSession ()
 Export the resolved user IP, HTTP headers, user ID, and session ID. More...
 
 getConfig ()
 Get the Config object. More...
 
 getContext ()
 Get the RequestContext object. More...
 
 getLang ()
 Get the Language object. More...
 
 getLanguage ()
 Get the Language object. More...
 
 getOutput ()
 Get the OutputPage object. More...
 
 getRequest ()
 Get the WebRequest object. More...
 
 getSkin ()
 Get the Skin object. More...
 
 getTitle ()
 Get the Title object. More...
 
 getUser ()
 Get the User object. More...
 
 getWikiPage ()
 Get the WikiPage object. More...
 
 msg ()
 Get a Message object with context set Parameters are the same as wfMessage() More...
 
 setContext (IContextSource $context)
 Set the IContextSource object. More...
 

Static Public Member Functions

static columnList ( $articles, $articles_start_char)
 Format a list of articles chunked by letter in a three-column list, ordered vertically. More...
 

Public Attributes

 $articles
 
 $articles_start_char
 
 $children
 
 $children_start_char
 
Collation $collation
 
Array $flip
 
 $from
 
ImageGallery $gallery
 
 $imgsNoGallery
 
 $imgsNoGallery_start_char
 
 $imgsNoGalley
 
 $limit
 
Array $nextPage
 
 $showGallery
 
Title $title
 
 $until
 

Private Member Functions

 addFragmentToTitle ( $title, $section)
 Takes a title, and adds the fragment identifier that corresponds to the correct segment of the category. More...
 
 getCountMessage ( $rescnt, $dbcnt, $type)
 What to do if the category table conflicts with the number of results returned? This function says what. More...
 
 getSectionPagingLinks ( $type)
 Get the paging links for a section (subcats/pages/files), to go at the top and bottom of the output. More...
 
 pagingLinks ( $first, $last, $type='')
 Create paging links, as a helper method to getSectionPagingLinks(). More...
 

Static Private Member Functions

static shortList ( $articles, $articles_start_char)
 Format a list of articles chunked by letter in a bullet list. More...
 

Private Attributes

Category $cat
 Category object for this page. More...
 
array $query
 The original query array, to be used in generating paging links. More...
 

Detailed Description

Definition at line 23 of file CategoryViewer.php.

Constructor & Destructor Documentation

◆ __construct()

CategoryViewer::__construct (   $title,
IContextSource  $context,
  $from = array(),
  $until = array(),
  $query = array() 
)

Constructor.

Since
1.19 $context is a second, required parameter
Parameters
$titleTitle
$contextIContextSource
array$fromAn array with keys page, subcat, and file for offset of results of each section (since 1.17)
array$untilAn array with 3 keys for until of each section (since 1.17)
$queryArray

Definition at line 72 of file CategoryViewer.php.

References $from, $query, $title, $until, from, global, Category\newFromTitle(), query, ContextSource\setContext(), Collation\singleton(), and title.

Member Function Documentation

◆ addFragmentToTitle()

CategoryViewer::addFragmentToTitle (   $title,
  $section 
)
private

Takes a title, and adds the fragment identifier that corresponds to the correct segment of the category.

Parameters
Title$titleThe title (usually $this->title)
string$sectionWhich section
Exceptions
MWException
Returns
Title

Definition at line 629 of file CategoryViewer.php.

References $section, $title, Title\getDBkey(), Title\getNamespace(), and Title\makeTitle().

Referenced by pagingLinks().

◆ addImage()

CategoryViewer::addImage ( Title  $title,
  $sortkey,
  $pageLength,
  $isRedirect = false 
)

Add a page in the image namespace.

Parameters
$titleTitle
$sortkey
$pageLength
$isRedirectbool

Definition at line 211 of file CategoryViewer.php.

References $flip, $link, $title, $wgContLang, global, and Linker\link().

Referenced by doCategoryQuery().

◆ addPage()

CategoryViewer::addPage (   $title,
  $sortkey,
  $pageLength,
  $isRedirect = false 
)

Add a miscellaneous page.

Parameters
$title
$sortkey
$pageLength
$isRedirectbool

Definition at line 241 of file CategoryViewer.php.

References $link, $title, $wgContLang, global, and Linker\link().

Referenced by doCategoryQuery().

◆ addSubcategoryObject()

CategoryViewer::addSubcategoryObject ( Category  $cat,
  $sortkey,
  $pageLength 
)

Add a subcategory to the internal lists, using a Category object.

Parameters
$catCategory
$sortkey
$pageLength

Definition at line 162 of file CategoryViewer.php.

References $cat, $link, $title, getSubcategorySortChar(), Title\getText(), Category\getTitle(), Title\isRedirect(), and Linker\link().

Referenced by doCategoryQuery().

◆ clearCategoryState()

CategoryViewer::clearCategoryState ( )

◆ columnList()

static CategoryViewer::columnList (   $articles,
  $articles_start_char 
)
static

Format a list of articles chunked by letter in a three-column list, ordered vertically.

TODO: Take the headers into account when creating columns, so they're more visually equal.

More distant TODO: Scrap this and use CSS columns, whenever IE finally supports those.

Parameters
$articlesArray
$articles_start_charArray
Returns
String
Access:\n private

Definition at line 508 of file CategoryViewer.php.

References $article, $articles, $articles_start_char, $columns, $ret, array(), as, and wfMessage().

Referenced by formatList().

◆ doCategoryQuery()

◆ finaliseCategoryState()

CategoryViewer::finaliseCategoryState ( )

Definition at line 256 of file CategoryViewer.php.

Referenced by getHTML().

◆ formatList()

CategoryViewer::formatList (   $articles,
  $articles_start_char,
  $cutoff = 6 
)

Format a list of articles chunked by letter, either as a bullet list or a columnar format, depending on the length.

Parameters
$articlesArray
$articles_start_charArray
$cutoffInt
Returns
String
Access:\n private

Definition at line 476 of file CategoryViewer.php.

References $articles, $articles_start_char, $attribs, array(), columnList(), Html\rawElement(), shortList(), and title.

Referenced by getImageSection(), getPagesSection(), and getSubcategorySection().

◆ getCategoryBottom()

CategoryViewer::getCategoryBottom ( )
Returns
string

Definition at line 462 of file CategoryViewer.php.

Referenced by getCategoryTop(), and getHTML().

◆ getCategoryTop()

CategoryViewer::getCategoryTop ( )
Returns
string

Definition at line 351 of file CategoryViewer.php.

References getCategoryBottom().

Referenced by getHTML().

◆ getCountMessage()

CategoryViewer::getCountMessage (   $rescnt,
  $dbcnt,
  $type 
)
private

What to do if the category table conflicts with the number of results returned? This function says what.

Each type is considered independently of the other types.

Parameters
int$rescntThe number of items returned by our database query.
int$dbcntThe number of items according to the category table.
string$type'subcat', 'article', or 'file'
Returns
string A message giving the number of items, to output to HTML.

Definition at line 659 of file CategoryViewer.php.

References $type, from, and ContextSource\msg().

Referenced by getImageSection(), getPagesSection(), and getSubcategorySection().

◆ getHTML()

◆ getImageSection()

CategoryViewer::getImageSection ( )
Returns
string

Definition at line 413 of file CategoryViewer.php.

References formatList(), getCountMessage(), getSectionPagingLinks(), ContextSource\msg(), title, and wfEscapeWikiText().

Referenced by getHTML().

◆ getPagesSection()

CategoryViewer::getPagesSection ( )
Returns
string

Definition at line 384 of file CategoryViewer.php.

References formatList(), getCountMessage(), getSectionPagingLinks(), ContextSource\msg(), title, and wfEscapeWikiText().

Referenced by getHTML().

◆ getSectionPagingLinks()

CategoryViewer::getSectionPagingLinks (   $type)
private

Get the paging links for a section (subcats/pages/files), to go at the top and bottom of the output.

Parameters
string$type'page', 'subcat', or 'file'
Returns
string HTML output, possibly empty if there are no other pages

Definition at line 447 of file CategoryViewer.php.

References $type, from, and pagingLinks().

Referenced by getImageSection(), getPagesSection(), and getSubcategorySection().

◆ getSubcategorySection()

CategoryViewer::getSubcategorySection ( )
Returns
string

Definition at line 361 of file CategoryViewer.php.

References formatList(), getCountMessage(), getSectionPagingLinks(), and ContextSource\msg().

Referenced by getHTML().

◆ getSubcategorySortChar()

CategoryViewer::getSubcategorySortChar (   $title,
  $sortkey 
)

Get the character to be used for sorting subcategories.

If there's a link from Category:A to Category:B, the sortkey of the resulting entry in the categorylinks table is Category:A, not A, which it SHOULD be. Workaround: If sortkey == "Category:".$title, than use $title for sorting, else use sortkey...

Parameters
Title$title
string$sortkeyThe human-readable sortkey (before transforming to icu or whatever).
Returns
string

Definition at line 190 of file CategoryViewer.php.

References $title, $wgContLang, Title\getDBkey(), Title\getPrefixedText(), and global.

Referenced by addSubcategoryObject().

◆ pagingLinks()

CategoryViewer::pagingLinks (   $first,
  $last,
  $type = '' 
)
private

Create paging links, as a helper method to getSectionPagingLinks().

Parameters
string$firstThe 'until' parameter for the generated URL
string$lastThe 'from' parameter for the generated URL
string$typeA prefix for parameters, 'page' or 'subcat' or 'file'
Returns
String HTML

Definition at line 588 of file CategoryViewer.php.

References $last, $query, $type, addFragmentToTitle(), array(), Linker\linkKnown(), ContextSource\msg(), and title.

Referenced by getSectionPagingLinks().

◆ shortList()

static CategoryViewer::shortList (   $articles,
  $articles_start_char 
)
staticprivate

Format a list of articles chunked by letter in a bullet list.

Parameters
$articlesArray
$articles_start_charArray
Returns
String

Definition at line 564 of file CategoryViewer.php.

References $articles, and $articles_start_char.

Referenced by formatList().

Member Data Documentation

◆ $articles

CategoryViewer::$articles

Definition at line 24 of file CategoryViewer.php.

Referenced by columnList(), formatList(), and shortList().

◆ $articles_start_char

CategoryViewer::$articles_start_char

Definition at line 24 of file CategoryViewer.php.

Referenced by columnList(), formatList(), and shortList().

◆ $cat

Category CategoryViewer::$cat
private

Category object for this page.

Definition at line 54 of file CategoryViewer.php.

Referenced by addSubcategoryObject(), and doCategoryQuery().

◆ $children

CategoryViewer::$children

Definition at line 24 of file CategoryViewer.php.

◆ $children_start_char

CategoryViewer::$children_start_char

Definition at line 24 of file CategoryViewer.php.

◆ $collation

Collation CategoryViewer::$collation

Definition at line 45 of file CategoryViewer.php.

◆ $flip

Array CategoryViewer::$flip

Definition at line 37 of file CategoryViewer.php.

Referenced by addImage().

◆ $from

CategoryViewer::$from

Definition at line 24 of file CategoryViewer.php.

Referenced by __construct().

◆ $gallery

ImageGallery CategoryViewer::$gallery

Definition at line 49 of file CategoryViewer.php.

◆ $imgsNoGallery

CategoryViewer::$imgsNoGallery

Definition at line 24 of file CategoryViewer.php.

◆ $imgsNoGallery_start_char

CategoryViewer::$imgsNoGallery_start_char

Definition at line 24 of file CategoryViewer.php.

◆ $imgsNoGalley

CategoryViewer::$imgsNoGalley

Definition at line 24 of file CategoryViewer.php.

◆ $limit

CategoryViewer::$limit

Definition at line 24 of file CategoryViewer.php.

◆ $nextPage

Array CategoryViewer::$nextPage

Definition at line 33 of file CategoryViewer.php.

◆ $query

array CategoryViewer::$query
private

The original query array, to be used in generating paging links.

Definition at line 59 of file CategoryViewer.php.

Referenced by __construct(), and pagingLinks().

◆ $showGallery

CategoryViewer::$showGallery

Definition at line 24 of file CategoryViewer.php.

◆ $title

◆ $until

CategoryViewer::$until

Definition at line 24 of file CategoryViewer.php.

Referenced by __construct().


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