30    public $name = 
'ExtractStyleBlocks';
 
   59        $this->_tidy = 
new csstidy();
 
   60        $this->_tidy->set_cfg(
'lowercase_s', 
false);
 
   81        $this->_styleMatches[] = $matches[1];
 
   94        $tidy = 
$config->get(
'Filter.ExtractStyleBlocks.TidyImpl');
 
  101        $html = preg_replace_callback(
'#<style(?:\s.*)?>(.*)<\/style>#isU', array($this, 
'styleCallback'), 
$html);
 
  103        $this->_styleMatches = array(); 
 
  104        $context->register(
'StyleBlocks', $style_blocks); 
 
  106            foreach ($style_blocks as &
$style) {
 
  125        $scope = 
$config->get(
'Filter.ExtractStyleBlocks.Scope');
 
  126        if ($scope !== 
null) {
 
  127            $scopes = array_map(
'trim', explode(
',', $scope));
 
  133        if (strncmp(
'<!--', $css, 4) === 0) {
 
  134            $css = substr($css, 4);
 
  136        if (strlen($css) > 3 && substr($css, -3) == 
'-->') {
 
  137            $css = substr($css, 0, -3);
 
  140        set_error_handler(
'htmlpurifier_filter_extractstyleblocks_muteerrorhandler');
 
  141        $this->_tidy->parse($css);
 
  142        restore_error_handler();
 
  143        $css_definition = 
$config->getDefinition(
'CSS');
 
  144        $html_definition = 
$config->getDefinition(
'HTML');
 
  146        foreach ($this->_tidy->css as $k => $decls) {
 
  148            $new_decls = array();
 
  149            foreach ($decls as $selector => 
$style) {
 
  150                $selector = trim($selector);
 
  151                if ($selector === 
'') {
 
  216                $selectors = array_map(
'trim', explode(
',', $selector));
 
  217                $new_selectors = array();
 
  218                foreach ($selectors as $sel) {
 
  226                    for (
$i = 0, $c = count($basic_selectors); 
$i < $c; 
$i++) {
 
  227                        $x = $basic_selectors[
$i];
 
  233                                $delim = 
' ' . 
$x . 
' ';
 
  240                            for ($j = 0, $cc = count($components); $j < $cc; $j++) {
 
  241                                $y = $components[$j];
 
  243                                    if (
$y === 
'*' || isset($html_definition->info[
$y = strtolower(
$y)])) {
 
  257                                    if ($sdelim === 
'#') {
 
  259                                    } elseif ($sdelim === 
'.') {
 
  261                                    } elseif ($sdelim === 
':') {
 
  279                                if ($nsel === 
null) {
 
  282                                    $nsel .= $delim . $nx;
 
  290                    if ($nsel !== 
null) {
 
  291                        if (!empty($scopes)) {
 
  292                            foreach ($scopes as 
$s) {
 
  293                                $new_selectors[] = 
"$s $nsel";
 
  296                            $new_selectors[] = $nsel;
 
  300                if (empty($new_selectors)) {
 
  303                $selector = implode(
', ', $new_selectors);
 
  305                    if (!isset($css_definition->info[
$name])) {
 
  311                    if (
$ret === 
false) {
 
  317                $new_decls[$selector] = 
$style;
 
  319            $new_css[$k] = $new_decls;
 
  323        $this->_tidy->css = $new_css;
 
  324        $this->_tidy->import = array();
 
  325        $this->_tidy->charset = 
null;
 
  326        $this->_tidy->namespace = 
null;
 
  327        $css = $this->_tidy->print->plain();
 
  330        if (
$config->get(
'Filter.ExtractStyleBlocks.Escaping')) {
 
  332                array(
'<', 
'>', 
'&'),
 
  333                array(
'\3C ', 
'\3E ', 
'\26 '),
 
An exception for terminatinating execution or to throw for unit testing.
Validates based on {ident} CSS grammar production.
Validates a keyword against a list of valid values.
Validates the HTML attribute ID.
Global exception class for HTML Purifier; any exceptions we throw are from here.
Represents a pre or post processing filter on HTML Purifier's output.
echo;exit;}function LogoutNotification($SessionID){ global $ilDB;$q="SELECT session_id, data FROM usr_session WHERE expires > (\w+)\|/" PREG_SPLIT_NO_EMPTY PREG_SPLIT_DELIM_CAPTURE