示例#1
0
 function do_item($handle)
 {
     if (!parent::do_item($handle)) {
         return false;
     }
     $obj = $this->registered[$handle];
     if (null === $obj->ver) {
         $ver = '';
     } else {
         $ver = $obj->ver ? $obj->ver : $this->default_version;
     }
     if (isset($this->args[$handle])) {
         $ver = $ver ? $ver . '&' . $this->args[$handle] : $this->args[$handle];
     }
     if ($this->do_concat) {
         if ($this->in_default_dir($obj->src) && !isset($obj->extra['conditional']) && !isset($obj->extra['alt'])) {
             $this->concat .= "{$handle},";
             $this->concat_version .= "{$handle}{$ver}";
             $this->print_code .= $this->get_data($handle, 'after');
             return true;
         }
     }
     if (isset($obj->args)) {
         $media = htmlspecialchars($obj->args);
     } else {
         $media = 'all';
     }
     $href = $this->_css_href($obj->src, $ver, $handle);
     $rel = isset($obj->extra['alt']) && $obj->extra['alt'] ? 'alternate stylesheet' : 'stylesheet';
     $title = isset($obj->extra['title']) ? "title='" . htmlspecialchars($obj->extra['title']) . "'" : '';
     $end_cond = $tag = '';
     if (isset($obj->extra['conditional']) && $obj->extra['conditional']) {
         $tag .= "<!--[if {$obj->extra['conditional']}]>\n";
         $end_cond = "<![endif]-->\n";
     }
     $tag .= "<link rel=\"{$rel}\" id=\"{$handle}-css\" {$title} href=\"{$href}\" type=\"text/css\" media=\"{$media}\" />\n";
     if ('rtl' === $this->text_direction && isset($obj->extra['rtl']) && $obj->extra['rtl']) {
         if (is_bool($obj->extra['rtl'])) {
             $suffix = isset($obj->extra['suffix']) ? $obj->extra['suffix'] : '';
             $rtl_href = str_replace("{$suffix}.css", "-rtl{$suffix}.css", $this->_css_href($obj->src, $ver, "{$handle}-rtl"));
         } else {
             $rtl_href = $this->_css_href($obj->extra['rtl'], $ver, "{$handle}-rtl");
         }
         $tag .= "<link rel=\"{$rel}\" id=\"{$handle}-rtl-css\" {$title} href=\"{$rtl_href}\" type=\"text/css\" media=\"{$media}\" />\n";
     }
     $tag .= $end_cond;
     if ($this->do_concat) {
         $this->print_html .= $tag;
         $this->print_html .= $this->print_inline_style($handle, false);
     } else {
         echo $tag;
         $this->print_inline_style($handle);
     }
     return true;
 }
示例#2
0
 function do_item($handle, $group = false)
 {
     if (!parent::do_item($handle)) {
         return false;
     }
     if (0 === $group && $this->groups[$handle] > 0) {
         $this->in_footer[] = $handle;
         return false;
     }
     if (false === $group && in_array($handle, $this->in_footer, true)) {
         $this->in_footer = array_diff($this->in_footer, (array) $handle);
     }
     if (null === $this->registered[$handle]->ver) {
         $ver = '';
     } else {
         $ver = $this->registered[$handle]->ver ? $this->registered[$handle]->ver : $this->default_version;
     }
     if (isset($this->args[$handle])) {
         $ver = $ver ? $ver . '&amp;' . $this->args[$handle] : $this->args[$handle];
     }
     $src = $this->registered[$handle]->src;
     if ($this->do_concat) {
         //$srce = apply_filters( 'script_loader_src', $src, $handle );
         $srce = $src;
         if ($this->in_default_dir($srce)) {
             $this->print_code .= $this->print_extra_script($handle, false);
             $this->concat .= "{$handle},";
             $this->concat_version .= "{$handle}{$ver}";
             return true;
         } else {
             $this->ext_handles .= "{$handle},";
             $this->ext_version .= "{$handle}{$ver}";
         }
     }
     $this->print_extra_script($handle);
     if (!preg_match('|^(https?:)?//|', $src) && !($this->content_url && 0 === strpos($src, $this->content_url))) {
         $src = $this->base_url . $src;
     }
     if (!empty($ver)) {
         $src = String::add_query_arg('ver', $ver, $src);
     }
     //$src = esc_url( apply_filters( 'script_loader_src', $src, $handle ) );
     $src = filter_var($src, FILTER_SANITIZE_URL);
     if ($this->do_concat) {
         $this->print_html .= "<script type=\"text/javascript\" src=\"{$src}\"></script>\n";
     } else {
         echo "<script type=\"text/javascript\" src=\"{$src}\"></script>\n";
     }
     return true;
 }