}
function get_user_cond() {
- $condition = "";
+ $condition = '';
if ($this->username == 'newbies') {
- $max = $this->dbr->selectField('user', 'max(user_id)', false, "make_sql");
+ $max = $this->dbr->selectField('user', 'max(user_id)', false, 'make_sql');
$condition = '>' . (int)($max - $max / 100);
}
- if ($condition == "") {
- $condition = " rev_user_text=" . $this->dbr->addQuotes($this->username);
+ if ($condition == '') {
+ $condition = ' rev_user_text=' . $this->dbr->addQuotes($this->username);
$index = 'usertext_timestamp';
} else {
- $condition = " rev_user {$condition}";
+ $condition = ' rev_user '.$condition ;
$index = 'user_timestamp';
}
return array($index, $condition);
function get_namespace_cond() {
if ($this->namespace !== false)
- return " AND page_namespace = " . (int)$this->namespace;
- return "";
+ return ' AND page_namespace = ' . (int)$this->namespace;
+ return '';
}
function get_previous_offset_for_paging() {
$sql = "SELECT rev_timestamp FROM $page, $revision $use_index " .
"WHERE page_id = rev_page AND rev_timestamp > '" . $this->offset . "' AND " .
- "rev_user_text = " . $this->dbr->addQuotes($this->username)
- . $nscond;
+ $usercond . $nscond;
$sql .= " ORDER BY rev_timestamp ASC";
$sql = $this->dbr->limitResult($sql, $this->limit, 0);
$res = $this->dbr->query($sql);
$nscond = $this->get_namespace_cond();
$sql = "SELECT rev_timestamp FROM $page, $revision $use_index " .
"WHERE page_id = rev_page AND " .
- "rev_user_text = " . $this->dbr->addQuotes($this->username)
- . $nscond;
+ $usercond . $nscond;
$sql .= " ORDER BY rev_timestamp ASC";
$sql = $this->dbr->limitResult($sql, $this->limit, 0);
$res = $this->dbr->query($sql);
extract($this->dbr->tableNames('page', 'revision'));
list($index, $userCond) = $this->get_user_cond();
- $limitQuery = "LIMIT {$this->limit}";
+ $limitQuery = 'LIMIT '.$this->limit;
if ($this->offset)
$offsetQuery = "AND rev_timestamp <= '{$this->offset}'";
$use_index = $this->dbr->useIndexClause($index);
$sql = "SELECT
page_namespace,page_title,page_is_new,page_latest,
- rev_id,rev_timestamp,rev_comment,rev_minor_edit,rev_user_text,
+ rev_id,rev_page,rev_text_id,rev_timestamp,rev_comment,rev_minor_edit,rev_user,rev_user_text,
rev_deleted
FROM $page,$revision $use_index
WHERE page_id=rev_page AND $userCond $nscond $offsetQuery
function find() {
$contribs = array();
- $res = $this->dbr->query($this->make_sql(), "contribs_finder::find");
+ $res = $this->dbr->query($this->make_sql(), 'contribs_finder::find');
while ($c = $this->dbr->fetchObject($res))
$contribs[] = $c;
$this->dbr->freeResult($res);
* @param string $par (optional) user name of the user for which to show the contributions
*/
function wfSpecialContributions( $par = null ) {
- global $wgUser, $wgOut, $wgLang, $wgContLang, $wgRequest, $wgTitle,
- $wgScript;
+ global $wgUser, $wgOut, $wgLang, $wgContLang, $wgRequest, $wgTitle, $wgScript, $wgSysopUserBans;
$fname = 'wfSpecialContributions';
$target = isset($par) ? $par : $wgRequest->getVal( 'target' );
list( $limit, $offset) = wfCheckLimits();
$offset = $wgRequest->getVal('offset');
/* Offset must be an integral. */
- if (!strlen($offset) || !preg_match("/^[0-9]+$/", $offset))
+ if (!strlen($offset) || !preg_match('/^[0-9]+$/', $offset))
$offset = 0;
- $title = Title::makeTitle(NS_SPECIAL, "Contributions");
- $urlbits = "target=" . wfUrlEncode($target);
+ $title = Title::makeTitle(NS_SPECIAL, 'Contributions');
+ $urlbits = 'target=' . wfUrlEncode($target);
$myurl = $title->escapeLocalURL($urlbits);
$finder = new contribs_finder(($target == 'newbies') ? 'newbies' : $nt->getText());
$finder->set_limit($limit);
$finder->set_offset($offset);
- $nsurl = $xnsurl = "";
+ $nsurl = $xnsurl = '';
if (($ns = $wgRequest->getVal('namespace', null)) !== null && $ns !== '') {
- $nsurl = "&namespace=$ns";
+ $nsurl = '&namespace='.$ns;
$xnsurl = htmlspecialchars($nsurl);
$finder->set_namespace($ns);
}
- if ($wgRequest->getText('go') == "prev") {
+ $boturl = '';
+ if ($wgUser->isAllowed('rollback') && $wgRequest->getBool( 'bot' ))
+ $boturl = '&bot=1';
+
+ if ($wgRequest->getText('go') == 'prev') {
$prevts = $finder->get_previous_offset_for_paging();
- $prevurl = $title->getLocalURL($urlbits . "&offset=$prevts&limit=$limit$nsurl");
+ $prevurl = $title->getLocalURL($urlbits . "&offset=$prevts&limit=$limit$nsurl$boturl");
$wgOut->redirect($prevurl);
return;
}
- if ($wgRequest->getText('go') == "first" && $target!="newbies") {
- $prevts = $finder->get_first_offset_for_paging();
- $prevurl = $title->getLocalURL($urlbits . "&offset=$prevts&limit=$limit$nsurl");
+ if ($wgRequest->getText('go') == 'first' && $target != 'newbies') {
+ $prevts = $finder->get_first_offset_for_paging();
+ $prevurl = $title->getLocalURL($urlbits . "&offset=$prevts&limit=$limit$nsurl$boturl");
$wgOut->redirect($prevurl);
return;
}
}
$talk = $nt->getTalkPage();
if( $talk ) {
- $ul .= ' (' . $sk->makeLinkObj( $talk, $wgLang->getNsText( NS_TALK ) ) . ')';
+ # Talk page link
+ $tools[] = $sk->makeLinkObj( $talk, $wgLang->getNsText( NS_TALK ) );
+ if( ( $id != 0 && $wgSysopUserBans ) || ( $id == 0 && User::isIP( $nt->getText() ) ) ) {
+ # Block link
+ if( $wgUser->isAllowed( 'block' ) )
+ $tools[] = $sk->makeKnownLinkObj( Title::makeTitle( NS_SPECIAL, 'Blockip/' . urlencode( $nt->getText() ) ), wfMsgHtml( 'blocklink' ) );
+ # Block log link
+ $tools[] = $sk->makeKnownLinkObj( Title::makeTitle( NS_SPECIAL, 'Log' ), htmlspecialchars( LogPage::logName( 'block' ) ), 'type=block&page=' . urlencode( $nt->getPrefixedText() ) );
+ }
+ # Other logs link
+ $tools[] = $sk->makeKnownLinkObj( Title::makeTitle( NS_SPECIAL, 'Log' ), wfMsgHtml( 'log' ), 'user=' . urlencode( $nt->getText() ) );
+ $ul .= ' (' . implode( ' | ', $tools ) . ')';
}
if ($target == 'newbies') {
$arr = $wgContLang->getFormattedNamespaces();
$nsform = "<form method='get' action=\"$wgScript\">\n";
- $nsform .= wfElement("input", array(
- "name" => "title",
- "type" => "hidden",
- "value" => $wgTitle->getPrefixedText()));
- $nsform .= wfElement("input", array(
- "name" => "offset",
- "type" => "hidden",
- "value" => $offset));
- $nsform .= wfElement("input", array(
- "name" => "limit",
- "type" => "hidden",
- "value" => $limit));
- $nsform .= wfElement("input", array(
- "name" => "target",
- "type" => "hidden",
- "value" => $target));
- $nsform .= "<p>";
+ $nsform .= wfElement('input', array(
+ 'name' => 'title',
+ 'type' => 'hidden',
+ 'value' => $wgTitle->getPrefixedText()));
+ $nsform .= wfElement('input', array(
+ 'name' => 'offset',
+ 'type' => 'hidden',
+ 'value' => $offset));
+ $nsform .= wfElement('input', array(
+ 'name' => 'limit',
+ 'type' => 'hidden',
+ 'value' => $limit));
+ $nsform .= wfElement('input', array(
+ 'name' => 'target',
+ 'type' => 'hidden',
+ 'value' => $target));
+ $nsform .= '<p>';
$nsform .= wfMsgHtml('namespace');
+ $nsform .= ' ';
$nsform .= HTMLnamespaceselector( $ns, '' );
- $nsform .= wfElement("input", array(
- "type" => "submit",
- "value" => wfMsg('allpagessubmit')));
+ $nsform .= wfElement('input', array(
+ 'type' => 'submit',
+ 'value' => wfMsg('allpagessubmit')));
$nsform .= "</p></form>\n";
$wgOut->addHTML($nsform);
$contribs = $finder->find();
if (count($contribs) == 0) {
- $wgOut->addWikiText( wfMsg( "nocontribs" ) );
+ $wgOut->addWikiText( wfMsg( 'nocontribs' ) );
return;
}
$atstart = (!count($contribs) || $late == $contribs[0]->rev_timestamp);
$atend = (!count($contribs) || $early == $lastts);
- $lasturl = $wgTitle->escapeLocalURL("action=history&limit={$limit}");
-
- $firsttext = wfMsgHtml("histfirst");
- $lasttext = wfMsgHtml("histlast");
+ $firsttext = wfMsgHtml('histfirst');
+ $lasttext = wfMsgHtml('histlast');
- $prevtext = wfMsg("prevn", $limit);
+ $prevtext = wfMsg('prevn', $limit);
if ($atstart) {
$lastlink = $lasttext;
$prevlink = $prevtext;
} else {
- $lastlink = "<a href=\"$myurl&limit=$limit$xnsurl\">$lasttext</a>";
- $prevlink = "<a href=\"$myurl&offset=$offset&limit=$limit$xnsurl&go=prev\">$prevtext</a>";
+ $lastlink = "<a href=\"$myurl&limit=$limit$xnsurl$boturl\">$lasttext</a>";
+ $prevlink = "<a href=\"$myurl&offset=$offset&limit=$limit$xnsurl$boturl&go=prev\">$prevtext</a>";
}
- $nexttext = wfMsg("nextn", $limit);
+ $nexttext = wfMsg('nextn', $limit);
if ($atend) {
$firstlink = $firsttext;
$nextlink = $nexttext;
} else {
- $firstlink = "<a href=\"$myurl&limit=$limit$xnsurl&go=first\">$firsttext</a>";
- $nextlink = "<a href=\"$myurl&offset=$lastts&limit=$limit$xnsurl\">$nexttext</a>";
+ $firstlink = "<a href=\"$myurl&limit=$limit$xnsurl$boturl&go=first\">$firsttext</a>";
+ $nextlink = "<a href=\"$myurl&offset=$lastts&limit=$limit$xnsurl$boturl\">$nexttext</a>";
+ }
+ if ($target == 'newbies') {
+ $firstlast ="($lastlink)";
+ } else {
+ $firstlast = "($lastlink | $firstlink)";
}
- if ($target == "newbies") {
- $firstlast ="($lastlink)";
- } else {
- $firstlast = "($lastlink | $firstlink)";
- }
$urls = array();
foreach (array(20, 50, 100, 250, 500) as $num)
- $urls[] = "<a href=\"$myurl&offset=$offset&limit={$num}$xnsurl\">".$wgLang->formatNum($num)."</a>";
+ $urls[] = "<a href=\"$myurl&offset=$offset&limit={$num}$xnsurl$boturl\">".$wgLang->formatNum($num)."</a>";
$bits = implode($urls, ' | ');
- $prevnextbits = "$firstlast " . wfMsgHtml("viewprevnext", $prevlink, $nextlink, $bits);
+ $prevnextbits = $firstlast .' '. wfMsgHtml('viewprevnext', $prevlink, $nextlink, $bits);
$wgOut->addHTML( "<p>{$prevnextbits}</p>\n");
$fname = 'ucListEdit';
wfProfileIn( $fname );
- global $wgLang, $wgOut, $wgUser, $wgRequest;
+ global $wgLang, $wgUser, $wgRequest;
static $messages;
if( !isset( $messages ) ) {
foreach( explode( ' ', 'uctop diff newarticle rollbacklink diff hist minoreditletter' ) as $msg ) {
}
}
- $page =& Title::makeTitle( $row->page_namespace, $row->page_title );
- $link = $sk->makeKnownLinkObj( $page, '' );
+ $rev = new Revision( $row );
+
+ $page = Title::makeTitle( $row->page_namespace, $row->page_title );
+ $link = $sk->makeKnownLinkObj( $page );
$difftext = $topmarktext = '';
if( $row->rev_id == $row->page_latest ) {
$topmarktext .= '<strong>' . $messages['uctop'] . '</strong>';
}
}
- if( $row->rev_deleted && !$wgUser->isAllowed( 'undelete' ) ) {
- $difftext = '(' . $messages['diff'] . ')';
- } else {
+ if( $rev->userCan( MW_REV_DELETED_TEXT ) ) {
$difftext = '(' . $sk->makeKnownLinkObj( $page, $messages['diff'], 'diff=prev&oldid='.$row->rev_id ) . ')';
+ } else {
+ $difftext = '(' . $messages['diff'] . ')';
}
$histlink='('.$sk->makeKnownLinkObj( $page, $messages['hist'], 'action=history' ) . ')';
- $comment = $sk->commentBlock( $row->rev_comment, $page );
+ $comment = $sk->revComment( $rev );
$d = $wgLang->timeanddate( wfTimestamp(TS_MW, $row->rev_timestamp), true );
+
+ if( $rev->isDeleted( MW_REV_DELETED_TEXT ) ) {
+ $d = '<span class="history-deleted">' . $d . '</span>';
+ }
if( $row->rev_minor_edit ) {
$mflag = '<span class="minor">' . $messages['minoreditletter'] . '</span> ';
}
$ret = "{$d} {$histlink} {$difftext} {$mflag} {$link} {$comment} {$topmarktext}";
- if( $row->rev_deleted ) {
- $ret = '<span class="deleted">' . $ret . '</span> ' . htmlspecialchars( wfMsg( 'deletedrev' ) );
+ if( $rev->isDeleted( MW_REV_DELETED_TEXT ) ) {
+ $ret .= ' ' . wfMsgHtml( 'deletedrev' );
}
$ret = "<li>$ret</li>\n";
wfProfileOut( $fname );