If a vocabulary doesn't have any terms yet AND if that vocabulary happens to be the last in queue (circa line 965 in subscriptions_taxa()), then no form from prior non-empty vocabularies are shown.

The problem is
if (count($tree)==0){ $output=NULL; }

Whether or not the entire form gets displayed relies entirely on the last vocabulary checked.

To fix, set $ttc = 0 (total tree count) above the foreach loop, inside the loop set $ttc += count($tree) on each iteration and change the problem line with
if ( $ttc == 0 ) { $output = NULL; }

Comments

mindless’s picture

Assigned: Unassigned » mindless
Status: Active » Fixed

I just changed the condition to if (empty($orgstate)).. please try it out from next 4.7.x-1.x-dev build or DRUPAL-4-7 branch.

MaskedMarauder’s picture

I just tried it. It works OK.

Anonymous’s picture

Status: Fixed » Closed (fixed)