Hallo,
it is possible to do this by overriding the file 'includes/init_includes/overrides/init_general_funcs.php'. This file does the require-statements for the general functions from 'includes/functions':
PHP Code:
require(DIR_WS_FUNCTIONS . 'functions_general.php');
require(DIR_WS_FUNCTIONS . 'html_output.php');
require(DIR_WS_FUNCTIONS . 'functions_email.php');
require(DIR_WS_FUNCTIONS . 'functions_ezpages.php');
include(DIR_WS_MODULES . 'extra_functions.php');
In the override-file, just put something like:
PHP Code:
if (file_exists(DIR_WS_FUNCTIONS . $s_overrides . 'functions_general.php')) {
// if override-file exists, use instead of the original file
require(DIR_WS_FUNCTIONS . $s_overrides . 'functions_general.php');
} else {
require(DIR_WS_FUNCTIONS . 'functions_general.php');
}
instead of the simple require statement.
(An example 'init_general_funcs.php' is attached, where the name of the override-folder for the functions is choosen to be 'overrides').
Now it is possible to override one of the following files by putting your own version into the 'includes/functions/overrides'-folder:
- functions_general.php
- html_output.php
- functions_email.php
- functions_ezpages.php
Since the overriding of the files from 'includes/functions' is not complete (not all files are overridable, but just a few of them), I strongly advise to put a readme-file into the new overrides-folder, that explains about this (see example attached: readme.txt).
And remember to merge all files inside the overrides-folders (all of them) after upgrades 
greets
jipjip
edit:
it is possible that you need to override the "includes/modules/payment/paypal/ipn_application_top.php"-file, too. You have to decide for yourself, if this file a) is used at all, b) does need the original version or the overriden version of the general functions. That is because the file does the require on it's own instead of using the init_includes.