Current File : //etc/sentora/panel/modules/pgdatabase/hooks/OnAfterDeleteClient.hook.php |
<?php
DeleteClientPgDatabases();
function DeleteClientPgDatabases() {
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()) {
//$rowdatabase = $zdbh->query("SELECT * FROM x_mysql_databases WHERE my_acc_fk=" . $rowclient['ac_id_pk'] . " AND my_deleted_ts IS NULL")->fetch();
$numrows = $zdbh->prepare("SELECT * FROM x_pg_databases WHERE my_acc_fk=:ac_id_pk AND my_deleted_ts IS NULL");
$numrows->bindParam(':ac_id_pk', $rowclient['ac_id_pk']);
$numrows->execute();
// $rowdatabase= $numrows->fetch();
if ($numrows->fetchColumn() <> 0) {
try {
$sql = $zdbh->prepare("SELECT * FROM x_pg_databases WHERE my_acc_fk=:ac_id_pk AND my_deleted_ts IS NULL");
$sql->bindParam(':ac_id_pk', $rowclient['ac_id_pk']);
$sql->execute();
while ($rowdatabase = $sql->fetch())
{
$my_name_vc = $zdbh->mysqlRealEscapeString($rowdatabase['my_name_vc']);
include_once "/etc/sentora/panel/cnf/postgres.php";
$dbh = new PDO("pgsql:dbname=postgres;host=localhost", $pguser, $pgpwd);
$query="DROP DATABASE IF EXISTS $my_name_vc";
$rows=$dbh->query($query);
$dbh = null;
$delete = $zdbh->prepare("UPDATE x_pg_databases
SET my_deleted_ts = :time
WHERE my_acc_fk = :ac_id_pk");
$delete->bindParam(':ac_id_pk', $rowclient['ac_id_pk']);
$time = time();
$delete->bindParam(':time', $time);
$delete->execute();
$delete = $zdbh->prepare("DELETE FROM x_pg_dbmap
WHERE mm_database_fk=:my_id_pk");
$delete->bindParam(':my_id_pk', $rowdatabase['my_id_pk']);
$delete->execute();
}
} catch (PDOException $e) {
}
}
}
}
}
?>