Skip to content

sudhanshug16/vote_up_down

 
 

Repository files navigation

Vote Up/Down

Overview

This module will let you make votes on some entities inside drupal with different widgets, by using Voting API and its some submodules: vud_node, vud_comment and vud_term.

AJAX functionality, provided by ctools, is used for voting if the browser supports it.

Features

  • Vote on the entities: nodes, comments and terms.

To submit bug reports and feature suggestions, or to track changes: http://drupal.org/project/issues/vote_up_down

Requirements

Instalation

Configuration

  • Configure permissions in Administer >> User management >> Permissions >> vud* module:

    • vud module

      • access vote up/down statistics

        Users in roles with the 'access vote up/down statistics' permission will be able to see the votes performed by each user on its 'Votes' tab.

      • administer vote up/down

        Users in roles with the 'administer vote up/down' permission will be able to modify the Voting API tag for Vote Up/Down votes.

      • reset vote up/down votes

        Users in roles with the 'reset vote up/down votes' permission will be able to undo their own votes if it’s also permitted in the configuration for the respective module.

      • use vote up/down

        Users in roles with the 'use vote up/down' permission will be able to actually cast a vote with vote up/down(for the callback).

    • vud_comment

      • administer vote up/down on comments

        Users in roles with the 'administer vote up/down on comments' permission will be able to modify the settings regardin voting on comments.

      • use vote up/down on comments

        Users in roles with the 'use vote up/down on comments' permission will be able to see the widget for casting votes on comments.

    • vud_node

      • administer vote up/down on nodes

        Users in roles with the 'administer vote up/down on nodes' permission will be able to modify the settings regarding voting on nodes.

      • see vote up/down node stats

        Users in roles with the 'see vote up/down node stats' permission will be able to see the votes performed by each user on the 'Voting details' node tab.

      • use vote up/down on nodes

        Users in roles with the 'use vote up/down on nodes' permission will be able to see the widget for casting votes on nodes.

      • view vote up/down count on nodes

        Users in roles with the 'view vote up/down count on nodes' permission will be able to see the widget for casting votes on nodes.

    • vud_term

      • administer vote up/down on terms

        Users in roles with the 'administer vote up/down on terms' permission will be able to modify the settings regarding voting on terms.

      • use vote up/down on terms

        Users in roles with the 'use vote up/down on terms' permission will be able to see the widget for casting votes on terms.

  • Customize the settings in Administer >> Site configuration >> Vote Up/Down, so you can

    • match:

      • vud_node: what node types should be votable

      • vud_comment: what comments of node types should be votable

      • vid_term: what terms of node types should be votable

    • which widget is going to be used

    • if you want to display the widget in on teasers/full nodes

    • if the user is going to be able to reset their own votes

  • Start voting!

Customization

You can write your own widget for Vote Up/Down, and you can put it in your module or in your theme. Please take a look to WIDGETAPI.txt for more information.

Theming widgets and votes

Since widgets are implemented through plugins, and we have many plugins to choose at runtime, we can not use direct theme templates, so instead we render by hands the templates.

Note
It is not possible to decide dinamically the path where the template is located. In contrast we can dinamically define function and template names.

So, before rendering the template('widget.tpl.php' or 'votes.tpl.php') we verify in the following order the files:

  • For 'vud_comment'

    <template_type>_comment_<plugin_name>__<node_type>
    <template_type>_comment_<plugin_name>
    <template_type>_comment
  • For 'vud_node'

    <template_type>_comment_<plugin_name>__<node_type>
    <template_type>_comment_<plugin_name>
    <template_type>_comment
  • For 'vud_term'

    <template_type>_comment_<plugin_name>__<term_vid>
    <template_type>_comment_<plugin_name>
    <template_type>_comment

Where '<template_type>' is 'widget' or 'votes'.

This templates can be located on the root of your theme folder or inside your widget folder(not really recommended).

Frequently Asked Questions

  1. How to display voting widget by API for nodes?

    If you want to custom how and where to show the widget, you need to render manually each part of the standard node $content variable (fields, body, etc).

    <?php
    // save the rendered value of the widget
    $vud_widget = $node->content['vud_node_widget_display']['#value'];
    // avoid show it twice
    unset($node->content['vud_node_widget_display']);
    
    // render each value inside $content
    print $node->content['body']['#value'];
    
    // print vud widget, here is the place where we want to show it
    print $vud_widget;
    
    // render more values inside $content
  2. How can I prevent bots to vote when anonymous voting is enabled?

    When anonymous voting is enabled, you need to modify your 'robots.txt' file to prevent bots to vote.

    Disallow: /vote/
    Disallow: /?q=vote/

Credits

Original Author - Fredrik Jonsson fredrik at combonet dot se

Orginal 2.x version - Pratul Kalia (lut4rp)

Current Maintainer: Marco Villegas (marvil07)

About

A temporary mirror during GSoC 2017 for drupal project Vote Up/Down port to D8.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 72.6%
  • CSS 26.5%
  • JavaScript 0.9%