Current File : //etc/sentora/panel/modules/remote_mysql_users/hooks/OnAfterDeleteClient.hook.php
<?php

/* require('/etc/sentora/panel/cnf/db.php');
include('/etc/sentora/panel/dryden/db/driver.class.php');
try {
    $zdbh = new db_driver("mysql:host=" . $host . ";dbname=" . $dbname . "", $user, $pass);
} catch (PDOException $e) {
    exit();
}
*/
DeleteClientRemoteUserHost();

function DeleteClientRemoteUserHost() {
    global $zdbh;
    $sql = "SELECT * FROM x_accounts WHERE ac_deleted_ts IS NOT NULL";
    $numrows = $zdbh->query($sql);
    if ($numrows->fetchColumn() <> 0) {
        $sql = $zdbh->prepare($sql);
        $sql->execute();
        while ($rowclient = $sql->fetch()) {
            $rowusers = "SELECT * FROM x_mysql_users WHERE mu_acc_fk=:ac_id_pk AND mu_deleted_ts IS NULL";
            //$numuserrows = $zdbh->query($rowusers);      
            $numuserrows = $zdbh->prepare($rowusers);
            $numuserrows->bindParam(':ac_id_pk', $rowclient['ac_id_pk']);
            $numuserrows->execute();
            
            if ($numuserrows->fetchColumn() <> 0) {
                $rowusers = $zdbh->prepare($rowusers);
                $rowusers->bindParam(':ac_id_pk', $rowclient['ac_id_pk']);
                $rowusers->execute();
                while ($rowuser = $rowusers->fetch()) {
                    //$delete = "SELECT EXISTS(SELECT 1 FROM mysql.user WHERE user = :mu_name_vc)";
		    $delete = "SELECT * FROM mysql.user WHERE user = :mu_name_vc";		
                    $numrows = $zdbh->prepare($delete);
                    $numrows->bindParam(':mu_name_vc', $rowuser['mu_name_vc']);
		    $numrows->execute();
                    //print_r($numrows->fetchAll());exit;
                    //if ($numrows->execute()) {
                    //    if ($numrows->fetchColumn() <> 0) {
		    //    print_r($numrows->fetchAll());exit;
			    while($rowhost = $numrows->fetch()) {
                            	try {
                                	$delete = $zdbh->prepare("DROP USER :mu_name_vc@:mu_access_vc;");
                                	$delete->bindParam(':mu_name_vc', $rowuser['mu_name_vc']);
                                	//$delete->bindParam(':mu_access_vc', $rowuser['mu_access_vc']);
					$delete->bindParam(':mu_access_vc', $rowhost['Host']);
                                	$delete->execute();
                                	$delete = $zdbh->prepare("FLUSH PRIVILEGES");
                                	$delete->execute();
                            	} catch (PDOException $e) {
                                	return false;
                            	}
			    }
                      //  }
                    //}
                    try {
                        $delete = $zdbh->prepare("
								UPDATE x_mysql_users
								SET mu_deleted_ts = :time 
								WHERE mu_id_pk = :mu_id_pk");
                        $delete->bindParam(':time', time());
                        $delete->bindParam(':mu_id_pk', $rowuser['mu_id_pk']);
                        $delete->execute();
			$delete = $zdbh->prepare("
                                                                UPDATE x_remote_mysql_host
                                                                SET re_deleted_ts = :time 
                                                                WHERE re_acc_fk = :re_acc_fk");
                        $delete->bindParam(':time', time());
                        $delete->bindParam(':re_acc_fk', $rowuser['mu_id_pk']);
                        $delete->execute();
                        $delete = $zdbh->prepare("
								DELETE FROM x_mysql_dbmap
								WHERE mm_user_fk = :mu_id_pk");
                        $delete->bindParam(':mu_id_pk', $rowuser['mu_id_pk']);
                        $delete->execute();
                    } catch (PDOException $e) {
                        return false;
                    }
                }
            }
        }
    }
}

?>