private function fetchAddAggregatesButton($read_only, Tracker_FormElement_Field $field, PFUser $current_user, array $used_aggregates, $is_first) { $aggregate_functions = $field->getAggregateFunctions(); if ($read_only || !$this->report->userCanUpdate($current_user)) { return; } if (!$aggregate_functions) { return; } $html = ''; $html .= '<div class="btn-group">'; $html .= '<a href="#" class="btn btn-mini dropdown-toggle" title="' . $GLOBALS['Language']->getText('plugin_tracker_aggregate', 'toggle') . '" data-toggle="dropdown">'; $html .= '<i class="icon-plus"></i> '; $html .= '<span class="caret"></span>'; $html .= '</a>'; $html .= '<ul class="dropdown-menu ' . ($is_first ? '' : 'pull-right') . '">'; foreach ($aggregate_functions as $function) { $is_used = isset($used_aggregates[$field->getId()]) && in_array($function, $used_aggregates[$field->getId()]); $url = $this->getAggregateURL($field, $function); $html .= '<li>'; $html .= '<a href="' . $url . '">'; if ($is_used) { $html .= '<i class="icon-ok"></i> '; } $html .= $GLOBALS['Language']->getText('plugin_tracker_aggregate', $function); $html .= '</a>'; $html .= '</li>'; } $html .= '</ul>'; $html .= '</div>'; return $html; }