Publix pledges to help farmers by buying excess food, donating it to food banks