original_string: protected function get_jquery_headcode() {
          if (empty($this->jqueryplugins['jquery'])) {
              // If nobody requested jQuery then do not bother to load anything.
              // This may be useful for themes that want to override 'ui-css' only if requested by something else.
              return '';
          }
  
          $included = array();
          $urls = array();
  
          foreach ($this->jqueryplugins as $name => $unused) {
              if (isset($included[$name])) {
                  continue;
              }
              if (array_key_exists($name, $this->jquerypluginoverrides)) {
                  // The following loop tries to resolve the replacements,
                  // use max 100 iterations to prevent infinite loop resulting
                  // in blank page.
                  $cyclic = true;
                  $oldname = $name;
                  for ($i=0; $i<100; $i++) {
                      $name = $this->jquerypluginoverrides[$name];
                      if (!array_key_exists($name, $this->jquerypluginoverrides)) {
                          $cyclic = false;
                          break;
                      }
                  }
                  if ($cyclic) {
                      // We can not do much with cyclic references here, let's use the old plugin.
                      $name = $oldname;
                      debugging("Cyclic overrides detected for jQuery plugin '$name'");
  
                  } else if (empty($name)) {
                      // Developer requested removal of the plugin.
                      continue;
  
                  } else if (!isset($this->jqueryplugins[$name])) {
                      debugging("Unknown jQuery override plugin '$name' detected");
                      $name = $oldname;
  
                  } else if (isset($included[$name])) {
                      // The plugin was already included, easy.
                      continue;
                  }
              }
  
              $plugin = $this->jqueryplugins[$name];
              $urls = array_merge($urls, $plugin->urls);
              $included[$name] = true;
          }
  
          $output = '';
          $attributes = array('rel' => 'stylesheet', 'type' => 'text/css');
          foreach ($urls as $url) {
              if (preg_match('/\.js$/', $url)) {
                  $output .= html_writer::script('', $url);
              } else if (preg_match('/\.css$/', $url)) {
                  $attributes['href'] = $url;
                  $output .= html_writer::empty_tag('link', $attributes) . "\n";
              }
          }
  
          return $output;
      }
code: protected function get_jquery_headcode() {
          if (empty($this->jqueryplugins['jquery'])) {
              // If nobody requested jQuery then do not bother to load anything.
              // This may be useful for themes that want to override 'ui-css' only if requested by something else.
              return '';
          }
  
          $included = array();
          $urls = array();
  
          foreach ($this->jqueryplugins as $name => $unused) {
              if (isset($included[$name])) {
                  continue;
              }
              if (array_key_exists($name, $this->jquerypluginoverrides)) {
                  // The following loop tries to resolve the replacements,
                  // use max 100 iterations to prevent infinite loop resulting
                  // in blank page.
                  $cyclic = true;
                  $oldname = $name;
                  for ($i=0; $i<100; $i++) {
                      $name = $this->jquerypluginoverrides[$name];
                      if (!array_key_exists($name, $this->jquerypluginoverrides)) {
                          $cyclic = false;
                          break;
                      }
                  }
                  if ($cyclic) {
                      // We can not do much with cyclic references here, let's use the old plugin.
                      $name = $oldname;
                      debugging("Cyclic overrides detected for jQuery plugin '$name'");
  
                  } else if (empty($name)) {
                      // Developer requested removal of the plugin.
                      continue;
  
                  } else if (!isset($this->jqueryplugins[$name])) {
                      debugging("Unknown jQuery override plugin '$name' detected");
                      $name = $oldname;
  
                  } else if (isset($included[$name])) {
                      // The plugin was already included, easy.
                      continue;
                  }
              }
  
              $plugin = $this->jqueryplugins[$name];
              $urls = array_merge($urls, $plugin->urls);
              $included[$name] = true;
          }
  
          $output = '';
          $attributes = array('rel' => 'stylesheet', 'type' => 'text/css');
          foreach ($urls as $url) {
              if (preg_match('/\.js$/', $url)) {
                  $output .= html_writer::script('', $url);
              } else if (preg_match('/\.css$/', $url)) {
                  $attributes['href'] = $url;
                  $output .= html_writer::empty_tag('link', $attributes) . "\n";
              }
          }
  
          return $output;
      }
code_tokens: protected function get_jquery_headcode ( ) { if ( empty ( $ this -> jqueryplugins [ 'jquery' ] ) ) { // If nobody requested jQuery then do not bother to load anything. // This may be useful for themes that want to override 'ui-css' only if requested by something else. return '' ; } $ included = array ( ) ; $ urls = array ( ) ; foreach ( $ this -> jqueryplugins as $ name => $ unused ) { if ( isset ( $ included [ $ name ] ) ) { continue ; } if ( array_key_exists ( $ name , $ this -> jquerypluginoverrides ) ) { // The following loop tries to resolve the replacements, // use max 100 iterations to prevent infinite loop resulting // in blank page. $ cyclic = true ; $ oldname = $ name ; for ( $ i = 0 ; $ i < 100 ; $ i ++ ) { $ name = $ this -> jquerypluginoverrides [ $ name ] ; if ( ! array_key_exists ( $ name , $ this -> jquerypluginoverrides ) ) { $ cyclic = false ; break ; } } if ( $ cyclic ) { // We can not do much with cyclic references here, let's use the old plugin. $ name = $ oldname ; debugging ( "Cyclic overrides detected for jQuery plugin '$name'" ) ; } else if ( empty ( $ name ) ) { // Developer requested removal of the plugin. continue ; } else if ( ! isset ( $ this -> jqueryplugins [ $ name ] ) ) { debugging ( "Unknown jQuery override plugin '$name' detected" ) ; $ name = $ oldname ; } else if ( isset ( $ included [ $ name ] ) ) { // The plugin was already included, easy. continue ; } } $ plugin = $ this -> jqueryplugins [ $ name ] ; $ urls = array_merge ( $ urls , $ plugin -> urls ) ; $ included [ $ name ] = true ; } $ output = '' ; $ attributes = array ( 'rel' => 'stylesheet' , 'type' => 'text/css' ) ; foreach ( $ urls as $ url ) { if ( preg_match ( '/\.js$/' , $ url ) ) { $ output .= html_writer :: script ( '' , $ url ) ; } else if ( preg_match ( '/\.css$/' , $ url ) ) { $ attributes [ 'href' ] = $ url ; $ output .= html_writer :: empty_tag ( 'link' , $ attributes ) . "\n" ; } } return $ output ; }
docstring: Return jQuery related markup for page start.
  @return string
docstring_tokens: Return jQuery related markup for page start .