[ Index ] |
|
Code source de Serendipity 1.2 |
1 <?php 2 3 4 class Text_Wiki_Render_Xhtml_Url extends Text_Wiki_Render { 5 6 7 var $conf = array( 8 'target' => '_blank', 9 'images' => true, 10 'img_ext' => array('jpg', 'jpeg', 'gif', 'png'), 11 'css_inline' => null, 12 'css_footnote' => null, 13 'css_descr' => null, 14 'css_img' => null 15 ); 16 17 /** 18 * 19 * Renders a token into text matching the requested format. 20 * 21 * @access public 22 * 23 * @param array $options The "options" portion of the token (second 24 * element). 25 * 26 * @return string The text rendered from the token options. 27 * 28 */ 29 30 function token($options) 31 { 32 // create local variables from the options array (text, 33 // href, type) 34 extract($options); 35 36 // find the rightmost dot and determine the filename 37 // extension. 38 $pos = strrpos($href, '.'); 39 $ext = strtolower(substr($href, $pos + 1)); 40 $href = htmlspecialchars($href); 41 42 // does the filename extension indicate an image file? 43 if ($this->getConf('images') && 44 in_array($ext, $this->getConf('img_ext', array()))) { 45 46 // create alt text for the image 47 if (! isset($text) || $text == '') { 48 $text = basename($href); 49 $text = htmlspecialchars($text); 50 } 51 52 // generate an image tag 53 $css = $this->formatConf(' class="%s"', 'css_img'); 54 $output = "<img$css src=\"$href\" alt=\"$text\" />"; 55 56 } else { 57 58 // allow for alternative targets on non-anchor HREFs 59 if ($href{0} == '#') { 60 $target = ''; 61 } else { 62 $target = $this->getConf('target'); 63 } 64 65 // generate a regular link (not an image) 66 $text = htmlspecialchars($text); 67 $css = $this->formatConf(' class="%s"', "css_$type"); 68 $output = "<a$css href=\"$href\""; 69 70 if ($target) { 71 // use a "popup" window. this is XHTML compliant, suggested by 72 // Aaron Kalin. uses the $target as the new window name. 73 $target = htmlspecialchars($target); 74 $output .= " onclick=\"window.open(this.href, '$target');"; 75 $output .= " return false;\""; 76 } 77 78 // finish up output 79 $output .= ">$text</a>"; 80 81 // make numbered references look like footnotes when no 82 // CSS class specified, make them superscript by default 83 if ($type == 'footnote' && ! $css) { 84 $output = '<sup>' . $output . '</sup>'; 85 } 86 } 87 88 return $output; 89 } 90 } 91 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sat Nov 24 09:00:37 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |