No, noPuoi ridefinire anche funzioni interne del php, basta impostare un certo flag nella configurazione ini, qualcosa tipo runkit.internaloverride (non ne sono sicuro, guarda nel manuale).
E cmq non gli passi del codice c++, gli passi sempre del codice php.
Guarda, puoi fare cosi:
runkit_function_rename('mysql_query', 'mysql_query_strae');
E tu usi nel tuo framework la funsione mysql_query_strae()
Cosi lo sviluppatore di plugin non sapra' che pesci pigliare
Oppure:
runkit_function_copy('mysql_query', 'mysql_query_strae');
runkit_function_redefine('mysql_query', '$query,$link','
//faccio i miei controlli per trovare link attivi, o guardo semplicemente il numero degli argomenti
//mostro eventuali errori
mysql_query_strae($query,$link);
');
Cosi la ridefinisci, facendo dei controlli prima.
Tutto questo e' da fare ovviamente in una porzione di codice che viene eseguita prima che parta il plugin/modulo.
Se hai dei problemi con runkit, anche apd dovrebbe avere delle funzioni che permettono di ridefinire delle funzioni.