Jump to content

Extension talk:ContributionCredits/Archive 2

About this board

A problem with database prefixes?

1
Summary by Sophivorus

This could have been the case in some old version, maybe, but shouldn't be the case now, since the extension uses standard methods to access the database.

95.117.68.156 (talkcontribs)

Could it be that the extension does not work in case one uses MySQL prefixes?

In my error message, the following is stated:

SELECT distinct user.user_id,user.user_name,user.user_real_name FROM `mcswiki_revision`,`mcswiki_user` WHERE (user.user_id = revision.rev_user) AND (rev_page = 1) AND (rev_user > 0) AND (rev_deleted = 0) ORDER BY user.user_name ASC

but this should be

SELECT distinct user.user_id,user.user_name,user.user_real_name FROM `mcswiki_revision`,`mcswiki_user` WHERE (mcswiki_user.user_id = mcswiki_revision.rev_user) AND (rev_page = 1) AND (rev_user > 0) AND (rev_deleted = 0) ORDER BY mcswiki_user.user_name ASC

if I'm not mistaken? (But I don't know much about this.)

Cheers!

"Maintenance_Script" appears in the contributor footnote

2
Summary by Sophivorus

Fixed in latest version, use $wgContributionCreditsUsersExclude to exclude users from the contributors list.

156.22.244.15 (talkcontribs)

I just installed this extension to my new Wiki site and every page has "Maintenance_Script" as the first contributor and my name as the second! I usually upload all my pages as text files and use the ImportTextFile.php script to incorporate the pages, but how do I remove this extension from attributing the Maintenance Scripts as contributors?

Sophivorus (talkcontribs)

Hi! This seems like an easy fix so I may fix it next week (I'm going on holidays this week). However, you may also want to consider Extension:PageAuthors, cheers!

Summary by Sophivorus

Fixed in latest version.

77.12.114.176 (talkcontribs)

Deprecated: Use of wfGetDB was deprecated in MediaWiki 1.39. [Called from ContributionCredits::onSkinAfterContent in ContributionCredits.php at line 30]

37.209.65.246 (talkcontribs)

Hi there,

we modified the Extension long time ago and added Code, so you can show up not only the realname or the username. We added, that you can see the users signature, so it is possible to customize the links of the contribution credits.

I documented it here in my own wiki... couldn't link it here... spam detection ;-) (Laub-home Wiki Contribution Credits):

# Enables ContributionCredits
require_once( "$IP/extensions/ContributionCredits/ContributionCredits.php" );
$wgContributionCreditsShowUserSignature = true;

DIFF:

<?php
        /**
        * Contribution Credits extension - Adds contribution credits to the footer
        * @version 2.3 - 2012/05/09
        *
        * @link xxxx.mediawiki.org/wiki/Extension:Contribution_Credits Documentation
        *
        * @file ContributionCredits.php
        * @ingroup Extensions
        * @package MediaWiki
        * @author Jaime Prilusky
        * @author Al Maghi
        * @author Manuel Wendel
        * @copyright © 2008 Jaime Prilusky
        * @license xxxxxgnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
        *
        * Configuration:
        *       LocalSettings.php => $wgContributionCreditsShowUserSignature = true;
        *                                                       Default: true
        *                                                       true:   shows user specific user signature (if configured and not empty; else just the username)
                                                                false:  shows only the username instead of the user signature
        */

        if( !defined( 'MEDIAWIKI' ) ) {
                echo( "This file is an extension to the MediaWiki software and cannot be used standalone.\n" );
                die( 1 );
        }

        define ('CONTRIBUTIONCREDITS_VERSION','2.3, 2012-05-09');

        $wgHooks['OutputPageBeforeHTML'][] = 'addFooter';

        $wgExtensionCredits['other'][] = array(
                'name' => 'Contribution Credits',
                'version' => CONTRIBUTIONCREDITS_VERSION,
                'author' => array( 'Jaime Prilusky', 'Al Maghi' ),
                'description' => 'Adds contribution credits to the footer',
                'url' => 'xxxx.mediawiki.org/wiki/Extension:Contribution_Credits'
        );

        function addFooter (&$articleTitle, &$text) {
                global $wgTitle,$wgOut,$wgRequest;
                global $wgContributionCreditsHeader;
//      -- DIFFERENCE
                global $wgContributionCreditsShowUserSignature;
                if (is_null($wgContributionCreditsShowUserSignature)) {$wgContributionCreditsShowUserSignature = true;}
//      -------------

                $NS = $wgTitle->getNamespace();
                $action = $wgRequest->getVal('action');

                if (($NS==0 or $NS==1) and ($action != 'edit')) {
                        $dbr =& wfGetDB( DB_SLAVE );
                        $page_id = $wgTitle->getArticleID(); $list= '';

                        $res = $dbr->select(
//      -- DIFFERENCE
                        //      'revision',
                        //      array('distinct rev_user_text'),
                        //      array("rev_page = $page_id","rev_user >= 1"),
                        //      __METHOD__,
                        //      array('ORDER BY' => 'rev_user_text ASC',));
                        array('revision', 'user', 'user_properties'),
                        array('distinct user.user_id', 'user.user_real_name', 'user.user_name', 'revision.rev_user_text', 'user_properties.up_value AS signature'),
                        array("user.user_name = revision.rev_user_text", "user_properties.up_user = user.user_id", "user_properties.up_property = 'nickname'", "rev_page = $page_id","rev_user >= 1"),
                        __METHOD__,
                        array('ORDER BY' => 'user.user_name ASC',));
//      -------------
                                if( $res && $dbr->numRows( $res ) > 0 ) {
                                        while( $row = $dbr->fetchObject( $res ) ) {
                                                $deletedUser = preg_match("/ZDelete/",$row->rev_user_text); # deleted users are renamed as ZDelete####
                                                if (!$deletedUser) {
//      -- DIFFERENCE
                                                //      $list .= "[[User:".$row->rev_user_text."|".$row->rev_user_text."]], ";
                                                        if($row->signature != "" && $wgContributionCreditsShowUserSignature == true ) {
                                                                $list .= "<p>&raquo; " . $row->signature . "</p>";
                                                        } else {
                                                                $list .= "<p>&raquo; [[User:" .  $row->user_name . "|" . $row->user_name . "]]</p>";
                                                        }
//      -------------
                                                }
                                        }
                                }
                        $dbr->freeResult( $res );
//      -- DIFFERENCE
                //      $list = preg_replace('/\,\s*$/','',$list);
//      -------------
                        $contributorsBlock = '';
                        if (!empty($list)) {
                                if (!$wgContributionCreditsHeader) {$wgContributionCreditsHeader = "==Contributors==\n";}
                                $contributorsBlock = $wgOut->parse("__NOEDITSECTION__\n" . $wgContributionCreditsHeader . $list);
                        }
                        $text = $text."\n<div id=\"ContributionCredits\">$contributorsBlock</div>";
                }
                return true;
        }
?>

Would be great to see that code in the official extension.

cheers

Andreas

Reply to "Add ShowUserSignature"
There are no older topics