| 69 | | add_action("admin_print_scripts-$page", array(&$this, 'js_includes')); |
| 70 | | add_action("admin_print_styles-$page", array(&$this, 'css_includes')); |
| 71 | | add_action("admin_head-$page", array(&$this, 'take_action'), 50); |
| 72 | | add_action("admin_head-$page", array(&$this, 'js'), 50); |
| 73 | | add_action("admin_head-$page", $this->admin_header_callback, 51); |
| | 69 | add_action( "admin_print_scripts-$page", array( &$this, 'js_includes' ) ); |
| | 70 | add_action( "admin_print_styles-$page", array( &$this, 'css_includes' ) ); |
| | 71 | add_action( "admin_head-$page", array( &$this, 'take_action' ), 50); |
| | 72 | add_action( "admin_head-$page", array( &$this, 'js' ), 50 ); |
| | 73 | add_action( "admin_head-$page", $this->admin_header_callback, 51 ); |
| | 142 | |
| | 143 | if ( empty( $_POST ) ) |
| | 144 | return; |
| | 145 | |
| | 146 | $this->updated = true; |
| | 147 | |
| | 148 | if ( isset( $_POST['resetheader'] ) ) { |
| | 149 | check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); |
| | 150 | remove_theme_mod( 'header_image' ); |
| | 151 | return; |
| | 152 | } |
| | 153 | |
| | 154 | if ( isset( $_POST['resettext'] ) ) { |
| | 155 | check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); |
| | 156 | remove_theme_mod('header_textcolor'); |
| | 157 | return; |
| | 158 | } |
| | 159 | |
| | 160 | if ( isset( $_POST['removeheader'] ) ) { |
| | 161 | check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); |
| | 162 | set_theme_mod( 'header_image', '' ); |
| | 163 | return; |
| | 164 | } |
| 131 | | if ( isset( $_POST['textcolor'] ) ) { |
| 132 | | check_admin_referer('custom-header'); |
| 133 | | if ( 'blank' == $_POST['textcolor'] ) { |
| 134 | | set_theme_mod('header_textcolor', 'blank'); |
| | 166 | if ( isset( $_POST['text-color'] ) ) { |
| | 167 | check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); |
| | 168 | $_POST['text-color'] = str_replace( '#', '', $_POST['text-color'] ); |
| | 169 | if ( 'blank' == $_POST['text-color'] ) { |
| | 170 | set_theme_mod( 'header_textcolor', 'blank' ); |
| 184 | | $headers = array_keys($this->default_headers); |
| 185 | | $table = array(); |
| 186 | | $rows = ceil(count($headers) / 3); |
| 187 | | for ( $row = 1; $row <= $rows; $row++ ) { |
| 188 | | for ( $col = 1; $col <= 3; $col++ ) { |
| 189 | | $table[$row][$col] = array_shift($headers); |
| 190 | | } |
| | 216 | foreach ( $this->default_headers as $header_key => $header ) { |
| | 217 | $header_thumbnail = $header['thumbnail_url']; |
| | 218 | $header_url = $header['url']; |
| | 219 | $header_desc = $header['description']; |
| | 220 | echo '<div class="default-header">'; |
| | 221 | echo '<label><input name="default-header" type="radio" value="' . esc_attr($header_key) . '" ' . checked($header_url, get_theme_mod( 'header_image' ), false) . ' />'; |
| | 222 | echo '<img src="' . $header_thumbnail . '" alt="' . esc_attr($header_desc) .'" title="' . esc_attr($header_desc) .'" /></label>'; |
| | 223 | echo '</div>'; |
| 192 | | |
| 193 | | foreach ( $table as $row => $cols ) { |
| 194 | | echo '<tr>'; |
| 195 | | foreach ( $cols as $col => $header_key ) { |
| 196 | | if ( !$header_key ) |
| 197 | | continue; |
| 198 | | $class = array('available-header'); |
| 199 | | if ( $row == 1 ) $class[] = 'top'; |
| 200 | | if ( $col == 1 ) $class[] = 'left'; |
| 201 | | if ( $row == $rows ) $class[] = 'bottom'; |
| 202 | | if ( $col == 3 ) $class[] = 'right'; |
| 203 | | if ( !isset($this->headers[$header_key])) |
| 204 | | echo '<td class="' . join(' ', $class) . '">'; |
| 205 | | $header_thumbnail = $this->default_headers[$header_key]['thumbnail_url']; |
| 206 | | $header_url = $this->default_headers[$header_key]['url']; |
| 207 | | $header_desc = $this->default_headers[$header_key]['description']; |
| 208 | | echo '<label><input name="default-header" type="radio" value="' . esc_attr($header_key) . '" ' . checked($header_url, get_header_image(), false) . ' />'; |
| 209 | | echo '<img src="' . $header_thumbnail . '" alt="' . esc_attr($header_desc) .'" /></label>'; |
| 210 | | echo '</td>'; |
| 211 | | } |
| 212 | | echo '</tr>'; |
| 213 | | } |
| 214 | | echo '</table>'; |
| | 225 | |
| | 226 | echo '<div class="clear"></div></div>'; |
| | 269 | if (jQuery('#text-color').val() == 'blank') { |
| | 270 | //Show text |
| | 271 | if (old_color == '#blank') |
| | 272 | old_color = default_color; |
| | 273 | |
| | 274 | jQuery( text_objects.toString() ).show(); |
| | 275 | jQuery('#text-color').val(old_color); |
| | 276 | jQuery('#name').css('color', old_color); |
| | 277 | jQuery('#desc').css('color', old_color); |
| | 278 | pickColor(old_color); |
| | 279 | } else { |
| | 280 | //Hide text |
| | 281 | jQuery( text_objects.toString() ).hide(); |
| | 282 | old_color = jQuery('#text-color').val(); |
| | 283 | jQuery('#text-color').val('blank'); |
| | 284 | } |
| | 285 | } |
| | 286 | |
| | 295 | |
| | 296 | jQuery('#defaultcolor').click(function() { |
| | 297 | pickColor(default_color); |
| | 298 | jQuery('#text-color').val(default_color) |
| | 299 | }); |
| | 300 | |
| | 301 | jQuery('#text-color').keyup(function() { |
| | 302 | var _hex = jQuery('#text-color').val(); |
| | 303 | var hex = _hex; |
| | 304 | if ( hex[0] != '#' ) |
| | 305 | hex = '#' + hex; |
| | 306 | hex = hex.replace(/[^#a-fA-F0-9]+/, ''); |
| | 307 | if ( hex != _hex ) |
| | 308 | jQuery('#text-color').val(hex); |
| | 309 | if ( hex.length == 4 || hex.length == 7 ) |
| | 310 | pickColor( hex ); |
| | 311 | }); |
| | 312 | |
| | 313 | jQuery(document).mousedown(function(){ |
| | 314 | jQuery('#color-picker').each( function() { |
| | 315 | var display = jQuery(this).css('display'); |
| | 316 | if (display == 'block') |
| | 317 | jQuery(this).fadeOut(2); |
| | 318 | }); |
| | 319 | }); |
| 262 | | }); |
| 263 | | |
| 264 | | jQuery(document).mousedown(function(){ |
| 265 | | // Make the picker disappear, since we're using it in an independant div |
| 266 | | hide_picker(); |
| 267 | | }); |
| 268 | | |
| 269 | | function colorDefault() { |
| 270 | | pickColor('#<?php echo HEADER_TEXTCOLOR; ?>'); |
| 271 | | } |
| 272 | | |
| 273 | | function hide_picker(what) { |
| 274 | | var update = false; |
| 275 | | jQuery('#colorPickerDiv').each(function(){ |
| 276 | | var id = jQuery(this).attr('id'); |
| 277 | | if (id == what) { |
| 278 | | return; |
| 279 | | } |
| 280 | | var display = jQuery(this).css('display'); |
| 281 | | if (display == 'block') { |
| 282 | | jQuery(this).fadeOut(2); |
| 283 | | } |
| 352 | | setSelect: [ 0, 0, xinit, yinit ], |
| 353 | | onSelect: onEndCrop |
| | 360 | maxHeight: <?php echo HEADER_IMAGE_HEIGHT; ?>, |
| | 361 | maxWidth: <?php echo HEADER_IMAGE_WIDTH; ?>, |
| | 362 | onSelectChange: function(img, c) { |
| | 363 | jQuery('#x1').val(c.x1); |
| | 364 | jQuery('#y1').val(c.y1); |
| | 365 | jQuery('#width').val(c.width); |
| | 366 | jQuery('#height').val(c.height); |
| | 367 | }, |
| 385 | | if ( $this->admin_image_div_callback ) { |
| 386 | | call_user_func($this->admin_image_div_callback); |
| 387 | | } else { |
| 388 | | ?> |
| 389 | | <div id="headimg" style="background-image: url(<?php esc_url(header_image()) ?>);"> |
| 390 | | <h1><a onclick="return false;" href="<?php bloginfo('url'); ?>" title="<?php bloginfo('name'); ?>" id="name"><?php bloginfo('name'); ?></a></h1> |
| 391 | | <div id="desc"><?php bloginfo('description');?></div> |
| 392 | | </div> |
| 393 | | <?php } ?> |
| | 398 | <?php if ( get_header_image() ) : ?> |
| | 399 | <tr valign="top"> |
| | 400 | <th scope="row"><?php _e( 'Current Header' ); ?></th> |
| | 401 | <td > |
| | 402 | <?php if ( $this->admin_image_div_callback ) { |
| | 403 | call_user_func( $this->admin_image_div_callback ); |
| | 404 | } else { |
| | 405 | ?> |
| | 406 | <div id="headimg" style="max-width:<?php echo HEADER_IMAGE_WIDTH; ?>px;"> |
| | 407 | <img id="image" src="<?php esc_url ( header_image() ) ?>" alt="" /> |
| | 408 | <?php |
| | 409 | if ( 'blank' == get_theme_mod('header_textcolor', HEADER_TEXTCOLOR) || '' == get_theme_mod('header_textcolor', HEADER_TEXTCOLOR) || ! $this->header_text() ) |
| | 410 | $style = ' style="display:none;"'; |
| | 411 | else |
| | 412 | $style = ' style="color:#' . get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) . ';"'; |
| | 413 | ?> |
| | 414 | <h1 id="name"<?php echo $style; ?>><?php bloginfo( 'name' ); ?></h1> |
| | 415 | <div id="desc"<?php echo $style; ?>><?php bloginfo( 'description' ); ?></div> |
| | 416 | </div> |
| | 417 | <?php } ?> |
| | 418 | </td> |
| | 419 | </tr> |
| | 420 | <?php endif; ?> |
| 395 | | <?php if ( !defined( 'NO_HEADER_TEXT' ) ) { ?> |
| 396 | | <form method="post" action="<?php echo admin_url('themes.php?page=custom-header&updated=true') ?>"> |
| 397 | | <input type="button" class="button" value="<?php esc_attr_e('Hide Text'); ?>" onclick="hide_text()" id="hidetext" /> |
| 398 | | <input type="button" class="button" value="<?php esc_attr_e('Select a Text Color'); ?>" id="pickcolor" /><input type="button" class="button" value="<?php esc_attr_e('Use Original Color'); ?>" onclick="colorDefault()" id="defaultcolor" /> |
| 399 | | <?php wp_nonce_field('custom-header'); ?> |
| 400 | | <input type="hidden" name="textcolor" id="textcolor" value="#<?php esc_attr(header_textcolor()) ?>" /><input name="submit" type="submit" class="button" value="<?php esc_attr_e('Save Changes'); ?>" /></form> |
| 401 | | <?php } ?> |
| | 422 | <tr valign="top"> |
| | 423 | <th scope="row"><?php _e( 'Upload Image' ); ?></th> |
| | 424 | <td> |
| | 425 | <p><?php _e( 'Here you can upload a custom header image to be shown at the top of your site instead of the default one. On the next screen you will be able to crop the image.' ); ?><br /> |
| | 426 | <?php printf( __( 'Images of exactly <strong>%1$d x %2$d pixels</strong> will be used as-is.' ), HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT ); ?></p> |
| | 427 | <form enctype="multipart/form-data" id="upload-form" method="post" action="<?php echo esc_attr( add_query_arg( 'step', 2 ) ) ?>"> |
| | 428 | <p> |
| | 429 | <label for="upload"><?php _e( 'Choose an image from your computer:' ); ?></label><br /> |
| | 430 | <input type="file" id="upload" name="import" /> |
| | 431 | <input type="hidden" name="action" value="save" /> |
| | 432 | <?php wp_nonce_field( 'custom-header-upload', '_wpnonce-custom-header-upload' ) ?> |
| | 433 | <input type="submit" class="button" value="<?php esc_attr_e( 'Upload' ); ?>" /> |
| | 434 | </p> |
| | 435 | </form> |
| | 436 | </td> |
| | 437 | </tr> |
| | 438 | </tbody> |
| | 439 | </table> |
| | 440 | <form method="post" action="<?php echo esc_attr( add_query_arg( 'step', 1 ) ) ?>"> |
| | 441 | <table class="form-table"> |
| | 442 | <tbody> |
| | 443 | <?php if ( ! empty( $this->default_headers ) ) : ?> |
| | 444 | <tr valign="top"> |
| | 445 | <th scope="row"><?php _e( 'Default Images' ); ?></th> |
| | 446 | <td> |
| | 447 | <p><?php _e( 'If you didn‘t want to upload your own image, you can use one of these cool headers.' ) ?></p> |
| | 448 | <?php |
| | 449 | $this->show_default_header_selector(); |
| | 450 | ?> |
| | 451 | </td> |
| | 452 | </tr> |
| | 453 | <?php endif; |
| 403 | | <div id="colorPickerDiv" style="z-index: 100;background:#eee;border:1px solid #ccc;position:absolute;display:none;"> </div> |
| 404 | | </div> |
| 405 | | <?php |
| 406 | | else: |
| 407 | | echo '<p>' . __('Choose one of these cool headers, or upload your own image below.') . '</p>'; |
| 408 | | echo '<form method="post" action="' . admin_url('themes.php?page=custom-header&updated=true') . '">'; |
| 409 | | wp_nonce_field('custom-header'); |
| 410 | | $this->show_default_header_selector(); |
| 411 | | echo '<input type="submit" class="button" value="' . esc_attr__('Save Changes') . '" />'; |
| 412 | | echo '</form>'; |
| 413 | | echo '</div>'; |
| 414 | | endif; |
| 415 | | ?> |
| 416 | | <div class="wrap"> |
| 417 | | <h3><?php _e('Upload New Header Image'); ?></h3><p><?php _e('Here you can upload a custom header image to be shown at the top of your site instead of the default one. On the next screen you will be able to crop the image.'); ?> <?php printf(__('Images of exactly <strong>%1$d x %2$d pixels</strong> will be used as-is.'), HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT); ?></p> |
| | 455 | if ( get_header_image() ) : ?> |
| | 456 | <tr valign="top"> |
| | 457 | <th scope="row"><?php _e( 'Remove Image' ); ?></th> |
| | 458 | <td> |
| | 459 | <p><?php _e( 'This will remove the header image. You will not be able to retrieve any customizations.' ) ?></p> |
| | 460 | <input type="submit" class="button" name="removeheader" value="<?php esc_attr_e( 'Remove Header Image' ); ?>" /> |
| | 461 | </td> |
| | 462 | </tr> |
| | 463 | <?php endif; |
| | 464 | |
| | 465 | if ( defined( 'HEADER_IMAGE' ) ) : ?> |
| | 466 | <tr valign="top"> |
| | 467 | <th scope="row"><?php _e( 'Reset Image' ); ?></th> |
| | 468 | <td> |
| | 469 | <p><?php _e( 'This will restore the original header image. You will not be able to retrieve any customizations.' ) ?></p> |
| | 470 | <input type="submit" class="button" name="resetheader" value="<?php esc_attr_e( 'Restore Original Header Image' ); ?>" /> |
| | 471 | </td> |
| | 472 | </tr> |
| | 473 | <?php endif; ?> |
| | 474 | </tbody> |
| | 475 | </table> |
| 419 | | <form enctype="multipart/form-data" id="uploadForm" method="post" action="<?php echo esc_attr(add_query_arg('step', 2)) ?>"> |
| 420 | | <label for="upload"><?php _e('Choose an image from your computer:'); ?></label><br /><input type="file" id="upload" name="import" /> |
| 421 | | <input type="hidden" name="action" value="save" /> |
| 422 | | <?php wp_nonce_field('custom-header') ?> |
| 423 | | <p class="submit"> |
| 424 | | <input type="submit" value="<?php esc_attr_e('Upload'); ?>" /> |
| 425 | | </p> |
| 426 | | </form> |
| | 477 | <?php if ( $this->header_text() ) : ?> |
| | 478 | <h3><?php _e( 'Header Text' ) ?></h3> |
| | 479 | <table class="form-table"> |
| | 480 | <tbody> |
| | 481 | <tr valign="top" class="hide-if-no-js"> |
| | 482 | <th scope="row"><?php _e( 'Display Text' ); ?></th> |
| | 483 | <td> |
| | 484 | <p> |
| | 485 | <?php $hidetext = get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ); ?> |
| | 486 | <label><input type="radio" value="1" name="hidetext" id="hidetext"<?php checked( ( 'blank' == $hidetext || empty( $hidetext ) ) ? true : false ); ?> /> <?php _e( 'No' ); ?></label> |
| | 487 | <label><input type="radio" value="0" name="hidetext" id="showtext"<?php checked( ( 'blank' == $hidetext || empty( $hidetext ) ) ? false : true ); ?> /> <?php _e( 'Yes' ); ?></label> |
| | 488 | </p> |
| | 489 | </td> |
| | 490 | </tr> |
| 428 | | </div> |
| | 492 | <tr valign="top" id="text-color-row"> |
| | 493 | <th scope="row"><?php _e( 'Text Color' ); ?></th> |
| | 494 | <td> |
| | 495 | <p> |
| | 496 | <input type="text" name="text-color" id="text-color" value="#<?php echo esc_attr( get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) ); ?>" /> |
| | 497 | <span class="description hide-if-js"><?php _e( 'If you want to hide header text, add <strong>#blank</strong> as text color.' );?></span> |
| | 498 | <input type="button" class="button hide-if-no-js" value="<?php esc_attr_e( 'Select a Color' ); ?>" id="pickcolor" /> |
| | 499 | </p> |
| | 500 | <div id="color-picker" style="z-index: 100; background:#eee; border:1px solid #ccc; position:absolute; display:none;"></div> |
| | 501 | </td> |
| | 502 | </tr> |
| 430 | | <?php if ( get_theme_mod('header_image') || get_theme_mod('header_textcolor') ) : ?> |
| 431 | | <div class="wrap"> |
| 432 | | <h3><?php _e('Reset Header Image and Color'); ?></h3> |
| 433 | | <form method="post" action="<?php echo esc_attr(add_query_arg('step', 1)) ?>"> |
| 434 | | <?php |
| 435 | | wp_nonce_field('custom-header'); |
| 436 | | if ( !empty($this->default_headers) ) { |
| 437 | | ?> |
| 438 | | <p><?php _e('Use one of these cool headers.') ?></p> |
| 439 | | <?php |
| 440 | | $this->show_default_header_selector(); |
| 441 | | ?> |
| 442 | | <input type="submit" class="button" name="resetheader" value="<?php esc_attr_e('Save Changes'); ?>" /> |
| 443 | | <?php |
| 444 | | } else { |
| 445 | | ?> |
| 446 | | <p><?php _e('This will restore the original header image and color. You will not be able to retrieve any customizations.') ?></p> |
| 447 | | <input type="submit" class="button" name="resetheader" value="<?php esc_attr_e('Restore Original Header'); ?>" /> |
| 448 | | <?php } ?> |
| | 504 | <?php if ( defined( 'HEADER_TEXTCOLOR' ) && get_theme_mod( 'header_textcolor' ) ) { ?> |
| | 505 | <tr valign="top"> |
| | 506 | <th scope="row"><?php _e( 'Reset Text Color' ); ?></th> |
| | 507 | <td> |
| | 508 | <p><?php _e( 'This will restore the original header text color. You will not be able to retrieve any customizations.' ) ?></p> |
| | 509 | <input type="submit" class="button" name="resettext" value="<?php esc_attr_e( 'Restore Original Header Text Color' ); ?>" /> |
| | 510 | </td> |
| | 511 | </tr> |
| | 512 | <?php } ?> |
| | 513 | |
| | 514 | </tbody> |
| | 515 | </table> |
| | 516 | <?php endif; |
| | 517 | |
| | 518 | wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?> |
| | 519 | <p class="submit"><input type="submit" class="button-primary" name="save-header-options" value="<?php esc_attr_e( 'Save Changes' ); ?>" /></p> |
| 494 | | $image = wp_crop_image($file, 0, 0, $width, $height, HEADER_IMAGE_WIDTH, $height / $oitar, false, str_replace(basename($file), 'midsize-'.basename($file), $file)); |
| | 566 | $image = wp_crop_image( $file, 0, 0, $width, $height, HEADER_IMAGE_WIDTH, $height / $oitar, false, str_replace( basename( $file ), 'midsize-'.basename( $file ), $file ) ); |
| 510 | | <form method="post" action="<?php echo esc_attr(add_query_arg('step', 3)) ?>"> |
| | 584 | <form method="post" action="<?php echo esc_attr( add_query_arg( 'step', 3 ) ); ?>"> |
| | 585 | <p class="hide-if-no-js"><?php _e( 'Choose the part of the image you want to use as your header.' ); ?></p> |
| | 586 | <p class="hide-if-js"><strong><?php _e( 'You need Javascript to choose a part of the image.' ); ?></strong></p> |
| | 587 | <p><?php printf( __( 'Images smaller then <strong>%1$d x %2$d pixels</strong> will be zoomed.' ), HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT ); ?></p> |
| | 588 | <div id="crop_image" style="position: relative"> |
| | 589 | <img src="<?php echo esc_url( $url ); ?>" id="upload" width="<?php echo $width; ?>" height="<?php echo $height; ?>" /> |
| | 590 | </div> |
| 512 | | <p><?php _e('Choose the part of the image you want to use as your header.'); ?></p> |
| 513 | | <div id="testWrap" style="position: relative"> |
| 514 | | <img src="<?php echo $url; ?>" id="upload" width="<?php echo $width; ?>" height="<?php echo $height; ?>" /> |
| 515 | | </div> |
| 516 | | |
| 517 | | <p class="submit"> |
| 518 | | <input type="hidden" name="x1" id="x1" /> |
| 519 | | <input type="hidden" name="y1" id="y1" /> |
| 520 | | <input type="hidden" name="x2" id="x2" /> |
| 521 | | <input type="hidden" name="y2" id="y2" /> |
| 522 | | <input type="hidden" name="width" id="width" /> |
| 523 | | <input type="hidden" name="height" id="height" /> |
| 524 | | <input type="hidden" name="attachment_id" id="attachment_id" value="<?php echo esc_attr($id); ?>" /> |
| 525 | | <input type="hidden" name="oitar" id="oitar" value="<?php echo esc_attr($oitar); ?>" /> |
| 526 | | <?php wp_nonce_field('custom-header') ?> |
| 527 | | <input type="submit" value="<?php esc_attr_e('Crop Header'); ?>" /> |
| 528 | | </p> |
| 529 | | |
| | 592 | <input type="hidden" name="x1" id="x1" value="0"/> |
| | 593 | <input type="hidden" name="y1" id="y1" value="0"/> |
| | 594 | <input type="hidden" name="width" id="width" value="<?php echo esc_attr( $width ); ?>"/> |
| | 595 | <input type="hidden" name="height" id="height" value="<?php echo esc_attr( $height ); ?>"/> |
| | 596 | <input type="hidden" name="attachment_id" id="attachment_id" value="<?php echo esc_attr( $id ); ?>" /> |
| | 597 | <input type="hidden" name="oitar" id="oitar" value="<?php echo esc_attr( $oitar ); ?>" /> |
| | 598 | <?php wp_nonce_field( 'custom-header-crop-image' ) ?> |
| | 599 | <p class="submit"><input type="submit" value="<?php esc_attr_e( 'Crop Header' ); ?>" /></p> |