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();
|
|
}
|
|
}
|