Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 8816d278c34e484ca81f7b00f6d83e69 > files > 14

php-pear-HTML_CSS-1.5.4-10.mga5.noarch.rpm

<?php
/**
 * Customize error renderer with default PEAR_Error object.
 *
 * PHP versions 4 and 5
 *
 * @category   HTML
 * @package    HTML_CSS
 * @subpackage Examples
 * @author     Klaus Guenther <klaus@capitalfocus.org>
 * @author     Laurent Laville <pear@laurent-laville.org>
 * @copyright  2005-2009 Klaus Guenther, Laurent Laville
 * @license    http://www.opensource.org/licenses/bsd-license.php  BSD
 * @version    CVS: $Id: css_error_custom.php,v 1.9 2009/01/19 23:22:39 farell Exp $
 * @link       http://pear.php.net/package/HTML_CSS
 * @since      File available since Release 1.0.0RC1
 * @ignore
 */

require_once 'HTML/CSS.php';
require_once 'PEAR.php';

/**
 * Determine whether to display or log an error.
 *
 * @param object $pb_error instance of HTML_CSS_Error
 *
 * @return  void
 * @ignore
 */
function myErrorCallback($pb_error)
{
    $keys = array('error_message_prefix', 'mode', 'level', 'code', 'message');

    foreach ($keys as $i => $k) {
        printf("%s = %s <br/>\n", $k, $pb_error->$k);
    }
    echo '<hr/>';
}

/**
 * Replace default internal error handler.
 *
 * Print rather than dies if the error is an exception.
 *
 * @param int    $code  a numeric error code.
 *                      Valid are HTML_CSS_ERROR_* constants
 * @param string $level error level ('exception', 'error', 'warning', ...)
 *
 * @return  integer
 * @ignore
 */
function myErrorHandler($code, $level)
{
    if ($level == 'exception') {
        return PEAR_ERROR_PRINT;  // rather than PEAR_ERROR_DIE
    } else {
        return PEAR_ERROR_CALLBACK;
    }
}

/**
 * Be sure that we will print and log error details.
 * @see HTML_CSS_Error::log()
 */
ini_set('display_errors', 1);
ini_set('log_errors', 1);


// Example A. ---------------------------------------------

PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'myErrorCallback');

$css1 = new HTML_CSS();

// A1. Error
$group1 = $css1->createGroup('body, html', 'grp1');
$group2 = $css1->createGroup('p, html', 'grp1');


// Example B. ---------------------------------------------

$displayConfig = array(
    'lineFormat' => '<b>%1$s</b>: %2$s<br/>%3$s<hr/>',
    'contextFormat' =>   '<b>File:</b> %1$s <br />'
                       . '<b>Line:</b> %2$s <br />'
                       . '<b>Function:</b> %3$s '
);

$prefs = array(
    'push_callback' => 'myErrorHandler',
    'handler' => array('display' => $displayConfig)
);

$css2 = new HTML_CSS(null, $prefs);

// B1. Error
$css2->getStyle('h1', 'class');

// B2. Exception
$css2->setXhtmlCompliance('true');

print 'still alive !';
?>