本文整理汇总了PHP中rating::get_aggregate_string方法的典型用法代码示例。如果您正苦于以下问题:PHP rating::get_aggregate_string方法的具体用法?PHP rating::get_aggregate_string怎么用?PHP rating::get_aggregate_string使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rating
的用法示例。
在下文中一共展示了rating::get_aggregate_string方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: array
/**
* Produces the html that represents this rating in the UI
*
* @param rating $rating the page object on which this rating will appear
* @return string
*/
function render_rating(rating $rating) {
global $CFG, $USER;
if ($rating->settings->aggregationmethod == RATING_AGGREGATE_NONE) {
return null;//ratings are turned off
}
$ratingmanager = new rating_manager();
// Initialise the JavaScript so ratings can be done by AJAX.
$ratingmanager->initialise_rating_javascript($this->page);
$strrate = get_string("rate", "rating");
$ratinghtml = ''; //the string we'll return
// permissions check - can they view the aggregate?
if ($rating->user_can_view_aggregate()) {
$aggregatelabel = $ratingmanager->get_aggregate_label($rating->settings->aggregationmethod);
$aggregatestr = $rating->get_aggregate_string();
$aggregatehtml = html_writer::tag('span', $aggregatestr, array('id' => 'ratingaggregate'.$rating->itemid, 'class' => 'ratingaggregate')).' ';
if ($rating->count > 0) {
$countstr = "({$rating->count})";
} else {
$countstr = '-';
}
$aggregatehtml .= html_writer::tag('span', $countstr, array('id'=>"ratingcount{$rating->itemid}", 'class' => 'ratingcount')).' ';
$ratinghtml .= html_writer::tag('span', $aggregatelabel, array('class'=>'rating-aggregate-label'));
if ($rating->settings->permissions->viewall && $rating->settings->pluginpermissions->viewall) {
$nonpopuplink = $rating->get_view_ratings_url();
$popuplink = $rating->get_view_ratings_url(true);
$action = new popup_action('click', $popuplink, 'ratings', array('height' => 400, 'width' => 600));
$ratinghtml .= $this->action_link($nonpopuplink, $aggregatehtml, $action);
} else {
$ratinghtml .= $aggregatehtml;
}
}
$formstart = null;
// if the item doesn't belong to the current user, the user has permission to rate
// and we're within the assessable period
if ($rating->user_can_rate()) {
$rateurl = $rating->get_rate_url();
$inputs = $rateurl->params();
//start the rating form
$formattrs = array(
'id' => "postrating{$rating->itemid}",
'class' => 'postratingform',
'method' => 'post',
'action' => $rateurl->out_omit_querystring()
);
$formstart = html_writer::start_tag('form', $formattrs);
$formstart .= html_writer::start_tag('div', array('class' => 'ratingform'));
// add the hidden inputs
foreach ($inputs as $name => $value) {
$attributes = array('type' => 'hidden', 'class' => 'ratinginput', 'name' => $name, 'value' => $value);
$formstart .= html_writer::empty_tag('input', $attributes);
}
if (empty($ratinghtml)) {
$ratinghtml .= $strrate.': ';
}
$ratinghtml = $formstart.$ratinghtml;
$scalearray = array(RATING_UNSET_RATING => $strrate.'...') + $rating->settings->scale->scaleitems;
$scaleattrs = array('class'=>'postratingmenu ratinginput','id'=>'menurating'.$rating->itemid);
$ratinghtml .= html_writer::label($rating->rating, 'menurating'.$rating->itemid, false, array('class' => 'accesshide'));
$ratinghtml .= html_writer::select($scalearray, 'rating', $rating->rating, false, $scaleattrs);
//output submit button
$ratinghtml .= html_writer::start_tag('span', array('class'=>"ratingsubmit"));
$attributes = array('type' => 'submit', 'class' => 'postratingmenusubmit', 'id' => 'postratingsubmit'.$rating->itemid, 'value' => s(get_string('rate', 'rating')));
$ratinghtml .= html_writer::empty_tag('input', $attributes);
if (!$rating->settings->scale->isnumeric) {
// If a global scale, try to find current course ID from the context
if (empty($rating->settings->scale->courseid) and $coursecontext = $rating->context->get_course_context(false)) {
$courseid = $coursecontext->instanceid;
} else {
$courseid = $rating->settings->scale->courseid;
}
$ratinghtml .= $this->help_icon_scale($courseid, $rating->settings->scale);
}
$ratinghtml .= html_writer::end_tag('span');
$ratinghtml .= html_writer::end_tag('div');
$ratinghtml .= html_writer::end_tag('form');
}
//.........这里部分代码省略.........
示例2: test_get_aggregate_string
/**
* Test the value returned by get_aggregate_string().
*
* @dataProvider get_aggregate_string_provider
*/
public function test_get_aggregate_string($method, $aggregate, $isnumeric, $scaleitems, $expectation)
{
$options = new stdClass();
$options->aggregate = $aggregate;
$options->context = null;
$options->component = null;
$options->ratingarea = null;
$options->itemid = null;
$options->scaleid = null;
$options->userid = null;
$options->settings = new stdClass();
$options->settings->aggregationmethod = $method;
$options->settings->scale = new stdClass();
$options->settings->scale->isnumeric = $isnumeric;
$options->settings->scale->scaleitems = $scaleitems;
$rating = new rating($options);
$this->assertEquals($expectation, $rating->get_aggregate_string());
}