Adding an 'All' option to a views exposed filter
OK... I think I may have cracked it.

function mymodule_form_alter(&amp;$form, $form_state, $form_id) { 
  if ($form_state['view']-&gt;name == 'myview') {
    // Add our custom All buttons.
    $form['myfield']['#options'] = array("-ALL-" =&gt; t("- All -")) + $form['myfield']['#options'];
    array_unshift($form['#submit'], 'mymodule_exposed_form_submit');
  }
}

function mymodule_exposed_form_submit(&amp;$form, &amp;$form_state) { 
  if (!empty($form_state['values']['myfield']['-ALL-'])) {
    $options = $form['myfield']['#options'];
    unset($options['-ALL-']);
    $form_state['values']['myfield'] = $options;
  }
}


So basically I add in my 'All' item at the top of the select. Then I add my own custom submit handler before Views' one.

In my submit handler, I check for the presence of the All option, and if its found, I adjust the selected options so that all options are selected except for the All option.

Seem to work :)