101 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Safe;
 | 
						|
 | 
						|
use Safe\Exceptions\OutcontrolException;
 | 
						|
 | 
						|
/**
 | 
						|
 * This function discards the contents of the topmost output buffer and turns
 | 
						|
 * off this output buffering. If you want to further process the buffer's
 | 
						|
 * contents you have to call ob_get_contents before
 | 
						|
 * ob_end_clean as the buffer contents are discarded
 | 
						|
 * when ob_end_clean is called.
 | 
						|
 *
 | 
						|
 * The output buffer must be started by
 | 
						|
 * ob_start with PHP_OUTPUT_HANDLER_CLEANABLE
 | 
						|
 * and PHP_OUTPUT_HANDLER_REMOVABLE
 | 
						|
 * flags. Otherwise ob_end_clean will not work.
 | 
						|
 *
 | 
						|
 * @throws OutcontrolException
 | 
						|
 *
 | 
						|
 */
 | 
						|
function ob_end_clean(): void
 | 
						|
{
 | 
						|
    error_clear_last();
 | 
						|
    $result = \ob_end_clean();
 | 
						|
    if ($result === false) {
 | 
						|
        throw OutcontrolException::createFromPhpError();
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 * This function will send the contents of the topmost output buffer (if
 | 
						|
 * any) and turn this output buffer off.  If you want to further
 | 
						|
 * process the buffer's contents you have to call
 | 
						|
 * ob_get_contents before
 | 
						|
 * ob_end_flush as the buffer contents are
 | 
						|
 * discarded after ob_end_flush is called.
 | 
						|
 *
 | 
						|
 * The output buffer must be started by
 | 
						|
 * ob_start with PHP_OUTPUT_HANDLER_FLUSHABLE
 | 
						|
 * and PHP_OUTPUT_HANDLER_REMOVABLE
 | 
						|
 * flags. Otherwise ob_end_flush will not work.
 | 
						|
 *
 | 
						|
 * @throws OutcontrolException
 | 
						|
 *
 | 
						|
 */
 | 
						|
function ob_end_flush(): void
 | 
						|
{
 | 
						|
    error_clear_last();
 | 
						|
    $result = \ob_end_flush();
 | 
						|
    if ($result === false) {
 | 
						|
        throw OutcontrolException::createFromPhpError();
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 * This function adds another name/value pair to the URL rewrite mechanism.
 | 
						|
 * The name and value will be added to URLs (as GET parameter) and forms
 | 
						|
 * (as hidden input fields) the same way as the session ID when transparent
 | 
						|
 * URL rewriting is enabled with session.use_trans_sid.
 | 
						|
 *
 | 
						|
 * This function's behaviour is controlled by the url_rewriter.tags and
 | 
						|
 * url_rewriter.hosts php.ini
 | 
						|
 * parameters.
 | 
						|
 *
 | 
						|
 * Note that this function can be successfully called at most once per request.
 | 
						|
 *
 | 
						|
 * @param string $name The variable name.
 | 
						|
 * @param string $value The variable value.
 | 
						|
 * @throws OutcontrolException
 | 
						|
 *
 | 
						|
 */
 | 
						|
function output_add_rewrite_var(string $name, string $value): void
 | 
						|
{
 | 
						|
    error_clear_last();
 | 
						|
    $result = \output_add_rewrite_var($name, $value);
 | 
						|
    if ($result === false) {
 | 
						|
        throw OutcontrolException::createFromPhpError();
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 * This function resets the URL rewriter and removes all rewrite
 | 
						|
 * variables previously set by the output_add_rewrite_var
 | 
						|
 * function.
 | 
						|
 *
 | 
						|
 * @throws OutcontrolException
 | 
						|
 *
 | 
						|
 */
 | 
						|
function output_reset_rewrite_vars(): void
 | 
						|
{
 | 
						|
    error_clear_last();
 | 
						|
    $result = \output_reset_rewrite_vars();
 | 
						|
    if ($result === false) {
 | 
						|
        throw OutcontrolException::createFromPhpError();
 | 
						|
    }
 | 
						|
}
 |