You have your frame too a normal swinging door, and then a func illusionionary as your glass... when the door opens, theres 2 env_renders. one changes the showing glass to dissapear, and the other one reveils a swinging door that slides over to the closed position, then that triggering another render to make another illusionary show and the swinging glass dissapear, as the wall behind it will be a button...
to make the glass break, you have to think "outside the door".. you make the opposite walls to the door buttons triggered by bullets, so when a bullet goes through the illusionary, it hits the wall, triggering the glass's to stay gone, the swinging glass to swing to the closed door state (get it outa the way a little), and to trigger some glass shards from env_shooters.. its not completely perfect, but I thought of it while wondering what kinda map I should make.. and, im not bothering to make it as no one door, deserves that many entities to work. tadaa