original_string: public function markdown_badge_criteria() {
          $agg = $this->get_aggregation_methods();
          if (empty($this->criteria)) {
              return get_string('nocriteria', 'badges');
          }
          $overalldescr = '';
          $overall = $this->criteria[BADGE_CRITERIA_TYPE_OVERALL];
          if (!empty($overall->description)) {
                  $overalldescr = format_text($overall->description, $overall->descriptionformat,
                      array('context' => $this->get_context())) . '\n';
          }
          // Get the condition string.
          if (count($this->criteria) == 2) {
              $condition = get_string('criteria_descr', 'badges');
          } else {
              $condition = get_string('criteria_descr_' . BADGE_CRITERIA_TYPE_OVERALL, 'badges',
                  core_text::strtoupper($agg[$this->get_aggregation_method()]));
          }
          unset($this->criteria[BADGE_CRITERIA_TYPE_OVERALL]);
          $items = array();
          // If only one criterion left, make sure its description goe to the top.
          if (count($this->criteria) == 1) {
              $c = reset($this->criteria);
              if (!empty($c->description)) {
                  $overalldescr = $c->description . '\n';
              }
              if (count($c->params) == 1) {
                  $items[] = ' * ' . get_string('criteria_descr_single_' . $c->criteriatype, 'badges') .
                      $c->get_details();
              } else {
                  $items[] = '* ' . get_string('criteria_descr_' . $c->criteriatype, 'badges',
                          core_text::strtoupper($agg[$this->get_aggregation_method($c->criteriatype)])) .
                      $c->get_details();
              }
          } else {
              foreach ($this->criteria as $type => $c) {
                  $criteriadescr = '';
                  if (!empty($c->description)) {
                      $criteriadescr = $c->description;
                  }
                  if (count($c->params) == 1) {
                      $items[] = ' * ' . get_string('criteria_descr_single_' . $type, 'badges') .
                          $c->get_details() . $criteriadescr;
                  } else {
                      $items[] = '* ' . get_string('criteria_descr_' . $type, 'badges',
                              core_text::strtoupper($agg[$this->get_aggregation_method($type)])) .
                          $c->get_details() . $criteriadescr;
                  }
              }
          }
          return strip_tags($overalldescr . $condition . html_writer::alist($items, array(), 'ul'));
      }
code: public function markdown_badge_criteria() {
          $agg = $this->get_aggregation_methods();
          if (empty($this->criteria)) {
              return get_string('nocriteria', 'badges');
          }
          $overalldescr = '';
          $overall = $this->criteria[BADGE_CRITERIA_TYPE_OVERALL];
          if (!empty($overall->description)) {
                  $overalldescr = format_text($overall->description, $overall->descriptionformat,
                      array('context' => $this->get_context())) . '\n';
          }
          // Get the condition string.
          if (count($this->criteria) == 2) {
              $condition = get_string('criteria_descr', 'badges');
          } else {
              $condition = get_string('criteria_descr_' . BADGE_CRITERIA_TYPE_OVERALL, 'badges',
                  core_text::strtoupper($agg[$this->get_aggregation_method()]));
          }
          unset($this->criteria[BADGE_CRITERIA_TYPE_OVERALL]);
          $items = array();
          // If only one criterion left, make sure its description goe to the top.
          if (count($this->criteria) == 1) {
              $c = reset($this->criteria);
              if (!empty($c->description)) {
                  $overalldescr = $c->description . '\n';
              }
              if (count($c->params) == 1) {
                  $items[] = ' * ' . get_string('criteria_descr_single_' . $c->criteriatype, 'badges') .
                      $c->get_details();
              } else {
                  $items[] = '* ' . get_string('criteria_descr_' . $c->criteriatype, 'badges',
                          core_text::strtoupper($agg[$this->get_aggregation_method($c->criteriatype)])) .
                      $c->get_details();
              }
          } else {
              foreach ($this->criteria as $type => $c) {
                  $criteriadescr = '';
                  if (!empty($c->description)) {
                      $criteriadescr = $c->description;
                  }
                  if (count($c->params) == 1) {
                      $items[] = ' * ' . get_string('criteria_descr_single_' . $type, 'badges') .
                          $c->get_details() . $criteriadescr;
                  } else {
                      $items[] = '* ' . get_string('criteria_descr_' . $type, 'badges',
                              core_text::strtoupper($agg[$this->get_aggregation_method($type)])) .
                          $c->get_details() . $criteriadescr;
                  }
              }
          }
          return strip_tags($overalldescr . $condition . html_writer::alist($items, array(), 'ul'));
      }
code_tokens: public function markdown_badge_criteria ( ) { $ agg = $ this -> get_aggregation_methods ( ) ; if ( empty ( $ this -> criteria ) ) { return get_string ( 'nocriteria' , 'badges' ) ; } $ overalldescr = '' ; $ overall = $ this -> criteria [ BADGE_CRITERIA_TYPE_OVERALL ] ; if ( ! empty ( $ overall -> description ) ) { $ overalldescr = format_text ( $ overall -> description , $ overall -> descriptionformat , array ( 'context' => $ this -> get_context ( ) ) ) . '\n' ; } // Get the condition string. if ( count ( $ this -> criteria ) == 2 ) { $ condition = get_string ( 'criteria_descr' , 'badges' ) ; } else { $ condition = get_string ( 'criteria_descr_' . BADGE_CRITERIA_TYPE_OVERALL , 'badges' , core_text :: strtoupper ( $ agg [ $ this -> get_aggregation_method ( ) ] ) ) ; } unset ( $ this -> criteria [ BADGE_CRITERIA_TYPE_OVERALL ] ) ; $ items = array ( ) ; // If only one criterion left, make sure its description goe to the top. if ( count ( $ this -> criteria ) == 1 ) { $ c = reset ( $ this -> criteria ) ; if ( ! empty ( $ c -> description ) ) { $ overalldescr = $ c -> description . '\n' ; } if ( count ( $ c -> params ) == 1 ) { $ items [ ] = ' * ' . get_string ( 'criteria_descr_single_' . $ c -> criteriatype , 'badges' ) . $ c -> get_details ( ) ; } else { $ items [ ] = '* ' . get_string ( 'criteria_descr_' . $ c -> criteriatype , 'badges' , core_text :: strtoupper ( $ agg [ $ this -> get_aggregation_method ( $ c -> criteriatype ) ] ) ) . $ c -> get_details ( ) ; } } else { foreach ( $ this -> criteria as $ type => $ c ) { $ criteriadescr = '' ; if ( ! empty ( $ c -> description ) ) { $ criteriadescr = $ c -> description ; } if ( count ( $ c -> params ) == 1 ) { $ items [ ] = ' * ' . get_string ( 'criteria_descr_single_' . $ type , 'badges' ) . $ c -> get_details ( ) . $ criteriadescr ; } else { $ items [ ] = '* ' . get_string ( 'criteria_descr_' . $ type , 'badges' , core_text :: strtoupper ( $ agg [ $ this -> get_aggregation_method ( $ type ) ] ) ) . $ c -> get_details ( ) . $ criteriadescr ; } } } return strip_tags ( $ overalldescr . $ condition . html_writer :: alist ( $ items , array ( ) , 'ul' ) ) ; }
docstring: Markdown language support for criteria.
  
  @return string $output Markdown content to output.
docstring_tokens: Markdown language support for criteria .