function updateAdmin($adminId, $userName, $fullname, $groupId, $password, $email, $phone, $gender, $pathName) { $adminTable = new adminTable($this->connection); $result = $adminTable->checkAdminUserName($userName, $adminId); if (!is_bool($result)) { $this->message = $adminTable->message; return false; } $result = $adminTable->checkAdminEmail($email, $adminId); if (!is_bool($result)) { $this->message = $adminTable->message; return false; } $result = $adminTable->checkAdminPhone($phone, $adminId); if (!is_bool($result)) { $this->message = $adminTable->message; return false; } $this->connection->autocommit(FALSE); $adminTable->update($adminId, $userName, $fullname, $email, $password, $phone, $gender, $pathName); $groupAdminTable = new groupAdminTable($this->connection); $oldGroupId = $groupAdminTable->selectGroup($adminId); if (is_bool($oldGroupId)) { $this->message = $groupAdminTable->message; return false; } if ($oldGroupId != $groupId) { $affectedRows = $groupAdminTable->updateGroup($adminId, $groupId); if (is_bool($affectedRows)) { $this->message = $groupAdminTable->message; return false; } $moduleGroupTable = new moduleGroupTable($this->connection); $result = $moduleGroupTable->select($groupId); if (is_bool($result)) { $this->message = $moduleGroupTable->message; return false; } $moduleAdminTable = new moduleAdminTable($this->connection); foreach ($result as $pCode) { $out = $moduleAdminTable->update($pCode['moduleId'], $adminId, $pCode['permissionCode']); } } $this->connection->commit(); return 1; }