Index: userreview/userreview.module
===================================================================
--- userreview/userreview.module (revision 722)
+++ userreview/userreview.module (working copy)
@@ -37,9 +37,9 @@
function userreview_node_info() {
return array(
'userreview' => array(
- 'name' => t('review'),
+ 'name' => t('User review'),
'module' => 'userreview',
- 'description' => t('The userreview content type is a node, which is attached to another node. It has a 0 to 10 voting scale. You set a number of configuration options at ') . l('admin/settings/userreview', 'admin/settings/userreview') . t('. Here, you can set which node types are reviewable, how many reviews to display beneath the reviewed node per page, and others.') . '
' . t('This module requires views module and the votingapi module. Using views, it is easy to create blocks or pages which display top rated nodes of a given type, for example.'),
+ 'description' => 'Enables users to post a review of any node.',
)
);
}
@@ -68,7 +68,7 @@
* Implementation of hook_perm().
*/
function userreview_perm() {
- return array('administer user reviews', 'create user reviews', 'edit own user reviews');
+ return array('administer user reviews', 'create user reviews', 'edit own user reviews', 'view average vote', 'view user reviews');
}
/**
@@ -93,7 +93,7 @@
);
$items[] = array(
'path' => 'admin/settings/userreview',
- 'title' => t('Userreview'),
+ 'title' => t('User Review'),
'description' => t('Configure userreview behavior and appearance.'),
'callback' => 'drupal_get_form',
'callback arguments' => array('userreview_admin_settings'),
@@ -286,21 +286,25 @@
//set the breadcrumb
userreview_set_breadcrumb($node);
+
+ $type = node_get_types('type', $node);
- drupal_add_js(drupal_get_path('module', 'userreview') . '/userreview.js');
- $add_elements = array();
- $add_elements['vote_value'] = array(
- '#type' => 'select',
- '#title' => variable_get('userreview_vote_title',t('Your vote')),
- '#description' => variable_get('userreview_vote_description',t('Select a value from 0 (worst) to 10 (best)')),
- '#default_value' => ($node->vote_value == null) ? variable_get('userreview_default_vote','') : (string)($node->vote_value),
- '#options' => array('0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=>'4', '5'=>'5', '6'=>'6', '7'=>'7', '8'=>'8', '9'=>'9', '10'=>'10'),
- '#required' => TRUE,
- '#weight' => -5
+ $add_elements = array();
+ $add_elements['#attributes'] = array(
+ 'class' => 'userreview-form'
+ );
+ $add_elements['vote_value'] = array(
+ '#type' => 'radios',
+ '#title' => variable_get('userreview_vote_title', t('How would you rate the usefulness of this content?')),
+ '#description' => variable_get('userreview_vote_description', ''),
+ '#options' => array(1 => '1 Poor', 2 => '2', 3 => '3', 4 => '4', 5 => '5', 6 => '6', 7 => '7', 8 => '8', 9 => '9', 10 => '10 Great'),
+ '#default_value' => ($node->vote_value == null) ? variable_get('userreview_default_vote','') : (string)($node->vote_value),
+ '#required' => TRUE,
+ '#weight' => -5
);
$add_elements['title'] = array(
'#type' => 'textfield',
- '#title' => t('Title'),
+ '#title' => check_plain($type->title_label),
'#size' => 60,
'#maxlength' => 128,
'#required' => variable_get('userreview_title_required', FALSE),
@@ -309,11 +313,10 @@
);
$add_elements['review_text'] = array(
'#type' => 'textarea',
- '#title' => t('Comments'),
+ '#title' => check_plain($type->body_label),
'#default_value' => $node->review_text,
'#required' => variable_get('userreview_review_text_required', FALSE),
- '#weight' => -1,
- '#description' => t('Please enter your comments.')
+ '#weight' => -1
);
$add_elements['content_id'] = array('#type' => 'value', '#value' => $node->content_id);
$add_elements['content_type'] = array('#type' => 'value', '#value' => $node->content_type);
@@ -353,7 +356,7 @@
//get the current user's review for this content node
$userreviewnode = get_userreview_node($node, $user->uid);
//if a review exists by this user, show it...
- if ($userreviewnode) {
+ if (user_access('view user reviews') && $userreviewnode) {
if (variable_get('userreview_show_currentuser_review', true)) {
$node->userreview->current_user_review = theme('userreview', $userreviewnode, true, true);
$node->content['userreview_current_user_review'] = array(
@@ -380,14 +383,14 @@
}
//next, show a list of user reviews if any reviews
- if ($count_votes->value > 0) {
+ if (user_access('view user reviews') && $count_votes->value > 0) {
$node->userreview->review_list .= theme('userreview_list', $node, variable_get('userreview_list_collapsible', true), variable_get('userreview_list_collapsed', true));
$node->content['userreview_review_list'] = array(
'#value' => $node->userreview->review_list,
'#weight' => 10,
);
}
- } else {//teaser
+ } else if (user_access('view average vote')) {//teaser
$node->content['userreview_average'] = array(
'#value' => $node->userreview->average_vote,
'#weight' => 8,
@@ -408,7 +411,8 @@
*
* @return Object Count of votes as result object as returned by votingapi_get_voting_result()
*/
-function _userreview_nodeapi_view_prepare(&$node, $show_average, $show_count) {
+function _userreview_nodeapi_view_prepare(&$node, $show_average, $show_count) {
+ if (!user_access('view average vote')) return;
$count_votes = new StdClass();
$count_votes->value = 0;
if ($show_average || $show_count) {
Index: userreview/userreview.css
===================================================================
--- userreview/userreview.css (revision 722)
+++ userreview/userreview.css (working copy)
@@ -124,4 +124,25 @@
.userreview_byline {
font-size: 0.8em
-}
\ No newline at end of file
+}
+
+/* The Form */
+.userreview-form fieldset {
+ border:none; padding:0; margin:0;
+ }
+.userreview-form fieldset legend {
+ }
+.userreview-form .form-item {
+ clear:both;
+ }
+.userreview-form .form-radios .form-item {
+ clear:none;
+ float:left;
+ margin:8px;
+ padding:0;
+ text-align:center;
+ }
+.userreview-form .form-item .form-item label {
+ width:1em;
+ float:left;
+ }
\ No newline at end of file
Index: userreview/userreview.info
===================================================================
--- userreview/userreview.info (revision 722)
+++ userreview/userreview.info (working copy)
@@ -1,5 +1,5 @@
; $Id: userreview.info,v 1.1.2.1 2007/06/18 23:07:13 dww Exp $
-name = Userreview
+name = User Review
description = Enables users to post a review of any node.
dependencies = views votingapi
package = Voting
Index: userreview/userreview.js
===================================================================
--- userreview/userreview.js (revision 722)
+++ userreview/userreview.js (working copy)
@@ -1,51 +0,0 @@
-/* $Id: userreview.js,v 1.3 2007/03/15 12:57:39 gerdriesselmann Exp $ */
-
-Drupal.Userreview = {};
-
-Drupal.Userreview.build_table = function() {
- // Hide select box
- var html_table = '
| '; - html_table += '' + $(this).text() + '' - html_table += ''; - html_table += ' | '; - }); - html_table += '