| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 | 
							- <?php
 
- class HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4 extends HTMLPurifier_HTMLModule_Tidy
 
- {
 
-     /**
 
-      * @return array
 
-      */
 
-     public function makeFixes()
 
-     {
 
-         $r = array();
 
-         // == deprecated tag transforms ===================================
 
-         $r['font'] = new HTMLPurifier_TagTransform_Font();
 
-         $r['menu'] = new HTMLPurifier_TagTransform_Simple('ul');
 
-         $r['dir'] = new HTMLPurifier_TagTransform_Simple('ul');
 
-         $r['center'] = new HTMLPurifier_TagTransform_Simple('div', 'text-align:center;');
 
-         $r['u'] = new HTMLPurifier_TagTransform_Simple('span', 'text-decoration:underline;');
 
-         $r['s'] = new HTMLPurifier_TagTransform_Simple('span', 'text-decoration:line-through;');
 
-         $r['strike'] = new HTMLPurifier_TagTransform_Simple('span', 'text-decoration:line-through;');
 
-         // == deprecated attribute transforms =============================
 
-         $r['caption@align'] =
 
-             new HTMLPurifier_AttrTransform_EnumToCSS(
 
-                 'align',
 
-                 array(
 
-                     // we're following IE's behavior, not Firefox's, due
 
-                     // to the fact that no one supports caption-side:right,
 
-                     // W3C included (with CSS 2.1). This is a slightly
 
-                     // unreasonable attribute!
 
-                     'left' => 'text-align:left;',
 
-                     'right' => 'text-align:right;',
 
-                     'top' => 'caption-side:top;',
 
-                     'bottom' => 'caption-side:bottom;' // not supported by IE
 
-                 )
 
-             );
 
-         // @align for img -------------------------------------------------
 
-         $r['img@align'] =
 
-             new HTMLPurifier_AttrTransform_EnumToCSS(
 
-                 'align',
 
-                 array(
 
-                     'left' => 'float:left;',
 
-                     'right' => 'float:right;',
 
-                     'top' => 'vertical-align:top;',
 
-                     'middle' => 'vertical-align:middle;',
 
-                     'bottom' => 'vertical-align:baseline;',
 
-                 )
 
-             );
 
-         // @align for table -----------------------------------------------
 
-         $r['table@align'] =
 
-             new HTMLPurifier_AttrTransform_EnumToCSS(
 
-                 'align',
 
-                 array(
 
-                     'left' => 'float:left;',
 
-                     'center' => 'margin-left:auto;margin-right:auto;',
 
-                     'right' => 'float:right;'
 
-                 )
 
-             );
 
-         // @align for hr -----------------------------------------------
 
-         $r['hr@align'] =
 
-             new HTMLPurifier_AttrTransform_EnumToCSS(
 
-                 'align',
 
-                 array(
 
-                     // we use both text-align and margin because these work
 
-                     // for different browsers (IE and Firefox, respectively)
 
-                     // and the melange makes for a pretty cross-compatible
 
-                     // solution
 
-                     'left' => 'margin-left:0;margin-right:auto;text-align:left;',
 
-                     'center' => 'margin-left:auto;margin-right:auto;text-align:center;',
 
-                     'right' => 'margin-left:auto;margin-right:0;text-align:right;'
 
-                 )
 
-             );
 
-         // @align for h1, h2, h3, h4, h5, h6, p, div ----------------------
 
-         // {{{
 
-         $align_lookup = array();
 
-         $align_values = array('left', 'right', 'center', 'justify');
 
-         foreach ($align_values as $v) {
 
-             $align_lookup[$v] = "text-align:$v;";
 
-         }
 
-         // }}}
 
-         $r['h1@align'] =
 
-         $r['h2@align'] =
 
-         $r['h3@align'] =
 
-         $r['h4@align'] =
 
-         $r['h5@align'] =
 
-         $r['h6@align'] =
 
-         $r['p@align'] =
 
-         $r['div@align'] =
 
-             new HTMLPurifier_AttrTransform_EnumToCSS('align', $align_lookup);
 
-         // @bgcolor for table, tr, td, th ---------------------------------
 
-         $r['table@bgcolor'] =
 
-         $r['tr@bgcolor'] =
 
-         $r['td@bgcolor'] =
 
-         $r['th@bgcolor'] =
 
-             new HTMLPurifier_AttrTransform_BgColor();
 
-         // @border for img ------------------------------------------------
 
-         $r['img@border'] = new HTMLPurifier_AttrTransform_Border();
 
-         // @clear for br --------------------------------------------------
 
-         $r['br@clear'] =
 
-             new HTMLPurifier_AttrTransform_EnumToCSS(
 
-                 'clear',
 
-                 array(
 
-                     'left' => 'clear:left;',
 
-                     'right' => 'clear:right;',
 
-                     'all' => 'clear:both;',
 
-                     'none' => 'clear:none;',
 
-                 )
 
-             );
 
-         // @height for td, th ---------------------------------------------
 
-         $r['td@height'] =
 
-         $r['th@height'] =
 
-             new HTMLPurifier_AttrTransform_Length('height');
 
-         // @hspace for img ------------------------------------------------
 
-         $r['img@hspace'] = new HTMLPurifier_AttrTransform_ImgSpace('hspace');
 
-         // @noshade for hr ------------------------------------------------
 
-         // this transformation is not precise but often good enough.
 
-         // different browsers use different styles to designate noshade
 
-         $r['hr@noshade'] =
 
-             new HTMLPurifier_AttrTransform_BoolToCSS(
 
-                 'noshade',
 
-                 'color:#808080;background-color:#808080;border:0;'
 
-             );
 
-         // @nowrap for td, th ---------------------------------------------
 
-         $r['td@nowrap'] =
 
-         $r['th@nowrap'] =
 
-             new HTMLPurifier_AttrTransform_BoolToCSS(
 
-                 'nowrap',
 
-                 'white-space:nowrap;'
 
-             );
 
-         // @size for hr  --------------------------------------------------
 
-         $r['hr@size'] = new HTMLPurifier_AttrTransform_Length('size', 'height');
 
-         // @type for li, ol, ul -------------------------------------------
 
-         // {{{
 
-         $ul_types = array(
 
-             'disc' => 'list-style-type:disc;',
 
-             'square' => 'list-style-type:square;',
 
-             'circle' => 'list-style-type:circle;'
 
-         );
 
-         $ol_types = array(
 
-             '1' => 'list-style-type:decimal;',
 
-             'i' => 'list-style-type:lower-roman;',
 
-             'I' => 'list-style-type:upper-roman;',
 
-             'a' => 'list-style-type:lower-alpha;',
 
-             'A' => 'list-style-type:upper-alpha;'
 
-         );
 
-         $li_types = $ul_types + $ol_types;
 
-         // }}}
 
-         $r['ul@type'] = new HTMLPurifier_AttrTransform_EnumToCSS('type', $ul_types);
 
-         $r['ol@type'] = new HTMLPurifier_AttrTransform_EnumToCSS('type', $ol_types, true);
 
-         $r['li@type'] = new HTMLPurifier_AttrTransform_EnumToCSS('type', $li_types, true);
 
-         // @vspace for img ------------------------------------------------
 
-         $r['img@vspace'] = new HTMLPurifier_AttrTransform_ImgSpace('vspace');
 
-         // @width for table, hr, td, th, col ------------------------------------------
 
-         $r['table@width'] =
 
-         $r['td@width'] =
 
-         $r['th@width'] =
 
-         $r['col@width'] =
 
-         $r['hr@width'] = new HTMLPurifier_AttrTransform_Length('width');
 
-         return $r;
 
-     }
 
- }
 
- // vim: et sw=4 sts=4
 
 
  |