Just to complete the picture for you: by default, local modules on a CompactLogix are configured to fault the PLC if the connection is lost. By pulling a card out, you caused the PLC to fault.
When the PLC is faulted, all of your inputs will still work, inasmuchas you press the button/actuate the sensor, and the corresponding light on the input module will come on. That's all hardware-level stuff, and no matter what's going on in the PLC, that will all "work". So that's whay you "had all your DI's". Of course, the PLC is not actually doing anything with those changing inputs.
On a PLC fault, digital outputs will all go to the configured fault state, which by default is off. The LED's on the output modules will indicate as such by also turning off. So that's why you had "none of the DO's".
Analog inputs don't have individual LED's, just an "OK" LED, which as you said was on. That's because the connection to your PLC was just fine (after you replaced the card you removed, presumably). As long as the analog card can connect to the processor, and the card itself is physically healthy, that LED will be on. I'm not sure what you meant by "my plc isn't reading any data off of the AI's". My best guess is that you have a HMI connected to the PLC, and it was just showing "frozen" values and not updating as the measured variable changed. Am I correct? That would be because the PLC has stopped executing the code, including the scaling from your analog inputs. When the PLC faults, all tag values stay exactly as they are and do not change. The HMI can read and write tag values to and from a faulted PLC just fine, and won't otherwise tell you that anything is wrong. But while the PLC is not executing code, there's nothing to make it update the values according to the data from the analog inputs.
Anyhow, hope that fills in a few blanks for you, and glad you got it up and running again!