Collision detection while pushing an object

Hey, so right now I'm trying to allow the player to be able to push/pull an object around a room. I think I've got a script that works, for the most part, but while the player is pushing the box, you can push it through other objects (and the player goes with the box through the other object). How do I set up a collision detection so that when the box or the player collides with something else, you can't keep pushing the box through it?

(and I guess I can post the script I'm using if that helps. I know it's probably extremely crude, but I'm new to unity and programming so ya... i've got this script attatched to a triggerbox that's parented to the push-box. and the DisableMovement.disableallmovement is a static variable i'm using whenever i want to disable the player's movement and the camera look)

var pushobjecttext: GUIText;
var insidetriggerbox: boolean = false;

function OnTriggerEnter (other : Collider){
pushobjecttext.enabled=true;
insidetriggerbox=true;}

function OnTriggerExit (other : Collider){
pushobjecttext.enabled=false;
insidetriggerbox=false;
DisableMovement.disableallmovement=false;
}

function Update (){
var pushobject = GameObject.FindWithTag("PushObject");

if(insidetriggerbox && Input.GetButtonDown("Fire1")){
pushobjecttext.enabled=false;
DisableMovement.disableallmovement=true;}

if(insidetriggerbox && Input.GetButton("Fire1")){
    if(Input.GetButton("Forward")){
    pushobject.transform.Translate(.1,0,0);
    GameObject.FindWithTag("Player").transform.Translate(0,0,.1);}
    if(Input.GetButton("Backward")){
    pushobject.transform.Translate(-.1,0,0);
    GameObject.FindWithTag("Player").transform.Translate(0,0,-.1);}
}

if(insidetriggerbox && Input.GetButtonUp("Fire1")){
pushobjecttext.enabled=true;
DisableMovement.disableallmovement=false;}

}

It is "transform.Translate" part that makes things go thru objects.