get_reviews($user->uid, NULL, NULL, $num_reviews); if ($reviews['total']) { $i = 0; $rev_bnums = array(); foreach ($reviews['reviews'] as $insurge_review) { $rev_arr[$i]['rev_id'] = $insurge_review['rev_id']; $rev_arr[$i]['bnum'] = $insurge_review['bnum']; $rev_arr[$i]['uid'] = $user->uid; $rev_arr[$i]['timestamp'] = $insurge_review['rev_create_date']; $rev_arr[$i]['rev_title'] = $insurge_review['rev_title']; $rev_arr[$i]['rev_body'] = $insurge_review['rev_body']; if (!in_array($insurge_review['bnum'], $rev_bnums)) { $rev_bnums[] = $insurge_review['bnum']; } $i++; } } $review_norev = '
'.t('You have not written any reviews yet.').'
'; $rev_bib_info = $locum->get_bib_items_arr($rev_bnums); $review_display = theme('sopac_review', $user, NULL, $rev_arr, NULL, NULL, NULL, $review_norev, $rev_bib_info); // Pull together the ratings $ratings_arr_top = $insurge->get_rating_list($user->uid, NULL, $num_ratings, NULL, 'ORDER BY rating DESC, rate_date DESC'); $ratings_arr_new = $insurge->get_rating_list($user->uid, NULL, $num_ratings, NULL, 'ORDER BY rate_date DESC'); $ratings_chunk['nodata'] = '
' . t('You have not rated any items yet.') . '
'; $ratings_chunk['top']['total'] = $ratings_arr_top['total']; $ratings_chunk['top']['ratings'] = $ratings_arr_top['ratings']; $ratings_chunk['latest']['total'] = $ratings_arr_new['total']; $ratings_chunk['latest']['ratings'] = $ratings_arr_new['ratings']; $rate_bnums = array(); foreach ($ratings_arr_top['ratings'] as $rate_arr) { if (!in_array($rate_arr['bnum'], $rate_bnums)) { $rate_bnums[] = $rate_arr['bnum']; } } foreach ($ratings_arr_new['ratings'] as $rate_arr) { if (!in_array($rate_arr['bnum'], $rate_bnums)) { $rate_bnums[] = $rate_arr['bnum']; } } $ratings_chunk['bibs'] = $locum->get_bib_items_arr($rate_bnums); // Pull together the tags $tag_arr = $insurge->get_tag_totals($user->uid, NULL, NULL, variable_get('sopac_random_tags', 1), variable_get('sopac_tag_limit', 100), 0, variable_get('sopac_tag_sort', 'ORDER BY count DESC')); if (count($tag_arr)) { foreach ($tag_arr as $tag_pair) { $tags[$tag_pair['tag']] = $tag_pair['count']; } $tag_cloud = theme('sopac_tag_cloud', $tags, 'personal'); } else { $tag_cloud = '
' . t('You have not tagged any items yet.') . '
'; } $result_page = theme('sopac_pat_overview', $review_display, $ratings_chunk, $tag_cloud); return $result_page; } function sopac_ratings_page() { global $user; $insurge = sopac_get_insurge(); $locum = sopac_get_locum(); $page_limit = 15; // TODO make this configurable $page = isset($_GET['page']) ? $_GET['page'] : 0; $offset = ($page_limit * $page); // Pull together the ratings $ratings_arr = $insurge->get_rating_list($user->uid, NULL, $page_limit, $offset, 'ORDER BY rate_date DESC'); sopac_pager_init($ratings_arr['total'], 0, $page_limit); $rate_bnums = array(); foreach ($ratings_arr['ratings'] as $rate_arr) { if (!in_array($rate_arr['bnum'], $rate_bnums)) { $rate_bnums[] = $rate_arr['bnum']; } } $ratings_arr['bibs'] = $locum->get_bib_items_arr($rate_bnums); $result_page = theme('sopac_ratings_page', $ratings_arr); $result_page .= theme('pager', NULL, $page_limit, 0, NULL, 6); return $result_page; } function sopac_tags_page_cloud() { global $user; $insurge = sopac_get_insurge(); $tag_arr = $insurge->get_tag_totals($user->uid, NULL, NULL, TRUE, NULL); foreach ($tag_arr as $tag_pair) { $tags[$tag_pair['tag']] = $tag_pair['count']; } if (count($tags)) { $cloud = theme('sopac_tag_cloud', $tags); } else { $cloud = '
'.t('You have not tagged any items yet.').'
'; } return $cloud; } function sopac_tags_page_list() { global $user; $insurge = sopac_get_insurge(); $tags_res = $insurge->get_tag_totals($user->uid, NULL, NULL, FALSE, NULL, NULL, 'ORDER BY tag ASC'); foreach ($tags_res as $tag_arr) { $tags[$tag_arr['tag'][0]][$tag_arr['tag']] = $tag_arr['count']; } if (count($tags)) { $result_page = theme('sopac_tags_page', $tags); } else { $result_page = '
'.t('You have not tagged any items yet.').'
'; } return $result_page; } function theme_sopac_tag_block($block_type) { global $user; $insurge = sopac_get_insurge(); switch($block_type) { case 'overview': $tag_arr = $insurge->get_tag_totals(NULL, NULL, NULL, variable_get('sopac_random_tags', 1), variable_get('sopac_tag_limit', 100), 0, variable_get('sopac_tag_sort', 'ORDER BY count DESC')); break; case 'record': $uri_arr = sopac_parse_uri(); $bnum = $uri_arr[1]; $bnum_arr[] = $bnum; if ($_GET['deltag'] && $bnum && $user->uid) { $insurge->delete_user_tag($user->uid, $_GET['deltag'], $bnum); $new_link = 'http://' . $_SERVER['HTTP_HOST'] . '/' . $_GET[q]; header("Location: $new_link"); } $tag_arr = $insurge->get_tag_totals(NULL, $bnum_arr); $tag_arr_user = $insurge->get_tag_totals($user->uid, $bnum_arr, NULL, FALSE, NULL, NULL, 'ORDER BY tag ASC'); static $put_tag_form = 1; static $put_personal_tag_list = 1; break; case 'personal': $tag_arr = $insurge->get_tag_totals($user->uid, NULL, NULL, variable_get('sopac_random_tags', 1), variable_get('sopac_tag_limit', 100), 0, variable_get('sopac_tag_sort', 'ORDER BY count DESC')); break; } if ($user->uid){ if ($put_tag_form) { $block_suffix = '

' . drupal_get_form('sopac_tag_form'); } } else { if ($put_tag_form) { $block_suffix = '

' . l(t('Login to add tags'), 'user/login', array('query' => drupal_get_destination())); } } if ($user->uid && $put_personal_tag_list && count($tag_arr_user)) { $block_suffix .= '
' . t('Your tags') . '
'; $block_suffix .= '
'; } if (count($tag_arr)) { foreach ($tag_arr as $tag_pair) { $tags[$tag_pair['tag']] = $tag_pair['count']; } $cloud = theme('sopac_tag_cloud', $tags, $block_type); } else { $cloud = t('No tags, currently.'); } $cloud .= $block_suffix; return $cloud; } function sopac_user_tag_edit() { global $user; $pathinfo = explode('/', trim($_GET['q'])); $tag = $pathinfo[3]; if ($_GET['ref']) { $form['#redirect'] = substr(urldecode($_GET['ref']), 1); } $form['tagform'] = array( '#type' => 'fieldset', '#title' => t('Change your tag "') . $tag . t('" to something else'), '#collapsible' => FALSE, '#collapsed' => FALSE, ); $form['tagform']['newtag'] = array( '#type' => 'textfield', '#title' => t('Enter new tag'), '#size' => 42, '#maxlength' => 255, '#default_value' => $tag, '#required' => TRUE, ); $form['tagform']['submit'] = array( '#type' => 'submit', '#value' => t('Edit Tag'), ); $form['tagform']['oldtag'] = array( '#type' => 'hidden', '#value' => $tag, ); return $form; } function sopac_user_tag_edit_submit($form, &$form_state) { global $user; if ($user->uid) { $insurge = sopac_get_insurge(); $insurge->update_tag($form_state['values']['oldtag'], $form_state['values']['newtag'], $user->uid); } } function sopac_user_tag_delete() { global $user; $insurge = sopac_get_insurge(); $pathinfo = explode('/', trim($_GET['q'])); $tag = $pathinfo[3]; $tag_total_arr = $insurge->get_tag_totals($user->uid, NULL, $tag); $tag_total = $tag_total_arr[0]['count']; $tag_total_str = ($tag_total > 1) ? $tag_total . t(' things') : $tag_total . t(' thing'); drupal_set_message(t('You have tagged ') . $tag_total_str . t(' with "') . $tag . t('". If you delete this tag, it will be removed completely.'), 'warning'); if ($_GET['ref']) { $form['#redirect'] = substr(urldecode($_GET['ref']), 1); } $form['tagform'] = array( '#type' => 'fieldset', '#title' => t('Really delete "') . $tag . t('" from your collection?'), '#collapsible' => FALSE, '#collapsed' => FALSE, ); $form['tagform']['submit_y'] = array( '#type' => 'submit', '#value' => t('Yes'), ); $form['tagform']['submit_n'] = array( '#type' => 'submit', '#value' => t('No'), ); $form['tagform']['oldtag'] = array( '#type' => 'hidden', '#value' => $tag, ); return $form; } function sopac_user_tag_delete_submit($form, &$form_state) { global $user; if (strtolower($form_state['values']['op']) == 'yes') { if ($user->uid && $form_state['values']['oldtag']) { $insurge = sopac_get_insurge(); $insurge->delete_user_tag($user->uid, $form_state['values']['oldtag']); } } } function sopac_user_tag_hitlist($tag) { global $user; require_once('sopac_catalog.php'); $locum = sopac_get_locum(); $insurge = sopac_get_insurge(); $page_limit = variable_get('sopac_results_per_page', 20); $page = isset($_GET['page']) ? $_GET['page'] : 0; $offset = ($page_limit * $page); $no_circ = $locum->csv_parser($locum_cfg['location_limits']['no_request']); $bnum_arr = $insurge->get_tagged_items($user->uid, $tag, $page_limit, $offset); sopac_pager_init($bnum_arr['total'], 0, $page_limit); $pager_body = theme('pager', NULL, $page_limit, 0, NULL, 6); $hitnum = $page_offset + 1; $result_body = ''; foreach ($bnum_arr['bnums'] as $bnum) { $locum_result = $locum->get_bib_item($bnum); // Grab Stdnum $stdnum = $locum_result['stdnum']; // Grab item status from Locum $locum_result['status'] = $locum->get_item_status($bnum); // Get the cover image $cover_img_url = $locum_result['cover_img']; // Grab Syndetics reviews, etc.. $review_links = $locum->get_syndetics($locum_result['stdnum']); if (count($review_links)) { $locum_result['review_links'] = $review_links; } $result_body .= theme('sopac_results_hitlist', $hitnum, $cover_img_url, $locum_result, $locum->locum_config, $no_circ); $hitnum++; } $result_body = theme('sopac_user_tag_hitlist', $tag, $pager_body, $result_body); return $result_body; } /** * Returns the tag-addition form for adding tags to the system. * * @return array Drupal form array. */ function sopac_tag_form() { $form['tagform'] = array( '#type' => 'fieldset', '#title' => t('Add tags '), '#collapsible' => TRUE, '#collapsed' => TRUE, ); $form['tagform']['tags'] = array( '#type' => 'textfield', '#title' => t('Enter your tags'), '#size' => 15, '#maxlength' => 255, ); $form['tagform']['submit'] = array( '#type' => 'submit', '#value' => t('Add Tags'), '#attributes' => array('class' => 'tagsubmit'), ); $form['tagform']['bnum'] = array( '#type' => 'hidden', '#default_value' => 0, ); return $form; } function sopac_tag_form_validate($form, &$form_state) { global $user; if (!$user->uid) { form_set_error('tags', t('Please log in to add tags.')); return; } $bnum = $form_state['values']['bnum']; if (!$bnum || !is_numeric($bnum)) { form_set_error('tags', t("We're sorry, but we cannot determine which item you're trying to add a tag to. Please try again.")); return; } if (!trim($form_state['values']['tags'])) { form_set_error('tags', t('Please enter the tag(s) you wish to add to this item.')); return; } } function sopac_tag_form_submit($form, &$form_state) { global $user; $bnum = $form_state['values']['bnum']; $insurge = sopac_get_insurge(); $insurge->submit_tags($user->uid, $bnum, trim($form_state['values']['tags'])); } function theme_sopac_tag_cloud($tags, $cloud_type = 'catalog', $min_size = 10, $max_size = 24, $wraplength = 19) { if (!count($tags)) { return t('No tags.'); } // largest and smallest array values $max_qty = max(array_values($tags)); $min_qty = min(array_values($tags)); // find the range of values $spread = $max_qty - $min_qty; if ($spread == 0) { $spread = 1; } // set the font-size increment $step = ($max_size - $min_size) / ($spread); // loop through the tag array foreach ($tags as $tag => $value) { if ($cloud_type == 'personal') { $link = 'user/tag/show/' . urlencode($tag); } else { $link = variable_get('sopac_url_prefix', 'cat/seek') . '/search/tags/' . urlencode($tag); } $size = round($min_size + (($value - $min_qty) * $step)); if ($spread == 1) { $size = $size + 2; } // $disp_tag = htmlentities(wordwrap($tag, $wraplength, "-
-", 1)); $disp_tag = htmlentities($tag, ENT_NOQUOTES, 'UTF-8'); $attributes = array('title' => $value . ' things tagged with ' . $tag, 'style' => 'font-size: ' . $size . 'px'); $cloud .= l($disp_tag, $link, array('attributes' => $attributes)) . ' '; } return '
' . $cloud . '
'; } function sopac_review_page($page_type) { global $user; $locum = sopac_get_locum(); $insurge = sopac_get_insurge(); $page_limit = 5; // TODO make this configurable $page = isset($_GET['page']) ? $_GET['page'] : 0; $offset = ($page_limit * $page); switch($page_type) { case 'catalog': $actions = sopac_parse_uri(); $bnum = $actions[1]; $bnum_arr[] = $bnum; $item = $locum->get_bib_item($bnum); $ratings = theme('sopac_get_rating_stars', $bnum); $reviews = $insurge->get_reviews(NULL, $bnum_arr, NULL, $page_limit, $offset); sopac_pager_init($reviews['total'], 0, $page_limit); $title = t('Reviews for ') . ucwords($item['title']); $no_rev_msg = t('No reviews have been written yet for ') . '' . ucwords($item['title']) . ''; $i = 0; foreach ($reviews['reviews'] as $insurge_review) { $rev_arr[$i]['rev_id'] = $insurge_review['rev_id']; $rev_arr[$i]['bnum'] = $insurge_review['bnum']; if ($insurge_review['uid']) { $rev_arr[$i]['uid'] = $insurge_review['uid']; } $rev_arr[$i]['timestamp'] = $insurge_review['rev_create_date']; $rev_arr[$i]['rev_title'] = $insurge_review['rev_title']; $rev_arr[$i]['rev_body'] = $insurge_review['rev_body']; $i++; } if ($item['bnum']) { if (!$insurge->check_reviewed($user->uid, $item['bnum']) && $user->uid) { $rev_form = drupal_get_form('sopac_review_form', $item['bnum']); } elseif (!$user->uid) { $rev_form = '
' . l(t('Login'), 'user/login', array('query' => drupal_get_destination())) . t(' to write a review') . '
'; } $result_page = theme('sopac_review', $user, $title, $rev_arr, $page_type, $rev_form, $ratings, $no_rev_msg); $result_page .= theme('pager', NULL, $page_limit, 0, NULL, 6); } else { $result_page = t('This record does not exist.'); } break; case 'personal': $rev_uid = $user->uid; $no_rev_msg = t('You have not submitted any reviews yet.'); $reviewer_name = $user->name; case 'user': $actions = sopac_parse_uri(FALSE); $rev_uid = $rev_uid ? $rev_uid : $actions[2]; $rev_user = user_load(array('uid' => $rev_uid)); $no_rev_msg = $no_rev_msg ? $no_rev_msg : $rev_user->name . t(' has not submitted any reviews yet.'); $reviewer_name = $reviewer_name ? $reviewer_name : $rev_user->name; $reviews = $insurge->get_reviews($rev_uid, NULL, NULL, $page_limit, $offset); sopac_pager_init($reviews['total'], 0, $page_limit); $title = t('Reviews by ') . $reviewer_name; $i = 0; $bib_item_arr = array(); foreach ($reviews['reviews'] as $insurge_review) { $locum_result = $locum->get_bib_items_arr(array($insurge_review['bnum'])); $bib_item_arr[(string) $insurge_review['bnum']] = $locum_result[$insurge_review['bnum']]; $rev_arr[$i]['rev_id'] = $insurge_review['rev_id']; $rev_arr[$i]['bnum'] = $insurge_review['bnum']; $rev_arr[$i]['uid'] = $rev_uid; $rev_arr[$i]['timestamp'] = $insurge_review['rev_create_date']; $rev_arr[$i]['rev_title'] = $insurge_review['rev_title']; $rev_arr[$i]['rev_body'] = $insurge_review['rev_body']; $i++; } $result_page .= theme('sopac_review', $user, $title, $rev_arr, $page_type, $rev_form, $ratings, $no_rev_msg, $bib_item_arr); $result_page .= theme('pager', NULL, $page_limit, 0, NULL, 6); break; case 'single': $actions = sopac_parse_uri(FALSE); $rev_id[] = $actions[2]; $reviews = $insurge->get_reviews(NULL, NULL, $rev_id); sopac_pager_init($reviews['total'], 0, $page_limit); $no_rev_msg = t('This review does not exist.'); $i = 0; foreach ($reviews['reviews'] as $insurge_review) { $bib_item_arr = $locum->get_bib_items_arr(array($insurge_review['bnum'])); $rev_arr[$i]['rev_id'] = $insurge_review['rev_id']; $rev_arr[$i]['bnum'] = $insurge_review['bnum']; $rev_arr[$i]['uid'] = $insurge_review['uid']; $rev_arr[$i]['timestamp'] = $insurge_review['rev_create_date']; $rev_arr[$i]['rev_title'] = $insurge_review['rev_title']; $rev_arr[$i]['rev_body'] = $insurge_review['rev_body']; $i++; } $result_page = theme('sopac_review', $user, $title, $rev_arr, $page_type, $rev_form, $ratings, $no_rev_msg, $bib_item_arr); break; } return '

'. t($result_page) .'

'; } function sopac_review_form() { global $user; $pathinfo = explode('/', trim($_GET['q'])); if ($pathinfo[1] == 'edit') { $title = t('Edit this Review'); $insurge = sopac_get_insurge(); $rev_id = $pathinfo[2]; $insurge_review = $insurge->get_reviews($user->uid, NULL, array($rev_id)); $review = $insurge_review['reviews'][0]; $collapsible = FALSE; $collapsed = FALSE; $form_type = 'edit'; $bnum = $review['bnum']; $form['#redirect'] = substr(urldecode($_GET['ref']), 1); } else { $title = t('Write a Review!'); $args = func_get_args(); $collapsible = TRUE; $collapsed = TRUE; $form_type = 'new'; $bnum = $args[1]; } $form['revform'] = array( '#type' => 'fieldset', '#title' => t($title), '#collapsible' => $collapsible, '#collapsed' => $collapsed, ); $form['revform']['rev_title'] = array( '#type' => 'textfield', '#title' => t('Enter a title for your review'), '#size' => 30, '#required' => TRUE, '#maxlength' => 254, '#default_value' => $review['rev_title'], ); $form['revform']['rev_body'] = array( '#type' => 'textarea', '#title' => t('Your review'), '#default_value' => $review['rev_body'], '#required' => TRUE, '#rows' => 15, ); $form['revform']['submit'] = array( '#type' => 'submit', '#value' => t('Submit your Review'), ); $form['revform']['form_type'] = array( '#type' => 'hidden', '#value' => $form_type, ); $form['revform']['rev_bnum'] = array( '#type' => 'hidden', '#value' => $bnum, ); if ($rev_id) { $form['revform']['rev_id'] = array( '#type' => 'hidden', '#value' => $rev_id, ); } return $form; } function sopac_review_form_submit($form, &$form_state) { global $user; if ($user->uid) { $insurge = sopac_get_insurge(); if ($form_state['values']['form_type'] == 'edit') { $insurge->update_review($user->uid, $form_state['values']['rev_id'], $form_state['values']['rev_title'], $form_state['values']['rev_body']); } elseif ($form_state['values']['form_type'] == 'new') { $insurge->submit_review($user->uid, $form_state['values']['rev_bnum'], $form_state['values']['rev_title'], $form_state['values']['rev_body']); } } } function theme_sopac_review_block($block_type) { global $user; $max_shown = 10; // TODO make this configurable $uri = sopac_parse_uri(); // get_reviews($uid = NULL, $bnum_arr = NULL, $rev_id_arr = NULL, $limit = 10, $offset = 0, $order = 'ORDER BY rev_create_date DESC') $insurge = sopac_get_insurge(); $locum = sopac_get_locum(); switch ($block_type) { case 'personal': $reviews = $insurge->get_reviews($user->uid, NULL, NULL, $max_shown); $no_rev = t('You have not written any reviews yet.'); break; case 'record': $bnum_arr[] = $uri[1]; $locum_result = $locum->get_bib_item($uri[1]); $reviews = $insurge->get_reviews(NULL, $bnum_arr, NULL, $max_shown); $no_rev = t('No reviews have been written yet for ') . '' . $locum_result['title'] . '.'; break; case 'overview': default: $reviews = $insurge->get_reviews(NULL, NULL, NULL, $max_shown); $no_rev = t('No reviews have been written yet.'); break; } $result_page = ''; if (count($reviews['reviews'])) { foreach ($reviews['reviews'] as $insurge_review) { $locum_result = $locum->get_bib_item($insurge_review['bnum']); $title_arr = explode(':', htmlentities($locum_result['title'], ENT_NOQUOTES, 'UTF-8')); $title = trim($title_arr[0]); $review_link = 'review/view/' . $insurge_review['rev_id']; $item_link = variable_get('sopac_url_prefix', 'cat/seek') . '/record/' . $insurge_review['bnum']; $result_page .= '
'; $result_page .= '
' . l(htmlentities($insurge_review['rev_title'], ENT_NOQUOTES, 'UTF-8'), $review_link) . '
'; $result_page .= '
' . t('A review of ') . '' . l($title, $item_link) . '
'; $result_page .= "
\n"; } } else { $result_page = $no_rev; } return $result_page; } function sopac_delete_review_form() { global $user; $pathinfo = explode('/', trim($_GET['q'])); $rev_id = $pathinfo[2]; $form['#redirect'] = substr(urldecode($_GET['ref']), 1); $form['revform'] = array( '#type' => 'fieldset', '#title' => t('Do you really want to delete this review?'), '#collapsible' => FALSE, '#collapsed' => FALSE, ); $form['revform']['submit_y'] = array( '#type' => 'submit', '#value' => t('Yes'), ); $form['revform']['submit_n'] = array( '#type' => 'submit', '#value' => t('No'), ); $form['revform']['rev_id'] = array( '#type' => 'hidden', '#value' => $rev_id, ); return $form; } function sopac_delete_review_form_submit($form, &$form_state) { global $user; if (strtolower($form_state['values']['op']) == 'yes') { $insurge = sopac_get_insurge(); $insurge->delete_review($user->uid, $form_state['values']['rev_id']); } } /** * Returns the HTML and JS code for the ratings widget for $bnum * * @param object $user Drupal user object * @param int $bnum Bib number * @param float $rating Rating value override * @param boolean $show_label Displays the vote count * @param boolean $post_redirect Redirect the page back on itself after form submit. Useful for lists. * @return string HTML/JS widget */ function theme_sopac_get_rating_stars($bnum, $rating = NULL, $show_label = TRUE, $post_redirect = FALSE, $id = 'default') { global $user; // Load Required JS libraries drupal_add_js(drupal_get_path('module', 'sopac') . '/js/jquery.rating.js'); $insurge = sopac_get_insurge(); $rate_options = array('0.5', '1.0', '1.5', '2.0', '2.5', '3.0', '3.5', '4.0', '4.5', '5.0'); if ($_POST[$id . '_rating_submit_' . $bnum] && $user->uid) { $insurge = sopac_get_insurge(); $insurge->submit_rating($user->uid, $bnum, $_POST[$id . '_bib_rating_' . $bnum]); if ($post_redirect) { header('Location: ' . request_uri()); } } if (!$user->uid) { $disable_flag = ' disabled="disabled" '; $login_string = ' - ' . l(t('Login'), 'user/login', array('query' => drupal_get_destination())) . t(' to add yours'); } $ratings_info_arr = $insurge->get_rating($bnum); if ($rating) { $ratings_info_arr['value'] = $rating; } $star_code = '
'; foreach ($rate_options as $val) { $checked_flag = ''; if ((float) $val == (float) $ratings_info_arr['value']) { $checked_flag = ' checked="checked"'; } $star_code .= '\n"; } $star_code .= ''; if ($show_label) { if (!$ratings_info_arr['count']) { $count_msg = t('No votes yet'); } elseif ($ratings_info_arr['count'] == 1) { $count_msg = '1 vote'; } else { $count_msg = $ratings_info_arr['count'] . t(' votes'); } $count_msg .= $login_string; $star_code .= '(' . $count_msg . ')'; } $star_code .= '
'; return $star_code; }