@@ -318,6 +318,21 @@ public function grant_master_database_rights()
318318 if (!$ this ->dbmaster ->query ($ query )) {
319319 $ this ->error ('Unable to create database user in master database: ' .$ conf ['mysql ' ]['master_ispconfig_user ' ].' Error: ' .$ this ->dbmaster ->errorMessage );
320320 }
321+
322+ $ query = "GRANT SELECT, INSERT, UPDATE ON " .$ conf ['mysql ' ]['master_database ' ].".`mail_traffic` "
323+ ."TO ' " .$ conf ['mysql ' ]['master_ispconfig_user ' ]."'@' " .$ src_host ."' "
324+ ."IDENTIFIED BY ' " .$ conf ['mysql ' ]['master_ispconfig_password ' ]."'; " ;
325+ if (!$ this ->dbmaster ->query ($ query )) {
326+ $ this ->error ('Unable to create database user in master database: ' .$ conf ['mysql ' ]['master_ispconfig_user ' ].' Error: ' .$ this ->dbmaster ->errorMessage );
327+ }
328+
329+ $ query = "GRANT SELECT, INSERT, UPDATE ON " .$ conf ['mysql ' ]['master_database ' ].".`web_traffic` "
330+ ."TO ' " .$ conf ['mysql ' ]['master_ispconfig_user ' ]."'@' " .$ src_host ."' "
331+ ."IDENTIFIED BY ' " .$ conf ['mysql ' ]['master_ispconfig_password ' ]."'; " ;
332+ if (!$ this ->dbmaster ->query ($ query )) {
333+ $ this ->error ('Unable to create database user in master database: ' .$ conf ['mysql ' ]['master_ispconfig_user ' ].' Error: ' .$ this ->dbmaster ->errorMessage );
334+ }
335+
321336 }
322337
323338 }
@@ -856,7 +871,32 @@ public function configure_firewall()
856871
857872 }
858873
859-
874+ public function configure_vlogger ()
875+ {
876+ global $ conf ;
877+
878+ //** Configure vlogger to use traffic logging to mysql (master) db
879+ $ configfile = 'vlogger-dbi.conf ' ;
880+ if (is_file ($ conf ["vlogger " ]["config_dir " ].'/ ' .$ configfile )) copy ($ conf ["vlogger " ]["config_dir " ].'/ ' .$ configfile ,$ conf ["vlogger " ]["config_dir " ].'/ ' .$ configfile .'~ ' );
881+ if (is_file ($ conf ["vlogger " ]["config_dir " ].'/ ' .$ configfile .'~ ' )) exec ('chmod 400 ' .$ conf ["vlogger " ]["config_dir " ].'/ ' .$ configfile .'~ ' );
882+ $ content = rf ("tpl/ " .$ configfile .".master " );
883+ if ($ conf ['mysql ' ]['master_slave_setup ' ] == 'y ' ) {
884+ $ content = str_replace ('{mysql_server_ispconfig_user} ' ,$ conf ['mysql ' ]['master_ispconfig_user ' ],$ content );
885+ $ content = str_replace ('{mysql_server_ispconfig_password} ' ,$ conf ['mysql ' ]['master_ispconfig_password ' ], $ content );
886+ $ content = str_replace ('{mysql_server_database} ' ,$ conf ['mysql ' ]['master_database ' ],$ content );
887+ $ content = str_replace ('{mysql_server_ip} ' ,$ conf ["mysql " ]["master_host " ],$ content );
888+ } else {
889+ $ content = str_replace ('{mysql_server_ispconfig_user} ' ,$ conf ['mysql ' ]['ispconfig_user ' ],$ content );
890+ $ content = str_replace ('{mysql_server_ispconfig_password} ' ,$ conf ['mysql ' ]['ispconfig_password ' ], $ content );
891+ $ content = str_replace ('{mysql_server_database} ' ,$ conf ['mysql ' ]['database ' ],$ content );
892+ $ content = str_replace ('{mysql_server_ip} ' ,$ conf ["mysql " ]["host " ],$ content );
893+ }
894+ wf ($ conf ["vlogger " ]["config_dir " ].'/ ' .$ configfile ,$ content );
895+ exec ('chmod 600 ' .$ conf ["vlogger " ]["config_dir " ].'/ ' .$ configfile );
896+ exec ('chown root:root ' .$ conf ["vlogger " ]["config_dir " ].'/ ' .$ configfile );
897+
898+ }
899+
860900 public function install_ispconfig ()
861901 {
862902 global $ conf ;
0 commit comments