aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions.php
Commit message (Collapse)AuthorAgeFilesLines
* [ticket/10188] Prevent semi-compressed outputNils Adermann2011-06-261-16/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a non-fatal error occurs at the beginning of the script before any custom error handler is set one of two situations can be encountered: 1) if the ini option output buffer is disabled: - headers are sent to the http client - the error message is output 2) if the ini option output_buffer is enabled or the script is run within an ob_start()/ob_end() wrapper: - the error message is written to the output buffer Once the script reaches page_header() phpbb starts gzip compression if enabled. This is done through ob_start with a ob_gzhandler as a callback. The compression is skipped if headers have already been sent. In situation 1) the error message sent in plain text comes with headers and this gzip compression is skipped. The client receives a plaintext version of the page. However in situation 2) headers have not been sent yet and the rest of the page will be compressed. The result is a plaintext error message followed by compressed output. The client does not understand this output resulting in either an error message or simply a blank page in the browser. In addition to the above situation this problem occurs with errors that are triggered after the custom error handler is loaded. The problem has been noticed before, and a workaround was found. The error handler would call ob_flush() for particular configuration settings before outputting the error message. This resulted in headers being sent when output buffering was enabled thus disabling gzip compression for the rest of the page. The constraints under which ob_flush() was called were lessened over time whenever a new case was found that would trigger this problem. Eventually ob_flush() would be called even when code causing an E_NOTICE was simply run within an ob_start/ob_end. This makes it impossible to use output buffering to retrieve the content of an error message without prohibiting the page from setting headers afterwards. This commit removes all flushing in msg_handler completely and instead fixes the problem for both errors before and after the error handler is registered. GZIP compression is only enabled if there is at most one level of output buffering (e.g. the output_buffer php.ini option is enabled) and if there has not yet been any output in this buffer. This should avoid any partial output compression. PHPBB3-10188
* [ticket/10234] Report E_WARNING errors as "PHP Warning" instead of "PHP Notice"Andreas Fischer2011-06-201-1/+2
| | | | PHPBB3-10234
* Merge remote-tracking branch 'naderman/ticket/7057' into develop-olympusAndreas Fischer2011-06-091-4/+12
|\ | | | | | | | | | | * naderman/ticket/7057: [ticket/7057] Use GET for quicksearch and add session id to hidden fields [ticket/7057] Remove trailing whitespace in functions.php
| * [ticket/7057] Use GET for quicksearch and add session id to hidden fieldsNils Adermann2011-06-021-0/+8
| | | | | | | | | | | | Without sid a GET form logs a user out if they have cookies disabled. PHPBB3-7057
| * [ticket/7057] Remove trailing whitespace in functions.phpNils Adermann2011-06-021-4/+4
| | | | | | | | PHPBB3-7057
* | Merge branch 'ticket/bantu/10042' into develop-olympusNils Adermann2011-06-051-0/+16
|\ \ | | | | | | | | | | | | | | | | | | * ticket/bantu/10042: [ticket/10042] GD CAPTCHA: Call phpbb_mt_rand() where required. [ticket/10042] GD CAPTCHA: Round offset to the next pixel. [ticket/10042] Add mt_rand() wrapper which allows swapping $min and $max.
| * | [ticket/10042] Add mt_rand() wrapper which allows swapping $min and $max.Andreas Fischer2011-03-051-0/+16
| | | | | | | | | | | | PHPBB3-10042
* | | [ticket/9950] Use actual language instead of user's language in overall headerNils Adermann2011-06-021-2/+2
| | | | | | | | | | | | PHPBB3-9950
* | | Merge remote-tracking branch 'p/ticket/10191' into develop-olympusAndreas Fischer2011-05-231-1/+1
|\ \ \ | | | | | | | | | | | | | | | | * p/ticket/10191: [ticket/10191] Use ob_get_level in exit_handler for output buffering check.
| * | | [ticket/10191] Use ob_get_level in exit_handler for output buffering check.Oleg Pudeyev2011-05-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling flush() when output buffering is enabled causes output to be duplicated. Besides phpBB enabling output buffering for gzip compression, output buffering may be enabled externally to phpBB via output_handler or output_buffering directives in php.ini. Use ob_get_level to determine whether output buffering is active and call ob_flush in that case. PHPBB3-10191
* | | | [ticket/10188] Use ob_get_level in msg_handler for output buffering check.Oleg Pudeyev2011-05-221-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Output buffering may be enabled via various approaches, among them: * output_buffering in php.ini; * output_handler in php.ini enables output_buffering; * ob_start call. ob_get_level allows us to query php runtime for the actual output buffering status. PHPBB3-10188
* | | Merge remote-tracking branch 'bantu/ticket/10146' into develop-olympusOleg Pudeyev2011-05-131-1/+2
|\ \ \ | | | | | | | | | | | | | | | | * bantu/ticket/10146: [ticket/10146] Firebird: 1 <= precision <= 18 ==> Cast to DECIMAL(18, 0).
| * | | [ticket/10146] Firebird: 1 <= precision <= 18 ==> Cast to DECIMAL(18, 0).Andreas Fischer2011-04-221-1/+2
| | | | | | | | | | | | | | | | PHPBB3-10146
* | | | [ticket/7941] Added @return to generate_board_url docstring.Oleg Pudeyev2011-04-171-0/+3
|/ / / | | | | | | | | | PHPBB3-7941
* | | Merge branch 'ticket/igorw/10101' into develop-olympusOleg Pudeyev2011-03-221-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | * ticket/igorw/10101: [ticket/10101] Add test case for native phpass hashes [ticket/10101] Add support for native phpass hashes
| * | | [ticket/10101] Add support for native phpass hashesIgor Wiedler2011-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | phpass (the hashing library we use) adds a hash identifier to every hash. By default this identifier is '$P$'. For some reason we have changed it to '$H$'. This patch allows both of them to be used for authentication, so that a third party system could create users with '$P$' hashes. PHPBB3-10101
* | | | [ticket/10100] Update rand_seed_last_update before rand_seed in unique_id().Andreas Fischer2011-03-171-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | Update $config['rand_seed_last_update'] before updating $config['rand_seed'] in unique_id() to mitigate a race condition and unnecessary updates on heavily busy boards. PHPBB3-10100
* | | [ticket/10096] Fixed whitespace in functions.php.Oleg Pudeyev2011-03-131-1/+1
| | | | | | | | | | | | PHPBB3-10096
* | | [ticket/10046] Do not link bots to cron.php.Oleg Pudeyev2011-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | Bots, generally speaking, will not request cron.php immediately, thus telling them to request it is pointless. PHPBB3-10046
* | | Merge branch 'ticket/p/10016' into develop-olympusAndreas Fischer2011-03-111-1/+5
|\ \ \ | |/ / |/| | | | | | | | | | | | | | * ticket/p/10016: [ticket/10016] Add comment for text casting (for PostgreSQL 7.x) [ticket/10016] Leave Firebird unchanged. [ticket/10016] Fixed varchar to decimal cast on postgresql 7.x.
| * | [ticket/10016] Add comment for text casting (for PostgreSQL 7.x)Andreas Fischer2011-03-051-0/+1
| | | | | | | | | | | | PHPBB3-10016
| * | [ticket/10016] Leave Firebird unchanged.Andreas Fischer2011-03-051-0/+3
| | | | | | | | | | | | PHPBB3-10016
| * | [ticket/10016] Fixed varchar to decimal cast on postgresql 7.x.Oleg Pudeyev2011-01-281-1/+1
| |/ | | | | | | PHPBB3-10016
* | [ticket/10029] Use $_SERVER['SERVER_PROTOCOL'] for determining HTTP version.Oleg Pudeyev2011-02-091-1/+7
|/ | | | PHPBB3-10029
* [ticket/8779] Slow search for 'View unread posts'rxu2011-01-241-2/+3
| | | | | | Adjust SQL query to speedup search for unread posts (thanks naderman). PHPBB3-8779
* Merge branch 'ticket/bantu/9859' into develop-olympusNils Adermann2011-01-161-1/+1
|\ | | | | | | | | | | | | | | | | * ticket/bantu/9859: [ticket/9859] Remove the years from the copyright statements in docs files. [ticket/9859] Remove the year from the copyright meta tag in docs/*.html [ticket/9859] Remove the meta copyright tag as well. [ticket/9859] Remove the credit line comment from all html files. [ticket/9859] Remove years in credit line from some more files.
| * [ticket/9859] Remove years in credit line from some more files.Andreas Fischer2011-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Standard HTML output now includes: Powered by <a href="http://www.phpbb.com/">phpBB</a> &copy; phpBB Group Print output now includes: Powered by phpBB &copy; phpBB Group<br />http://www.phpbb.com/ This also fixes an inconsistency where "phpBB Group" was linked instead of "phpBB". PHPBB3-9859
* | [ticket/9933] Remove empty word check.rxu2011-01-161-5/+0
| | | | | | | | PHPBB3-9933
* | [ticket/9933] Add $use_unicode parameter to get_censor_preg_expression().Andreas Fischer2011-01-161-6/+7
| | | | | | | | | | | | | | | | | | Rename $unicode to $unicode_support, pass in $use_unicode defaulting to true. In unit tests we can now pass in $use_unicode as false and also test the code path that is taken when PCRE does not support unicode. PHPBB3-9933
* | [ticket/9933] Adjust word censor regex for non-unicode mode.rxu2011-01-161-4/+8
|/ | | | PHPBB3-9933
* [ticket/9933] Move word censor regex into separate function in functions.phprxu2011-01-071-0/+42
| | | | PHPBB3-9933
* [ticket/9930] Redirect failes with open_basedir enabled.Joas Schilling2010-11-251-2/+2
| | | | | | | Open_basedir does not allow file_exists() for "." and directories without a trayling-slash. Therefor we must append it on the check. PHPBB3-9930
* [ticket/9696] Surpress is_dir() notice when using SQLite with open_basedir.Paul Sohier2010-11-071-1/+1
| | | | PHPBB3-9696
* [ticket/9840] Display view unread posts link for guests.rxu2010-10-161-1/+1
| | | | | | Display view unread posts link for guests if applicable. PHPBB3-9840
* Merge branch 'ticket/bantu/9613' into develop-olympusIgor Wiedler2010-09-161-0/+2
|\ | | | | | | | | | | | | * ticket/bantu/9613: [ticket/9613] Slightly update language strings. [ticket/9613] Fix missing database part for unread posts search load switch. [ticket/9613] Implement a load switch for unread posts search feature.
| * [ticket/9613] Implement a load switch for unread posts search feature.rxu2010-08-291-0/+2
| | | | | | | | | | | | | | | | Since unread posts search can produce a high server load in certain circumstances, we implement a switch for ACP "Load settings" to have an option to disable this type of search. PHPBB3-9613
* | [ticket/9609] Change header() calls setting HTTP status to send_status_line().Andreas Fischer2010-09-111-3/+4
|/ | | | PHPBB3-9609
* Merge branch 'ticket/nickvergessen/9519' into develop-olympusAndreas Fischer2010-08-281-3/+3
|\ | | | | | | | | | | | | | | * ticket/nickvergessen/9519: [ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable(). [ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable(). [ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable(). [ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().
| * [ticket/9519] Replace remaining is_writable() calls with phpbb_is_writable().Joas Schilling2010-08-131-3/+3
| | | | | | | | PHPBB3-9519
* | [ticket/9780] Add length check back to gen_rand_string().Joas Schilling2010-08-201-1/+1
| | | | | | | | PHPBB3-9780
* | Merge branch 'ticket/bantu/9599' into develop-olympusJosh Woody2010-08-191-17/+152
|\ \ | | | | | | | | | | | | | | | | | | * ticket/bantu/9599: [ticket/9599] Reimplement phpbb_checkdnsrr() function. [ticket/9599] Adding tests for phpbb_checkdnsrr(). [ticket/9599] Adding network function tests.
| * | [ticket/9599] Reimplement phpbb_checkdnsrr() function.Andreas Fischer2010-08-031-17/+152
| |/ | | | | | | | | | | Use gethostbyname(), checkdnsrr(), dns_get_record() or nslookup via exec(). PHPBB3-9599
* | Merge branch 'ticket/bantu/9612' into develop-olympusJosh Woody2010-08-191-0/+17
|\ \ | | | | | | | | | | | | * ticket/bantu/9612: [ticket/9612] Introduce new function gen_rand_string_friendly().
| * | [ticket/9612] Introduce new function gen_rand_string_friendly().Andreas Fischer2010-05-171-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce new function gen_rand_string_friendly() for user friendly random strings like passwords and captcha codes. Strings generated by gen_rand_string_friendly() will not contain the characters 0 and O. By adding a new function we can increase the entropy of strings generated by gen_rand_string() by putting 0 and O back in. PHPBB3-9612
* | | [ticket/9771] Remove query string parameters that have no name.Chris Smith2010-08-081-0/+5
| |/ |/| | | | | PHPBB3-9771
* | [ticket/9715] Better email regexCullen Walsh2010-07-111-1/+3
| | | | | | | | | | | | | | Using email regex created by James Watts and Francisco Jose Martin Moreno. This passes many more tests for RFC valid emails. PHPBB3-9715
* | [ticket/9629] Allow style.php to retrieve its session ID from cookiesJosh Woody2010-07-111-1/+1
| | | | | | | | | | | | | | | | | | style.php takes a session ID to ensure it gets the right language for a user, but that session ID is always passed in GET. This allows change allows the SID to be read from the cookie, and theoretically makes it friendlier for caching engines like Varnish. PHPBB3-9629
* | Merge branch 'ticket/rxu/9606' into develop-olympusAndreas Fischer2010-06-171-3/+4
|\ \ | | | | | | | | | | | | * ticket/rxu/9606: [ticket/9606] Optimize unread search option.
| * | [ticket/9606] Optimize unread search option.rxu2010-05-171-3/+4
| |/ | | | | | | | | | | Get rid of redundant SQL query in search.php that should increase performance slightly. PHPBB3-9606
* | [ticket/7782] Return 404 HTTP status code for nonexistent attachments.Oleg Pudeyev2010-05-171-1/+1
| | | | | | | | PHPBB3-7782