Extension:MarkAsHelpful

From MediaWiki.org
Jump to navigation Jump to search
MediaWiki extensions manual
OOjs UI icon advanced.svg
MarkAsHelpful
Release status: experimental
Implementation User interface, API
Description Allows a user to mark a resource as helpful
Author(s) Brandon Harris, Rob Moen, Benny Situ
MediaWiki 1.18
License GPL
Download
Hooks used
LoadExtensionSchemaUpdates
BeforePageDisplay
Translate the MarkAsHelpful extension if it is available at translatewiki.net
Check usage and version matrix.
Issues Open tasks · Report a bug

Installation[edit]

To install this extension, add the following to LocalSettings.php:

require_once("$IP/extensions/MarkAsHelpful/MarkAsHelpful.php");

Run maintenance/update.php to install the database table

Configuration[edit]

$wgMarkAsHelpfulType *Required

Array of types to enable for mark as helpful extension, $wgMarkAsHelpfulType should be added to LocalSettings.php following MarkAsHelpful.php configuration file

Example:

$wgMarkAsHelpfulType = array( 'mbresponse' ); //enabled for moodbar feedback response


API[edit]

1. ApiMarkAsHelpful - allows a user to mark/unmark an item as helpful

2. ApiGetMarkAsHelpfulItem - gets a list of users who marked the item as helpful

See the extension API files for detail information on the API parameters and output format


Hook[edit]

There are two variables in the API that control mark as helpful permissions:

 1 $isAbleToMark - check if current user has permission to mark the item 
 2 $isAbleToShow - check if the page has permission to request the item

Both variables are false by default and the 'onMarkItemAsHelpful' hook allows users to re-define the values of these two variables, the hook function should be like:

public static function onMarkItemAsHelpful( $type, $item, $user, &$isAbleToMark, $page, &$isAbleToShow ) {
       if ( $type == 'mbresponse' ) { //replace 'mbresponse' with the type that you define
           // code logic to re-define the boolean value for $isAbleToMark & $isAbleToShow
       }
       return true;
}