Soo,
also ich kann schonmal sagen, dass es mit meinem Vorschlag so machbar ist, denn ich habe das jetzt so umgesetzt. Allerdings ist es kein modified-shop, aber ist auch ein xt:c-fork.
Als Test dient ein lokaler xampp mit php 5.4.7 bei mir.
Es müssen im Shop alle mysql_* auf die xtc_db_ Art umgestellt werden. Allerdings sollte man schon genau hinschauen, also mit einfachem suchen/ersetzen ist es nicht getan. Manchmal entfällt z.B. ein mysql_error() nach einem mysql_query(), weil die Fehler in xtc_db_query() schon abgearbeitet werden usw.
Interessanterweise kam nach dem Umschalten auf mysqli über die Einstellung define('DB_INTERFACE','mysqli'); in configure.php dann ein Bug in
includes/functions/sessions.php zutage. Hier mein Fix:
function xtc_session_close
() { # 20141129 Peter: Es gibt kein session_close() laut php.net
#if(function_exists('session_close')) {
# return session_close();
#}
return session_write_close(); # end 20141129
} Und in application_bottom.php(Shop und Adminbereich) ganz am Ende:
...
xtc_session_close();
?>
Zu Kommentar von webald: Dann kannst du gleich eine andere Shopsoftware nehmen, die das von grundauf so macht. Ich finde es aber angenehmer, wenn ich meine SQL-Queries selber schreiben und optimieren kann und nicht auf ein nochmal drübergestülptes Framework angewiesen bin. Das darf man dann nämlich auch erstmal lernen.
Ausserdem gibt es schon ein paar xtc-Funktionen die sowas anbieten, aber der Nutzen hält sich in Grenzen. Oft gucke ich, ob sich der Aufruf der Funktion überhaupt lohnt.
Aber manchmal mache ich Queries mit 5,6,7 JOINS und UNIONS für bestimmte Funktionalitäten, die kann keiner voraussehen. Da würdest du dann da stehn und im php eine Schleife nach der anderen durchwurschteln mit framework/klassen/Funktionsaufrufen, während in Villariba schon längst vor sich hingeidlet wird.