コード例 #1
0
ファイル: controller.ext.php プロジェクト: Boter/madmin-core
 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;
 }