$article: article (object) being viewed
$oldid: oldid (int) being viewed
-'DoEditSectionLink': Override the HTML generated for section edit links
-$skin: Skin object rendering the UI
-$title: Title object for the title being linked to (may not be the same as
- $wgTitle, if the section is included from a template)
-$section: The designation of the section being pointed to, to be included in
- the link, like "§ion=$section"
-$tooltip: The default tooltip. Escape with htmlspecialchars() before using.
- By default, this is wrapped in the 'editsectionhint' message.
-$result: The HTML to return, prefilled with the default plus whatever other
- changes earlier hooks have made
-
'EditFilter': Perform checks on an edit
$editor: Edit form (see includes/EditPage.php)
$text: Contents of the edit box
&$editpage: The current EditPage object
&$buttons: Array of edit buttons "Save", "Preview", "Live", and "Diff"
-'EditSectionLink': Do not use, use DoEditSectionLink instead.
+'EditSectionLink': Override the return value of Linker::editSectionLink()
$skin: Skin rendering the UI
$title: Title being linked to
$section: Section to link to
$link: Default link
$result: Result (alter this to override the generated links)
-'EditSectionLinkForOther': Do not use, use DoEditSectionLink instead.
+'EditSectionLinkForOther': Override the return value of Linker::editSectionLinkForOther()
$skin: Skin rendering the UI
$title: Title being linked to
$section: Section to link to
* @param $section Integer: section number.
*/
public function editSectionLinkForOther( $title, $section ) {
- wfDeprecated( __METHOD__ );
$title = Title::newFromText( $title );
return $this->doEditSectionLink( $title, $section, '', 'EditSectionLinkForOther' );
}
* @param $hint Link String: title, or default if omitted or empty
*/
public function editSectionLink( Title $nt, $section, $hint='' ) {
- wfDeprecated( __METHOD__ );
+ if( $hint != '' ) {
+ $hint = wfMsgHtml( 'editsectionhint', htmlspecialchars( $hint ) );
+ $hint = " title=\"$hint\"";
+ }
return $this->doEditSectionLink( $nt, $section, $hint, 'EditSectionLink' );
}
/**
- * Create a section edit link. This supersedes editSectionLink() and
- * editSectionLinkForOther().
+ * Implement editSectionLink and editSectionLinkForOther.
*
- * @param $nt Title The title being linked to (may not be the same as
- * $wgTitle, if the section is included from a template)
- * @param $section string The designation of the section being pointed to,
- * to be included in the link, like "§ion=$section"
- * @param $tooltip string The tooltip to use for the link: will be escaped
- * and wrapped in the 'editsectionhint' message
- * @return string HTML to use for edit link
+ * @param $nt Title object
+ * @param $section Integer, section number
+ * @param $hint String, for HTML title attribute
+ * @param $hook String, name of hook to run
+ * @return String, HTML to use for edit link
*/
- public function doEditSectionLink( Title $nt, $section, $tooltip='' ) {
- global $wgTitle;
- $attribs = '';
- if( $tooltip ) {
- $attribs = wfMsgHtml( 'editsectionhint', htmlspecialchars( $tooltip ) );
- $attribs = " title=\"$attribs\"";
- }
-
+ protected function doEditSectionLink( Title $nt, $section, $hint, $hook ) {
+ global $wgContLang;
+ $editurl = '§ion='.$section;
$url = $this->makeKnownLinkObj(
$nt,
htmlspecialchars(wfMsg('editsection')),
- "action=edit§ion=$section",
- '', '', '', $attribs
+ 'action=edit'.$editurl,
+ '', '', '', $hint
);
-
- # Run the old hooks
$result = null;
- if( $nt->equals( $wgTitle ) ) {
- wfRunHooks( 'EditSectionLink', array( &$this, $nt, $section, $attribs, $url, &$result ) );
- } else {
+
+ // The two hooks have slightly different interfaces . . .
+ if( $hook == 'EditSectionLink' ) {
+ wfRunHooks( 'EditSectionLink', array( &$this, $nt, $section, $hint, $url, &$result ) );
+ } elseif( $hook == 'EditSectionLinkForOther' ) {
wfRunHooks( 'EditSectionLinkForOther', array( &$this, $nt, $section, $url, &$result ) );
}
- if( !is_null( $result ) ) {
- # For reverse compatibility, add the brackets *after* the hook is
- # run, and even add them to hook-provided text. These hooks have
- # inconsistent and redundant interfaces, which is why they should
- # no longer be used. Use DoEditSectionLink instead.
+ // For reverse compatibility, add the brackets *after* the hook is run,
+ // and even add them to hook-provided text.
+ if( is_null( $result ) ) {
$result = wfMsgHtml( 'editsection-brackets', $url );
- return "<span class=\"editsection\">$result</span>";
+ } else {
+ $result = wfMsgHtml( 'editsection-brackets', $result );
}
-
- # Add the brackets and the span, and *then* run the nice new hook, with
- # consistent and non-redundant arguments.
- $result = wfMsgHtml( 'editsection-brackets', $url );
- $result = "<span class=\"editsection\">$result</span>";
-
- wfRunHooks( 'DoEditSectionLink', array( $this, $nt, $section, $tooltip, &$result ) );
- return $result;
+ return "<span class=\"editsection\">$result</span>";
}
/**