static function ExecuteDeletePackage($pk_id_pk, $mpk_id_pk) { global $zdbh; $sql = $zdbh->prepare("SELECT COUNT(*) FROM x_accounts WHERE ac_package_fk=:packageid AND ac_deleted_ts IS NULL"); $sql->bindParam(':packageid', $pk_id_pk); $sql->execute(); $numrows = $sql->fetchAll(); if ($numrows[0] != 0) { if ($pk_id_pk == $mpk_id_pk) { self::$samepackage = true; return false; } } runtime_hook::Execute('OnBeforeDeletePackage'); $sql = $zdbh->prepare("\n UPDATE x_accounts\n SET ac_package_fk = :mpk_id_pk\n WHERE ac_package_fk =:pk_id_pk"); $sql->bindParam(':mpk_id_pk', $mpk_id_pk); $sql->bindParam(':pk_id_pk', $pk_id_pk); $sql->execute(); $sql = $zdbh->prepare("\n UPDATE x_profiles\n SET ud_package_fk = :mpk_id_pk\n WHERE ud_package_fk = :pk_id_pk"); $sql->bindParam(':mpk_id_pk', $mpk_id_pk); $sql->bindParam(':pk_id_pk', $pk_id_pk); $sql->execute(); $sql = $zdbh->prepare("\n\t\t\tUPDATE x_packages\n\t\t\tSET pk_deleted_ts = :time\n\t\t\tWHERE pk_id_pk = :pk_id_pk"); $time = time(); $sql->bindParam(':time', $time); $sql->bindParam(':pk_id_pk', $pk_id_pk); $sql->execute(); runtime_hook::Execute('OnAfterDeletePackage'); self::$ok = true; return true; }