original_string: protected function validate_and_get_versions($versionids) {
          $versionnames = [];
          $policies = api::list_policies();
          foreach ($versionids as $versionid) {
              $version = api::get_policy_version($versionid, $policies);
              if ($version->audience == policy_version::AUDIENCE_GUESTS) {
                  throw new \moodle_exception('errorpolicyversionnotfound', 'tool_policy');
              }
              $url = new \moodle_url('/admin/tool/policy/view.php', ['versionid' => $version->id]);
              $policyname = $version->name;
              if ($version->status != policy_version::STATUS_ACTIVE) {
                  $policyname .= ' ' . $version->revision;
              }
              $versionnames[$version->id] = \html_writer::link($url, $policyname,
                  ['data-action' => 'view', 'data-versionid' => $version->id]);
          }
          return $versionnames;
      }
code: protected function validate_and_get_versions($versionids) {
          $versionnames = [];
          $policies = api::list_policies();
          foreach ($versionids as $versionid) {
              $version = api::get_policy_version($versionid, $policies);
              if ($version->audience == policy_version::AUDIENCE_GUESTS) {
                  throw new \moodle_exception('errorpolicyversionnotfound', 'tool_policy');
              }
              $url = new \moodle_url('/admin/tool/policy/view.php', ['versionid' => $version->id]);
              $policyname = $version->name;
              if ($version->status != policy_version::STATUS_ACTIVE) {
                  $policyname .= ' ' . $version->revision;
              }
              $versionnames[$version->id] = \html_writer::link($url, $policyname,
                  ['data-action' => 'view', 'data-versionid' => $version->id]);
          }
          return $versionnames;
      }
code_tokens: protected function validate_and_get_versions ( $ versionids ) { $ versionnames = [ ] ; $ policies = api :: list_policies ( ) ; foreach ( $ versionids as $ versionid ) { $ version = api :: get_policy_version ( $ versionid , $ policies ) ; if ( $ version -> audience == policy_version :: AUDIENCE_GUESTS ) { throw new \ moodle_exception ( 'errorpolicyversionnotfound' , 'tool_policy' ) ; } $ url = new \ moodle_url ( '/admin/tool/policy/view.php' , [ 'versionid' => $ version -> id ] ) ; $ policyname = $ version -> name ; if ( $ version -> status != policy_version :: STATUS_ACTIVE ) { $ policyname .= ' ' . $ version -> revision ; } $ versionnames [ $ version -> id ] = \ html_writer :: link ( $ url , $ policyname , [ 'data-action' => 'view' , 'data-versionid' => $ version -> id ] ) ; } return $ versionnames ; }
docstring: Validate versionids and return their names
  
  @param array $versionids
  @return array (versionid=>name)
docstring_tokens: Validate versionids and return their names