protected function getClass($obj, $sec_prefix = '')
    {
        static $five = null;
        if ($five === null) {
            $five = version_compare(PHP_VERSION, '5', '>=');
        }
        $prefix = 'HTMLPurifier_' . $sec_prefix;
        if (!$five) {
            $prefix = strtolower($prefix);
        }
        $class = str_replace($prefix, '', get_class($obj));
        $lclass = strtolower($class);
        $class .= '(';
        switch ($lclass) {
            case 'enum':
                $values = array();
                foreach ($obj->valid_values as $value => $bool) {
                    $values[] = $value;
                }
                $class .= implode(', ', $values);
                break;
            case 'css_composite':
                $values = array();
                foreach ($obj->defs as $def) {
                    $values[] = $this->getClass($def, $sec_prefix);
                }
                $class .= implode(', ', $values);
                break;
            case 'css_multiple':
                $class .= $this->getClass($obj->single, $sec_prefix) . ', ';
                $class .= $obj->max;
                break;
            case 'css_denyelementdecorator':
                $class .= $this->getClass($obj->def, $sec_prefix) . ', ';
                $class .= $obj->element;
                break;
            case 'css_importantdecorator':
                $class .= $this->getClass($obj->def, $sec_prefix);
                if ($obj->allow) {
                    $class .= ', !important';
                }
                break;
        }
        $class .= ')';
        return $class;
    }
protected function getClass($obj, $sec_prefix = '')
    {
        static $five = null;
        if ($five === null) {
            $five = version_compare(PHP_VERSION, '5', '>=');
        }
        $prefix = 'HTMLPurifier_' . $sec_prefix;
        if (!$five) {
            $prefix = strtolower($prefix);
        }
        $class = str_replace($prefix, '', get_class($obj));
        $lclass = strtolower($class);
        $class .= '(';
        switch ($lclass) {
            case 'enum':
                $values = array();
                foreach ($obj->valid_values as $value => $bool) {
                    $values[] = $value;
                }
                $class .= implode(', ', $values);
                break;
            case 'css_composite':
                $values = array();
                foreach ($obj->defs as $def) {
                    $values[] = $this->getClass($def, $sec_prefix);
                }
                $class .= implode(', ', $values);
                break;
            case 'css_multiple':
                $class .= $this->getClass($obj->single, $sec_prefix) . ', ';
                $class .= $obj->max;
                break;
            case 'css_denyelementdecorator':
                $class .= $this->getClass($obj->def, $sec_prefix) . ', ';
                $class .= $obj->element;
                break;
            case 'css_importantdecorator':
                $class .= $this->getClass($obj->def, $sec_prefix);
                if ($obj->allow) {
                    $class .= ', !important';
                }
                break;
        }
        $class .= ')';
        return $class;
    }
protected function getClass ( $ obj , $ sec_prefix = '' ) { static $ five = null ; if ( $ five === null ) { $ five = version_compare ( PHP_VERSION , '5' , '>=' ) ; } $ prefix = 'HTMLPurifier_' . $ sec_prefix ; if ( ! $ five ) { $ prefix = strtolower ( $ prefix ) ; } $ class = str_replace ( $ prefix , '' , get_class ( $ obj ) ) ; $ lclass = strtolower ( $ class ) ; $ class .= '(' ; switch ( $ lclass ) { case 'enum' : $ values = array ( ) ; foreach ( $ obj -> valid_values as $ value => $ bool ) { $ values [ ] = $ value ; } $ class .= implode ( ', ' , $ values ) ; break ; case 'css_composite' : $ values = array ( ) ; foreach ( $ obj -> defs as $ def ) { $ values [ ] = $ this -> getClass ( $ def , $ sec_prefix ) ; } $ class .= implode ( ', ' , $ values ) ; break ; case 'css_multiple' : $ class .= $ this -> getClass ( $ obj -> single , $ sec_prefix ) . ', ' ; $ class .= $ obj -> max ; break ; case 'css_denyelementdecorator' : $ class .= $ this -> getClass ( $ obj -> def , $ sec_prefix ) . ', ' ; $ class .= $ obj -> element ; break ; case 'css_importantdecorator' : $ class .= $ this -> getClass ( $ obj -> def , $ sec_prefix ) ; if ( $ obj -> allow ) { $ class .= ', !important' ; } break ; } $ class .= ')' ; return $ class ; }
Retrieves the class of an object without prefixes, as well as metadata
@param object $obj Object to determine class of
@param string $sec_prefix Further prefix to remove
@return string
Retrieves the class of an object without prefixes as well as metadata